KR20120099206A - 메모리 디바이스에서 구성가능 레이턴시 및/또는 밀도를 제공하는 시스템 및 방법 - Google Patents

메모리 디바이스에서 구성가능 레이턴시 및/또는 밀도를 제공하는 시스템 및 방법 Download PDF

Info

Publication number
KR20120099206A
KR20120099206A KR1020127002067A KR20127002067A KR20120099206A KR 20120099206 A KR20120099206 A KR 20120099206A KR 1020127002067 A KR1020127002067 A KR 1020127002067A KR 20127002067 A KR20127002067 A KR 20127002067A KR 20120099206 A KR20120099206 A KR 20120099206A
Authority
KR
South Korea
Prior art keywords
bank
banks
memory
read
time
Prior art date
Application number
KR1020127002067A
Other languages
English (en)
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 KR20120099206A publication Critical patent/KR20120099206A/ko

Links

Images

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/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/1647Handling requests for interconnection or transfer for access to memory bus based on arbitration with interleaved bank access
    • 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
    • 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
    • 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/408Address circuits
    • G11C11/4087Address decoders, e.g. bit - or word line decoders; Multiple line decoders
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C2207/00Indexing scheme relating to arrangements for writing information into, or reading information out from, a digital store
    • G11C2207/22Control and timing of internal memory operations
    • G11C2207/2272Latency related aspects

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Dram (AREA)

Abstract

메모리 디바이스(10), 메모리 제어기(20), 방법 및 시스템, 예컨대 메모리 어레이(22)의 행 사이클 지연 시간을 마스킹하는 방법이 제공된다. 일 실시예에서, 완전 또는 감소된 밀도 모드에서 동작하도록 구성가능한 메모리 디바이스(10)가 제공된다. 감소된 밀도 모드에서, 메모리 어레이(22) 내의 특정 뱅크는 어드레싱가능한 메모리 뱅크와 연관된 복제 메모리 뱅크로서 기능한다. 감소된 밀도 모드에서 수행되는 기록 동작(140)은 어드레싱된 메모리 뱅크는 물론, 그의 연관된 복제 뱅크에 데이터 세그먼트를 기록할 수 있다. 데이터 세그먼트에 대해 반복적인 판독 요청(160)이 발행될 때, 판독 요청(160)이 어드레싱된 뱅크와 그의 복제 뱅크 간에 인터리빙될 수 있고, 그로써 각각의 물리적 뱅크의 행 사이클 시간을 마스킹한다. 즉, 메모리 어레이(22)로부터의 데이터 세그먼트의 각각의 판독 사이의 간격이 행 사이클 시간보다 작은 것으로 보일 것이다.

Description

메모리 디바이스에서 구성가능 레이턴시 및/또는 밀도를 제공하는 시스템 및 방법{SYSTEM AND METHOD FOR PROVIDING CONFIGURABLE LATENCY AND/OR DENSITY IN MEMORY DEVICES}
본 발명의 실시예는 일반적으로 메모리 디바이스의 분야에 관한 것이다. 보다 구체적으로는, 본 발명의 실시예는 메모리 디바이스에서의 레이턴시를 감소시키는 하나 이상의 기법을 제공할 수 있다.
전자 디바이스는 통상적으로 전자 디바이스에서 사용될 수 있는 데이터를 저장하는 데 동적 랜덤 액세스 메모리(DRAM)와 같은 하나 이상의 메모리 디바이스를 이용한다. 예를 들어, 저장된 데이터는 전자 디바이스에서 사용될 수 있는 응용 프로그램, 미디어, 운영 체제 또는 임의의 다른 유형의 적당한 데이터를 나타낼 수 있다. 통상적으로 동기 DRAM(SDRAM)과 같은 메모리 디바이스는 복수의 메모리 뱅크 또는 기타 구획으로 분할되는 메모리 어레이를 포함한다. 동작 동안 메모리 디바이스에 의해 수신되는 어드레싱 정보에 기초하여, 데이터가 메모리 어레이의 적절한 뱅크에 저장되고 그로부터 판독될 수 있다.
데이터가 메모리 어레이로부터 판독될 수 있는 레이트가 통상적으로, 메모리 어레이의 동일한 물리적 뱅크에 대해 연속적인 ACTIVE 명령을 발행하는 것 사이에 경과되어야만 하는 최소 시간 간격으로 정의될 수 있는 메모리 어레이의 행 사이클 레이턴시(row cycle latency time)(tRC)에 의해 제한된다. 예로서, DDR2 SDRAM 디바이스에서, 전형적인 tRC는 대략 55ns일 수 있다. 이해되는 바와 같이, tRC 제한으로 인해, 동일한 물리적 뱅크에 대한 랜덤한 판독 요청은 후속하는 판독이 수행될 수 있기 전에 tRC가 경과하기를 기다려야만 한다. 따라서, 고속으로 및 낮은 사이클 시간으로 메모리 디바이스로부터 특정의 데이터 세그먼트를 판독하기 위해 반복적인 랜덤한 판독 요청을 발행할 필요가 있는 응용에서, 메모리 디바이스의 유효 tRC를 감소시키는 것이 바람직할 수 있다.
종래의 DRAM 메모리 디바이스의 레이턴시 단점을 해결하는 일부 종래의 해결책은 종래의 SDRAM 디바이스 대신에 저 레이턴시 SRAM(static RAM) 또는 RLDRAM(reduced latency DRAM) 디바이스를 제공하는 것을 포함한다. 이러한 디바이스가 보다 낮은 tRC를 제공할 수 있지만, 이러한 디바이스는 또한 일반적으로 SDRAM 디바이스에 비해 단가가 실질적으로 더 높다. 부가적으로, SRAM 및 RLDRAM 디바이스는 또한 통상적으로 유사한 저장 용량을 제공하는 SDRAM 디바이스에 비해 더 높은 전력 소모 요구사항을 가진다.
tRC를 감소시키는 다른 종래의 기법은 요청된 판독 데이터의 사본을 복수의 DRAM 디바이스 각각에 제공하는 것 및 복수의 DRAM 디바이스 간에 판독 요청을 인터리빙하는 것을 포함한다. 그러나, 이 기법은 다수의 DRAM 디바이스가 제공될 것을 필요로 할 뿐만 아니라, 다수의 디바이스 간의 판독 요청의 인터리빙을 관리할 별도의 제어 회로를 필요로 할 수 있으며, 따라서 불리하게도 단가, 버스 턴어라운드 시간 및 단일 메모리 디바이스를 사용하는 것에 비해 필요한 구성요소 공간의 양을 증가시킨다.
따라서, 본 발명의 실시예는 이상에서 제기된 문제점들 중 하나 이상의 문제점에 관한 것일 수 있다.
도 1은 본 발명의 실시예에 따른, 구성가능 밀도 및 레이턴시 특징을 포함할 수 있는 메모리 디바이스의 예를 나타낸 간략화된 블록도이다.
도 2는 본 발명의 실시예에 따른, 도 1의 메모리 디바이스에서 사용될 수 있는 메모리 어레이의 레이아웃을 나타내고 완전 밀도 구성(full density configuration)에서 동작할 때 메모리 어레이에 데이터 세그먼트를 기록하는 기록 동작을 나타낸 간략화된 블록도이다.
도 3은 본 발명의 실시예에 따른, 도 2에 나타낸 완전 밀도 구성에서 동작할 때 메모리 어레이로부터 데이터 세그먼트를 판독하는 판독 동작을 나타내는 타이밍도이다.
도 4는 본 발명의 실시예에 따른, 1/2 밀도 구성(half-density configuration)에서 동작할 때 메모리 어레이에 데이터 세그먼트를 기록하는 기록 동작을 나타내는 간략화된 블록도이다.
도 5는 본 발명의 실시예에 따른, 도 4에 나타낸 1/2 밀도 구성에서 동작할 때 메모리 어레이로부터 데이터 세그먼트를 판독하는 판독 동작을 나타내는 타이밍도이다.
도 6은 본 발명의 실시예에 따른, 1/4 밀도 구성(quarter-density configuration)에서 동작할 때 메모리 어레이에 데이터 세그먼트를 기록하는 기록 동작을 나타내는 간략화된 블록도이다.
도 7은 본 발명의 실시예에 따른, 도 6에 나타낸 1/4 밀도 구성에서 동작할 때 메모리 어레이로부터 데이터 세그먼트를 판독하는 판독 동작을 나타내는 타이밍도이다.
도 8은 도 1의 메모리 디바이스에서 사용될 수 있는 메모리 어레이의 대안의 레이아웃을 나타낸 간략화된 블록도이다.
도 9는 본 발명의 추가 실시예에 따른, 1/4 밀도 구성에서 동작할 때 도 8에 나타낸 메모리 어레이에 제1 및 제2 데이터 세그먼트를 기록하는 기록 동작을 나타내는 간략화된 블록도이다.
도 10은 본 발명의 추가 실시예에 따른, 도 9에 나타낸 1/4 밀도 구성에서 동작할 때 메모리 어레이로부터 제1 데이터 세그먼트를 판독하는 판독 동작을 나타내는 타이밍도이다.
도 11은 본 발명의 추가 실시예에 따른, 도 9에 나타낸 1/4 밀도 구성에서 동작할 때 메모리 어레이로부터 제1 및 제2 데이터 세그먼트를 판독하는 판독 동작을 나타내는 타이밍도이다.
도 12는 본 발명의 실시예에 따른, 메모리 디바이스에 데이터 세그먼트를 기록하는 방법을 나타낸 흐름도이다.
도 13은 본 발명의 실시예에 따른, 메모리 디바이스로부터 데이터 세그먼트를 판독하는 방법을 나타낸 흐름도이다.
본 발명의 하나 이상의 실시예는 메모리 어레이의 행 사이클 시간을 마스킹하는 기법에 관한 것이다. 일 실시예에서, 완전 또는 감소된 밀도 모드에서 동작하도록 구성가능한 메모리 디바이스가 제공된다. 감소된 밀도 모드에서 동작할 때, 디바이스의 이러한 메모리 어레이 내의 특정 뱅크는 직접 어드레싱가능한 메모리 뱅크(directly addressable memory bank)와 연관된 복제 메모리 뱅크로서 기능할 수 있다. 따라서, 감소된 밀도 모드에서 수행되는 기록 동작은 기록 명령에 의해 어드레싱되는 메모리 뱅크에 데이터 세그먼트를 기입할 수 있을 뿐만 아니라, 직접 어드레싱된 뱅크와 연관된 각각의 복제 뱅크에 데이터 세그먼트의 사본을 생성함으로써 데이터 세그먼트를 복제할 수도 있다. 데이터 세그먼트에 대해 반복적인 판독 요청이 개시될 때, 판독 요청이 어드레싱된 뱅크와 그의 복제 뱅크 간에 인터리빙될 수 있다. 이러한 인터리빙 기법을 사용하여, 메모리 어레이로부터의 각각의 데이터 세그먼트 판독 사이의 간격이 각각의 뱅크의 행 사이클 시간보다 작다. 이하에서 더 논의되는 바와 같이, 본 발명의 이러한 실시예는 일반적인 고정된 또는 정적 데이터 세그먼트가 높은 레이트로 판독 요청되는 응용에 특히 적합하다. 예를 들어, 본 명세서에 개시된 기법은 네트워크 디바이스와 관련하여, 상세하게는 일반적인 정적 탐색 테이블 또는 네트워크 변환 테이블이 반복적으로 판독되는 경우에 구현될 수 있다. 이들 및 기타 특징, 양태 및 장점은 본 발명의 다양한 실시예에 대한 이하의 설명과 관련하여 더 상세히 논의될 것이다.
이상의 내용을 염두에 두고서 이제부터 도 1을 참조하면, 본 발명의 실시예를 구현할 수 있는 메모리 디바이스(10)의 실시예를 나타낸 블록도가 도시되어 있다. 예로서, 메모리 디바이스(10)는 DDR(double-data-rate) 아키텍처를 사용하는 SDRAM(synchronous dynamic random access memory)일 수 있다. 본 개시 내용이, 특정 실시예에서, DDR SDRAM과 같은 광의적으로 메모리 디바이스(10)를 언급할 수 있지만, DDR이라는 용어가 DDR, DDR2, 또는 DDR3 기술을 포괄할 수 있다는 것을 이해하여야 한다. 게다가, 메모리 디바이스(10)에 대한 이하의 설명이 예시를 위해 간략화되어 있고 실제 메모리 디바이스의 모든 특징을 완전히 설명하기 위한 것이 아니라는 것을 이해하여야 한다. 또한, 본 기법이 반드시 DDR SDRAM으로 제한되는 것은 아니고, 또한 몇가지 예를 들면, SDR, DDR, DDR2, DDR3, 및 DDR4 디바이스와 같은 다른 유형의 DRAM(dynamic random access memory)에서 구현될 수 있다. 실제로, 당업자라면 본 발명의 실시예의 구현에서 다양한 디바이스가 사용될 수 있다는 것을 인식할 것이다.
메모리 디바이스(10)는, 예를 들어, 컴퓨터, 휴대용 미디어 플레이어, 휴대폰, PDA(personal digital assistant), 또는 네트워크 라우터/스위치와 같은 전자 디바이스의 컴포넌트일 수 있다. 도 1에 도시된 바와 같이, 메모리 버스를 통해 제공되는 제어, 버스, 및 데이터 정보가 메모리 디바이스(10)에의 개별 입력에 의해 표현된다. 이들 개별 표현은 데이터 버스(14), 주소 버스(16), 및 메모리 제어기(20)로 보내지는 제어 신호(18)를 제공하는 다양한 상이한 라인으로 나타내어져 있다. 메모리 디바이스(10)는 또한 어드레싱가능한 메모리 셀의 행 및 열을 포함할 수 있는 메모리 어레이(22)를 포함한다. 당업자라면 이해할 수 있는 바와 같이, "행" 및 "열"이라는 용어가 메모리의 논리적 구성을 말할 수 있고, 반드시 메모리 셀의 특정의 선형 관계 또는 배향을 말하는 것은 아니다. 또한 이해되는 바와 같이, 행에 있는 각각의 메모리 셀은 워드 라인이라고도 하는 액세스 라인에 결합될 수 있고, 열에 있는 각각의 메모리 셀은 디지트 라인 또는 비트 라인이라고도 하는 데이터 라인에 결합될 수 있다. 게다가, 메모리 어레이(22) 내의 각각의 셀은 통상적으로 저장 커패시터 및 액세스 트랜지스터를 포함한다. 따라서, 종래의 디바이스의 동작에서, 워드 라인 및 비트 라인은, 예를 들어, 어드레싱된 메모리 셀의 각자의 액세스 트랜지스터를 통해 저장 커패시터에 액세스하는 데 이용될 수 있다.
메모리 디바이스(10)는 데이터 버스(14) 및 주소 버스(16)를 통해 메모리 액세스 디바이스, 예를 들어, 마이크로프로세서와 같은 프로세서(12)와 인터페이스할 수 있다. 대안으로서, 메모리 디바이스(10)는 SDRAM 제어기, 마이크로컨트롤러, 칩셋, 또는 기타 전자 시스템 또는 디바이스와 같은 다른 메모리 액세스 디바이스와 인터페이스할 수 있다. 도시된 바와 같이, 프로세서(12)는 또한 다수의 제어 신호(18)를 메모리 디바이스(10)에 제공할 수 있다. 이러한 신호는 행 및 열 주소 스트로브 신호 RAS 및 CAS, 기록 인에이블 신호 WE, 클록 인에이블 신호 CKE, 칩 셋 신호 CS, 및 기타 종래의 제어 신호를 포함할 수 있다. 이들 제어 신호(18)를 통해, 제어기(20)는, 이하에서 더 상세히 논의되는 바와 같이, 메모리 디바이스(10)를 완전 밀도 또는 감소된 밀도 모드로 동작시키는 것의 선택을 비롯한 메모리 디바이스(10)의 많은 이용가능한 기능을 제어할 수 있다. 또한, 당업자라면 이해할 수 있는 바와 같이, 본 명세서에 상세히 기술되지 않은 다양한 다른 제어 회로 및 신호가 메모리 디바이스(10)의 동작에 기여할 수 있다.
주소 버스(16)로부터의 주소 정보가 주소 레지스터(24)를 사용하여 메모리 디바이스(10)에 수신될 수 있다. 행 주소 버퍼(26) 및 행 디코더 회로(28)는 주소 레지스터(24)에 의해 수신된 행 주소 신호로부터 행 주소를 수신하여 디코딩할 수 있다. 각각의 고유 행 주소는 메모리 어레이(22) 내의 한 행의 셀에 대응할 수 있다. 행 디코더(28)는 통상적으로 워드 라인 구동기, 주소 디코더 트리, 및 행 주소 버퍼(26)로부터 수신된 주어진 행 주소를 변환하고 워드 라인 구동기를 통해 메모리 어레이(22)의 적절한 워드 라인을 선택적으로 활성화시키는 회로를 포함한다.
메모리 디바이스(10)는 또한 주소 레지스터(24)에 의해 수신된 열 주소 신호를 수신하고 디코딩하도록 구성된 열 주소 버퍼(30) 및 열 디코더 회로(32)를 포함할 수 있다. 열 디코더(32)는 또한 메모리 어레이(22) 내의 열에 결함이 있을 때를 판정하는 것은 물론, 대체 열의 주소를 제공할 수 있다. 도시된 바와 같이, 열 디코더(32)는 감지 증폭기(34)에 결합되어 있고, 각각의 감지 증폭기(34)는 메모리 어레이(22) 내의 상보적인 비트 라인 쌍에 결합될 수 있다.
본 실시예에서, 감지 증폭기(34)는 데이터-입력(예컨대, 기록) 회로(38) 및 데이터-출력(예컨대, 판독) 회로(40)에 결합되어 있다. 데이터-입력 회로(38) 및 데이터-출력 회로(40)는 I/O 게이팅 회로, 데이터 구동기, 그리고 입력 및 출력 데이터를 메모리 디바이스(10)의 데이터 버스(14) 상에 제공하도록 구성된 래치를 포함할 수 있다. 데이터-입력 회로(38) 및 데이터-출력 회로(40)는 또한 데이터 버퍼(42)에 결합될 수 있고, 데이터 버퍼(42)는 프로세서(12)와 메모리 디바이스(10) 사이에서 통신되는 데이터 신호를 지연, 재생성 및 저장하는 하나 이상의 버퍼를 포함할 수 있다. 예를 들어, 기록 동작 동안, 데이터 버스(14)는 데이터-입력 회로(38)에 데이터를 제공한다. 감지 증폭기(34)는 데이터-입력 회로(38)로부터 데이터를 수신하고, 데이터를 메모리 어레이(22) 내의 대응하는 셀에, 예를 들어, 주소 버스(16) 상의 지정된 주소에 위치하는 메모리 셀의 커패시터 상에 전하로서, 저장한다. 단지 예로서, 데이터 버스(14)는, 일 실시예에서, 400 MHz 이상의 주파수로 데이터를 전송할 수 있는 8-비트 데이터 버스일 수 있다.
판독 동작 동안, 메모리 디바이스(10)는 데이터를 메모리 어레이(22)로부터 프로세서(12)로 전송한다. 액세스된 셀에 대한 상보적인 비트 라인이 평형화 회로(도시 생략) 및 기준 전압원에 의해 제공된 기준 전압으로의 프리차지 동작 동안 평형을 이룬다. 액세스된 셀에 저장된 전하는 이어서 대응하는 비트 라인과 공유된다. 감지 증폭기(34)는 이어서 상보적인 비트 라인 사이의 전압차를 검출하고 증폭한다. 주소 버스(16) 상에 수신된 주소 정보는 비트 라인의 부분집합을 선택하는 데 사용되고, 이 비트 라인의 부분집합은 이어서 상보적인 입/출력(I/O) 배선 또는 라인 쌍에 결합된다. I/O 배선은 증폭된 전압 신호를 데이터-출력 회로(40), 데이터 버퍼(42)에 전달하고, 궁극적으로 프로세서(12)로 전송되도록 데이터 버스(14)로 내보낸다.
데이터-출력 회로(40)는, 메모리 어레이(22)로 보내진 판독 요청에 응답하여, 데이터를 구동하여 데이터 버퍼(42) 및 데이터 버스(14) 상으로 내보내는 데이터 구동기(도시 생략)를 포함할 수 있다. 게다가, 데이터-출력 회로(40)는, 판독된 데이터가 데이터 구동기에 의해 구동되어 데이터 버퍼(42) 및 데이터 버스(14)로 나갈 때까지, 판독된 데이터를 래치하는 데이터 래치(도시 생략)를 포함할 수 있다. 본 실시예에 도시되어 있지는 않지만, 외부 시스템 클록 CLK와 동기되어 있는 시프트된 클록 신호를 제공함으로써 출력 데이터 신호를 시스템 클록 CLK와 동기시키기 위해, 지연 고정 루프(delay lock loop, DLL) 회로와 같은 동기화 디바이스가 이용될 수 있다는 것을 이해하여야 한다.
이해되는 바와 같이, 메모리 어레이(22)는 복수의 논리적 뱅크로 분할될 수 있다. 각각의 논리적 뱅크는 또한 복수의 어드레싱가능한 물리적 뱅크를 포함할 수 있다. 단지 예로서, 메모리 어레이(22)는 8개의 논리적 뱅크 및 16개의 물리적 뱅크를 제공하는 1 기가비트(Gb) 어레이일 수 있고, 따라서 각각의 논리적 뱅크는 2개의 물리적 뱅크를 포함하고, 각각의 물리적 뱅크는 64 메가비트(Mb)의 데이터를 저장할 수 있다. 특정의 메모리 뱅크에 대해 임의의 READ 또는 WRITE 명령이 발행될 수 있기 전에, 그 뱅크 내의 행이 활성화된다. 이것은 통상적으로 ACTIVE 명령을 사용하여 달성되고, 이 ACTIVE 명령은 CLK 신호의 상승 엣지 동안에 일어나는 하이 CAS 및 WE 신호와 결합되어 로우 CS 및 RAS 신호에 의해 개시될 수 있다. ACTIVE 명령 동안, 뱅크 주소 신호(36)가 주소 레지스터(24)를 통해 뱅크 제어 로직(46)에 제공될 수 있다. 뱅크 제어 로직(46)은 또한, 제어 신호(48, 50)에 의해 각각 표시되어 있는 바와 같이, 뱅크 주소 신호(36)를 행 디코더 회로(28) 및 열 디코더 회로(32)에 제공할 수 있다. 행 주소 신호, 열 주소 신호, 및 뱅크 주소 신호에 기초하여, 메모리 어레이(22) 내의 적절한 메모리 뱅크가 활성화될 수 있다.
이상에서 논의한 바와 같이, 메모리 디바이스(10)는 완전 밀도 모드에서 또는 하나 이상의 감소된 밀도 모드에서 동작할 수 있다. 완전 밀도 동작 모드에서, 8개의 논리적 뱅크 모두가 직접 어드레싱가능할 수 있다. 즉, 메모리 디바이스(10) 외부에 있는, 프로세서와 같은 메모리 액세스 디바이스는 완전 밀도 동작 모드에서 메모리 어레이(22)의 각각의 뱅크를 직접 어드레싱할 수 있다. 이해되는 바와 같이, 메모리 어레이의 각각의 물리적 뱅크는 행 사이클 레이턴시(tRC)를 가지며, tRC는 일반적으로 메모리 어레이(22)의 동일한 뱅크에 대해 연속적인 ACTIVE 명령을 발행하는 것 사이에 경과되어야만 하는 최소 시간 간격으로 정의될 수 있다. 일반적으로, tRC는 메모리 어레이(22)의 최소 RAS 활성 시간(tRAS)와 행 프리차지 시간(tRP)의 합으로서 결정될 수 있다. 예를 들어, tRC는 하기의 식으로 표현될 수 있다:
tRC = tRAS + tRP
단지 예로서, 이상에서 논의한 8개 논리적 뱅크/16개 물리적 뱅크 구성을 이용하는 DDR2 SDRAM 메모리 디바이스는 대략 55ns의 tRC를 가질 수 있다.
메모리 디바이스(10)가 감소된 밀도 모드에서 동작할 때, 메모리 어레이(22)는 감소된 뱅크 카운트를 이용할 수 있고, 이 경우 메모리 어레이(22) 내의 뱅크의 수의 일부분만이 [예컨대, 프로세서(12)에 의해 발행된] 외부 명령에 의해 직접 어드레싱가능하다. 본 개시 내용의 목적상, "직접 어드레싱가능한 뱅크" 등이라는 용어는 메모리 디바이스의 외부에 있는 무언가에 의해 직접 발행 뱅크를 의미하는 것으로 이해되어야 한다. 예를 들어, 감소된 밀도 모드에서, 메모리 어레이(22) 내의 뱅크의 단지 1/2 또는 1/4만이 직접 어드레싱가능할 수 있다. 또한, "비활성 뱅크"라는 용어는 직접 어드레싱가능한 뱅크가 아닌 메모리 뱅크를 의미하는 것으로 이해되어야 한다. "비활성"이라는 용어가 이러한 메모리 뱅크를 말하는 데 사용되고 있지만, 이들 메모리 뱅크가 문자 그대로 "비활성"인 것은 아님을 이해하여야 한다. 이하에서 더 상세히 설명되는 바와 같이, 감소된 밀도 모드에서 동작할 때, "비활성 뱅크"는 직접 어드레싱가능한 뱅크와 연관될 수 있고, 연관된 직접 어드레싱가능한 뱅크에 기록되는 데이터가 복제되어 들어가는 복제 뱅크로서 기능할 수 있다. 이러한 방식으로, 특정의 직접 어드레싱가능한 뱅크에 저장된 데이터 세그먼트에 대한 판독 요청이 메모리 어레이로부터 판독되는 속도가 요청된 데이터 세그먼트의 판독을 직접 어드레싱가능한 뱅크와 하나 이상의 연관된 복제 뱅크 간에 인터리빙하는 것에 의해 메모리 어레이(22)의 본질적인 tRC를 극복할 수 있다.
여전히 도 1을 참조하면, 완전 밀도 모드 또는 감소된 밀도 모드에서 동작할지의 선택은 메모리 제어기(20)에 의해 결정될 수 있다. 예를 들어, 메모리 제어기(20)는 특정의 원하는 동작 모드(예컨대, 완전 또는 감소된 밀도)로 변환될 수 있는 명령을 프로세서(12)로부터 수신할 수 있다. 요청된 동작 모드에 따라, 제어기(20)는 완전 밀도 모드 또는 감소된 밀도 모드(1/2 밀도 모드 또는 1/4 밀도 모드 등)에서 동작하도록 메모리 어레이(22)를 구성하기 위해 적절한 제어 동작(44)을 뱅크 제어 로직(46)에 제공할 수 있다. 게다가, 이하에서 더 상세히 논의되는 바와 같이, 선택된 밀도 동작 모드에 따라, 제어기(20)는 메모리 어레이(22)에 데이터를 기록하고 그로부터 데이터를 판독하는 적절한 WRITE 및 READ 알고리즘을 구현할 수 있다.
이제 도 2를 참조하면, 8개-논리적 뱅크/16개-물리적 뱅크 메모리 레이아웃을 이용하는 메모리 어레이(22)의 간략화된 블록도가 도시되어 있다. 도시된 바와 같이, 예시된 어레이(22)는 0부터 7까지 번호가 붙여져 있고 각각 참조 번호 60a-60h로 참조되는 8개의 논리적 메모리 뱅크를 포함하고, 0부터 15까지 번호가 붙여져 있고 각각 참조 번호 62a-62p로 참조되는 16개의 물리적 뱅크를 포함하며, 각각의 논리적 뱅크(60)는 2개의 물리적 뱅크(62)를 포함한다. 예를 들어, 논리적 뱅크 0(60a)은 물리적 뱅크 0(62a) 및 물리적 뱅크 1(62b)을 포함한다. 논리적 뱅크 1(60b)은 물리적 뱅크 2(62c) 및 물리적 뱅크 3(62d)을 포함한다. 논리적 뱅크 2(60c)는 물리적 뱅크 4(62e) 및 물리적 뱅크 5(62f)를 포함한다. 유사하게, 논리적 뱅크 3(60d)은 물리적 뱅크 6(62g) 및 물리적 뱅크 7(62h)을 포함하고, 논리적 뱅크 4(60e)는 물리적 뱅크 8(62i) 및 물리적 뱅크 9(62j)를 포함한다. 게다가, 논리적 뱅크 5(60f)는 물리적 뱅크 10(62k) 및 물리적 뱅크 11(62l)을 포함하고, 논리적 뱅크 6(60g)은 물리적 뱅크 12(62m) 및 물리적 뱅크 13(62n)을 포함하며, 논리적 뱅크 7(60h)은 물리적 뱅크 14(62o) 및 물리적 뱅크 15(62p)를 포함한다.
몇몇 예를 제공하기 위해, 메모리 어레이(22)는, 일 실시예에서, 각각의 논리적 뱅크(60)가 128 Mb의 크기를 갖고 각각의 물리적 뱅크(62)가 64 Mb의 크기를 갖는 1 GB 어레이일 수 있다. 다른 실시예에서, 메모리 어레이(22)는 각각의 논리적 뱅크(60)가 256 Mb의 크기를 갖고 각각의 물리적 뱅크(62)가 128 Mb의 크기를 갖는 2Gb 어레이일 수 있다. 예시된 본 실시예가 단지 구현될 수 있는 특정의 레이아웃의 한 예를 제공하기 위한 것임을 이해하여야 한다. 다른 실시예에서, 8개-논리적 뱅크/32개-물리적 뱅크 레이아웃 또는 4개-논리적 뱅크/16개-물리적 뱅크 레이아웃(예컨대, 각각이 논리적 뱅크당 4개의 물리적 뱅크를 가짐)과 같은 임의의 적당한 유형의 메모리 뱅크 레이아웃가 이용될 수 있다.
도 2에 나타낸 바와 같이, 예를 들어, 각각의 논리적 뱅크(60a-60h)가 프로세서(12)에 의해 직접 어드레싱가능한 완전 밀도 모드에서 동작하는 메모리 디바이스(10)가 도시되어 있다. 여기에 도시된 바와 같이, 논리적 뱅크 0(60a)에 대한 WRITE 명령은 데이터 세그먼트 DATA0를 물리적 뱅크 0(62a)에 기록할 수 있다. 메모리 디바이스(10)가 완전 밀도 모드에서 동작하고 있기 때문에, 물리적 뱅크 0(62a)으로부터 DATA0를 판독하기 위해 논리적 뱅크 0(60a)에 대해 발행되는 각각의 판독 명령 사이에서 전체 tRC(예컨대, 55ns)가 이용된다.
이제 도 3을 참조하면, 완전 밀도 모드에서 동작하고 있을 때 메모리 어레이(22)의 논리적 뱅크 0(60a)의 물리적 뱅크 0(62a)으로부터 DATA0를 판독하는 판독 동작을 나타낸 타이밍도(68)가 예시되어 있다. 이 예에서, 타이밍도(68)는 상승 엣지 사이로부터의 5ns의 클록 사이클에 기초하고 있지만, 다른 실시예에서 상이한 길이의 클록 사이클이 사용될 수 있다는 것을 이해하여야 한다. 0ns에서의 제1 클록 사이클 동안, 뱅크 0을 활성화시키는 ACTIVE 명령(A0)이 발행되고, 이어서 논리적 뱅크 0으로부터 DATA0를 판독하는 READ 명령(R0)이 발행된다. 여기에 도시된 바와 같이, ACTIVE 명령 및 READ 명령을 발행하는 클록 사이클의 수를 나타내는, 행 주소와 열 주소 사이의 지연(row address to column address delay)(tRCD)은 3 클록 사이클이다. READ 명령(R0) 이후의 2 클록 사이클의 부가 레이턴시(AL)와 3 클록 사이클의 CAS 레이턴시(CL)를 포함하는 5 클록 사이클의 판독 레이턴시(RL) 이후에, 참조 번호 70으로 나타낸 바와 같이, 30ns에서 논리적 뱅크 0(60a)의 물리적 뱅크 0(62a)으로부터 DATA0가 판독될 수 있다. 앞서 논의한 바와 같이, DATA0이 저장되어 있는 특정의 메모리 셀에 액세스함으로써 메모리 어레이로부터 DATA0이 판독될 수 있다. 셀에 저장되어 있는 전하는 감지 증폭기(34)를 사용하여 증폭된 전압 신호로 변환되고 데이터-출력 회로(40) 및 데이터 버스(14)에 제공될 수 있다.
앞서 논의한 바와 같이, DATA0가 저장되어 있는 물리적 뱅크[예컨대, 물리적 뱅크 0(62a)]의 tRC로 인해, 물리적 뱅크 0(62a)으로부터 DATA0를 판독하는 후속하는 ACTIVE 및 READ 명령이, tRC가 경과할 때까지, 발행되지 않을 수 있다. 타이밍도(68)에 도시된 바와 같이, tRC가 55ns인 경우, 최초의 ACTIVE 명령(A0)으로부터 55ns 이후까지 물리적 뱅크 0(62a)에 대해 후속하는 ACTIVE 명령(A0) 및 READ 명령(R0)이 발행되지 않을 수 있다. 이어서, 5 클록 사이클의 판독 레이턴시 이후에, 참조 번호 72로 나타낸 바와 같이, 85ns에서 DATA0가 다시 물리적 뱅크 0(62a)으로부터 판독될 수 있다. 따라서, 제1 판독 명령 동안 DATA0가 판독된 시간(30ns)과 제2 판독 명령 동안 DATA0가 판독된 시간(85ns) 사이의 간격이 이 예에서 55ns인 메모리 어레이(22)의 tRC와 동등하다는 것을 이해하여야 한다.
제2 판독 명령 이후에, 제3 판독 명령이 110ns에서(이전의 ACTIVE 명령을 발행하고 나서 55ns 이후에) 발행될 수 있고, 물리적 뱅크 0(62a)을 활성화시키는 ACTIVE 명령(A0)을 포함할 수 있다. 타이밍도(68)에 나타낸 바와 같이, 115ns에서의 READ 명령(R0) 이후에, DATA0가 140ns에서 다시 물리적 뱅크 0으로부터 판독될 수 있다. 따라서, 완전 밀도 모드에서 동작할 때, DATA0가 메모리 어레이로부터 판독될 수 있는 빈도수가 tRC에 의해 제한된다. 이상에서 기술한 바와 같이, tRC가 55ns인 경우, 물리적 뱅크 0(62a)에 대해 시간 0ns, 55ns, 및 110ns에서 ACTIVE 명령이 발행될 수 있고, DATA0가, 각각, 시간 30ns, 85ns, 및 140ns에서 물리적 뱅크 0(62a)으로부터 판독될 수 있다.
이 완전 tRC가 일부 응용에 적합할 수 있는 반면, 특정 응용에서는, DATA0가 보다 빈번히(예컨대, 보다 빠른 레이트로) 판독될 수 있도록 감소된 유효 tRC를 제공하는 것이 바람직할 수 있다. 예를 들어, DATA0가 수요가 높은 일반ㅋ적인 정적 데이터 세그먼트를 나타내는 응용에서, DATA0가 메모리 어레이로부터 보다 빈번히 판독될 수 있도록 각각의 READ 명령 사이에 감소된 레이턴시를 제공하기 위해 본 기법의 양태에 따른 감소된 밀도 동작 모드를 이용하는 것이 바람직할 수 있다. 예로서, 한가지 이러한 응용은 고속 네트워크 라우터에 관한 것일 수 있다. 이러한 시스템은 통상적으로 고정된 데이터 세그먼트 또는 데이터 세그먼트들을, 일반적으로 메모리 디바이스에 한번(또는 가끔) 기록되는 탐색 테이블 또는 네트워크 주소 변환(NAT) 테이블의 형태로 저장한다. 이러한 탐색 테이블 또는 NAT 테이블은, 인터넷 프로토콜(IP) 주소 변환 및/또는 포트 매핑/전달을 제공하기 위해, 통상적으로 고속으로 그리고 낮은 사이클 시간으로 판독된다.
앞서 논의한 바와 같이, 감소된 유효 tRC는 메모리 어레이(22)를 감소된 밀도 모드에서 동작시킴으로써 제공될 수 있다. 이제 도 4를 참조하면, 도 2에 도시된 메모리 어레이(22)는 1/2 밀도 동작 모드로 예시되어 있다. 도시된 바와 같이, 메모리 어레이(22) 내의 논리적 뱅크(60)의 절반은 직접 어드레싱가능한 뱅크로 남아 있고, 논리적 뱅크(60)의 나머지 절반은 각각이 각자의 직접 어드레싱가능한 뱅크와 연관되어 있는 비활성 "복제" 뱅크로 구성된다. 예로서, 이 구성에서, 직접 어드레싱가능한 논리적 뱅크(60a, 60c, 60e, 60g) 각각은 복제 뱅크(60b, 60d, 60f, 60h)와 각각 연관되어 있다. 이 구성이 1/2 밀도 구성의 한 예에 불과하다는 것과 다른 실시예가 다른 구성을 이용할 수 있다는 것을 이해하여야 한다. 예를 들어, 다른 실시예에서, 논리적 뱅크(60a-60d)는 직접 어드레싱가능한 뱅크일 수 있고, 논리적 뱅크(60e-60h)는 복제 뱅크와 연관되어 있을 수 있는 등이다. 특정의 논리적 뱅크가 직접 어드레싱가능한 뱅크로서 선택되든 비활성 복제 뱅크로서 선택되든 상관없이, 예시된 1/2 밀도 구성이 하나의 복제 뱅크를 각각의 어드레싱가능한 뱅크와 연관시킨다는 것을 이해하여야 한다.
앞서 언급한 바와 같이, 감소된 밀도 모드에서 동작할 때, 메모리 제어기(20)는 메모리 어레이(22)로부터 데이터를 판독할 때 감소된 tRC를 용이하게 하는 적절한 WRITE 및 READ 알고리즘을 구현할 수 있다. 도 4에 도시된 바와 같이, 1/2 밀도 동작 모드에서 수행될 수 있는 기록 명령이 예시되어 있다. 예를 들어, WRITE 명령(80)은 DATA0를 논리적 뱅크 0(60a)의 물리적 뱅크 0(62a)에 기록하는 명령을 나타낸다. 여기서, 제어기(20)에 의해 구현되는 기록 알고리즘은, 1/2 밀도 모드에서 동작할 때, 먼저 DATA0를 메모리 어레이(22)의 논리적 뱅크 0(60a)의 물리적 뱅크 0(62a)에 기록할 수 있다. 그 후에, 제어기(20)는 또한 DATA0를 논리적 뱅크 0(60a)과 연관된 복제 뱅크 0(60b) 내의 물리적 뱅크 2(62c)에 기록할 수 있다. 따라서, DATA0는 복제 뱅크 0(60b)에 복제된다. 유사한 기록 동작이 또한 WRITE 명령(82)에 의해 나타내어져 있으며, 여기서 DATA1이라고 하는 다른 데이터 세그먼트가 직접 어드레싱가능한 논리적 뱅크 1(60c)의 물리적 뱅크 4(62e)에 기록되고 그의 연관된 복제 뱅크(60d)의 물리적 뱅크 6(62g)에 복제된다.
앞서 논의한 바와 같이, 복제 뱅크(60b, 60d, 60f, 60h)는 1/2 밀도 모드에서 동작할 때 이들 복제 뱅크가 프로세서(12)에 의해 발행되는 WRITE 명령에 의해 직접 어드레싱가능하지 않다는 점에서 "비활성"이다. 오히려, 프로세서(12)의 관점에서 볼 때, 메모리 어레이(22)는, 1/2 밀도 모드에서 동작할 때, 4개의 직접 어드레싱가능한 논리적 뱅크를 가진다. 데이터를 임의의 직접 어드레싱가능한 논리적 뱅크에 기록하는 WRITE 명령이 프로세서(12)로부터 수신될 때, 제어기(20)는, 예컨대 적절한 제어 신호(44)를 뱅크 제어 로직(46)에 제공함으로써, WRITE 명령에 의해 어드레싱된 논리적 뱅크에 데이터를 기록하라고 그리고 부가적으로 직접 어드레싱된 논리적 뱅크와 연관된 복제 뱅크에 데이터를 기록하라고 메모리 디바이스(10)에 명령한다. 그러나, 프로세서(12)와 같은 외부 디바이스가 복제 뱅크에 대해 수행된 기록 동작을 볼 수 없을 수도 있고 이러한 동작이 메모리 제어기(20)의 제어 하에서 수행된다는 것에 주목하여야 한다. 게다가, 이해되는 바와 같이, 직접 어드레싱가능한 뱅크 및 그의 연관된 복제 뱅크에 대한 기록 동작이 1/2 밀도 모드에서 순차적으로 수행되기 때문에, 이 모드에서의 기록 동작은 완료하는 데 더 많은 클록 사이클(예컨대, 대략 2배의 클록 사이클)을 필요로 할 수 있다. 그러나, 도 5와 관련하여 논의되는 바와 같이, 1/2 밀도 모드에서 동작하는 동안 메모리 어레이(22)로부터 데이터를 판독할 때 사실상 감소된 tRC를 위해 기록 데이터의 이러한 복제가 제공될 수 있다.
이제 도 5를 참조하면, 도 4에서 논의된 1/2 밀도 모드에서 동작하고 있을 때 메모리 어레이(22)의 논리적 뱅크 0(60a)의 물리적 뱅크 0(62a)으로부터 DATA0를 판독하는 판독 동작을 나타낸 타이밍도(90)가 예시되어 있다. 타이밍도(90)에 나타낸 바와 같이, 제1 판독 요청이 0ns에서 개시되고, 여기서 논리적 뱅크 0(60a)을 활성화시키는 ACTIVE 명령(A0)이 발행되고, 이어서 논리적 뱅크 0(60a)으로부터 DATA0를 판독하는 READ 명령(R0)이 발행된다. 5 클록 사이클의 판독 레이턴시(RL) 이후에, 참조 번호 92로 나타낸 바와 같이, 30ns에서 DATA0가 논리적 뱅크 0(60a)의 물리적 뱅크 0(62a)으로부터 판독될 수 있다.
그 다음에, 30ns에서, 제2 판독 요청이 ACTIVE 명령(A0) 및 READ 명령(R0)에 의해 개시된다. 프로세서(12)의 관점에서 볼 때, 30ns에서 발행되는 명령 A0 및 R0는 0ns에서 발행된 명령 A0 및 R0와 동일하다. 그러나, 제어기(20)의 관점에서 볼 때, 물리적 뱅크 0(62a)의 tRC는 이 뱅크가 30ns에서 다시 활성화되지 못하게 하기 때문에, 제어기(20)는 사실상 제2 판독 요청을 복제 뱅크 0(60b)으로 "전달(forward)"하고, 그로써 DATA0의 복제본이 저장되어 있는 물리적 뱅크 2(62c)를 활성화시킨다. 따라서, 5 클록 사이클의 판독 레이턴시 이후에, 참조 번호 94로 나타낸 바와 같이, 60ns에서 DATA0가 복제 뱅크 0(60b)의 물리적 뱅크 2(62c)로부터 판독될 수 있다.
그 후에, 60ns에서 프로세서(12)에 의해 발행된 ACTIVE(A0) 및 READ(R0) 명령으로 나타낸 바와 같이, 논리적 뱅크 0(60a)을 어드레싱하는 제3 판독 요청이 개시될 수 있다. 이 예에서, 복제 뱅크 0(60b)의 물리적 뱅크 2(62c)의 tRC가 아직 경과되지 않았고, 따라서 물리적 뱅크 2(62c)가 60ns에서 활성화되지 않을 수 있다. 그러나, 55ns의 tRC가 그 후에 논리적 뱅크 0(60a)의 물리적 뱅크 0(62a)에 대해 경과되었기 때문에, 물리적 뱅크 0(62a)가 이용가능하고, 60ns에서 요청에 응답하여 활성화될 수 있다. 따라서, 제어기(20)는, DATA0를 판독하기 위해 60ns에서 ACTIVE(A0) 및 READ 명령(R0)을 수신할 시에, 물리적 뱅크 0(62a)을 활성화시키고 READ 명령(R0)을 수행할 수 있다. 그에 따라, DATA0가, 타이밍도(90)에 도시되고 참조 번호 96으로 참조되는 바와 같이, 90ns에서 물리적 뱅크 0(62a)으로부터 다시 판독될 수 있다.
그 후에, 90ns에서 프로세서(12)에 의해 발행된 ACTIVE(A0) 및 READ(R0) 명령으로 나타낸 바와 같이, 논리적 뱅크 0(60a)을 어드레싱하는 제4 판독 요청이 개시될 수 있다. 이 예에서, 논리적 뱅크 0(60a)의 물리적 뱅크 0(62a)의 tRC가 아직 경과되지 않았고, 그에 따라 물리적 뱅크 0(62c)가 90ns에서 활성화되지 않을 수 있다. 그러나, 55ns의 tRC가 이제 복제 뱅크 0(60b)의 물리적 뱅크 2(62c)에 대해 경과되었기 때문에, 물리적 뱅크 2(62c)가 이용가능하고, 활성화될 수 있다. 따라서, 제어기(20)는, 90ns에서 ACTIVE(A0) 및 READ 명령(R0)을 수신할 시에, 물리적 뱅크 2(62c)를 활성화시키고 그에 대해 READ 명령(R0)을 수행할 수 있다. 판독 레이턴시(RL) 이후에, 참조 번호 98로 나타낸 바와 같이, 120ns에서 DATA0가 다시 물리적 뱅크 2(62c)로부터 판독될 수 있다.
따라서, 도 5에 도시된 바와 같이, 메모리 어레이(22)의 직접 어드레싱된 뱅크의 전체 tRC를 마스킹하기 위해 프로세서(12)에 의해 논리적 뱅크 0(60a)에 대해 발행된 판독 명령이 논리적 뱅크 0(60a)과 그의 연관된 복제 뱅크 0(60b) 간에 인터리빙된다. 달리 말하면, 메모리 어레이(22) 내의 각각의 개별적인 물리적 뱅크의 tRC가 동일한 채로 있다. 그러나, DATA0에 대한 판독 요청이 어드레싱가능한 뱅크[예컨대, 물리적 뱅크 0(62a)]와 동일한 데이터의 복제 사본을 저장하는(예컨대, 도 4에 도시된 복제 기록 동작을 사용함) 연관된 복제 뱅크[예컨대, 물리적 뱅크 2(62c)] 간에 인터리빙되는 방식은 사실상 감소된 tRC를 제공하고, 따라서 DATA0가 메모리 어레이(22)의 전체 tRC(예컨대, 55ns)보다 작은 시간 간격으로 메모리 어레이(22)로부터 반복적으로 판독될 수 있다.
게다가, 당업자라면 메모리 제어기(20)가, 타이머/카운터, 상태 레지스터, 포인터 등을 사용하는 것 등에 의해 ACTIVE 명령이 발행될 수 있을 때를 판정하기 위해, 행 사이클 레이턴시에 기초하여 메모리 뱅크의 상태를 모니터링하는 임의의 적합한 기법을 구현할 수 있다는 것을 이해할 것이다. 예를 들어, 도 4 및 도 5에 예시된 1/2 밀도 동작 모드에서, 제어기(20)는 물리적 뱅크 0 또는 복제 물리적 뱅크[복제 논리적 뱅크 0(60b)의 물리적 뱅크 2(62c)]가 DATA0에 대한 판독 요청에 응답할 수 있는지를 나타내기 위해 하나 이상의 상태 레지스터 및 타이머를 이용할 수 있다. 예를 들어, 물리적 뱅크 0(62a)이 ACTIVE 명령을 수신하면, 물리적 뱅크 0(62a)이 이용가능하지 않음을 나타내는 값 또는 상태가 상태 레지스터에 기록될 수 있다. 동시에, tRC에 대응하는 클록 사이클의 수를 카운트하기 위해 카운터가 개시될 수 있다. 예를 들어, tRC가 55ns이고 각각의 클록 사이클이 5ns인 경우, 카운터는 물리적 뱅크 0(62a)이 ACTIVE 명령을 수신하는 데 이용가능하다는 것을 나타내기 위해 상태 레지스터를 리셋하기 전에 11 클록 사이클 동안 카운트할 수 있다. 그러나, 이 시간 동안, 물리적 뱅크 0(62a)에 대한 부가의 판독 요청이 프로세서(12)에 의해 개시되는 경우, 제어기(20)는 판독 요청을 복제 뱅크 0(60b)으로 전달하도록 구성될 수 있다. 앞서 언급한 바와 같이, 제어기(20)에 의해 결정되는 바와 같이, 판독 요청을 어떻게 인터리빙할지를 결정하는 단계는 일반적으로 로 프로세서(12)에게 보이지 않는다. 따라서, 프로세서(12)의 관점에서 볼 때, 메모리 디바이스(10)는, 특정의 데이터 세그먼트(예컨대, DATA0)에 대한 반복적인 판독 요청에 응답하여, 요청된 데이터를 매 30ns마다 출력할 수 있다.
이제 도 6을 참조하면, 도 2에 도시된 메모리 어레이(22)는 1/4 밀도 동작 모드로 예시되어 있다. 이 모드에서, 메모리 어레이(22) 내의 논리적 뱅크(60)의 1/4은 직접 어드레싱가능한 뱅크로 남아 있고, 나머지 논리적 뱅크는 각각이 각자의 직접 어드레싱가능한 뱅크와 연관되어 있는 비활성 "복제" 뱅크로 구성된다. 예로서, 이 구성에서, 논리적 뱅크(60a 및 60e)는 직접 어드레싱가능한 뱅크로서 구성된다. 논리적 뱅크(60b-60d)는 논리적 뱅크 0(60a)과 연관된 복제 뱅크로서 구성되고, 논리적 뱅크(60f-60h)는 논리적 뱅크 1(60e)과 연관된 복제 뱅크로서 구성된다. 역시, 직접 어드레싱가능한 비활성(복제) 논리적 뱅크의 특정의 선택이 상이한 실시예들 사이에서 달라질 수 있다는 것을 이해하여야 한다. 그러나, 이러한 선택에 상관없이, 도 6에 도시된 1/4 밀도 동작 모드가 각각의 직접 어드레싱가능한 논리적 뱅크에 3개의 복제 논리적 뱅크를 제공한다는 것을 이해하여야 한다.
도 6에 도시된 바와 같이, 1/4 밀도 동작 모드에서 수행될 수 있는 WRITE 명령(100)이 예시되어 있다. WRITE 명령(100)은 DATA0를 논리적 뱅크 0(60a)의 물리적 뱅크 0(62a)에 기록하는 명령을 나타내고, 일반적으로 도 4에 도시된 1/2 밀도 기록 동작에 나타내어진 복제 기록 동작[예컨대, WRITE 명령(80)]과 유사하지만, DATA0의 기록이, 논리적 뱅크 0(60a)과 연관된 복제 뱅크(60b, 60c, 60d) 각각에 한번씩, 3번 복제된다. 예로서, 제어기(20)에 의해 구현되는 기록 알고리즘은, 1/4 밀도 모드에서 동작할 때, 먼저 DATA0를 메모리 어레이(22)의 논리적 뱅크 0(60a)의 물리적 뱅크 0(62a)에 기록할 수 있다. 그 후에, 제어기(20)는 DATA0를 복제 뱅크(60b) 내의 물리적 뱅크 2(62c)에 기록할 수 있다. 제어기(20)는 이어서 DATA0을 복제 뱅크(60c) 내의 물리적 뱅크 4(62e)에 그리고 복제 뱅크(60d)의 물리적 뱅크 6(62g)에 기록할 수 있다.
달리 말하면, DATA0는 직접 어드레싱가능한 대상 물리적 뱅크 0(62a)에 기록되고, 이어서 복제 뱅크(60b-60d) 각각에 복제된다. 역시, 프로세서(12)가 메모리 어레이(22)의 복제 뱅크[60b-60d(및 60f-60h)]에 관해 알 수 없기 때문에, 복제 뱅크(60b-60d)가 WRITE 명령을 발행할 때 프로세서(12)에 의해 직접 어드레싱가능하지 않다는 점에서 "비활성"이라는 것을 이해하여야 한다. 그 대신에, WRITE 명령(예컨대, 100)이 발행될 때, 제어기(20)는 기록된 데이터를 발행된 WRITE 명령에 의해 직접 어드레싱되는 논리적 뱅크와 연관된 각각의 복제 뱅크에 복제하라고 [예컨대, 뱅크 제어 로직(46)에 대한 제어 신호(44)에 의해] 메모리 디바이스(10)에 명령한다. 또한, 어드레싱가능한 뱅크 및 그의 연관된 복제 뱅크에 대한 기록 동작이 1/4 밀도 모드에서 순차적으로 수행되기 때문에, 이 모드에서의 기록 동작은 완료하는 데 더 많은 클록 사이클(예컨대, 대략 4배의 클록 사이클)을 필요로 할 수 있다. 그러나, 도 7과 관련하여 논의되는 바와 같이, 이 예시된 1/4 밀도 동작 모드는 메모리 어레이(22)로부터 데이터 세그먼트를 반복적으로 판독할 때 tRC를 추가로 감소시킬 수 있다.
이제 도 7을 참조하면, 도 6에서 논의된 1/4 밀도 모드에서 동작하고 있을 때 메모리 어레이(22)의 논리적 뱅크 0(60a)의 물리적 뱅크 0(62a)으로부터 DATA0를 판독하는 판독 동작을 나타낸 타이밍도가 예시되어 있고, 일반적으로 참조 번호 102로 참조되어 있다. 타이밍도(102)로 나타낸 바와 같이, 메모리 어레이(22)로부터 DATA0를 판독하는 것이, 판독 요청이 메모리 어레이의 4개의 뱅크 간에, 즉, 논리적 뱅크 0(60a)과 그의 3개의 연관된 복제 뱅크(60b, 60c, 60d) 각각 간에 인터리빙되어 있는 것을 제외하고는, 도 5에 도시된 1/2 밀도 실시예와 유사한 인터리빙된 방식으로 수행되며, 따라서 ACTIVE 명령 사이에 대략 15ns의 유효 tRC를 제공한다.
예를 들어, 타이밍도(102)에 나타낸 바와 같이, 각각이 그 다음에 논리적 뱅크 0(60a)에 대한 READ 명령(R0)이 오는 ACTIVE 명령(A0)이 시간 0ns, 15ns, 30ns, 45ns, 및 60ns에서 수신된다. 0ns에서 시작하는 제1 판독 동작은 논리적 뱅크 0(60a)의 물리적 뱅크 0(62a)을 활성화시킨다. 판독 레이턴시(RL) 이후에, 참조 번호 104로 나타낸 바와 같이, 30ns에서 DATA0가 물리적 뱅크 0(62a)로부터 판독될 수 있다. 반면에, 제2 판독 동작은 15ns에서 개시된다. 물리적 뱅크 0(62a)의 tRC가 경과하지 않았기 때문에, 제어기(20)는 ACTIVE 명령(A0) 및 READ 명령(R0)을 그 다음 이용가능한 복제 뱅크(60b)로 전달할 수 있다. 따라서, 참조 번호 106으로 나타낸 바와 같이, 45ns에서 DATA0가 복제 뱅크(60b)의 물리적 뱅크 2(62c)로부터 판독될 수 있다.
계속하여 타이밍도(102)를 따라, 제3 판독 동작이 30ns에서 개시된다. 이 시점에서, 물리적 뱅크 0(62a) 및 물리적 뱅크 2(62c)에 대한 tRC가 아직 경과되지 않았다. 그에 따라, 30ns에서 수신된 ACTIVE 명령(A0) 및 READ 명령(R0)이 제어기(20)에 의해 그 다음 이용가능한 복제 뱅크(60c)로 전달될 수 있고, 그로써 DATA0가, 참조 번호 108로 나타낸 바와 같이, 60ns에서 복제 뱅크(60c)의 물리적 뱅크 4(62e)로부터 판독된다. 그 다음에, 제4 동작이 45ns에서 개시된다. 여기서, 물리적 뱅크 0(62a), 물리적 뱅크 2(62c) 및 물리적 뱅크 4(62e)에 대한 tRC(예컨대, 55ns)가 아직 경과되지 않았다. 그에 따라, 제어기(20)는 45ns에서 수신된 ACTIVE 명령(A0) 및 READ 명령(R0)을 논리적 뱅크 0(60a)과 연관된 마지막 복제 뱅크(60d)로 전달할 수 있다. 따라서, 참조 번호 110으로 나타낸 바와 같이, 75ns에서 DATA0가 물리적 뱅크 6(62g)으로부터 판독될 수 있다.
이제 60ns에서 개시된 제5 판독 동작을 참조하면, 타이밍도(102)의 이 시점에서, 그 각자의 tRC가 완전히 경과되지 않았기 때문에 복제 물리적 뱅크(62c, 62e, 62g)가 활성화될 수 없다는 것에 주목하여야 한다. 그러나, 본 실시예가 55ns의 tRC를 이용하기 때문에, 물리적 뱅크 0(62a)이 이용가능한데, 그 이유는 물리적 뱅크 0이 0ns에서 마지막으로 활성화된 이후에 60ns가 경과되었기 때문이다. 따라서, ACTIVE 명령(A0) 및 READ 명령(R0)이 60ns에서 수신된 것으로 인해, 참조 번호 112로 나타낸 바와 같이, DATA0가 다시 논리적 뱅크 0(60a)의 물리적 뱅크 0(62a)으로부터 판독될 수 있다.
이해되는 바와 같이, 예시된 1/4 밀도 동작 모드를 사용하여 판독 요청을 인터리빙하는 프로세스가 이 시점으로부터 이후로 본질적으로 반복된다. 즉, 75ns에서 수신된 후속하는 판독 명령은 제어기(20)에 의해 복제 뱅크(60b)에 대해 발행될 것이고, 90ns에서 수신된 후속하는 판독 명령은 제어기(20)에 의해 복제 뱅크(60c)에 대해 발행되는 등이다. 달리 말하면, 메모리 어레이(22)의 개개의 물리적 뱅크의 tRC를 마스킹하기 위해 프로세서(12)에 의해 논리적 뱅크 0(60a)에 대해 발행된 판독 명령이 논리적 뱅크 0(60a)과 대응하는 복제 뱅크(60b-60d) 간에 인터리빙된다. 어드레싱가능한 뱅크와 3개의 대응하는 복제 뱅크 - 각각이 DATA0의 복제 사본을 저장함 - 간에 판독 요청을 인터리빙하는 이 기법을 사용하여[예컨대, 도 6에 도시된 복제 WRITE 명령(100)을 사용하여], 도 5에 예시된 1/2 밀도 모드에 비해 훨씬 더 감소되는 유효 tRC가 달성되고, 그로써 DATA0가 대략 매 15ns마다 메모리 어레이(22)로부터 반복적으로 판독될 수 있다. 즉, 프로세서(12)의 관점에서 볼 때, 메모리 디바이스(10)는, 특정의 데이터 세그먼트(예컨대, DATA0)에 대한 반복적인 판독 요청에 응답하여, 요청된 DATA0를 매 15ns마다 출력할 수 있다. 이해되는 바와 같이, 이것은 어레이(12)의 물리적 뱅크의 tRC의 1/2보다 작다.
또한, 제어기(20)가, 앞서 논의한 카운터/레지스터 방식, 또는 각각의 직접 어드레싱가능한 물리적 또는 복제 뱅크가 활성화된 후에 증가되는 포인터를 사용하는 것에 의한 것과 같은, 물리적 뱅크 0(62a)에 대해 발행된 판독 명령을 인터리빙하는 것을 관리하는 임의의 적당한 기법을 이용할 수 있다는 것을 또한 이해하여야 한다. 예를 들어, 직접 어드레싱가능한 뱅크 및 모든 그의 연관된 복제 뱅크가 활성화되면 포인터가 리셋될 수 있다.
이제 도 8을 참조하면, 도 1의 메모리 디바이스(10)의 메모리 어레이(22)의 대안의 레이아웃이 예시되어 있다. 여기서, 도 2에 도시된 8개-논리적 뱅크/16개-물리적 뱅크 구성을 이용하기 보다는, 이 실시예는 8개-논리적 뱅크/32개-물리적 뱅크 구성을 제공하고, 여기서 각각의 논리적 뱅크(여기서 참조 번호 120a-120h로 참조됨)는 4개의 어드레싱가능한 물리적 뱅크(122)를 포함한다. 예를 들어, 논리적 뱅크 0(120a)은 물리적 뱅크 0-3(각각 참조 번호 122a-122d로 참조됨)을 포함할 수 있고, 논리적 뱅크 1(120b)은 물리적 뱅크 4-7(도 8에 도시되지 않음)을 포함할 수 있다. 예로서, 메모리 어레이(22)가 1 GB의 총 크기를 갖는 경우, 각각의 논리적 뱅크(120)는 128 Mb의 크기를 가질 수 있고, 각각의 물리적 뱅크(122)는 32 Mb의 크기를 가질 수 있다. 예시된 실시예에서, 메모리 어레이(22)는 55ns의 tRC를 갖는 완전 밀도 모드에서 동작하는 것으로 도시되어 있다. 따라서, 논리적 뱅크 0에 데이터 세그먼트(DATA0)를 기록하는 WRITE 명령은 일반적으로 도 2와 관련하여 앞서 기술한 완전-밀도 기록 동작과 유사할 수 있고, 그 결과 DATA0가 논리적 뱅크 0(120a)의 물리적 뱅크 0(122a)에 저장된다.
도 9는 본 발명의 일 실시예에 따른, 1/4 밀도 모드에서 동작하도록 구성될 때의 도 8의 메모리 어레이(22)를 나타낸 것이다. 이 실시예는, "비활성" 논리적 뱅크를 복제 뱅크로서 이용하기 보다는, 여기 예시된 1/4 밀도 구성이, 여기에서 논리적 뱅크 0(120a) 및 논리적 뱅크 1(120b)로 도시되어 있고 각각이 하나의 직접 어드레싱가능한 물리적 뱅크 및 3개의 복제 물리적 뱅크를 포함할 수 있는 2개의 직접 어드레싱가능한 논리적 뱅크를 제공한다는 점에서, 도 6에 도시된 1/4 밀도 구성과 상이하다. 예를 들어, 논리적 뱅크 0(120a)은 물리적 뱅크 0(122a), 및 그의 복제 뱅크로서 기능하는 물리적 뱅크 1-3(122b-122d)을 포함할 수 있다. 유사하게, 논리적 뱅크 1(120b)은 물리적 뱅크 4(122e), 및 그의 복제 뱅크로서 기능하는 물리적 뱅크 5-7(122f-122h)을 포함할 수 있다. 달리 말하면, 데이터를 상이한 논리적 뱅크에 복제하기 보다는, 이 구성은 데이터를 논리적 뱅크 내의 각각의 물리적 뱅크 내에 데이터를 복제하는 것을 제공한다.
이제 WRITE 명령(124)을 참조하면, 여기 예시된 1/4 밀도 모드에서 동작할 때, 제어기(20)는 제1 데이터 세그먼트 DATA0를 논리적 뱅크 0(120a)의 물리적 뱅크 0(122a)에 기록하는 기록 알고리즘을 구현할 수 있다. 그 후에, 제1 데이터 세그먼트 DATA0는 또한 복제 물리적 뱅크(122b-122d)에도 기록되고, 따라서 논리적 뱅크 0 내의 모든 물리적 뱅크가 DATA0의 사본을 저장한다. 유사한 기록 명령(126)이 논리적 뱅크 1(120b)과 관련하여 예시되어 있으며, 여기서 제2 데이터 세그먼트 DATA1은 물리적 뱅크 4(122e)에 기록되고, 이어서 각각의 복제 뱅크에 대한 연속적인 기록 동작을 사용하여 연관된 복제 뱅크(122f-122h)에 복제된다.
이제 도 10을 참조하면, 도 9에서 논의된 1/4 밀도 모드에서 동작하고 있을 때 메모리 어레이(22)의 논리적 뱅크 0(120a)의 물리적 뱅크 0(122a)으로부터 DATA0를 판독하는 판독 동작을 나타낸 타이밍도가 예시되어 있고, 일반적으로 참조 번호 128로 참조되어 있다. 이해되는 바와 같이, 물리적 뱅크 0(122a)에 대한 판독 요청이, 상이한 복제 논리적 뱅크로부터의 물리적 뱅크가 아니라 동일한 논리적 뱅크(120a) 내의 물리적 뱅크(122a-122d) 간에 판독 요청들이 인터리빙되는 것을 제외하고는, 도 7에 예시된 기법과 유사한 방식으로 인터리빙될 수 있다. 예를 들어, 이 타이밍도(128)에서, 대략 15ns의 유효 tRC를 제공하기 위해, 프로세서(12)에 의해 물리적 뱅크 0(122a)에 대해 발행된 판독 명령이 물리적 뱅크 0(122a)과 복제 물리적 뱅크(122b, 122c, 122d) 간에 인터리빙될 수 있다.
타이밍도(128)에 나타낸 바와 같이, 각각이 그 다음에 논리적 뱅크 0(120a)에 대한 READ 명령(R0)이 오는 ACTIVE 명령(A0)이 시간 0ns, 15ns, 30ns, 45ns, 및 60ns에서 프로세서(12)에 의해 발행된다. 0ns에서 시작하는 제1 판독 동작은 물리적 뱅크 0(122a)을 활성화시키고, 그로써 DATA0는 5 클록 사이클과 동등한 판독 레이턴시(RL) 후에, 참조 번호 130으로 나타낸 바와 같이, 30ns에서 물리적 뱅크 0(122a)으로부터 판독될 수 있다. 제2 판독 동작은 15ns에서 개시된다. 앞서 설명한 바와 같이, 물리적 뱅크 0(122a)에 대한 tRC가 경과하지 않았고 따라서 제어기(20)는 15ns에서 수신된 ACTIVE 명령(A0) 및 READ 명령(R0)을 복제 뱅크(122b)로 전달할 수 있다. 그에 따라, 참조 번호 132로 나타낸 바와 같이, 45ns에서 DATA0가 복제 뱅크(122b)로부터 판독될 수 있다.
계속하여 타이밍도(128)를 따라, 제3 판독 동작이 30ns에서 개시된다. 이 시점에서, 물리적 뱅크 0(122a) 및 복제 뱅크(122b)에 대한 tRC가 아직 경과되지 않았다. 따라서, 제어기(20)는 30ns에서 수신된 ACTIVE 명령(A0) 및 READ 명령(R0)을 그 다음 이용가능한 복제 뱅크(122c)로 전달할 수 있고, 그로써 DATA0가, 참조 번호 134로 나타낸 바와 같이, 60ns에서 복제 뱅크(122c)로부터 판독된다. 그 다음에, 제4 판독 동작이 45ns에서 개시된다. 여기서, 물리적 뱅크 0(122a) 및 복제 뱅크(122b, 122c)에 대한 tRC가 아직 경과되지 않았다. 그에 따라, 제어기(20)는 45ns에서 수신된 ACTIVE 명령(A0) 및 READ 명령(R0)을 논리적 뱅크 0(120a) 내의 마지막 복제 뱅크(122d)로 전달할 수 있다. 따라서, 참조 번호 136으로 나타낸 바와 같이, 75ns에서 DATA0가 복제 뱅크(122d)로부터 판독될 수 있다.
이제 60ns에서 개시되는 제5 판독 동작을 참조하면, 복제 물리적 뱅크(122b, 122c, 122d)에 대해 ACTIVE 명령이 발행될 수 없는데, 그 이유는 그의 tRC가 완전히 경과되지 않았기 때문이다. 그러나, 본 실시예의 메모리 어레이(22)가 55ns의 tRC를 가지기 때문에, 물리적 뱅크 0(122a)이 이용가능한데, 그 이유는 물리적 뱅크 0이 0ns에서 마지막으로 활성화된 이후에 적어도 55ns가 경과되었기 때문이다. 따라서, ACTIVE 명령(A0) 및 READ 명령(R0)이 60ns에서 수신된 것으로 인해, 참조 번호 130으로 나타낸 바와 같이, 90ns에서 DATA0가 다시 물리적 뱅크 0(122a)으로부터 판독될 수 있다. 이해되는 바와 같이, 이 시점으로부터 이후에 수신되는 부가의 판독 요청은 본질적으로 논리적 뱅크 0(120a)의 물리적 뱅크(122a-122d)로부터 DATA0를 판독하는 인터리빙된 방식을 반복할 수 있다. 예를 들어, 75ns에서의 제6 ACTIVE 및 READ 명령이 복제 뱅크(122b)에 대해 발행될 수 있고, 90ns에서의 제7 ACTIVE 및 READ 명령이 복제 뱅크(122c)에 대해 발행될 수 있는 등이다.
앞서 논의한 바와 같이, 본 명세서에 기술된 방식으로 1/4 밀도 모드를 사용하여 판독 요청을 인터리빙하는 것은, 프로세서(12)의 관점에서 볼 때, 메모리 어레이(22)의 개개의 물리적 뱅크의 tRC보다 상당히 더 작을 수 있는 유효 tRC를 제공한다. 예를 들어, 이 예에서, DATA0는 대략 매 15ns마다 메모리 어레이(22)로부터 반복적으로 판독될 수 있는 반면, 임의의 단일 물리적 뱅크의 tRC는 55ns이다. 또한, 메모리 제어기(20)가, 전술한 카운터/레지스터 방식을 사용하는 것에 의해 또는 각각의 직접 어드레싱가능한 물리적 또는 복제 물리적 뱅크가 활성화된 후에 증가되는 포인터를 사용하는 것을 통한 것과 같은, 물리적 뱅크(122a-122d) 간에 판독 요청을 인터리빙하는 것을 관리하는 임의의 적당한 기법을 이용할 수 있고, 따라서 후속하여 수신되는 ACTIVE 명령이 논리적 뱅크 0(120a) 내의 상이한 물리적 뱅크 주소로 보내진다는 것을 또한 이해하여야 한다.
상기 실시예에서 논의된 메모리 디바이스(10)가 일반적으로 55ns의 tRC를 갖는 DDR SDRAM 디바이스를 말하고 있지만, 이 특정의 타이밍이 단지 예로서 제공된 것임을 이해하여야 한다. 예를 들어, 일부 보다 빠른 DDR3 SRDAM 디바이스에서, 각각의 물리적 뱅크에 대해 대략 45ns 정도로 낮은 tRC가 달성될 수 있다. 여전히, 다른 실시예에서, tRC가 또한 55ns보다 클 수 있다. 예를 들어, 이제 도 11을 참조하면, 타이밍도(129)가 제공되고 도 9에서 논의된 1/4 밀도 모드에서 동작하고 있을 때 메모리 어레이(22)의 논리적 뱅크 0(120a)의 물리적 뱅크 0(122a)으로부터 DATA0를 판독하는 판독 동작을 나타내고 있지만, 메모리 어레이(22)는 대략 65ns의 더 큰 tRC를 가진다.
타이밍도(129)에 나타낸 바와 같이, 제1, 제2, 제3 및 제4 판독 요청(ACTIVE 및 READ 명령을 포함함)이, 각각, 0ns, 15ns, 30ns, 및 45ns에 대응하는 시간에 프로세서(12)에 의해 개시된다. 0ns에서의 제1 판독 요청으로 인해 DATA0가, 전술되고 참조 번호 130으로 나타낸 바와 같이, 30ns에서 물리적 뱅크 0(122a)으로부터 판독될 수 있다. 15ns에서의 물리적 뱅크 0(122a)에 대한 제2 판독 요청이 제어기(20)에 의해 복제 뱅크(122b)로 전달될 수 있고, 그로써 DATA0가 참조 번호 132로 나타낸 바와 같이, 45ns에서 복제 뱅크(122b)로부터 판독된다. 그 다음에, 30ns에서의 물리적 뱅크 0(122a)에 대한 제3 판독 요청이 복제 뱅크(122c)로 전달될 수 있다. 따라서, 60ns에서, 참조 번호 134로 나타낸 바와 같이, DATA0가 복제 뱅크(122c)로부터 판독될 수 있다. 게다가, 45ns에서의 물리적 뱅크 0(122a)에 대한 제4 판독 요청이 제어기(20)에 의해 복제 뱅크(122d)로 전달될 수 있고, 그로써 DATA0가 참조 번호 136으로 나타낸 바와 같이, 75ns에서 복제 뱅크(122d)로부터 판독된다.
앞서 언급한 바와 같이, 이 예에서, 각각의 물리적 뱅크의 tRC는 65ns이다. 따라서, 60ns에서, 논리적 뱅크 0(120a) 내의 물리적 뱅크(122a-122d) 중 어느 것도 ACTIVE 명령을 수신하는데 이용가능하지 않다. 따라서, 제어기(20)는 물리적 뱅크가 이용가능할 때까지 기다릴 수 있거나, 도 11에 도시된 바와 같이, 제어기(20)는 대안으로서 판독 요청을 다른 논리적 뱅크 내의 물리적 뱅크에 인터리빙할 수 있다. 예를 들어, 예시된 실시예에 도시된 바와 같이, 60ns에서, 제어기(20)는 논리적 뱅크 0(120b)의 물리적 뱅크 4(122e)로부터 DATA1을 판독하라는 요청을 수신할 수 있다. 따라서, 논리적 뱅크 0에 대한 부가적인 판독이 65ns tRC로 인해 이용가능하지 않기 때문에, 제어기(20)는 DATA1에 대한 판독 요청에 대해 논리적 뱅크 1(120b)의 물리적 뱅크 4(122e)를 활성화하고, 참조 번호 138로 나타낸 바와 같이, 90ns에서 [예컨대, 데이터-출력 회로(40)를 통해] DATA1을 출력함으로써 응답할 수 있다. 한편, 75ns에서, 논리적 뱅크 0(120a)의 물리적 뱅크 0(122a)과 관련하여 tRC가 경과하였기 때문에, 논리적 뱅크 0에 대한 후속하는 판독 요청이 처리될 수 있고, 그로써 105ns에서 DATA0가 다시 물리적 뱅크 0(122a)으로부터 판독된다. 따라서, 전술한 감소된 밀도 모드들 중 하나 이상의 모드에서 동작할 때 메모리 어레이(22)로부터 데이터를 판독하는 데 감소된 tRC를 제공함에 있어서, 제어기(20)가, 제1 데이터 세그먼트(예컨대, DATA0)를 포함하는 적어도 하나의 뱅크가 후속하는 판독 요청을 수신하는 데 이용가능하게 되도록 충분한 클록 사이클이 경과하기 위해 필요한 경우 제2 데이터 세그먼트(예컨대, DATA1)에 대한 판독 요청을 인터리빙하는 것을 포함하는, 메모리 어레이(22)의 물리적 뱅크의 tRC를 마스킹하기 위해 임의의 적당한 유형의 인터리빙 기법을 구현할 수 있다는 것을 이해하여야 한다. 또한, 다른 실시예에서, DATA0는 또한 제어기(20)에 의해 구현된 WRITE 명령에 응답하여 (DATA1 대신에) 논리적 뱅크 1(120a)의 물리적 뱅크에 기록될 수 있다. 따라서, 도 11에 도시된 타이밍도(129)에 기초하여, 프로세서(12)의 관점에서 볼 때, DATA0는 매 15ns마다 메모리 어레이로부터 판독될 수 있고, 이 경우 60ns에서의 제5 판독 요청은 상이한 논리적 뱅크로 어드레싱된다.
전술한 기법이 또한 도 12 및 도 13에 도시된 흐름도에서 추가로 설명될 수 있다. 구체적으로는, 도 12는, 이상에서 전반적으로 논의한 본 발명의 실시예에 따른, 메모리 디바이스에 데이터를 기록하는 방법을 나타낸 것이고, 도 13은 메모리 디바이스로부터 데이터를 판독하는 방법을 나타낸 것이다. 먼저 도 12를 참조하면, 방법(140)은 메모리 어레이(12)에 데이터 세그먼트 DATA0을 기록하는 WRITE 명령[예컨대, 프로세서(12)에 의해 발행됨]이 메모리 디바이스(10)에 의해 수신되는 단계(142)에서 시작한다. 단계(144)에서, DATA0가 기록될 목적지 뱅크가 결정된다. 예로서, 목적지 뱅크는, 도 1을 참조하여 전술한 바와 같이, 주소 버스(16) 상에서 수신되는 행, 열 및 뱅크 주소 신호를 통해 결정될 수 있다. 결정 단계(146)에서, 메모리 디바이스(10)가 완전 또는 감소된 밀도 동작 모드에서 동작하는지에 관한 판정이 행해진다. 메모리 디바이스(10)가 완전 밀도 모드에서 동작하는 경우, 방법(140)은 DATA0가 단계(144)에서 결정된 목적지 뱅크에 기록되는 단계(148)로 계속된다. 그 후에, 방법(140)은 기록 동작이 끝나는 단계(150)로 진행할 수 있다.
결정 단계(146)로 되돌아가서, 메모리 디바이스(10)가 감소된 밀도 동작 모드에서 동작하는 것으로 판정되는 경우, 단계(144)에서 결정된 목적지 뱅크와 연관되어 있을 수 있는 하나 이상의 복제 뱅크가 단계(152)에서 식별된다. 복제 뱅크는, 도 4 및 도 6을 참조하여 전술한 바와 같이, 다른 "비활성" 논리적 뱅크를 포함할 수 있거나, 도 9를 참조하여 전술한 바와 같이, 동일한 논리적 뱅크 내의 물리적 뱅크를 포함할 수 있다. 또한, 메모리 어레이(22)의 레이아웃 및 이용되는 감소된 밀도 모드에 따라, 복제 뱅크의 수가 변할 수 있다. 예를 들어, 도 2에 도시된 8개-논리적 뱅크 예에서, 각각의 어드레싱가능한 논리적 뱅크가 1/2 밀도 동작 모드에서는 하나의 복제 논리적 뱅크와 연관되어 있을 수 있거나, 1/4 밀도 동작 모드에서 동작할 때는 3개의 복제 논리적 뱅크와 연관되어 있을 수 있다. 그 후에, 단계(154)에서, DATA0가 목적지 뱅크는 물론, 각각의 연관된 복제 뱅크에 기록된다. 그 후에, 단계(150)에서 기록 동작이 종료된다.
이제 도 13을 참조하면, 본 개시 내용의 양태에 따라, 도 12에 나타낸 기록 동작 이후에 메모리 디바이스(10)로부터 데이터를 판독하는 방법(160)이 도시되어 있다. 방법(160)은 DATA0가 저장되어 있는 대상 뱅크(프로세서에 의해 직접 어드레싱가능한 뱅크임)로부터 DATA0를 판독하는 다수의 판독 요청을 메모리 디바이스(10)가 수신하는 단계(162)에서 시작한다. 단계(164)에서, 메모리 디바이스(10)가 완전 또는 감소된 밀도 동작 모드에서 동작하는지에 관한 판정이 행해진다. 메모리 디바이스(10)가 완전 밀도 모드에서 동작하는 경우, 방법(160)은 DATA0가 대상 뱅크로부터 판독되는 단계(166)로 계속된다. 그 다음에, 단계(168)에서, 대상 뱅크에 대한 tRC가 경과했는지에 관한 판정이 행해진다. 앞서 논의한 바와 같이, tRC가 경과할 때까지는 대상 뱅크가 부가의 판독 요청을 수신하도록 활성화될 수 없다. 그에 따라, tRC가 경과하지 않으면, 방법(160)은 결정 블록(168)으로 되돌아간다. tRC가 경과하고 후속하는 ACTIVE 명령이 대상 뱅크에 대해 발행될 수 있는 경우, 방법(160)은 부가의 판독 요청이 수신되었는지에 관한 판정이 행해지는 단계(170)로 계속된다. 부가의 판독 요청이 수신된 경우, 방법(160)은 단계(166)로 되돌아가고, 그로써 DATA0가 대상 뱅크로부터 다시 판독된다. 단계(170)으로 되돌아가서, DATA0에 대한 부가의 판독 요청이 수신되지 않은 경우, 방법(160)은 단계(172)에서 종료된다.
단계(164)로 되돌아가서, 메모리 디바이스(10)가 감소된 밀도 동작 모드에서 동작하는 경우, 방법(160)은 대상 뱅크와 연관될 수 있는 하나 이상의 복제 뱅크가 식별되는 단계(174)로 진행한다. 그 다음에, 단계(176)에서, DATA0가 대상 뱅크로부터 판독된다. 그 후에, 단계(178)에서, 상기 단계(162)에서 수신된 다수의 판독 요청 중 후속하는 판독 요청에 응답하여, DATA0가 복제 뱅크로부터 판독된다. 계속하여 결정 단계(180)에서, 부가의 복제 뱅크가 이용가능한지에 관한 판정이 행해진다. 앞서 논의한 바와 같이, 대상 뱅크와 그의 복제 뱅크 간에 DATA0에 대한 판독 요청을 인터리빙함으로써, 프로세서(12)의 관점에서 볼 때 유효 tRC가 감소될 수 있다. 이해되는 바와 같이, 복제 뱅크의 수는 메모리 어레이(22)의 레이아웃 및 이용되는 감소된 밀도 모드에 의존할 수 있다. 예를 들어, 상기 도 2에 도시된 8개-논리적 뱅크 구성은 1/2 밀도 구성에서 각각의 직접 어드레싱가능한 논리적 뱅크에 대해 하나의 복제 뱅크를 제공할 수 있고, 1/4 밀도 구성에서 각각의 직접 어드레싱가능한 논리적 뱅크에 대해 3개의 복제 뱅크를 제공할 수 있다. 부가의 복제 뱅크가 이용가능한 것으로 판정되는 경우, 방법(160)은 단계(178)로 되돌아가서 대상 뱅크에 대한 후속하는 판독 요청이 적절한 복제 뱅크로 전달될 수 있고 DATA0가 그 복제 뱅크로부터 판독된다.
단계(180)로 되돌아가서, 부가의 복제 뱅크가 이용가능하지 않은 경우, 단계(182)에서 DATA0에 대한 부가의 판독 명령이 프로세서(12)에 의해 발행되었는지에 관한 판정이 행해진다. 부가의 판독 명령이 발행된 경우, 방법(160)은 대상 뱅크에 대한 tRC가 경과했는지를 판정하는 결정 단계(184)로 계속된다. 도 13에 도시된 바와 같이, tRC가 경과하지 않았고 대상 뱅크가 ACTIVE 명령을 수신하는 데 이용가능하지 않은 경우, 방법(160)은 단계(184)로 되돌아가서 tRC가 경과하기를 기다린다. 대안으로서, 단계(184)에서 대상 뱅크가 이용가능한 것으로 판정되는 경우, 방법은 DATA0가 대상 뱅크로부터 다시 판독되는 단계(176)로 되돌아간다. 마지막으로, 단계(182)를 다시 참조하면, 복제 뱅크가 이용가능하지 않고 부가의 판독 명령이 [예컨대, 프로세서(12)에 의해] 발행되지 않은 경우, 방법(160)은 단계(172)에서 종료된다.
전술한 특정의 메모리 어레이(22) 레이아웃(예컨대, 8개-논리적 뱅크 및 16개 물리적 뱅크 또는 32개 물리적 뱅크를 갖는 1 Gb 메모리 어레이) 및 타이밍 방식(예컨대, 완전 밀도 모드에서 tRC = 60ns; 1/2 밀도 모드에서 tRC = 30ns; 1/4 밀도 모드에서 tRC = 15ns)이, 본 명세서에 개시된 메모리 디바이스의 구성가능 밀도 및 레이턴시 특징의 설명을 용이하게 하고 간략하게 하기 위해, 단지 예로서 제공된 것임을 이해하여야 한다. 실제로, 본 발명의 실시예가 특정의 구현예에 대한 특정의 요구사항에 따라 임의의 적당한 타이밍 구성 또는 레이아웃을 이용할 수 있다는 것을 이해하여야 한다.
예를 들어, 앞서 논의한 바와 같이, 여기 개시된 기법은 NAT 테이블과 같은 일반적인 정적 데이터 세그먼트가 높은 빈도수로 판독 요청되는 고속 네트워크 라우팅과 같은 응용에서 특히 유용할 수 있다. 따라서, NAT 테이블을 저장하는 메모리 디바이스에서 감소된 밀도 동작 모드를 구현하기 위해, NAT 테이블의 크기에 기초하여 메모리 어레이(22)가 선택될 수 있다. 예를 들어, NAT 테이블의 총 크기가 64 Mb보다 작은 경우, 도 2에 도시된 바와 같이, 8개 논리적 뱅크에 배열된 16개 물리적 뱅크를 이용하는 1 Gb 어레이가 이용될 수 있다. 즉, NAT 테이블은 이러한 어레이의 임의의 단일 물리적 뱅크(64 Mb)에 적당히 저장 및 복제될 수 있고, 따라서 1/2 밀도 또는 1/4 밀도 동작 모드가 전술한 방식으로 수행될 수 있다. 대안으로서, NAT 테이블이 64 Mb보다 큰 경우, 더 큰 메모리 어레이(22)가 선택될 수 있다. 예를 들어, NAT 테이블을 저장하는 데 80 Mb가 필요한 경우, 도 2에 도시된 레이아웃을 이용하는 2 Gb 어레이 - 각각의 물리적 뱅크가 128 Mb를 저장할 수 있음 - 가 선택될 수 있다.
또한, 이 기법이 tRC를 감소시키거나 마스킹하는 종래의 방법보다 몇가지 이점을 제공한다는 것을 이해하여야 한다. 앞서 언급한 바와 같이, 응용에서 tRC를 감소시키는 한가지 종래의 기법은 종래의 DRAM 또는 SDRAM 대신에 낮은 tRC를 갖는 SRAM 디바이스 또는 RLDRAM 디바이스를 제공하는 것을 포함한다. 이러한 디바이스를 사용하여 15ns 정도로 낮은 tRC를 제공하는 것이 가능하지만, 당업자라면 SRAM 및 RLDRAM이 통상적으로 SDRAM 디바이스에 비해 단가가 실질적으로 더 높다는 것을 이해할 것이다. 부가적으로, SRAM 또는 RLDRAM 디바이스의 전력 소모가 또한, 적어도 부분적으로 SRAM 및 RLDRAM 아키텍처의 메모리 회로의 복잡도 증가로 인해, 비슷한 저장 용량을 갖는 통상적인 SDRAM 디바이스보다 더 높다.
tRC를 감소시키는 다른 종래의 기법은 복수의 DRAM 디바이스 간에 복사되는 데이터 세그먼트에 대한 판독 요청을 인터리빙하는 것에 관한 것이다. 그러나, 앞서 언급한 바와 같이, 이 기법은 다수의 DRAM 디바이스가 제공될 것을 필요로 할 뿐만 아니라, 다수의 디바이스 간의 판독 요청의 인터리빙을 관리할 별도의 제어 회로를 필요로 할 수 있으며, 따라서 불리하게도 단가, 버스 턴어라운드 시간 및 단일 메모리 디바이스를 사용하는 것에 비해 필요한 구성요소 공간의 양을 증가시킨다. 따라서, 단일 DRAM 디바이스를 사용하여 수행될 수 있는, 본 명세서에 개시된 기법은 tRC를 마스킹하는 이러한 종래의 다중 디바이스 구성의 단가 및 복잡도를 크게 감소시킨다.
본 발명이 다양한 수정 및 대안의 형태를 가질 수 있지만, 특정의 실시예가 도면에 예시로서 도시되어 있으며 본 명세서에 상세히 기술되어 있다. 그러나, 본 발명이 개시된 특정의 형태로 제한되는 것으로 보아서는 안 된다는 것을 이해하여야 한다. 오히려, 본 발명은 이하의 첨부된 특허청구범위에 의해 한정되는 본 발명의 사상 및 범위 내에 속하는 모든 수정, 등가물 및 대안을 포함한다.

Claims (17)

  1. 메모리 디바이스에서 행 사이클 시간 레이턴시(row cycle time latency)를 마스킹하는 방법으로서,
    제1 세트의 뱅크들이 외부 디바이스에 의해 어드레싱가능한 뱅크들로서 구성되고 제2 세트의 뱅크들이 복제 뱅크들로서 구성되도록, 감소된 밀도 동작 모드의 선택에 기초하여 복수의 메모리 뱅크를 갖는 메모리 어레이를 구성하는 단계 - 상기 복제 뱅크들 중 적어도 하나의 복제 뱅크는 상기 어드레싱가능한 뱅크들 중 하나의 어드레싱가능한 뱅크와 연관되어 있음 -;
    상기 외부 디바이스로부터 수신된 기록 명령에 응답하여 데이터 세그먼트를 상기 메모리 어레이에 기록하는 단계 - 상기 데이터 세그먼트를 기록하는 단계는,
    상기 데이터 세그먼트를 상기 기록 명령에 의해 어드레싱되는 상기 제1 세트의 뱅크들 중 하나의 뱅크에 기록하는 단계, 및
    상기 데이터 세그먼트를 상기 기록 명령에 의해 어드레싱되는 상기 제1 세트의 뱅크들 중 상기 하나의 뱅크와 연관된 상기 제2 세트의 뱅크들 중 적어도 하나의 뱅크에 기록하는 단계를 포함함 -; 및
    상기 제1 세트의 뱅크들 중 상기 하나의 뱅크와 상기 제2 세트의 뱅크들 중 각각의 연관된 뱅크 사이에서 상기 데이터 세그먼트를 요청하는 복수의 연속적인 판독 명령 각각을 인터리빙하는 단계 - 상기 복수의 판독 명령의 각자의 판독 명령에 응답하여 상기 메모리 어레이로부터의 상기 데이터 세그먼트에 대한 각각의 판독 사이의 간격은 상기 기록 명령에 의해 어드레싱되는 상기 제1 세트의 뱅크들 중 상기 하나의 뱅크의 행 사이클 시간보다 작음 -
    를 포함하는 방법.
  2. 제1항에 있어서, 상기 감소된 밀도 모드는 1/2 밀도 동작 모드(half-density mode of operation)이고, 상기 제1 세트의 뱅크들 중 상기 어드레싱된 뱅크는 상기 제2 세트의 뱅크들 중 각자의 뱅크와 연관되어 있으며, 상기 복수의 연속적인 판독 명령 각각을 인터리빙하는 단계는,
    제1 판독 명령을 수신하는 단계;
    제1 시간에서 상기 제1 판독 명령에 응답하여 상기 제1 세트의 뱅크들 중 상기 어드레싱된 뱅크로부터 상기 데이터 세그먼트를 판독하는 단계;
    제2 판독 명령을 수신하는 단계;
    제2 시간에서 상기 제2 판독 명령에 응답하여 상기 제2 세트의 뱅크들 중 상기 연관된 각자의 뱅크로부터 상기 데이터 세그먼트를 판독하는 단계 - 상기 제1 시간과 상기 제2 시간 사이의 차이는 상기 행 사이클 시간보다 작은 제1 값과 같음 -;
    제3 판독 명령을 수신하는 단계; 및
    제3 시간에서 상기 제3 판독 명령에 응답하여 상기 제1 세트의 뱅크들 중 상기 어드레싱된 뱅크로부터 상기 데이터 세그먼트를 판독하는 단계 - 상기 제2 시간과 상기 제3 시간 사이의 차이는 상기 제1 값과 같고, 상기 제1 시간과 상기 제3 시간 사이의 차이는 상기 행 사이클 시간보다 크거나 같음 - 를 포함하는 방법.
  3. 제2항에 있어서, 상기 제1, 제2 및 제3 판독 명령을 수신하는 단계는,
    상기 제1 세트의 뱅크들 중 상기 어드레싱된 뱅크를 가리키는 포인터를 개시하는 단계;
    상기 제1 판독 명령에 응답하여 상기 제1 세트의 뱅크들 중 상기 어드레싱된 뱅크를 활성화하는 단계;
    상기 포인터가 상기 제2 세트의 뱅크들 중 상기 연관된 각자의 뱅크를 가리키도록 상기 포인터를 증가시키는 단계;
    상기 제2 판독 명령에 응답하여 상기 제2 세트의 뱅크들 중 상기 연관된 각자의 뱅크를 활성화하는 단계; 및
    상기 포인터가 상기 제1 세트의 뱅크들 중 상기 어드레싱된 뱅크를 가리키도록 상기 포인터를 리셋시키는 단계
    를 포함하는 방법.
  4. 제1항에 있어서, 상기 감소된 밀도 모드는 1/4 밀도 동작 모드(quarter-density mode of operation)이고, 상기 제1 세트의 뱅크들 중 상기 어드레싱된 뱅크는 상기 제2 세트의 뱅크들 중 제1, 제2 및 제3 뱅크들과 연관되어 있으며, 상기 복수의 연속적인 판독 명령 각각을 인터리빙하는 단계는,
    제1 판독 명령을 수신하는 단계;
    제1 시간에서 상기 제1 판독 명령에 응답하여 상기 제1 세트의 뱅크들 중 상기 어드레싱된 뱅크로부터 상기 데이터 세그먼트를 판독하는 단계;
    제2 판독 명령을 수신하는 단계;
    제2 시간에서 상기 제2 판독 명령에 응답하여 상기 제2 세트의 뱅크들 중 상기 연관된 제1 뱅크로부터 상기 데이터 세그먼트를 판독하는 단계 - 상기 제1 시간과 상기 제2 시간 사이의 차이는 상기 행 사이클 시간의 1/2보다 작은 제1 값과 같음 -;
    제3 판독 명령을 수신하는 단계;
    제3 시간에서 상기 제3 판독 명령에 응답하여 상기 제2 세트의 뱅크들 중 상기 연관된 제2 뱅크로부터 상기 데이터 세그먼트를 판독하는 단계 - 상기 제2 시간과 상기 제3 시간 사이의 차이는 상기 제1 값과 같음 -;
    제4 판독 명령을 수신하는 단계;
    제4 시간에서 상기 제4 판독 명령에 응답하여 상기 제2 세트의 뱅크들 중 상기 연관된 제3 뱅크로부터 상기 데이터 세그먼트를 판독하는 단계 - 상기 제3 시간과 상기 제4 시간 사이의 차이는 상기 제1 값과 같음 -;
    제5 판독 명령을 수신하는 단계; 및
    제5 시간에서 상기 제5 판독 명령에 응답하여 상기 제1 세트의 뱅크들 중 상기 어드레싱된 뱅크로부터 상기 데이터 세그먼트를 판독하는 단계 - 상기 제4 시간과 상기 제5 시간 사이의 차이는 상기 제1 값과 같고, 상기 제1 시간과 상기 제5 시간 사이의 차이는 상기 행 사이클 시간보다 크거나 같음 - 를 포함하는 방법.
  5. 제4항에 있어서, 상기 제1, 제2, 제3, 제4 및 제5 판독 명령들을 수신하는 단계는,
    상기 제1 세트의 뱅크들 중 상기 어드레싱된 뱅크를 가리키는 포인터를 개시하는 단계;
    상기 제1 판독 명령에 응답하여 상기 제1 세트의 뱅크들 중 상기 어드레싱된 뱅크를 활성화하는 단계;
    상기 포인터가 상기 제2 세트의 뱅크들 중 상기 연관된 제1 뱅크를 가리키도록 상기 포인터를 증가시키는 단계;
    상기 제2 판독 명령에 응답하여 상기 제2 세트의 뱅크들 중 상기 연관된 제1 뱅크를 활성화하는 단계;
    상기 포인터가 상기 제2 세트의 뱅크들 중 상기 연관된 제2 뱅크를 가리키도록 상기 포인터를 증가시키는 단계;
    상기 제3 판독 명령에 응답하여 상기 제2 세트의 뱅크들 중 상기 연관된 제2 뱅크를 활성화하는 단계;
    상기 포인터가 상기 제2 세트의 뱅크들 중 상기 연관된 제3 뱅크를 가리키도록 상기 포인터를 증가시키는 단계;
    상기 제4 판독 명령에 응답하여 상기 제2 세트의 뱅크들 중 상기 연관된 제3 뱅크를 활성화하는 단계; 및
    상기 포인터가 상기 제1 세트의 뱅크들 중 상기 어드레싱된 뱅크를 가리키도록 상기 포인터를 리셋시키는 단계
    를 포함하는 방법.
  6. 메모리 액세스 디바이스; 및
    상기 메모리 액세스 디바이스에 결합된 메모리 디바이스
    를 포함하고,
    상기 메모리 디바이스는,
    복수의 메모리 뱅크를 포함하는 메모리 어레이; 및
    상기 메모리 어레이를 완전 밀도(full density) 동작 모드 또는 하나 이상의 감소된 밀도 동작 모드에서 동작하도록 구성된 메모리 제어기를 포함하며, 상기 메모리 제어기는, 상기 감소된 밀도 모드가 선택될 때, 상기 메모리 액세스 디바이스에 의해 발행되는 기록 명령에 의해 어드레싱되는 메모리 뱅크에 데이터 세그먼트를 기록하고, 상기 기록 명령에 의해 어드레싱되는 상기 메모리 뱅크와 연관된 하나 이상의 메모리 뱅크에 상기 데이터 세그먼트를 기록하며, 상기 메모리 어레이로부터의 상기 데이터 세그먼트에 대한 각각의 판독 사이의 시간 간격이 상기 어드레싱된 메모리 뱅크의 행 사이클 시간보다 작도록, 상기 어드레싱된 메모리 뱅크와 그의 하나 이상의 연관된 메모리 뱅크 사이에 연속적인 판독 요청들을 인터리빙하도록 구성되는 시스템.
  7. 제6항에 있어서, 상기 메모리 디바이스는 상기 메모리 어레이의 뱅크들을 상기 메모리 제어기에 의해 제공된 제어 신호들에 기초하여 직접 어드레싱가능한 뱅크 또는 복제 뱅크로서 구성하도록 구성되는 뱅크 제어 로직을 포함하고, 상기 제어 신호들은 적어도 부분적으로 상기 완전 또는 하나 이상의 감소된 밀도 동작 모드 중 어느 하나의 선택 시에 결정되는 시스템.
  8. 제7항에 있어서, 상기 메모리 제어기는 직접 어드레싱가능한 뱅크가 판독 요청에 응답할 수 있는지의 표시를 제공하도록 구성된 상태 레지스터를 포함하는 시스템.
  9. 제8항에 있어서, 상기 상태 레지스터에 의해 제공된 상기 표시는 상기 직접 어드레싱가능한 뱅크의 행 사이클 레이턴시 시간에 대응하는 클록 사이클들의 수를 카운트하도록 구성된 타이머에 기초하는 시스템.
  10. 제6항에 있어서, 상기 데이터 세그먼트는 일반적인 정적 데이터 세그먼트를 나타내는 시스템.
  11. 제10항에 있어서, 상기 데이터 세그먼트는 네트워크 탐색 테이블(network look up table) 또는 네트워크 주소 변환 테이블(network address translation table) 중 하나를 나타내고, 상기 시스템은 네트워크 스위치 또는 네트워크 라우터 중 하나, 또는 이들의 일부 조합을 포함하는 시스템.
  12. 제6항에 있어서, 상기 메모리 제어기는 1/2 밀도 동작 모드 또는 1/4 밀도 동작 모드 중 하나로부터 상기 감소된 밀도 모드를 선택하도록 구성되고,
    상기 1/2 밀도 모드가 선택되는 경우, 각각의 발행 뱅크는 하나의 메모리 뱅크와 연관되어 있으며,
    상기 1/4 밀도 모드가 선택되는 경우, 각각의 발행 뱅크는 3개의 메모리 뱅크들과 연관되어 있는 시스템.
  13. 제6항에 있어서, 상기 메모리 디바이스는 DDR, DDR2, DDR3, 또는 DDR4 표준들 중 하나를 이용하는 SDRAM을 포함하는 시스템.
  14. 외부 디바이스에 의해 발행된 기록 명령에 응답하여 메모리 어레이의 어드레싱된 메모리 뱅크에 데이터 세그먼트를 기록하고 상기 메모리 어레이가 감소된 밀도 모드에서 동작하고 있을 때 상기 어드레싱된 메모리 뱅크와 연관된 하나 이상의 메모리 뱅크에 상기 데이터 세그먼트를 기록하도록 구성된 로직; 및
    상기 메모리 어레이가 감소된 밀도 모드에서 동작하고 있을 때 상기 어드레싱된 메모리 뱅크와 그의 하나 이상의 연관된 메모리 뱅크 사이에 연속적인 판독 요청들을 인터리빙하도록 구성된 로직 - 상기 데이터 세그먼트의 각각의 판독 사이의 시간 간격은 상기 어드레싱된 메모리 뱅크의 행 사이클 시간보다 작음 -
    을 포함하는 메모리 제어기.
  15. 제14항에 있어서, 상기 어드레싱된 메모리 뱅크와 그의 하나 이상의 연관된 메모리 뱅크 사이에 판독 요청들을 인터리빙하도록 구성된 로직은,
    상기 어드레싱된 메모리 뱅크를 가리키는 포인터를 개시하고,
    상기 어드레싱된 메모리 뱅크로부터 상기 데이터 세그먼트를 판독하며,
    각자의 하나 이상의 연관된 메모리 뱅크 각각에 대한 각각의 후속하는 판독 요청에 대해 상기 포인터를 증가시키고,
    상기 데이터 세그먼트가 각자의 하나 이상의 연관된 메모리 뱅크 각각으로부터 판독되면 상기 어드레싱된 메모리 뱅크를 가리키는 상기 포인터를 리셋하도록 구성되는 로직을 포함하는 메모리 제어기.
  16. 제14항에 있어서,
    상기 어드레싱된 메모리 뱅크의 행 사이클 레이턴시 시간에 대응하는 클록 사이클들의 수를 카운트하도록 구성된 타이머; 및
    상기 타이머에 기초하여, 상기 어드레싱된 메모리 뱅크 또는 그의 하나 이상의 연관된 메모리 뱅크가 판독 요청에 응답하도록 이용가능한 지를 나타내도록 구성된 하나 이상의 상태 레지스터를 포함하는 메모리 제어기.
  17. 제16항에 있어서, 상기 어드레싱된 메모리 뱅크 및 그의 연관된 하나 이상의 메모리 뱅크가 상기 판독 요청에 응답하도록 이용가능하지 않은 경우, 다른 어드레싱된 메모리 뱅크로부터 다른 데이터 세그먼트를 판독하라는 다른 판독 요청을 발행하도록 구성된 로직을 포함하는 메모리 제어기.
KR1020127002067A 2009-06-26 2010-06-17 메모리 디바이스에서 구성가능 레이턴시 및/또는 밀도를 제공하는 시스템 및 방법 KR20120099206A (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US12/492,752 2009-06-26
US12/492,752 US20100332718A1 (en) 2009-06-26 2009-06-26 System and method for providing configurable latency and/or density in memory devices

Publications (1)

Publication Number Publication Date
KR20120099206A true KR20120099206A (ko) 2012-09-07

Family

ID=42470636

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020127002067A KR20120099206A (ko) 2009-06-26 2010-06-17 메모리 디바이스에서 구성가능 레이턴시 및/또는 밀도를 제공하는 시스템 및 방법

Country Status (6)

Country Link
US (1) US20100332718A1 (ko)
EP (1) EP2446366A1 (ko)
KR (1) KR20120099206A (ko)
CN (1) CN102473150A (ko)
TW (1) TW201107972A (ko)
WO (1) WO2010151481A1 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20180044567A (ko) * 2016-10-24 2018-05-03 삼성전자주식회사 메모리 컨트롤러 및 이를 포함하는 메모리 시스템
KR20200005644A (ko) * 2017-05-15 2020-01-15 자일링크스 인코포레이티드 메모리 요청의 적응적 스케줄링

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8352834B2 (en) * 2009-11-12 2013-01-08 Broadlogic Network Technologies Inc. High throughput interleaver / deinterleaver
US9325601B2 (en) 2013-02-20 2016-04-26 Spirent Communications, Inc. Reducing effective cycle time in accessing memory modules
CN104051015B (zh) * 2013-03-14 2017-10-03 旺宏电子股份有限公司 具有存储器的集成电路及其操作方法
US9377966B2 (en) 2013-10-09 2016-06-28 Samsung Electronics Co., Ltd. Method and apparatus for efficiently processing storage commands
US9514802B2 (en) * 2014-10-27 2016-12-06 Samsung Electronics Co., Ltd. Volatile memory self-defresh
US9621462B2 (en) * 2015-02-03 2017-04-11 Google Inc. Mesh network addressing
US10222989B1 (en) * 2015-06-25 2019-03-05 Crossbar, Inc. Multiple-bank memory device with status feedback for subsets of memory banks
US10141034B1 (en) 2015-06-25 2018-11-27 Crossbar, Inc. Memory apparatus with non-volatile two-terminal memory and expanded, high-speed bus
US9921763B1 (en) 2015-06-25 2018-03-20 Crossbar, Inc. Multi-bank non-volatile memory apparatus with high-speed bus
KR102337044B1 (ko) * 2015-07-27 2021-12-09 에스케이하이닉스 주식회사 반도체장치 및 반도체시스템
KR102535700B1 (ko) 2016-02-01 2023-05-24 에스케이하이닉스 주식회사 메모리 시스템 및 메모리 시스템의 동작방법
US10048894B2 (en) 2016-07-12 2018-08-14 Spirent Communications, Inc. Reducing cache memory requirements for recording statistics from testing with a multiplicity of flows
US10515671B2 (en) * 2016-09-22 2019-12-24 Advanced Micro Devices, Inc. Method and apparatus for reducing memory access latency
KR20180083082A (ko) * 2017-01-12 2018-07-20 에스케이하이닉스 주식회사 정정 및 방어가 가능한 메모리 장치 및 메모리 모듈
KR20190035392A (ko) * 2017-09-26 2019-04-03 삼성전자주식회사 데이터 다중 기록을 수행하는 메모리 장치, 메모리 장치의 동작방법 및 메모리 컨트롤러의 동작방법
JP7038204B2 (ja) * 2017-10-31 2022-03-17 アビニシオ テクノロジー エルエルシー 永続性レベル表示器を使用してコンピュータクラスタを管理すること
TWI721660B (zh) * 2019-11-22 2021-03-11 財團法人工業技術研究院 控制資料讀寫裝置與方法
US11183248B1 (en) 2020-07-29 2021-11-23 Micron Technology, Inc. Timing parameter adjustment mechanisms

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04293135A (ja) * 1991-03-20 1992-10-16 Yokogawa Hewlett Packard Ltd メモリアクセス方式
US6226710B1 (en) * 1997-11-14 2001-05-01 Utmc Microelectronic Systems Inc. Content addressable memory (CAM) engine
US5959929A (en) * 1997-12-29 1999-09-28 Micron Technology, Inc. Method for writing to multiple banks of a memory device
US6820182B1 (en) * 2000-10-18 2004-11-16 International Business Machines Corporation Support for exhaustion recovery in a data processing system with memory mirroring
US7633926B1 (en) * 2003-02-06 2009-12-15 Cisco Technology, Inc. Extending multicast applications available on data networks to cell-based wireless networks
US7194568B2 (en) * 2003-03-21 2007-03-20 Cisco Technology, Inc. System and method for dynamic mirror-bank addressing
US7454555B2 (en) * 2003-06-12 2008-11-18 Rambus Inc. Apparatus and method including a memory device having multiple sets of memory banks with duplicated data emulating a fast access time, fixed latency memory device
US20050138276A1 (en) * 2003-12-17 2005-06-23 Intel Corporation Methods and apparatus for high bandwidth random access using dynamic random access memory

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20180044567A (ko) * 2016-10-24 2018-05-03 삼성전자주식회사 메모리 컨트롤러 및 이를 포함하는 메모리 시스템
KR20200005644A (ko) * 2017-05-15 2020-01-15 자일링크스 인코포레이티드 메모리 요청의 적응적 스케줄링

Also Published As

Publication number Publication date
US20100332718A1 (en) 2010-12-30
WO2010151481A1 (en) 2010-12-29
CN102473150A (zh) 2012-05-23
TW201107972A (en) 2011-03-01
EP2446366A1 (en) 2012-05-02

Similar Documents

Publication Publication Date Title
KR20120099206A (ko) 메모리 디바이스에서 구성가능 레이턴시 및/또는 밀도를 제공하는 시스템 및 방법
US7277996B2 (en) Modified persistent auto precharge command protocol system and method for memory devices
US6647478B2 (en) Semiconductor memory device
US8154932B2 (en) Increasing efficiency of memory accesses by selectively introducing a relative delay between the time that write addresses are provided to the memory and the time that write data is provided to the memory
JP5144882B2 (ja) 半導体メモリ素子
JP4984129B2 (ja) データストローブ同期回路およびダブルデータレート・マルチビットでの書き込み用の方法
US20060112231A1 (en) Synchronous DRAM with selectable internal prefetch size
US8422333B2 (en) Semiconductor memory device and access method thereof
US11646092B2 (en) Shared error check and correct logic for multiple data banks
US20100074035A1 (en) Semiconductor memory device
JP2895488B2 (ja) 半導体記憶装置及び半導体記憶システム
KR20220113551A (ko) 메모리 동작 파라미터에 대한 다수의 파라미터 코드를 저장 및 기록하기 위한 방법 및 장치
KR20230153531A (ko) 구성 가능한 메모리 어레이 뱅크 아키텍처를 위한 장치 및 방법
CN112041925B (zh) 用于在读取操作期间控制数据选通信号的系统及方法
KR101536019B1 (ko) 고속 dram에서 신호들을 처리하기 위한 시스템 및 방법
JP3708801B2 (ja) 半導体記憶装置
US20040052138A1 (en) Predecode column architecture and method
JP5204777B2 (ja) メモリ装置及びその制御方法
US5467303A (en) Semiconductor memory device having register groups for writing and reading data
US20060007757A1 (en) Solution to DQS postamble ringing problem in memory chips
JPH08328949A (ja) 記憶装置
JPH06282983A (ja) メモリ内のデータをアクセスするための方法、メモリシステムおよびメモリ制御システム
US8635418B2 (en) Memory system and method for passing configuration commands

Legal Events

Date Code Title Description
WITN Application deemed withdrawn, e.g. because no request for examination was filed or no examination fee was paid