KR20010101523A - 유휴 메모리 사이클을 사용하여 반도체 메모리를 재생하는방법과 장치 - Google Patents

유휴 메모리 사이클을 사용하여 반도체 메모리를 재생하는방법과 장치 Download PDF

Info

Publication number
KR20010101523A
KR20010101523A KR1020017008890A KR20017008890A KR20010101523A KR 20010101523 A KR20010101523 A KR 20010101523A KR 1020017008890 A KR1020017008890 A KR 1020017008890A KR 20017008890 A KR20017008890 A KR 20017008890A KR 20010101523 A KR20010101523 A KR 20010101523A
Authority
KR
South Korea
Prior art keywords
memory
idle
system bus
regeneration
playback
Prior art date
Application number
KR1020017008890A
Other languages
English (en)
Other versions
KR100439117B1 (ko
Inventor
륑윙유
Original Assignee
추후기재
모놀리식 시스템 테크놀로지 인코포레이티드
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 추후기재, 모놀리식 시스템 테크놀로지 인코포레이티드 filed Critical 추후기재
Publication of KR20010101523A publication Critical patent/KR20010101523A/ko
Application granted granted Critical
Publication of KR100439117B1 publication Critical patent/KR100439117B1/ko

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/20Handling requests for interconnection or transfer for access to input/output bus
    • G06F13/28Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal
    • 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
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1605Handling requests for interconnection or transfer for access to memory bus based on arbitration
    • G06F13/161Handling requests for interconnection or transfer for access to memory bus based on arbitration with latency improvement
    • G06F13/1636Handling requests for interconnection or transfer for access to memory bus based on arbitration with latency improvement using refresh
    • 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/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/4076Timing circuits

Landscapes

  • Engineering & Computer Science (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Computer Hardware Design (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Dram (AREA)

Abstract

광범위한 외부 제어를 요구하도록 제어하는 방법으로, 재생되어야 하는 메모리, 예를 들면 DRAM을 제어하는 메모리 시스템이 제공된다. 한 실시예에서, 메모리 시스템은 시스템 버스에 의해 결합되는 메모리 블록과 메모리 제어기를 포함한다. 메모리 블록은 유효 데이터를 유지하기 위하여 주기적으로 재생되어야 하는 메모리 셀들의 어레이를 포함한다. 메모리 블록은 또한 메모리 어레이의 유휴 사이클 동안 메모리 셀들을 재생하는 재생 제어 회로를 포함한다. 메모리 제어기는 미리 결정된 재생 기간 동안 시스템 버스 상의 유휴 사이클수를 모니터링한다. 모니터링된 유휴 사이클수가 미리 결정된 유휴 사이클수보다 적은 경우, 메모리 제어기는 필요한 유휴 사이클수를 시스템 버스 상에 강제로 부과한다. 결과적으로, 메모리 제어기는 메모리 어레이가 재생될 수 있는 충분한 유휴 사이클이 항상 존재할 수 있도록 한다.

Description

유휴 메모리 사이클을 사용하여 반도체 메모리를 재생하는 방법과 장치{METHOD AND APPARATUS FOR REFRESHING A SEMICONDUCTOR MEMORY USING IDLE MEMORY CYCLES}
다이내믹 램(dynamic random access memory)과 같은 종래의 반도체 메모리들은 유효 데이터를 유지하기 위하여 주기적으로 재생되어야 한다. 재생 동작 동안, 외부의 액세스는 통상적으로 허용되지 않는다. 또한, DRAM이 재생 동작을 실행 중이라는 것을 메모리 제어기에 알리기 위한 메카니즘이 요구된다. 상기 재생 동작이 완료될 때까지 어떤 보류 중인 메모리 트랜잭션도 지연되어야 한다. 그러므로, 재생 동작은 메모리 액세스에 대한 전체 액세스 시간을 길어지게 한다. 따라서, 외부의 메모리 액세스에 대한 재생 동작의 충격이 최소화되는 메모리 시스템을 디자인하는 것이 중요하다.
이러한 반도체 메모리를 재생하기 위하여 많은 다른 방법들이 제안되었다. 그 중 하나는 일반적으로 "CAS before RAS"로 언급되며, 여기서, 외부의 장치는 행액세스 신호(row access signal, RAS#)를 표명하기 이전에 열 액세스 신호(column access signal, CAS#)를 표명함으로써 재생 동작의 신호를 발생시킨다. 정상적인 액세스 동안, 행 어드레스 스트로브 신호(RAS#)는 열 어드레스 스트로브 신호(CAS#)에 앞서 표명된다. "CAS before RAS" 상태의 검출에 대한 응답으로, 메모리는 재생 동작을 실행한다. 상기 재생 동작은 통상적으로 재생될 메모리의 행을 판독함으로써 실행된다. "CAS before RAS" 재생 체계는 1991년 NEC 일렉트로닉스의 메모리 프로덕트 데이트 북, 6-101에서 6-113 페이지의 uPD424248 262, 144x4 비트 다이내믹 CMOS RAM에 설명되어 있다. 이 참고 문헌은 또한 "CAS before RAS" 재생 방법의 변형예인 히든 리프레쉬(hidden refresh)를 설명하고 있다. 재생을 위한 이러한 방법들은 외부 장치가 메모리 재생을 제어하도록 하기 위해 반도체 메모리와 외부 장치간에 핸드셰이크 통신을 필요로 한다.
주기적으로 재생되어야 하는 다른 종래의 반도체 메모리로는 싱크로너스 DRAM(SDRAM)이 있다. 종래 SDRAM은 외부 장치로부터 수신된 제어 신호(즉, RAS#, CAS#, CS#, WE# 및 CKE)에 응답하여 재생 동작을 개시한다. 이들 제어 신호는 SDRAM의 재생 동작을 제어하기 위해 사용되는 명령 코드를 제공하기 위하여 디코딩된다. 예를 들면, 제어 신호(RAS#, CAS#, CS#, WE# 및 CKE)가 0,0,0,1,과 1의 값을 가질 때, 자동 재생 동작을 개시하기 위한 제어 코드가 발생된다. 동일하게, 이들 동일한 제어 신호가 0,0,0,1,과 0의 값을 가질 때, 자기 재생 동작을 개시하기 위한 제어 코드가 발생된다. 이 SDRAM은 1996년 IBM 코퍼레이션의 16M 비트 싱크로너스 DRAM 데이터 시트의 IBM0316409C에 자세히 설명되어 있다.
다른 싱크로너스 DRAM은 메모리 재생을 처리하기 위하여 명시 명령 코드를 사용했다. 이들은 SLDRAM[1997년 9월 22일 공개된 SLDRAM 컨소시엄의 400Mb/s/pin SLDRAM SLD4M18DR400 4Mx18 SLDRAM 데이터 시트의 4M x 18 SLDRAM CONS400.P65]과 램버스 DRAM(RDRAM)[1997년 10월 15일 램버스 인코퍼레이티드의 Direct Rambus Technology Disclosure]을 포함한다. 상기에 설명된 모든 명령 코드는 외부 장치에 의해 발생되어, 메모리 장치에 전달되어야 하기 때문에 반도체 메모리에 대한 인터페이스를 복잡하게 한다. 따라서, 인터페이스는 SRAM과 같은 더 간단한 장치의 인터페이스와 호환이 되지 않는다.
다른 종래의 DRAM 재생 체계는 전용 재생 제어 신호를 짜넣는 것이다. 이러한 체계의 예로는 EDRAM(enhanced DRAM)[1994년, 램트론 인터내셔널 코퍼레이션의 1Mbx4 엔핸스드 다이내믹 램, DM2202/2212 EDRAM]과 CDRAM(cache DRAM)[Dosaka 등의 미국 특허 출원 번호 5,559,750]이 있다. 상기 EDRAM과 CDRAM 모두에서, 재생 동작을 개시하기 위해서 전용 외부 재생 신호가 사용된다. 상기에 언급한 장치의 외부 신호로 지적한 바와 같이, 이 추가적인 외부 신호는 SRAM 및 다른 간단한 인터페이스 장치와 호환이 되지 않는다.
DRAM의 사용되지 않는 유휴 사이클 동안에 재생 동작을 실행하는 체계는 본 발명자에 의해 출원된 미국 특허 출원 번호 09/076,608호의 "Method And Structure For Controlling Operation Of A DRAM Array", 미국 특허 출원 번호 09/037,396호의 "Method And Apparatus For 1-T SRAM Compatible Memory", 미국 특허 출원 번호 09/165,228호의 "Method And Apparatus For Complete Hiding Of The Refresh Of ASemiconductor Memory", 및 미국 특허 출원 번호 09/181,840호의 "Method And Apparatus For Increasing The Time Available For Refresh For 1-T SRAM Compatible Device"에 기술되어 있다.
본 발명은 주기적으로 재생되어야 하는 반도체 메모리에 관한 것이다. 특히, 본 발명은 메모리의 유휴 사이클 동안 반도체 메모리에서 재생 동작을 실행하는 방법과 장치에 관한 것이다.
도 1은 본 발명의 한 실시예에 따른 메모리 시스템의 블록도.
도 2는 본 발명의 한 실시예에 따른 메모리 어레이에 대한 외부의 액세스와재생을 제어하는 메모리 블록을 나타내는 개략도.
도 3은 본 발명의 한 실시예에 따른 기록, 판독 및 재생 동작 동안의 다양한 신호들의 타이밍을 나타내는 파형도.
도 4는 본 발명의 한 실시예에 따른 액세스 아비터의 개략도.
도 5는 본 발명의 한 실시예에 따른 재생 제어기의 개략도.
도 6은 본 발명의 한 실시예에 따른 메모리 블록 중의 하나의 그룹을 제어하는 재생 매니저의 개략도.
도 7은 본 발명의 다른 실시예에 따른 메모리 블록 중의 2개의 그룹을 제어하는 재생 매니저의 개략도.
도 8은 본 발명의 다른 실시예에 따라서 유휴 사이클을 메모리 시스템에 강제로 부과하는 재생 매니저의 개략도.
따라서, 본 발명은 시스템 버스에 공통적으로 접속되는 하나 이상의 메모리 블록과 메모리 제어기를 갖는 메모리 시스템을 제공하는 것이다. 각각의 메모리 블록은 유효 데이터를 유지하기 위하여 주기적으로 재생되어야 하는 메모리 셀들의 어레이를 포함한다. 각각의 메모리 블록은 또한 메모리 어레이의 유휴 사이클 동안 메모리 셀들을 재생시키는 재생 제어 회로를 포함한다.
메모리 제어기는 재생 기간 동안 시스템 버스 상의 유휴 사이클의 수를 모니터링하는 재생 매니저를 포함하고, 재생 기간 동안 모니터링된 유휴 사이클의 수가 미리 결정된 유휴 사이클의 수보다 적은 경우 시스템 버스 상에 하나 이상의 유휴 사이클을 강제로 부과한다. 예를 들면, 한 실시예에서, 8행의 메모리 셀들에 대한 재생 기간은 20.48㎳이다. 재생 매니저가 20.48㎳의 재생 기간 동안 시스템 버스 상에서 8개의 유휴 사이클보다 적은 사이클을 검출할 경우, 재생 매니저는 재생 기간의 끝에 적절한 유휴 사이클수를 시스템 버스 상에 강제로 부과한다. 예를 들면, 재생 매니저가 재생 기간 동안 시스템 버스 상에서 6개의 유휴 사이클만을 검출할 경우, 재생 매니저는 재생 기간의 끝에 2개의 추가 유휴 사이클을 시스템 버스 상에 강제로 부가할 것이다. 결과적으로, 시스템 버스 상에는 8개의 유휴 사이클이 제공된다. 상기 메모리 블록의 각각은 시스템 버스 상의 유휴 사이클 동안보류 중인 재생 동작을 실행한다. 결과적으로, 8개 행의 메모리 셀들은 재생 기간의 끝의 8개의 사이클 이내(또는 더 짧음)에서 항상 재생된다. 재생 매니저가 재생 기간의 끝에 어떤 유휴 사이클도 강제로 부과하지 말아야 할 가능성이 상대적으로 높게 된다. 게다가, 비록 유휴 사이클이 강제로 부과되어야 하는 경우라도, 이러한 유휴 사이클에 요구되는 최대 시간은 재생 기간의 극히 일부분(예를 들면, 0.4%)을 나타낸다.
유휴 사이클이 강제로 부과되고 있는 동안, 재생 매니저는 상기 메모리의 액세스 클라이언트에게 메모리 액세스가 지연되어야 함을 알려주는 제어 신호를 표명한다. 유휴 사이클이 강제로 부과된 이후에, 재생 매니저는 액세스 클라이언트에게 메모리 액세스가 속행될 수 있음을 알려주는 제어 신호를 디어서트(deassert)한다.
구체적인 실시예에서, 재생 매니저는 시스템 버스 상의 유휴 사이클의 수를 카운트하는 유휴 사이클 계수기를 포함한다. 시스템 버스 상의 유휴 사이클의 수가 미리 결정된 유휴 사이클의 수와 동일할 때, 유휴 사이클 계수기는 FULL 신호를 발생시킨다. 상기 FULL 신호를 수신하기 위하여 재생 계수기가 결합된다. 재생 계수기가 유휴 사이클 계수기로부터 FULL 신호를 수신하기 이전에 재생 기간이 만료된 것으로 결정한 경우, 재생 계수기는 시스템 버스 상에 유휴 사이클을 강제로 부과하는 제어 신호를 표명한다. 재생 계수기가 재생 기간이 만료되기 전에 상기 FULL 신호를 수신할 때, 재생 계수기는 재설정되어 새로운 재생 기간을 개시하게 된다.
각각의 메모리 블록 내에서, 액세스 아비터는 외부의 액세스 요구(메모리 블록에 의해 개시됨)와 재생 요구(상기 메모리 블록 내에서 발생됨)를 수신한다. 액세스 아비터는 항상 어떤 보류 중인 외부 액세스 요구에 우선권을 부여한다. 액세스 아비터는 보류 중인 외부 액세스 요구가 없는 경우에만 재생 요구가 승인되도록 허가할 것이다. 결과적으로, 재생 요구는 외부의 액세스 요구를 방해하지 않는다. 재생 동작은 통상 유휴 사이클을 발생시키는 동안 또는 유휴 사이클이 강제로 부과되는 동안에 실행된다.
다른 실시예에서, 메모리 블록은 논리적으로 2개 이상의 세트로 분리된다. 이번 실시예에서, 재생 매니저는 재생 기간 동안에 각각의 메모리 블록 세트에서 발생하는 유휴 사이클의 수를 모니터링한다. 재생 매니저는 재생 기간 동안에 적어도 하나의 세트의 메모리 블록에서 발생하는 유휴 사이클의 수가 미리 결정된 유휴 사이클의 수보다 적은 경우에만 시스템 버스 상에 유휴 사이클을 강제로 부과한다.
본 발명의 또 다른 실시예에서, 재생 매니저는 재생 기간 동안에 발생한 유휴 사이클의 수에 관계없이 재생 기간이 만료된 후에 미리 결정된 유휴 사이클의 수를 시스템 버스 상에 강제로 부과하도록 변형된다. 예를 들면, 재생 매니저는 각각의 재생 기간의 끝에 8개의 유휴 사이클을 강제로 부과할 수 있다.
관련 기술의 관점에서, 외부의 메모리 액세스에 대한 재생 동작의 충격이 최소화되는 메모리 장치를 구성하는 것이 바람직할 것이다. 따라서, 본 발명은 대부분의 재생 동작이 유휴 메모리 사이클 동안 메모리 장치 내에서 실행되는 메모리 장치를 제공하는 것이다. 유휴 메모리 사이클은 메모리 장치에 대해 진행 중이거나 보류 중인 메모리 액세스가 없는 클럭 사이클이다.
메모리 재생에 필요한 시간보다 긴 시간 동안 메모리 액세스가 유지되는 상황이 발생할 수 있다. 이 경우, 본 발명은 재생 동작을 실행하기 위해 유휴 사이클을 강제로 부과할 때까지 메모리 액세스를 중지한다. 그러나, 본 발명에서 재생동작을 실행하는 메카니즘은 명시 명령 코드 또는 신호를 사용하는 것과 같은 외부의 신호법를 필요로 하지 않는다. 이로 인해 SRAM과 호환될 수 있는 간단한 메모리 인터페이스의 실행이 가능하다.
도 1은 본 발명의 한 실시예에 따른 메모리 시스템(10)의 블록도이다. 메모리 시스템(10)은 메모리 블록(100 - 115)과 메모리 제어기(120)를 포함한다. 메모리 제어기(120)는 프로세서나 시스템 로직의 부분일 수 있다. 메모리 블록(100 - 115)의 각각은 유효 데이터를 유지하기 위하여 주기적인 재생을 필요로 하는 DRAM 셀들의 어레이를 포함한다. 명확하게 하기 위하여, 메모리 블록(102 - 114)은 도시하지 않는다. 비록, 본 실시예는 재생이 필요한 메모리 블록들(예를 들면, SRAM 장치들)을 포함하지만, 재생을 필요로 하지 않는 다른 메모리 장치 또한 메모리 블록(100 - 115)과 동일한 버스에 접속될 수 있다. 메모리 블록(100 - 115)의 각각은 메모리 제어기(120)로부터 2개의 방향의 데이터 신호들(DQ[31:0]), 외부 어드레스 신호들(EA[22:0]), 어드레스 스트로브 신호(ADS#), 및 기록/판독 가능 신호(WR#)를 수신하기 위해 결합된다. 메모리 블록(100 - 115)의 각각은 전용 칩 선택 신호(CS#)를 수신한다. 예를 들면, 메모리 블록(100과 101)은 각각 칩 선택 신호(CS#[0]와 CS#[1])를 수신한다. 클럭 신호(CLK)는 메모리 블록(100 - 115)과 메모리 제어기(120) 간의 메모리 트랜잭션을 동기화하기 위하여 제공된다.
상기에 기술된 실시예에서, 메모리 블록(100 - 115)은 동일하다. 그러나, 다른 실시예에서 이러한 메모리 블록들은 다른 회로를 포함할 수 있다. 또한, 16개의 메모리 블록들이 설명되어 있지만, 다른 실시예에서는 다른 수의 메모리 블록이 사용될 수 있다는 것을 이해할 것이다. 이에 따라서, CS# 신호의 수는 변화된다. 또한, 다른 폭을 갖는 데이터와 어드레스 신호들이 다른 실시예에서 사용될 수 있다.
메모리 블록(100 - 115)의 각각은 다수의 열과 행의 DRAM 메모리 셀들을 갖는 하나 이상의 메모리 어레이를 포함한다. 메모리 블록(100 - 115)의 각각은 또한 DRAM과 관련된 종래의 회로, 예를 들면 워드 라인 드라이버, 감지 증폭기, 및 열(column) 멀티플렉서 등과 같은 모든 회로를 포함한다. 다른 실시예에서, 메모리 블록(100 - 115)은 재생 동작을 필요로 하지 않는 메모리 어레이를 추가로 포함할 수 있다.
도 2는 메모리 블록(100)을 나타내는 개략도이다. 메모리 블록(100)은 메모리 어레이(201), 감지 증폭기(202), 멀티플렉서(203), I/O 버퍼(204), 메모리 어레이 시퀀서(205), 액세스 아비터(206), 재생 제어기(207), 외부 액세스 제어기(208), 전송 게이트(209와 210), 및 어드레스 래치(211)를 포함한다.
상기한 실시예에서, 메모리 블록(100 - 115)의 각각은 자신의 메모리 어레이 시퀀서(205), 액세스 아비터(206), 재생 제어기(207), 외부 액세스 제어기(208), 전송 게이트(209와 210), 및 어드레스 래치(211)를 포함한다. 어드레스 래치(211)는 교차 결합된 인버터로 형성된 복수의 기억 소자를 포함한다. 예를 들면, 교차 결합된 인버터(213과 214)를 포함하는 기억 소자(212)는 메모리 어레이(201)에 제공될 1비트의 어드레스 값을 기억한다. 이 실시예에서, 메모리 시스템(10)은 다수의 뱅크 시스템으로 구성되고, 병렬 연산은 다른 뱅크에서 동시에 실행될 수 있다.이 다수의 뱅크 메모리 구조는 본 발명자에 의해 "Method And Apparatus For 1-T SRAM Compatible Memory"의 제목으로 출원된 미국 특허 출원 번호 09/037,396 호에 기술된 것과 유사하다.
다른 실시예에서, 복수의 메모리 어레이(201과 같음)는 단일 메모리 어레이 시퀀서(205), 액세스 아비터(206), 재생 제어기(207), 외부 액세스 제어(208), 전송 게이트(209와 210), 및 어드레스 래치(211)에 의해 제어된다.
본 실시예에서, 메모리 어레이(201)는 8K(8192) 행(row)과 8K 열(column)을 갖기 때문에 64Mb의 메모리를 산출한다. 각각의 메모리 위치에 액세스하기 위하여, 외부 어드레스 신호들(EA[22:0])이 각각의 메모리 블록(100 - 115)에 제공된다. 다른 실시예에서 메모리 어레이(201)는 다른 사이즈를 가질 수 있으므로 다른 수의 외부 어드레스 신호가 필요하다는 것을 이해할 것이다. 메모리 어레이(201) 내의 각각의 행은 데이터 감지, 기억 및 기록 동작을 실행하는 감지 증폭기 회로(202) 내의 감지 증폭기와 결합된다. 각각의 메모리 액세스 동안, 메모리 어레이(201) 중 하나의 열이 활성화되고, 상기 행의 8K 메모리 셀들은 각각의 열에 있는 감지 증폭기(202)에 연결된다. 감지 증폭기(202)는 멀티플렉서(203)를 통해서 I/O 버퍼에 연결된다.
상기한 실시예에서, 메모리 제어기(120)는 전체 외부 어드레스(EA[22:0])를 어드레스 버스 상으로 동시에 드라이브한다. 그러나, 상기 어드레스는 분리 클럭 사이클 또는 클럭 위상 부분으로 버스 상에 다중화되어, 요구되는 어드레스 신호의 수를 감소시킬 수 있다는 것을 이해할 것이다. 바람직한 실시예에서, 어드레스 스트로브(ADS#)와 시스템 클럭(CLK) 신호법은 SSRAM(synchronous static random access memory)에 대한 산업 표준과 비슷하고, 인텔사의 1995년 5월 25일에 출시된 펜티엄 프로세서 3.3v 파이프라인 BSRAM 명세 버전 2.0에 설명되어 있다.
외부 액세스는 다음과 같이 실행된다. 외부 액세스 제어(208)는 메모리 제어기(120)로부터 기록/판독 신호(WR#), 어드레스 스트로브 신호(ADS#), 시스템 클럭 신호(CLK) 및 외부 어드레스 신호(EA[22:0])들을 수신하기 위하여 결합된다. 이러한 신호들에 대한 응답으로, 외부 액세스 제어(208)는 외부 액세스 어드레스(EAA)(외부 어드레스(EA[22:0])과 동일함)를 발생시키고, 액세스 보류 가능 신호(EAPEN#)를 표명한다.
메모리 블록(100)에 대한 메모리 액세스를 개시하기 위하여, 메모리 제어기(120)는 상기 어드레스 스트로브 신호(ADS#)를 로우(low)로 표명하고, 칩 선택 신호(CS#[0])를 로우로 표명하며, 외부 어드레스(EA[22:0])를 외부 어드레스 버스 상에 제공한다. CLK 신호의 상승 에지에서, 외부 액세스 제어(208)는 어드레스 스트로브 신호(ADS#)와 칩 선택 신호(CS#[0])의 상태를 평가한다. 양쪽 신호가 로우로 검출될 경우, 외부 액세스 제어(208)는 외부 액세스 보류 신호(EAPEN#)을 로우로 표명함으로써 외부 액세스를 개시한다.
액세스 아비터(206)는 외부 액세스 보류 신호(EAPEN#)를 수신하기 위하여 결합된다. 로우의 외부 액세스 보류 신호(EAPEN#)를 검출하자마자, 액세스 아비터(206)는 하이(high)의 외부 어드레스 선택 신호(EASEL)을 표명한다. 상기 하이의 외부 어드레스 선택 신호(EASEL)는 전송 게이트(210)가 외부 액세스 어드레스(EAA)를 외부 액세스 제어(208)에서 어드레스 래치(211)까지 전송하도록 한다. 어드레스 래치(211)는 상기 외부 액세스 어드레스(EAA)를 메모리 어레이(201)에 제공한다. 외부 액세스 보류 신호(EAPEN#)의 로우 상태를 검출하자마자, 액세스 아비터(206)는 메모리 어레이 시퀀서(205)에 제공되는 외부 액세스 신호(EA#)를 로우로 표명한다. 상기 로우로 표명된 외부 액세스 신호(EA#)에 대한 응답으로, 메모리 어레이 시퀀서(205)는 어레이 동작을 제어하기 위하여 행 어드레스 스트로브 신호(RAS#), 열 어드레스 스트로브 신호(CAS#), 감지 증폭기 가능 신호(SEN#) 및 프리차지 신호(pre-charge signal, PRC#)의 DRAM 제어 신호들을 메모리 어레이(201)에 제공한다. 상기 신호들(RAS#, CAS#, SEN#, 및 PRC#)을 자체 타이밍된 방법으로 발생시키는 방법은 본 발명자에 의해 "Method And Structure For Controlling Operation Of A DRAM Array"의 제목으로 출원된 미국 출원 번호 09/076,608 호에 기술되어 있다. 상기 RAS#, CAS#, SEN#, 및 PRC# 신호들을 이런 방법으로 발생시킴으로써 메모리 사이클이 하나의 클럭 사이클에서 완료될 수 있다.
외부의 메모리 액세스가 없는 각각의 클럭 사이클은 유휴 클럭 사이클로 불리운다. 메모리 재생 동작은 유휴 클럭 사이클 동안 메모리 어레이(201)의 하나의 행을 판독함으로써 실행될 수 있다. 재생 제어기(207)는 액세스 아비터(206)에 제공되는 재생 보류 가능 신호(REPEN#)와, 전송 게이트(209)에 제공되는 재생 어드레스(RFA)를 발생시킨다. 재생 제어기(207)는 액세스 아비터(206)로부터 재생 인식 신호(RFACK#)를 수신하기 위하여 결합된다. 재생 어드레스(RFA)는 재생될 메모리 어레이(201)의 행의 어드레스이다. 본 실시예에서 8K 재생을 요구하기 때문에, 메모리 어레이(201)에서는 한번에 하나의 열이 재생된다. 재생 제어기(207)는 메모리 어레이(201)가 적절히 재생되도록 재생 요구를 발생시킨다. 따라서, 발생된 재생 요구의 타이밍은 시스템 클럭 속도와 측정된 메모리 어레이(201)의 메모리 보유 시간으로부터 결정된다. 100㎒의 시스템 클럭 속도와 21.05㎳의 전체 메모리 보유 시간에 대해, 재생 제어기(207)는 적어도 매 2.56㎳ 마다 한번 재생 요구를 발생시켜야 한다. 일반적으로, 재생 기간은 메모리 어레이(201)의 데이터 보유 시간이 메모리 어레이(201)의 모든 열을 재생하는데 필요한 가장 긴 시간보다 길어지도록 선택된다.
메모리 어레이(201)의 하나의 행을 재생시키기 위한 요구가 보류 중일 때, 재생 제어기(207)는 재생 보류 가능 신호(RFPEN#)를 로우로 표명한다. 보류 중인 외부 액세스가 없음을 나타내는, 외부 액세스 보류 신호(EAPEN#)가 하이인 경우, 액세스 아비터(206)는 하나의 클럭 사이클 동안 재생 인식 신호(RFACK#)를 로우로 드라이브하고 재생 어드레스 선택 신호(RASEL)을 하이로 드라이브함으로써 재생 동작을 시작한다. 전송 게이트(209)는 상기 하이의 재생 어드레스 선택 신호(RASEL)를 수신하고, 응답으로 상기 재생 어드레스(RFA)를 재생 제어기(207)로부터 어드레스 래치(211)까지 전송한다. 어드레스 래치(211)는 상기 재생 어드레스(RFA)를 메모리 어레이(201)에 제공한다.
외부 액세스 보류 신호(EAPEN#)의 하이 상태와 재생 보류 가능 신호(RFPEN#)의 로우 상태는 또한 액세스 아비터(206)가 메모리 어레이 시퀀서(205)에 제공된 재생 신호(RF#)를 로우로 표명하도록 한다. 상기 로우로 표명된 재생 신호(RF#)에대한 응답으로, 메모리 어레이 시퀀서(205)는 메모리 어레이(201)의 동작을 제어하기 위하여 행 어드레스 스트로브 신호(RAS#), 감지 증폭기 가능 신호(SEN#), 및 프리차지 신호(PRC#) 등의 DRAM 제어 신호를 메모리 어레이(201)에 제공한다. 결과적으로, 재생 액세스는 재생 어드레스(RFA)에 의해 확인된 행 어드레스로 실행된다. 열 어드레스 스트로브 신호(CAS#)는 재생 사이클 동안 활성화되지 않는다. 액세스 아비터(206)는 재생 제어기(207)에 재생 동작이 실행되었음을 나타내는 로직이 로우인 재생 인식 신호(RFACK#)를 표명한다. 이러한 동작들의 타이밍은 도 3에 도시되어 있다.
도 3은 본 발명의 한 실시예에 따른 다양한 신호들의 타이밍에 대한 파형도이다. 파형도는 3개의 연속적인 클럭 사이클(T1 - T3) 동안의 메모리 블록(100)에서의 기록, 판독 및 재생 동작을 나타낸다. 메모리 제어기(120)는 하나의 클럭 기간에서 메모리 사이클을 완료한다. 메모리 사이클이 단지 하나의 클럭 기간을 필요로하기 때문에, 메모리 블록(100)은 각각의 클럭 주기에서 하나의 외부 메모리 액세스 또는 메모리 행 재생을 처리할 것이다. 각각의 클럭 사이클은 클럭 신호(CLK)의 상승 에지에서 시작된다.
외부의 기록 액세스를 개시하기 위하여, 메모리 제어기(120)는 어드레스 스트로브(ADS#)와 칩 선택(CS#[0]) 신호 모두를 로우로 표명하여 메모리 블럭(100)에 액세스한다. 이번 실례에서, 칩 선택 신호(CS#[0])는 어드레스 스트로브 신호(ADS#)와 동일할 것이다. 메모리 제어기(120)는 또한 기록 어드레스(A1)를 외부 어드레스 버스 상에 제공하고, 기록 데이터 값을 외부 데이터 버스 상에 제공한다. 메모리 제어기(120)는 추가로 로직이 하이(high)인 기록/판독 신호(WR#)를 제공하고, 이에 의해 외부 액세스가 기록 액세스임을 나타내게 된다. 사이클(T1) 동안의 시스템 클럭 신호(CLK)의 상승 에지에서, 외부 액세스 제어(208)는 어드레스 스트로브 신호(ADS#)와 칩 선택 신호(CS#[0])의 상태를 평가한다. 로우의 어드레스 스트로브 신호(ADS#), 로우의 칩 선택 신호(CS#[0]), 및 하이의 기록/판독 신호(WR#)를 검출하자마자, 외부 액세스 제어(208)는 외부 기록 액세스를 시작한다. 외부 액세스 제어(208)는 외부 액세스 보류 신호(EAPEN#)를 로우로 표명한다. 액세스 아비터(206)에 제공된 상기 로우의 외부 액세스 보류 신호(EAPEN#)는 액세스 아비터(206)가 외부 액세스 신호(EA#)를 로우로 표명하도록 한다. 상기 로우로 표명된 외부 액세스 신호(EA#)에 대한 응답으로, 메모리 어레이 시퀀서(205)는 어레이 기록 동작을 제어하기 위하여 행 어드레스 스트로브(RAS#)와 열 어드레스 스트로브(CAS#) 신호의 DRAM 제어 신호들을 메모리 어레이(201)에 제공한다. 액세스 아비터(206)는 또한 로직이 하이인 외부 어드레스 선택 신호(EASEL)를 전송 게이트(210)에 제공하고, 이에 의해 전송 게이트(210)는 기록 어드레스(A1)를 어드레스 래치(211)로 전송하게 된다. 어드레스 래치(211)는 상기 기록 어드레스(A1)를 메모리 어레이(201)에 제공한다.
사이클(T2)을 시작할 때, 시스템 클럭 신호(CLK)의 상승 에지 이전에, 메모리 제어기(120)는 어드레스 스트로브 신호(ADS#)와 칩 선택 신호(CS#[0])를 다시 로우로 표명하여 메모리 블록(100)에 액세스한다. 메모리 제어기(120)는 또한 판독 어드레스(A2)를 외부 어드레스 버스 상에 제공한다. 메모리 제어기(120)는 추가로 로직이 로우인 기록/판독 신호(WR#)를 제공하고, 이에 의해 외부 액세스가 판독 액세스임을 나타내게 된다. 사이클(T2) 동안, 시스템 클럭 신호(CLK)의 상승 에지에서, 외부 액세스 제어(208)는 다시 어드레스 스트로브 신호(ADS#)와 칩 선택 신호(CS#[0])의 상태를 평가한다. 로우의 어드레스 스트로브 신호(ADS#), 로우의 칩 선택 신호(CS#[0]), 및 로우의 기록/판독 신호(WR#)를 검출하자마자, 외부 액세스 제어(208)는 외부 판독 액세스를 시작한다. 외부 액세스 제어(208)는 계속해서 외부 액세스 보류 신호(EAPEN#)를 로우로 표명한다. 액세스 아비터(206)에 제공된 상기 로우의 외부 액세스 보류 신호(EAPEN#)는 외부 액세스 신호(EA#)를 로우로 유지한다. 상기 로우로 표명된 외부 액세스 신호(EA#)에 대한 응답으로, 메모리 어레이 시퀀서(205)는 어레이 판독 동작을 제어하기 위하여 행 어드레스 스트로브(RAS#)와 열 어드레스 스트로브 신호(CAS#)의 DRAM 제어 신호들을 메모리 어레이(201)에 제공한다. 액세스 아비터(206)는 또한 클럭 사이클의 1/2 기간 동안 로직이 하이인 외부 어드레스 선택 신호(EASEL)를 전송 게이트(210)에 제공하고, 이에 의해 전송 게이트(210)는 판독 어드레스(A2)를 어드레스 래치(211)로 전송하게 된다. 어드레스 래치(211)는 상기 판독 어드레스(A2)를 메모리 어레이(201)에 제공한다.
시스템 클럭(CLK) 사이클(T1) 동안, 재생 제어기(207)는 재생 보류 신호(RFPEN#)를 로우로 표명하여 재생이 필요함을 나타내게 된다. 상기에 기술한 바와 같이, 외부 액세스는 또한 사이클(T2) 동안 보류 중이다. 그러므로, 2개의 다른 요구 신호가 사이클(T2) 동안 보류 중이므로 신호가 충돌하게 된다. 액세스아비터(206)는 상기와 같이 충돌하게 되는 경우에 유휴 메모리 사이클까지 재생 요구를 지연시키는 역할을 한다. 유휴 메모리 사이클은 외부 메모리 액세스가 없는 메모리 사이클이다.
사이클(T3)에서의 시스템 클럭 신호(CLK)의 상승 에지에서, 외부 액세스 제어(208)는 다시 어드레스 스트로브 신호(ADS#)와 칩 선택 신호(CS#[0])의 상태를 평가한다. 어드레스 스트로브 신호(ADS#) 또는 칩 선택 신호(CS#[0]) 중 어느 하나의 하이 상태는 사이클(T3) 동안 유휴 메모리 사이클이 존재한다는 것을 나타낸다. 액세스 아비터(206)는 외부 어드레스 신호(EA#)를 하이로 표명하는 것을 해제하고, 재생 신호(RF#)를 로우로 표명하며, 하이의 재생 어드레스 선택 신호(RASEL)를 제공함으로써 이 유휴 메모리 사이클에서 재생이 일어나도록 한다. 재생 어드레스 선택 신호(RASEL)는 클럭 사이클의 1/2 동안 하이로 드라이브된다. 이러한 상황 하에서, 전송 게이트(209)는 어드레스 래치(211)를 통해서 재생 어드레스(RFA)를 메모리 어레이(201)로 전송하고, 메모리 어레이 시퀀서(205)는 행 어드레스 스트로브 신호(RAS#)를 재생 메모리 어레이(201)에 제공한다. 결과적으로, 재생 액세스는 재생 제어기(207)에 의해 발생된 재생 어드레스(RFA)로 실행된다.
도 4는 본 발명의 한 실시예에 따른 액세스 아비터(206)를 나타낸다. 본 실시예에서, 액세스 아비터(206)는 2개의 입력 NAND 게이트(401), 2개의 입력 AND 게이트(403과 404), 및 인버터(402와 405)를 포함한다. 재생 보류 신호(RFPEN#)는 인버터(402)를 통하여 NAND 게이트(401)의 제 1 입력 단자에 제공된다. 외부 액세스 보류 신호(EAPEN#)는 NAND 게이트(401)의 제 2 입력 단자와 AND 게이트(403)의 제 1 입력 단자에 제공되고, 또한 외부 어드레스 신호(EA#)로서 메모리 어레이 시퀀서(205)에 제공된다. 시스템 클럭(CLK)은 AND 게이트(403)의 제 2 입력 단자에 제공된다. AND 게이트(403)의 출력 신호는 외부 어드레스 선택 신호(EASEL)로서 전송 게이트(210)에 제공된다. NAND 게이트(401)의 출력 신호는 재생 신호(RF#)와 재생 인식 신호(FRACK#)를 메모리 어레이 시퀀서(205)와 재생 제어기(207)에 각각 제공한다. 또한, NAND 게이트(401)의 출력 신호는 인버터(405)를 통과해서 AND 게이트(404)의 제 1 입력 단자에 제공된다. 시스템 클럭(CLK)은 AND 게이트(404)의 제 2 입력 단자에 제공된다. AND 게이트(404)의 출력 신호는 재생 어드레스 선택 신호(RASEL)로서 전송 게이트(209)에 제공된다.
액세스 아비터(206)는 보류 중인 외부 액세스가 없는 경우를 제외하고 재생 액세스를 방지하는 기능을 한다. 보류 중인 외부 액세스와 보류 중인 재생 액세스간에 액세스가 충돌하는 경우에, 외부 액세스가 항상 우선권을 갖는다. 외부 액세스에 우선권을 부여함으로써, 외부 액세스는 재생 액세스에 의해 지연되지 않는다. 외부 액세스 보류 신호(EAPEN#)가 로우인 경우, 즉, 이 사이클에서 외부 메모리 액세스를 나타내는 경우, NAND 게이트(401)의 출력 신호는 재생 보류 신호(RFPEN#)의 상태에 관계없이 하이(high)일 것이다. 외부 어드레스 신호(EA#)가 로우로 표명되고, 재생 신호(RF#)는 하이로 디어서트(deassert)되어 외부 메모리 액세스를 나타내게 된다. 재생 인식 신호(RFACK#)는 이 메모리 사이클이 재생을 위해 사용되지 않는다는 것을 나타내는 하이로 디어서트된다. 외부 어드레스 선택 신호(EASEL)는하이로 표명되어, 어드레스 래치(211)를 통해서 메모리 어레이(201) 어드레스 버스 상으로 외부 액세스 어드레스(EAA)를 이동시킨다.
보류 중인 외부 액세스가 없을 때, EAPEN#은 하이로 디어서트되어 재생 보류 신호(RFPEN#)가 NAND 게이트(401)의 출력 신호를 드라이브하도록 한다. 재생 보류 중인 것이 없다면, 재생 보류 신호(RFPEN#)는 하이로 디어서트되어, 인버터(402)의 출력 단자로부터 NAND 게이트(401)의 입력 단자까지 로우 신호를 제공하게 될 것이다. 따라서, NAND 게이트(401)의 출력 신호는 하이가 되어, 이 메모리 사이클이 재생을 위해 사용되지 않음을 나타내도록 재생 인식 신호(RFACK#)를 하이로 유지한다. 재생 보류 중인 것이 있다면, 재생 인식 신호(RFPEN#)는 로우가 되어, 인버터(402)에서 NAND 게이트(401)의 입력 단자까지 하이의 출력 신호를 제공하게 될 것이다. 이 하이인 신호와 외부 액세스 보류 신호(EAPEN#)의 하이 상태는 NAND 게이트(401)의 출력 신호가 로우로 되게 한다. NAND 게이트(401)의 출력 신호는 재생 신호(RF#)와 재생 인식 신호(RFACK#)를 로우로 드라이브한다. 또한, 시스템 클럭(CLK)이 하이가 될 때, NAND 게이트의 출력 신호는 인버터(405)을 통과하여 NAND 게이트(404)의 출력을 하이로 드라이브한다. 그러므로, 메모리 어레이 시퀀서(205)에는 로우의 재생 신호(RF#)가 제공된다. 전송 게이트(209)에는 하이의 재생 어드레스 선택 신호(RASEL)가 제공되어, 재생 어드레스(RFA)를 어드레스 래치(211)에 제공하게 된다. 재생 인식 신호(RFACK#)는 로우로 표명되고, 재생 제어기(207)에 제공되어, 재생을 위하여 이 클럭 사이클의 사용을 나타내게 된다.
도 5는 본 발명의 한 실시예에 따른 재생 제어기(207)를 나타내는 블럭도이다. 재생 제어기(207)는 재생 어드레스 계수기(501), 재생 타이머(502) 및 재생 누산기(503)를 포함한다. 재생 어드레스 계수기(501)는 재생 인식 신호(RFACK#)와 시스템 클럭 신호(CLK) 모두를 수신하기 위하여 결합된 13비트 2진 계수기(504)를 포함한다. 응답으로, 2진 계수기(504)는 13비트 어드레스 버스 상의 현재의 재생 어드레스(RFA)를 전송 게이트(209)에 제공한다. 어드레스 버스의 사이즈는 메모리 어레이(201)의 각각의 행에 액세스하도록 선택된다. 시스템 클럭(CLK)은 2진 계수기(504)의 연산을 동기화하기 위하여 제공된다. 메모리 재생이 일어나지 않았다면 재생 인식 신호(RFACK#)는 하이가 되어, 재생 인식 신호(RFACK#)를 하나의 클럭 사이클 동안 로우로 표명한다. 각각의 로우의 재생 인식 신호(RFACK#)는 2진 계수기(504)를 증가시켜서, 메모리 어레이(201)에 있는 각각의 메모리 열의 어드레스를 통하여 순차적으로 이동시킨다.
재생 타이머(502)는 모듈로-256 계수기(507)를 포함한다. 계수기(507)는 재생 시간 신호(RFTIM#)를 재생 누산기(503)에 제공하기 위하여 결합된다. 계수기(507)의 연산을 개시하고 동기화하기 위하여, 시스템 RESET 신호와 클럭 신호(CLK)가 각각 제공된다. 최초 전원이 공급되자마자, 계수기(507)는 시스템 RESET 명령에 의해 0으로 초기화된다. 그 다음, 계수기는 각각의 클럭 사이클을 255의 풀카운트까지 한번 증가시킨다. 계수기의 그 다음의 증분은 하나의 클럭 사이클 동안 재생 시간 신호(RFTIM#)를 로우로 표명하고, 계수를 0까지 떨어뜨린다. 계수기(507)는 그 다음의 CLK 사이클에서 1을 카운트하고, 다시 상기 카운트까지 순환하게 된다. 본 실시예에서, 따라서, 계수기(507)에 의해 트래킹된 재생 기간은 256 카운트이다. 100㎒ 클럭으로 분할된 이 256 카운트는 2.56㎳ 마다 재생 시간 신호(RFTIM#)를 로우로 표명한다. 비록 본 실시예에서 계수기(256)가 모듈로-256 계수기로 설명되었지만, 시간 기간을 트래킹하는 다른 방법이 다른 실시예에서 나타날 수 있다는 것을 이해할 것이다.
재생 누산기(503)는 재생 인식 신호(RFACK#), 재생 시간 신호(RFTIM#), 및 시스템 클럭 신호(CLK)를 수신하기 위하여 결합되는 모듈로-8 up/dowm 계수기(505)를 포함한다. 계수기(505)에 대해 0이 아닌 계수는 재생 보류 신호(RFPEN#)를 로우로 표명한다. 시스템 클럭 신호(CLK)는 계수기 연산을 동기화하기 위하여 제공된다.
본 실시예에서, 계수기(505)는 모듈로-8 up/down 계수기이다. 각각의 로우의 재생 인식 신호(RFACK#)는 카운트를 1씩 감소시키고, 각각의 로우인 재생 시간 신호(RFTIM#)는 카운트를 1씩 증가시킨다. 계수기(505)에 의해 유지되는 카운트가 0이 아닌 경우, 계수기(505)로부터의 재생 보류(RFPEN#) 출력 신호는 로우가 되어, 메모리 어레이(201) 내의 적어도 하나의 메모리 위치가 재생 준비되었음을 액세스 아비터(206)에 지시하게 될 것이다. 충분한 재생 인식 신호(RFACK#)가 계수기(505)의 카운트를 0까지 감소시킬 때까지 재생 보류 신호(RFPEN#)는 로우로 유지될 것이다. 계수기(505)는 카운트가 8일때 풀(full)이다. 따라서, 계수기(505)가 풀카운트에 도달하고, 계수기(507)가 다른 로우의 재생 시간 신호(RFTIM#)를 표명하기 전에 실행된 그 후의 재생 액세스가 없는 경우, 재생 사이클을 잃을 수 있다.
본 실시예는 8개의 재생 시간 신호(RFTIM#)까지 축적할 수 있는 모듈로-8 재생 누산기(503)를 활용한다. 재생 시간 신호(RFTIM#)가 매 2.56㎳마다 발생되기 때문에, 재생 누산기(503)는 20.48㎳ 기간 동안 재생 요구를 축적할 수 있다. 이 20.48㎳의 기간은 적절한 재생 기간으로 불리운다. 상기 적절한 재생 기간은 메모리 어레이(201)가 재생 동작을 요구하지 않고 일정한 외부 메모리 액세스 상태에 있을 수 있는 시간 기간으로서 정의된다. 본 실시예는 모듈로-8 누산기를 사용하지만, 적절한 재생 기간의 지속 시간을 조정하기 위하여 다른 카운트가 가능한 누산기가 사용될 수 있다. 가장 간단한 대안적인 실시예로, 1비트의 누산기를 사용하여, 100㎒의 주파수 클럭에 대하여 2.56㎳인 개별적인 기간이 되도록 적절한 재생 기간을 제한할 수 있다.
요약하면, 메모리 블록(100)은 주기적인 재생 요구를 발생시키기 위한 재생 타이머, 재생될 행의 어드레스를 공급하기 위한 재생 어드레스 계수기(501), 다수의 재생 요구를 기억하기 위한 재생 누산기(503), 및 메모리가 외부 액세스를 처리하고 있을 때 재생 동작을 지연시키기 위한 액세스 아비터(206)를 구비하고 있다.
메모리 블록(100)은 외부 액세스의 요구가 없는 클럭 주기 동안 재생 동작을 실행한다. 메모리 블록(100 - 115)이 적절히 재생되도록 하기 위해, 메모리 제어기(120)는 시스템의 메모리 블록(100 - 115)의 각각이 이들 블럭들의 각각에 결합된 재생 누산기(503)가 오버플로우하는 것을 방지하기 위해 각각의 적절한 재생 기간에 충분한 유휴 사이클을 갖도록 할 필요가 있다. 상기한 바와 같이, 재생 누산기(503)는 8개의 재생 요구까지 기억할 것이다. 결과적으로, 20.48㎳의 적절한 재생 기간 동안 8개의 유휴 사이클이 요구된다.
평균해서, 하나의 재생 액세스는 매 256 클럭 사이클마다 실행될 것이다. 그러므로, 하나의 재생 동작은 이용 가능한 시스템 사이클, 또는 대역폭의 1/256 또는 0.4%를 차지한다. 통상적인 시스템에서, 이 하나의 유휴 사이클은 일반적으로 메모리 제어기(120)에 의한 어떠한 조정없이도 이용 가능할 것이고, 이는 본 발명자에 의해 "Method And Apparatus For 1-T SRAM Compatible memory"의 제목으로 출원된 미국 특허 출원 번호 09/037,396 호에 기록되어 있다. 이는 본 발명자에 의해 "Method And Apparatus For Increasing The time Available For Refresh For 1-T SRAM Compatible Devices"의 제목으로 출원된 미국 특허 출원 번호 09/181,840 호에 기술된 것과 같은 구성에서 특히 명확하다. 또한, 재생 동작에 필요한 평균 시스템 대역폭은 하나의 메모리 장치가 적절한 재생 기간보다 더 긴 기간 동안 외부의 액세스로 점유될 가능성을 감소시키는 다수의 메모리 장치의 사용으로 상당히 감소된다.
그럼에도 불구하고, 적절한 재생 기간보다 더 긴 지속 시간 동안 메모리 블록에 대한 연속적인 메모리 액세스에 기인하여 메모리 블록이 재생되지 않을 한정된 확률이 여전히 존재한다. 모든 조건 하에서, 메모리 블록(100 - 115)이 적절히 재생되도록 하기 위하여, 메모리 제어기(120)는 유휴 사이클수의 트랙(track)이 적절한 재생 기간 내에서 일어나도록 유지하고, 유휴 사이클의 수가 재생 동작을 위한 적당한 시간을 허용하기에 불충분한 경우, 외부 메모리 액세스를 중지해야 한다.
메모리 제어기(120)는 메모리 블록(100 - 115)에 대한 외부 액세스를 제어하여 각각의 메모리 블록이 재생을 위한 적당한 시간을 갖도록 한다. 외부 액세스 요구가 전체의 적절한 재생 기간 동안 메모리 블록을 차지하는 것이 가능할 것이다. 이 경우, 적절한 재생 기간 동안, 재생을 위해 필요한 8개의 유휴 사이클보다 적은 사이클이 존재한다. 이러한 상황 하에서, 메모리 제어기(120)는 필요한 메모리 재생 동작이 실행될 때까지 외부 액세스를 지연시킬 것이다. 다른 방법으로, 메모리 제어기(120)는 적절한 재생 기간 동안 필요한 유휴 사이클수가 존재하도록 할 것이다.
도 6, 도 7 및 도 8은 본 발명의 다양한 실시예에 따른 재생 매니저(600, 700 및 800)의 각각의 개략도이다. 재생 매니저(600, 700 및 800)는 각각 메모리 제어기(120) 내에 위치한다. 재생 매니저(600, 700 및 800)는 어드레스 스트로브 신호(ADS#)뿐만 아니라 재생 요구 신호(RFREQ#)를 발생시킨다. 재생 요구 신호(RFREQ#)는 메모리 시스템(10)에 액세스하는 액세스 장치(도시하지 않음)로 복귀된다. 액세스 장치는 메모리 제어기(120)와 같은 칩에 위치하거나 위치하지 않을 수 있다. 재생 요구 신호(RFREQ#)는 로우로 표명되어 액세스 장치에 추가적인 액세스가 지연되어야 함을 알린다. 어드레스 스트로브 신호(ADS#)는 상기에 기술된 바와 같이 로직이 하이인 상태일 때 유휴 사이클의 존재를 나타낸다.
메모리 제어기(120)의 재생 매니저부는 적절한 재생 기간 내의 유휴 사이클의 수가 메모리 블록(100 - 115)의 각각에 의해 요구되는 재생 사이클의 수와 동일하거나 이를 초과하도록 하는 메커니즘을 포함한다. 이 메커니즘은 메모리블록(100 - 115)과 메모리 제어기(120) 사이의 외부 통신을 필요로 하지 않는다는 것이 주목된다. 이 체계의 한 가지 이점은, 메모리 블록(100 - 115)이 메모리 제어기(120)에서 제어 메커니즘의 어떠한 변경없이 동일한 인터페이스를 사용하는 정적 RAM(SRAM) 장치 대신 사용될 수 있다는 것이다.
도 6은 재생 제어기(601), 유휴 사이클 계수기(602) 및 액세스 서스펜더(640)를 포함하는 재생 제어기(600)의 개략도이다. 액세스 서스펜더(640)는 어드레스 스트로브 신호(ADS#)를 제공하는 NAND 게이트(603)를 포함한다. 시스템 클럭(CLK)은 연산을 동기화하기 위하여 제공된다. 재생 계수기(601)는 0에서 메모리 어레이(201)에 대한 적절한 재생 기간과 동일한 시간량까지 카운트한다. 본 실시예에서, 재생 계수기(601)는 2.56㎳의 8배인 모듈로-256 계수기와 재생 누산기(503)의 최대치까지 카운트하여, 재생 누산기(503)에 의해 카운트된 20.48㎳의 적절한 재생 기간과 같아지게 된다. 최대 재생 기간이 카운트되지 않았다면, 재생 계수기(601)의 출력 재생 요구 신호(RFREQ#)는 하이로 유지된다. 그 다음, 재생 요구 신호(RFREQ#)가 로우로 표명되어, 재생 계수기(601)가 유휴 사이클 계수기(602)에 의해 재설정될 때까지 메모리 액세스를 지연시킨다.
유휴 사이클 계수기(602)는 3비트 계수기이고, 재생을 위해 유휴 사이클이 이용 가능할 때마다 한번 증가된다. 유휴 사이클 계수기(602)가 메모리 블록(100 - 115) 재생을 위한 적절한 재생 기간에 요구되는 8개의 유휴 사이클에 도달할 때마다 재생 계수기(601)는 0에서부터 카운트하도록 재설정된다. 그러므로, 재생 계수기(601)가 적절한 재생 기간을 카운트하기 전에 유휴 사이클 계수기(602)가 8의풀카운트에 도달한 경우, 재생 계수기(601)에 대해 하이 신호가 RESET에 표명된다. 이 하이의 RESET은 재생 계수기(601)가 0에서부터 적절한 재생 기간을 카운트하기 시작하도록 하여, 어드레스 스트로부 신호(ADS#)를 하이로 유지하고 인터럽트되지 않은 메모리 액세스를 허가한다.
NAND 게이트(603)를 포함하는 액세스 서스펜더(640)는 재생 요구 신호(RFREQ#)와 메모리 액세스 요구 신호(MAREQ)를 수신하기 위하여 결합된다. 메모리 요구가 액세스 장치로부터 메모리 제어기(120)에 의해 수신될 때, 메모리 액세스 요구 신호(MAREQ)는 하이로 표명된다. 메모리 제어기(120)의 액세스 장치는 CPU, I/O 프로세서, 그래픽 프로세서 등일 수 있다. 이러한 가능한 메모리 제어기(120)의 액세스 장치는 도시하지 않는다. 재생 계수기(601)가 아직 최대 재생 기간까지 카운트하지 않았다면, 재생 요구 신호(RFREQ#)는 하이일 것이다. 이러한 상황 하에서, 액세스 서스펜더(640)의 출력 신호는 메모리 액세스 요구 신호(MAREQ)의 상태에 따라 달라진다. 메모리 액세스에 대한 외부의 요구는 메모리 액세스 요구 신호(MAREQ)를 하이로 표명하여, 액세스 서스펜더(640)로부터의 어드레스 스트로브 신호(ADS#)에 대해 로우의 출력 신호가 된다. 상기 어드레스 스트로브 신호(ADS#)의 로우 상태는 메모리 액세스가 보류 중임을 나타낸다. 메모리 액세스가 없는 경우에, 메모리 액세스 요구 신호(MAREQ)는 로우일 것이고, 액세스 서스펜더(640)의 어드레스 스트로브(ADS#)의 출력 신호는 하이로 표명될 것이다. 상기 하이의 어드레스 스트로브 신호(ADS#)는 가능한 메모리 재생을 위해 유휴 메모리 사이클이 존재한다는 것을 나타낸다. 이 어드레스 스트로브 신호(ADS#)는 또한 유휴 사이클 계수기(602)를 하나의 카운트씩 증가시킨다.
8개의 유휴 사이클보다 적은 사이클이 적절한 재생 기간 내에 발생한 경우, 재생 매니저(600)는 모든 보류 중인 메모리 재생이 완료될 때까지 메모리 액세스를 더 지연시킨다. 재생 계수기(601)가 재생을 위해 요구되는 유휴 사이클을 갖지 않고 적절한 재생 기간까지 카운트했을 때, 출력 재생 요구 신호(RFREQ#)는 로우로 표명된다. 상기 재생 요구 신호(RFREQ#)는 액세스 장치로 다시 보내져서 메모리 액세스를 지연시킨다. 재생 요구 신호(RFREQ#)의 로우 상태는 또한 액세스 서스펜더(640)의 어드레스 스트로브 신호(ADS#)의 출력이 하이가 되게 하여, 유휴 메모리 사이클이 메모리 재생을 위해 이용 가능함을 나타내게 된다. 이 로우의 어드레스 스트로브 신호(ADS#)는 또한 유휴 사이클 계수기(602)를 증가시킨다. 재생 요구 신호(RFREQ#)는 재생 계수기(601)가 재설정될 때까지 로우 상태로 유지된다. 따라서, 유휴 사이클 계수기(602)가 필요한 재생 메모리 사이클의 풀카운트에 도달할 때까지 어드레스 스트로브 신호(ADS#)는 하이로 유지될 것이다. 유휴 사이클 계수기(602)가 풀카운트에 도달할 때, 그 출력 신호는 하나의 클럭 사이클 동안 하이가 되어 재생 계수기(601)를 재설정한다. 재생 계수기(601)의 카운트는 자동으로 0까지 랩(wrap)하여 카운트를 재시작하여, 재생 요구 신호(RFREQ#)를 하이로 표명하고 정상적인 메모리 액세스를 재시작한다.
유휴 사이클 계수기(602)는 모든 메모리 블록(100 - 115) 사이에 요구되는 최대 재생 사이클수까지 카운트한다. 본 실시예에서, 메모리 블록(100 - 115)은 동일하고, 적절한 재생 기간 내에서 8개의 유휴 사이클을 필요로 한다. 다른 실시예에서, 적절한 재생 기간 내에서 하나의 메모리 블록은 10개의 재생을 필요로 할 수 있고, 다른 메모리 블록은 5개의 재생을 필요로 할 수 있다. 이러한 실시예에서, 유휴 사이클 계수기는 양쪽 메모리 블록이 적절한 재생 기간 내에서 적절히 재생되도록 하기 위해 10까지 카운트할 필요가 있을 수 있다.
도 6에 도시된 간단한 재생 매니저는 통합된 방법으로 시스템에 있는 모든 메모리 장치들의 재생을 관리한다. 메모리 장치 모두를 하나의 단일 메모리 장치로 간주함으로써 시스템에 있는 개별적인 메모리 장치들 간을 구별하지 않는다.
도 7은 본 발명의 다른 실시예에 따른 재생 매니저(700)의 개략도이다. 재생 매니저(700)는 메모리 장치(100 - 107) 중 하나가 액세스되고 있을 때 다른 그룹의 메모리 장치(108 - 115)가 메모리 재생을 실행할 수 있다는 사실을 이용한다. 메모리 블록(100 - 115)은 동일 사이즈의 두 그룹으로 분리된다. 메모리 블록들의 각각의 그룹은 분리 재생 계수기와 유휴 사이클 계수기에 의해 관리된다. 재생 계수기(701과 702)는 재생 계수기(601)과 동일하다. 유휴 사이클 계수기(704와 714)는 유휴 사이클 계수기(602)와 동일하다.
도 7의 재생 매니저는 재생 계수기(701과 711), AND 게이트(702와 712), OR 게이트(703과 713), 유휴 사이클 계수기(704와 714), NAND 게이트(730) 및 액세스 서스펜더(740)를 포함한다. 액세스 서스펜더(740)는 NAND 게이트(720)을 포함한다.
AND 게이트(702)는 칩 선택 신호(CS#[0:7])를 수신하기 위하여 결합된다. 메모리 블록(100 - 107) 중 어느 하나가 외부 액세스를 실행 중이라면, 칩 선택 신호(CS#[0:7]) 중 하나가 로우로 되어, AND 게이트(702)의 출력 신호를 로우로 드라이브할 것이다. OR 게이트(703)는 어드레스 스트로브 신호(ADS#)와 AND 게이트(702)의 출력 신호를 수신하도록 결합된다. 어드레스 스트로브 신호(ADS#)는 외부 액세스가 보류 중일 때 로우로 표명되고, 유휴 사이클이 존재할 때 하이로 디어서트된다. AND 게이트(702)에 의해 제공된 로우의 신호는 OR 게이트(703)의 출력 신호가 어드레스 스트로브 신호(ADS#)를 따르도록 하여, 보류 중인 외부 액세스가 없는 경우 유휴 사이클 계수기(704)를 증가시킬 것이다. 필요한 유휴 사이클수가 카운트되었을 때, 유휴 사이클 계수기(704)는 하나의 클럭 사이클 동안 그 출력 신호를 하이로 표명하여 계수기(701)를 재설정할 것이다.
칩 선택 신호(CS#[0:7]) 중 하나가 로우로 표명될 경우, 즉 메모리 블록(100 - 107) 중 하나에 대한 메모리 액세스를 나타내는 경우, 다른 그룹의 메모리 블록(108 - 115)은 상기 사이클 동안 유휴 상태일 것이다. 칩 선택 신호(CS#[8:15])는 메모리 블록(108 - 115)에 대한 메모리 액세스가 없음을 나타내는 하이 상태일 것이고, AND 게이트(712)의 출력 신호를 하이가 되게 할 것이다. 이 AND 게이트의 하이의 출력 신호는 어드레스 스트로브 신호(ADS#)에 관계없이 OR 게이트(713)의 출력 신호를 하이로 되게 하여 유휴 사이클 계수기(714)를 증가시킨다.
재생 계수기(701과 711)는 적절한 재생 기간에 이를 때까지 카운트한다. 둘 중 어느 하나가 최대 카운트에 도달할 경우, 그 재생 계수기의 출력 신호는 유휴 사이클이 메모리 블록 중 하나를 재생하도록 할 필요가 있음을 나타내는 로우 상태가 된다. NAND 게이트(730)는 각각의 계수기(701과 711)의 출력 신호를 수신하도록 결합되어, 재생 요구 신호(RFREQ#)를 제공한다. 또한, 액세스 서스펜더(740)는 각각의 재생 계수기(701과 711)의 출력 신호와 메모리 액세스 요구 신호(MAREQ)를 수신하기 위하여 결합된다. 재생 계수기(701과 711) 중 어느 한쪽이 로우의 출력 신호를 표명하는 경우, NAND 게이트(720과 730) 모두의 출력 신호는 하이가 된다. 이것은 어드레스 스트로브 신호(ADS#)와 재생 요구 신호(RFREQ#)가 하이가 되게 한다. 상기 하이의 어드레스 스트로브 신호(ADS#)는 유휴 사이클을 메모리 시스템(10) 안에 강제로 부과하여, 유휴 사이클이 현재 메모리 재생을 위해 이용 가능하다는 것을 나타낸다. 상기 하이의 재생 요구 신호(RFREQ#)는 액세스 장치들에게 메모리 액세스 요구가 지연되어야 함을 지시한다. 재생 계수기(701과 711)는 유휴 사이클 계수기(704와 714)로부터의 풀카운트에 대한 응답으로 각각 제로 카운트로 리셋된다.
재생 계수기(701과 711) 중 어느 하나도 풀(full)이 아닌 경우, 이러한 재생 계수기들은 로직이 하이인 출력 신호들을 제공한다. 응답으로, NAND 게이트(730)는 로직이 로우인 재생 요구 신호(RFREQ#)를 제공한다. 상기한 바와 같이, 로직이 로우인 재생 요구 신호(RFREQ#)는 외부 액세스가 지연되지 않고 재생되도록 한다. 액세스 서스펜더(740)에 의해 제공된 어드레스 스트로브 신호(ADS#)는 메모리 액세스가 보류 중일 때 로우로 표명되고, 유휴 사이클 동안 하이로 디어서트된다.
본 실시예는 8개의 메모리 블록을 갖는 두 그룹을 나타내고 있지만, 어떤 메모리 블록의 수가 어떤 수의 그룹으로 분류될 수 있다는 것을 이해할 것이다. 예를 들면, 다른 실시예에서, 3개의 블럭이 하나의 그룹으로 존재하고, 13개의 블록이 다른 그룹으로 존재할 수 있다. 액세스 서스펜더(740)에 대한 적절한 변형이 이루어져야 한다. 본 실시예에서는 또한 멀티 뱅크 연산이 가능한 메모리 장치를 관리하도록 확장될 수 있다. 특히, 상기 장치 중 하나의 뱅크가 다른 뱅크가 재생을 실행하고 있는 동안 외부 액세스에 이용된다. 이러한 시스템에서, 메모리 장치의 다른 뱅크들은 분리된 재생 매니저의 세트들에 의해 관리된다.
도 8은 본 발명의 다른 실시예에 따른 메모리 제어기(120)의 재생 매니저(800)의 개략도이다. 이 실시예에서, 재생 매니저(800)는 재생 계수기(801), 재생 사이클 계수기(802) 및 액세스 서스펜더(840)를 포함한다. 액세스 서스펜더(840)는 NAND 게이트(803)를 포함한다. 유휴 사이클수가 발생되었음에도 불구하고, 재생 계수기(801)가 풀카운트에 도달할 때마다 재생 매니저(800)는 일정한 유휴 메모리 사이클의 수를 액세스 서스펜더(840)를 통해서 메모리 시스템(10)에 강제로 부과함으로써 기능을 하게 된다.
재생 계수기(801)는 적절한 재생 기간까지 카운트한다. 풀카운트에 도달될 때, 재생 요구(RFREQ#)의 출력 신호는 로우로 표명된다. 상기 로우로 표명된 재생 요구 신호(RFREQ#)는 외부 메모리 액세스를 중지시키고, 액세스 서스펜더(840)로부터의 출력 어드레스 스트로브 신호(ADS#)를 하이로 표명하며, 이에 의해 유휴 메모리 사이클을 삽입시킨다. 재생 사이클 계수기(802)는 각각의 클럭 사이클 동안 한번 카운트하고, 재생 사이클 계수기(802)가 풀카운트에 도달할 때까지 재생 요구 신호(RFREQ#)를 로우 상태로 유지한다. 상기한 실시예에서, 재생 사이클계수기(802)는 8까지 카운트하고, 이에 의해 재생을 위한 8개의 유휴 사이클을 삽입하게 된다. 그 다음, 재생 사이클 계수기(802)의 출력 신호는 하이로 드라이브되어 재생 계수기(801)를 리셋시킨다. 재생 계수기(801)는 0에서부터 카운트를 시작한여, 재생 요구의 출력 신호(RFREQ#)를 하이로 디어서트하고, 다시 액세스 서스펜더(840)가 직접 메모리 액세스 요구 신호(MAREQ)에 응답하도록 한다.
본 실시예에서, 액세스 서스펜더(603, 720 및 803)는 외부 메모리 액세스를 중지하기 위하여 어드레스 스트로브 신호(ADS#)를 발생하도록 나타내었고, 이어 의해 메모리 재생을 위한 유휴 사이클을 삽입하였다. 다른 실시예에서, 액세스 서스펜더(603, 720 및 803)는 외부 메모리 액세스를 중지하기 위해 칩 선택 신호(CS#[15:0])를 발생시키도록 구성될 수 있다.
비록, 본 발명은 몇몇 실시예에 관하여 설명되었지만, 본 발명은 상기한 실시예에 한정되지 않고, 관련 분야에 통상적인 지식을 가진 사람들이 명백히 알수 있는 다양한 변형예가 가능하다는 것을 이해할 수 있을 것이다. 예를 들면, 메모리 어레이(201)는 다른 실시예에서 다른 사이즈를 가질 수 있다. 따라서, 본 발명은 하기의 청구항에 의해서만 한정된다.

Claims (31)

  1. 시스템 버스,
    재생을 필요로 하는 메모리 셀들의 어레이와, 상기 메모리 어레이의 유휴 사이클 동안 상기 메모리 셀들을 재생하는 재생 제어 회로를 갖고, 상기 시스템 버스에 결합되는 메모리 블록, 및
    상기 시스템 버스에 결합되는 메모리 제어기를 포함하고,
    상기 메모리 제어기는 제 1 시간 기간 동안 시스템 버스 상의 다수의 유휴 사이클을 모니터링하고, 상기 제 1 시간 기간 동안 모니터링된 유휴 사이클의 수가 미리 결정된 유휴 사이클의 수보다 적은 경우 상기 시스템 버스에 하나 이상의 유휴 사이클을 강제로 부과하도록 구성된 재생 매니저를 갖는 것을 특징으로 하는 메모리 시스템.
  2. 제 1 항에 있어서,
    상기 모니터링된 유휴 사이클의 수와 상기 강제로 부과된 유휴 사이클의 수의 합은 상기 미리 결정된 유휴 사이클의 수와 같은 것을 특징으로 하는 메모리 시스템.
  3. 제 1 항에 있어서,
    상기 재생 제어 회로는 재생 요구를 발생시키는 것을 특징으로 하는 메모리시스템.
  4. 제 3 항에 있어서,
    상기 메모리 제어기는 메모리 블록에 대한 외부 액세스를 개시하고, 상기 재생 제어 회로는 항상 외부 액세스에 상기 재생 요구보다 우선권을 부여하는 액세스 아비터를 포함하는 것을 특징으로 하는 메모리 시스템.
  5. 제 1 항에 있어서,
    상기 재생 제어기는,
    상기 제 1 시간 기간을 미리 결정된 유휴 사이클의 수로 나눈 것과 같은 제 2 시간 기간의 끝에 제어 신호를 표명하는 재생 타이머, 및
    상기 재생 타이머가 제어 신호를 표명할 때마다 제 1 방향으로 카운트하고, 상기 메모리 셀들이 재생될 때마다 제 2 방향으로 카운트하는 계수기를 포함하는 것을 특징으로 하는 시스템 메모리.
  6. 제 5 항에 있어서,
    상기 계수기는 미리 결정된 수까지 다수의 제어 신호의 표명(assertion)을 축적하도록 구성되는 것을 특징으로 하는 메모리 시스템.
  7. 제 1 항에 있어서,
    상기 재생 매니저는,
    시스템 버스 상의 유휴 사이클의 수를 카운트하고, 시스템 버스 상의 유휴 사이클의 수가 미리 결정된 수와 동일할 때 풀(full)신호를 발생시키는 유휴 사이클 계수기, 및
    상기 제 1 시간 기간을 카운트하는 재생 계수기를 포함하고,
    상기 재생 계수기가 상기 유휴 사이클 계수기로부터 풀신호를 수신하지 않고 제 1 시간 기간을 카운트하는 경우, 재생 계수기는 유휴 사이클을 시스템 버스에 강제로 부과하도록 제 1 제어 신호를 표명하는 것을 특징으로 하는 메모리 시스템.
  8. 제 7 항에 있어서,
    상기 재생 매니저는 외부 액세스 요구 신호와 상기 제 1 제어 신호를 수신하기 위하여 결합된 액세스 서스펜더를 추가로 포함하고, 상기 액세스 서스펜더는 제 1 제어 신호가 표명될 때 외부 액세스 요구 신호를 디스에이블(disable)시키는 것을 특징으로 하는 메모리 시스템.
  9. 제 1 항에 있어서,
    시스템 버스에 결합되고, 재생을 필요로 하는 메모리 셀들의 제 2 어레이를 갖는 제 2 메모리 블록, 및
    상기 제 2 어레이의 유휴 사이클 동안 제 2 어레이의 메모리 셀들을 재생시키는 제 2 재생 제어 회로를 추가로 포함하는 것을 특징으로 하는 메모리 시스템.
  10. 시스템 버스,
    상기 시스템 버스에 결합되고, 각각의 메모리 블록이 재생을 필요로 하는 메모리 셀들의 어레이와, 상기 메모리 어레이의 유휴 사이클 동안 상기 메모리 셀들을 재생시키는 재생 제어 회로를 갖는 하나 이상의 메모리 블록의 제 1 세트,
    상기 시스템 버스에 결합되고, 각각의 메모리 블록이 재생을 필요로 하는 메모리 셀들의 어레이와, 상기 메모리 어레이의 유휴 사이클 동안 상기 메모리 셀들을 재생시키는 재생 제어 회로를 갖는 하나 이상의 메모리 블록의 제 2 세트, 및
    상기 시스템 버스에 결합되고, 제 1 시간 기간 동안 상기 시스템 버스 상의 다수의 유휴 사이클을 모니터링하고, 상기 제 1 시간 기간 동안 모니터링된 유휴 사이클의 수가 미리 결정된 유휴 사이클의 수보다 적은 경우 하나 이상의 유휴 사이클을 시스템 버스에 강제로 부과하도록 구성된 재생 매니저를 갖는 메모리 제어기를 포함하는 것을 특징으로 하는 메모리 시스템.
  11. 제 10 항에 있어서,
    상기 재생 매니저는 제 1 시간 기간 동안 제 1 세트의 메모리 블록들의 제 1 유휴 사이클수와 제 1 시간 기간 동안 제 2 세트의 메모리 블록들의 제 2 유휴 사이클수를 모니터링하도록 구성되고, 상기 재생 매니저는 상기 모니터링된 제 1 유휴 사이클수 또는 제 2 유휴 사이클수 중 어느 하나가 미리 결정된 유휴 사이클수보다 적은 경우에만 하나 이상의 유휴 사이클을 시스템 버스에 강제로 부과하는 것을 특징으로 하는 메모리 시스템.
  12. 시스템 버스,
    상기 시스템 버스에 결합되고, 재생을 필요로 하는 메모리 셀들의 어레이와, 상기 메모리 어레이의 유휴 사이클 동안 상기 메모리 셀들을 재생하는 재생 제어 회로를 갖는 메모리 블록, 및
    상기 시스템 버스에 결합되고, 미리 결정된 시간 기간 이후에 미리 결정된 수의 유휴 사이클을 시스템 버스에 강제로 부과하도록 구성된 재생 매니저를 갖는 메모리 제어기를 포함하는 것을 특징으로 하는 메모리 시스템.
  13. 제 12 항에 있어서,
    상기 재생 제어 회로는 재생 요구를 발생시키는 것을 특징으로 하는 메모리 시스템.
  14. 제 13 항에 있어서,
    상기 메모리 제어기는 메모리 블록에 대한 외부 액세스를 개시하고, 상기 재생 제어 회로는 항상 외부 액세스에 상기 재생 요구보다 우선권을 부여하는 액세스 아비터를 포함하는 것을 특징으로 하는 메모리 시스템.
  15. 제 12 항에 있어서,
    상기 재생 매니저는 미리 결정된 유휴 사이클수가 시스템 버스에 강제로 부과되어질 때 외부 액세스 요구 신호를 디스에이블(disable)시키도록 구성된 액세스 서스펜더를 추가로 포함하는 것을 특징으로 하는 메모리 시스템.
  16. 제 12 항에 있어서,
    상기 시스템 버스에 결합되는 제 2 메모리 블록을 추가로 포함하고,
    상기 제 2 메모리 블록은 재생을 필요로 하는 제 2 메모리 셀들의 어레이와, 상기 제 2 어레이의 유휴 사이클 동안 제 2 어레이의 메모리 셀들을 재생하는 제 2 재생 제어 회로를 갖는 것을 특징으로 하는 메모리 시스템.
  17. 제 1 기간 동안에 재생되어야 하는 제 1 행수(row number)를 갖는 메모리 어레이,
    재생이 진행 중일 때, 상기 메모리 어레이의 한번의 유휴 사이클 동안 상기 행(row) 중 하나가 재생되도록 하는 재생 제어기, 및
    제 1 기간 동안 메모리 시스템이 적어도 제 1 유휴 사이클수를 갖도록 하는 재생 매니저를 포함하는 것을 특징으로 하는 메모리 시스템.
  18. 재생을 필요로 하는 메모리 셀들의 어레이를 갖는 메모리 블록에 결합된 시스템 버스를 구비한 메모리 시스템을 동작시키는 방법에 있어서,
    메모리 어레이의 유휴 사이클 동안 메모리 셀들을 재생하는 단계,
    제 1 시간 기간 동안 시스템 버스 상의 다수의 유휴 사이클을 모니터링하는 단계, 및
    상기 제 1 시간 기간 동안 모니터링된 유휴 사이클의 수가 미리 결정된 유휴 사이클수보다 적은 경우 하나 이상의 유휴 사이클을 상기 시스템 버스에 강제로 부과하는 단계를 포함하는 것을 특징으로 하는 메모리 시스템 동작 방법.
  19. 제 18 항에 있어서,
    상기 강제로 부과된 유휴 사이클의 수를 제어하여 상기 모니터링된 유휴 사이클수와 상기 강제로 부과된 유휴 사이클수를 더한 값이 상기 미리 결정된 유휴 사이클수와 같아지도록 하는 단계를 추가로 포함하는 것을 특징으로 하는 메모리 시스템 동작 방법.
  20. 제 18 항에 있어서,
    메모리 블록에 재생 요구를 발생시키는 단계를 추가로 포함하는 것을 특징으로 하는 메모리 시스템 동작 방법.
  21. 제 20 항에 있어서,
    메모리 블록에 대한 외부 액세스 요구를 시스템 버스 상으로 제공하는 단계, 및
    메모리 블록에서의 재생 요구보다 항상 외부 액세스 요구에 우선권을 부여하는 단계를 추가로 포함하는 것을 특징으로 하는 메모리 시스템 동작 방법.
  22. 제 20 항에 있어서,
    상기 재생 요구를 미리 결정된 수까지 축적하는 단계를 추가로 포함하는 것을 특징으로 하는 메모리 시스템 동작 방법.
  23. 제 18 항에 있어서,
    시스템 버스 상의 유휴 사이클수를 카운트하는 단계,
    시스템 버스 상의 유휴 사이클수가 미리 결정된 수와 같을 때 풀(full)신호를 발생시키는 단계, 및
    제 1 시간 기간이 만료되고 상기 풀신호가 발생되지 않은 경우, 시스템 버스에 유휴 사이클을 강제로 부과하는 단계를 추가로 포함하는 것을 특징으로 하는 메모리 시스템 동작 방법.
  24. 제 23 항에 있어서,
    유휴 사이클이 시스템 버스에 강제로 부과될 때, 외부 액세스 신호를 디스에이블시키는 단계를 추가로 포함하는 것을 특징으로 하는 메모리 시스템 동작 방법.
  25. 시스템 버스, 상기 시스템 버스에 결합되고 재생을 필요로 하는 하나 이상의 메모리 블록의 제 1 세트, 및 상기 시스템 버스에 결합되고 재생을 필요로 하는 하나 이상의 메모리 블록의 제 2 세트를 갖는 메모리 시스템을 동작시키는 방법에 있어서,
    상기 메모리 블록들의 유휴 사이클 동안 메모리 블록들의 각각을 재생하는 단계,
    제 1 시간 기간 동안 시스템 버스 상의 다수의 유휴 사이클을 모니터링하는 단계, 및
    상기 제 1 시간 기간 동안 모니터링된 유휴 사이클수가 미리 결정된 유휴 사이클수보다 적은 경우, 하나 이상의 유휴 사이클을 시스템 버스에 강제로 부과하는 단계를 포함하는 것을 특징으로 하는 메모리 시스템 동작 방법.
  26. 제 25 항에 있어서,
    상기 제 1 시간 기간 동안 메모리 블록 중 제 1 세트에 있는 제 1 유휴 사이클수를 모니터링하는 단계,
    상기 제 1 시간 기간 동안 메모리 블록 중 제 2 세트에 있는 제 2 유휴 사이클수를 모니터링하는 단계, 및
    상기 모니터링된 제 1 유휴 사이클수와 제 2 유휴 사이클수 중 어느 하나가 미리 결정된 유휴 사이클수보다 적은 경우에만 하나 이상의 유휴 사이클을 시스템 버스에 강제로 부과하는 단계를 추가로 포함하는 것을 특징으로 하는 메모리 시스템 동작 방법.
  27. 재생을 필요로 하는 메모리 셀들의 어레이를 갖는 메모리 블록에 결합된 시스템 버스를 구비한 메모리 시스템을 동작시키는 방법에 있어서,
    상기 메모리 어레이의 유휴 사이클 동안 메모리 셀들을 재생하는 단계, 및
    미리 결정된 시간 기간 이후에 미리 결정된 유휴 사이클수를 시스템 버스에 강제로 부과하는 단계를 포함하는 것을 특징으로 하는 메모리 시스템 동작 방법.
  28. 제 27 항에 있어서,
    메모리 블록에 재생 요구를 발생시키는 단계를 추가로 포함하는 것을 특징으로 하는 메모리 시스템 동작 방법.
  29. 제 28 항에 있어서,
    메모리 블록에 대한 외부 액세스 요구를 시스템 버스 상으로 제공하는 단계, 및
    메모리 블록에서의 재생 요구보다 항상 외부 액세스 요구에 우선권을 부여하는 단계를 추가로 포함하는 것을 특징으로 하는 메모리 시스템 동작 방법.
  30. 제 28 항에 있어서,
    미리 결정된 수까지 상기 재생 요구를 축적하는 단계를 추가로 포함하는 것을 특징으로 하는 메모리 시스템 동작 방법.
  31. 제 27 항에 있어서,
    미리 결정된 수의 유휴 사이클이 시스템 버스에 강제로 부과되고 있을 때, 외부 액세스 요구 신호를 디스에이블시키는 단계를 추가로 포함하는 것을 특징으로 하는 메모리 시스템 동작 방법.
KR10-2001-7008890A 1999-01-20 2000-01-20 유휴 메모리 사이클을 사용하여 반도체 메모리를 재생하는방법과 장치 KR100439117B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US09/234,778 US6222785B1 (en) 1999-01-20 1999-01-20 Method and apparatus for refreshing a semiconductor memory using idle memory cycles
US09/234,778 1999-01-20
PCT/US2000/001487 WO2000043893A2 (en) 1999-01-20 2000-01-20 Method and apparatus for refreshing a semiconductor memory using idle memory cycles

Publications (2)

Publication Number Publication Date
KR20010101523A true KR20010101523A (ko) 2001-11-14
KR100439117B1 KR100439117B1 (ko) 2004-07-05

Family

ID=22882792

Family Applications (1)

Application Number Title Priority Date Filing Date
KR10-2001-7008890A KR100439117B1 (ko) 1999-01-20 2000-01-20 유휴 메모리 사이클을 사용하여 반도체 메모리를 재생하는방법과 장치

Country Status (5)

Country Link
US (1) US6222785B1 (ko)
EP (1) EP1163594A2 (ko)
JP (1) JP4487040B2 (ko)
KR (1) KR100439117B1 (ko)
WO (1) WO2000043893A2 (ko)

Families Citing this family (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6707743B2 (en) * 1998-10-01 2004-03-16 Monolithic System Technology, Inc. Method and apparatus for completely hiding refresh operations in a DRAM device using multiple clock division
US6504780B2 (en) * 1998-10-01 2003-01-07 Monolithic System Technology, Inc. Method and apparatus for completely hiding refresh operations in a dram device using clock division
US6898140B2 (en) 1998-10-01 2005-05-24 Monolithic System Technology, Inc. Method and apparatus for temperature adaptive refresh in 1T-SRAM compatible memory using the subthreshold characteristics of MOSFET transistors
US6389505B1 (en) * 1998-11-19 2002-05-14 International Business Machines Corporation Restore tracking system for DRAM
JP3797810B2 (ja) * 1998-11-30 2006-07-19 松下電器産業株式会社 半導体装置
US6496437B2 (en) * 1999-01-20 2002-12-17 Monolithic Systems Technology, Inc. Method and apparatus for forcing idle cycles to enable refresh operations in a semiconductor memory
JP4339995B2 (ja) * 1999-11-16 2009-10-07 パナソニック株式会社 半導体記憶装置
US6826104B2 (en) * 2000-03-24 2004-11-30 Kabushiki Kaisha Toshiba Synchronous semiconductor memory
TW503401B (en) * 2001-03-27 2002-09-21 Taiwan Semiconductor Mfg 1-T memory structure with hidden refresh function and its operation method
JP2002313080A (ja) * 2001-04-13 2002-10-25 Mitsubishi Electric Corp 半導体記憶装置
US6675272B2 (en) * 2001-04-24 2004-01-06 Rambus Inc. Method and apparatus for coordinating memory operations among diversely-located memory components
US6757784B2 (en) * 2001-09-28 2004-06-29 Intel Corporation Hiding refresh of memory and refresh-hidden memory
US6625077B2 (en) * 2001-10-11 2003-09-23 Cascade Semiconductor Corporation Asynchronous hidden refresh of semiconductor memory
TW533413B (en) * 2001-10-11 2003-05-21 Cascade Semiconductor Corp Asynchronous hidden refresh of semiconductor memory
GB2381887B (en) * 2001-11-08 2003-10-08 3Com Corp Dual purpose interface using refresh cycle
JP4459495B2 (ja) * 2001-12-13 2010-04-28 富士通マイクロエレクトロニクス株式会社 半導体記憶装置のリフレッシュ制御方法、及び該制御方法を有する半導体記憶装置
US6795364B1 (en) * 2003-02-28 2004-09-21 Monolithic System Technology, Inc. Method and apparatus for lengthening the data-retention time of a DRAM device in standby mode
US7353329B2 (en) * 2003-09-29 2008-04-01 Intel Corporation Memory buffer device integrating refresh logic
US7274618B2 (en) * 2005-06-24 2007-09-25 Monolithic System Technology, Inc. Word line driver for DRAM embedded in a logic process
JP2007200504A (ja) * 2006-01-30 2007-08-09 Fujitsu Ltd 半導体メモリ、メモリコントローラ及び半導体メモリの制御方法
US7533222B2 (en) * 2006-06-29 2009-05-12 Mosys, Inc. Dual-port SRAM memory using single-port memory cell
US7613061B2 (en) * 2007-11-30 2009-11-03 Agere Systems Inc. Method and apparatus for idle cycle refresh request in DRAM
JPWO2009150844A1 (ja) * 2008-06-12 2011-11-10 パナソニック株式会社 半導体記憶装置、半導体装置、および光ディスク再生装置
US9104581B2 (en) 2010-06-24 2015-08-11 International Business Machines Corporation eDRAM refresh in a high performance cache architecture
US8244972B2 (en) 2010-06-24 2012-08-14 International Business Machines Corporation Optimizing EDRAM refresh rates in a high performance cache architecture

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5033027A (en) * 1990-01-19 1991-07-16 Dallas Semiconductor Corporation Serial DRAM controller with multi generation interface
US5652723A (en) 1991-04-18 1997-07-29 Mitsubishi Denki Kabushiki Kaisha Semiconductor memory device
GB2265035B (en) 1992-03-12 1995-11-22 Apple Computer Method and apparatus for improved dram refresh operations
US5737748A (en) 1995-03-15 1998-04-07 Texas Instruments Incorporated Microprocessor unit having a first level write-through cache memory and a smaller second-level write-back cache memory
US5873114A (en) * 1995-08-18 1999-02-16 Advanced Micro Devices, Inc. Integrated processor and memory control unit including refresh queue logic for refreshing DRAM during idle cycles
EP0794497A3 (en) 1996-03-08 2000-10-11 Matsushita Electric Industrial Co., Ltd. Memory refresh control method and apparatus
US5822265A (en) 1997-07-29 1998-10-13 Rockwell Semiconductor Systems, Inc. DRAM controller with background refresh
US5999474A (en) * 1998-10-01 1999-12-07 Monolithic System Tech Inc Method and apparatus for complete hiding of the refresh of a semiconductor memory

Also Published As

Publication number Publication date
EP1163594A2 (en) 2001-12-19
WO2000043893A3 (en) 2000-12-07
KR100439117B1 (ko) 2004-07-05
JP2002535799A (ja) 2002-10-22
WO2000043893A2 (en) 2000-07-27
JP4487040B2 (ja) 2010-06-23
US6222785B1 (en) 2001-04-24

Similar Documents

Publication Publication Date Title
KR100439117B1 (ko) 유휴 메모리 사이클을 사용하여 반도체 메모리를 재생하는방법과 장치
US6496437B2 (en) Method and apparatus for forcing idle cycles to enable refresh operations in a semiconductor memory
US6028804A (en) Method and apparatus for 1-T SRAM compatible memory
KR100987997B1 (ko) 반도체 메모리 및 시스템
US6741515B2 (en) DRAM with total self refresh and control circuit
US7640391B2 (en) Integrated circuit random access memory capable of automatic internal refresh of memory array
US6956758B2 (en) Fully-hidden refresh dynamic random access memory
US8072829B2 (en) Dynamic semiconductor memory with improved refresh mechanism
CN111354393A (zh) 用于目标刷新操作的时序交错的设备和方法
JP4014669B2 (ja) 同期型半導体記憶装置
CN114496018A (zh) 控制刷新时序的设备和方法
US6226755B1 (en) Apparatus and method for enhancing data transfer to or from a SDRAM system
US7433261B2 (en) Directed auto-refresh for a dynamic random access memory
CN114388024A (zh) 具有经改进命令/地址总线利用的存储器
CN111326188B (zh) 用于半导体存储器中的刷新操作的设备和方法
US20050105357A1 (en) Method and circuit configuration for refreshing data in a semiconductor memory
US20060190678A1 (en) Static random access memory (SRAM) compatible, high availability memory array and method employing synchronous dynamic random access memory (DRAM) in conjunction with a single DRAM cache and tag
US20020069319A1 (en) Method and apparatus of event-driven based refresh for high performance memory controller
US6026041A (en) Semiconductor memory device
US7392339B2 (en) Partial bank DRAM precharge
EP1470553B1 (en) Apparatus and method for encoding auto-precharge
TWI773203B (zh) 半導體記憶體裝置
US20230410874A1 (en) Apparatuses and methods for partial array self refresh masking
CN111276175B (zh) 一种内存装置以及虚拟静态随机存取内存的刷新方法
KR20030091431A (ko) 감소된 랜덤 억세스 타임을 갖는 비동기 반도체 메모리장치 및 그에 따른 랜덤 억세스 타임 감소방법

Legal Events

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

Payment date: 20130531

Year of fee payment: 10

FPAY Annual fee payment

Payment date: 20140609

Year of fee payment: 11

FPAY Annual fee payment

Payment date: 20150608

Year of fee payment: 12

FPAY Annual fee payment

Payment date: 20160616

Year of fee payment: 13

FPAY Annual fee payment

Payment date: 20170614

Year of fee payment: 14

FPAY Annual fee payment

Payment date: 20180614

Year of fee payment: 15