KR20070027616A - 캐시 라인 메모리 및 그 방법 - Google Patents

캐시 라인 메모리 및 그 방법 Download PDF

Info

Publication number
KR20070027616A
KR20070027616A KR1020067027266A KR20067027266A KR20070027616A KR 20070027616 A KR20070027616 A KR 20070027616A KR 1020067027266 A KR1020067027266 A KR 1020067027266A KR 20067027266 A KR20067027266 A KR 20067027266A KR 20070027616 A KR20070027616 A KR 20070027616A
Authority
KR
South Korea
Prior art keywords
memory
address
cache line
data
mode
Prior art date
Application number
KR1020067027266A
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 KR20070027616A publication Critical patent/KR20070027616A/ko

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1015Read-write modes for single port memories, i.e. having either a random port or a serial port
    • G11C7/1042Read-write modes for single port memories, i.e. having either a random port or a serial port using interleaving techniques, i.e. read-write of one part of the memory while preparing another part
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • 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
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/21Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
    • G11C11/34Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
    • G11C11/40Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
    • G11C11/401Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming cells needing refreshing or charge regeneration, i.e. dynamic cells
    • G11C11/406Management or control of the refreshing or charge-regeneration cycles
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/21Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
    • G11C11/34Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
    • G11C11/40Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
    • G11C11/401Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming cells needing refreshing or charge regeneration, i.e. dynamic cells
    • G11C11/406Management or control of the refreshing or charge-regeneration cycles
    • G11C11/40618Refresh operations over multiple banks or interleaving
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0877Cache access modes
    • G06F12/0879Burst mode
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

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

Abstract

메모리(10)는 복수 개의 메모리 셀, 저 전압 고 주파수 차동(differential) 어드레스 신호를 수신하는 직렬 어드레스 포트(47), 및 고 주파수 저 전압 차동 데이터 신호를 수신하는 직렬 입력/출력 데이터 포트(52, 54)를 갖는다. 메모리(10)는, 2 개의 다른 모드들, 정상 모드(normal mode)와 캐시 라인 모드(cache line mode) 중의 하나에서 동작할 수 있다. 캐시 라인 모드에서, 메모리는 한 개의 어드레스로부터 전체 캐시 라인을 액세스할 수 있다. 완전 히든 리프레시 모드(fully hidden refresh mode)는, 캐시 라인 모드에서 동작하면서, 적시에 리프레시 동작을 하도록 한다. 데이터는 복수 개의 서브-어레이(sub-array;15, 17)에서 인터리브(interleave)하여 메모리 어레이(14)에 저장된다. 동작의 히든 리프레시 모드 동안, 다른 서브-어레이(17)가 리프레시되는 동안 한 서브-어레이가 액세스된다. 2개 이상의 메모리(10)가 함께 체인(chain)되어 고속 저 전력 메모리 시스템을 제공할 수 있다.
DRAM, 집적 회로 메모리, 히든 리프레시 모드, 차동 신호, 정상 모드, 캐시 라인 모드

Description

캐시 라인 메모리 및 그 방법{CACHE LINE MEMORY AND METHOD THEREOF}
본 발명은 일반적으로 집적 회로 메모리에 관한 것이고, 더 구체적으로는, 직렬 데이터와 캐시 라인 버스트 모드(cache line burst mode)를 구비한 DRAM(dynamic random access memory)에 관한 것이다.
DRAM은 2개의 논리 상태를 나타내는 전하를 저장하는 커패시터에 종속하는 잘 공지된 메모리 유형이다. DRAM 집적 회로는, 예를 들어, 개인용 컴퓨터와 워크스테이션용 메모리 모듈로서 사용된다.
일반적으로, 시스템에서 적은 수의 메모리를 사용하는 것이 현재 추세이다. 메모리 소자는 고 대역폭을 달성하여, 예를 들어, 32 비트 폭인 버스와 같은 더 넓은 버스를 사용하여 더 빠른 프로세서들을 수용하려고 시도한다. 그러나, 고 대역폭을 얻기 위해 더 넓은 버스를 클럭킹(clocking)하는 것은 전력 소모를 증가시키고, 시스템에 스위칭 잡음 문제를 야기시킨다.
그러므로, 메모리 디바이스의 전력 소비를 증가시키지 않고 또한 잡음으로 심각한 문제를 야기시키지 않고 고 대역폭을 제공할 수 있는 DRAM에 대한 필요성이 존재한다.
당업자라면, 전술한 것과 본 발명의 추가적이고 더 구체적인 목적과 이점이, 다음 도면들과 연결하여 이해되는 선호되는 실시예의 다음 상세한 설명으로부터, 쉽게 명백해질 것임을 이해할 것이다.
도 1은 본 발명에 따라서 집적 회로 메모리를 블럭도 형태로 나타낸다.
도 2는 도 1의 송수신기를 블럭도 형태로 나타낸다.
도 3은 도 1의 메모리의 모드(mode) 레지스터를 블럭도 형태로 나타낸다.
도 4는 도 1의 메모리를 위한 직렬 어드레스 패킷 구조를 블럭도 형태로 나타낸다.
도 5는 도 1의 메모리를 위한 직렬 데이터 패킷 구조를 블럭도 형태로 나타낸다.
도 6은 도 1의 메모리를 갖는 메모리 시스템을 블럭도 형태로 나타낸다.
일반적으로, 일 실시예에서, 본 발명은, 복수 개의 메모리 셀을 갖는 메모리, 저 전압 고 주파수 차동(differential) 어드레스와 데이터 신호를 수신하는 직렬 수신기, 및 고 주파수 저 전압 차동 어드레스와 데이터 신호를 송신하는 직렬 송신기를 제공한다. 도시된 실시예를 설명하는 목적을 위해, 직렬 신호를 위한 고 주파수는 초당 약 2 Gbits보다 더 높다는 것을 의미한다. 또한, 저 전압 차동 신호는 약 200 내지 300 mV의 전압 진동(swing)을 갖는다.
직렬 어드레스와 데이터 신호를 송수신하면, 병렬 어드레스와 데이터 신호를 제공하는 메모리보다 비교적 더 낮은 전력 소비로 고속 동작이 허용된다. 또한, 패키지된 집적 회로 상에 핀들의 수가 크게 감소될 수 있다.
다른 실시예에서, 2개의 다른 모드들 중에 하나에서 메모리가 동작할 수 있다. 정상 모드에서, 본 발명에 따른 DRAM은 임의의 종래 DRAM과 유사하게 동작한다. 캐시 라인 모드에서, DRAM은 캐시 라인 폭을 제어하는 확장 모드 레지스터 비트 필드를 사용한다. 캐시 라인 폭은 한 어드레스로부터 일 버스트(burst)에 전체 캐시 라인을 읽거나 쓰기 위해 설정될 수 있다. 완전 히든 리프레시(fully hidden refresh) 모드는 캐시 라인 모드에서 동작하면서 메모리 셀들을 적시에 리프레시하도록 한다. 사용자-프로그램가능한 비트 필드는 리프레시 동작들 간의 최대 허용가능 시간 기간을 저장하기 위해 확장 모드 레지스터에 준비된다. 복수 개의 뱅크(bank) 또는 메모리 셀들의 뱅크를 인터리브(lnterleave)하여 메모리 어레이에 데이터가 저장된다. 동작의 히든 리프레시 모드 동안, 1/2 뱅크가 액세스되면서, 다른 1/2 뱅크는 리프레시된다. 다른 실시예에서, 메모리 셀들의 각 뱅크에 대해 리프레시 카운터가 제공된다. 클럭 카운터와 리프레시 카운터의 비교에 기초하여 레디/홀드(ready/hold) 신호가 발생된다. 레디/홀드 신호는, 메모리 셀들의 뱅크들 중의 적어도 하나가 임계 시간 기간에 도달했다고 리프레시 카운터가 지시할 때 리프레시 동작을 하도록 하기 위해 데이터 전송을 중단하여, 데이터 무결성(integrity)을 보존하기 위해 정상 리프레시가 시작되도록 해야 함을 프로세서에게 신호하기 위해 사용된다. 임계 시간 기간은 리프레시 기간에 남은 최대 시간일 것이다. 더 나은 시스템 신뢰성을 제공하기 위해, 수신/송신된 정보가 패러티 유형 검사를 통과하지 않을 경우, BadRxData 신호가 제공된다.
다른 실시예에서, 2 이상의 집적 회로 메모리가 함께 체인(chain)되어 고속 저 전력 메모리 시스템을 제공할 수 있다.
도 1은 본 발명의 일 실시예에 따른 집적 회로 메모리(10)를 블럭도 형태로 나타낸다. 메모리(10)는, 메모리 어레이(12), 커맨드 디코더(40), 어드레스 버퍼(42), 제어 신호 발생기(44), 모드 레지스터(46), 버스트 카운터(48), 데이터 제어와 래치(latch) 회로(50), 읽기 데이터 버퍼(52), 쓰기 데이터 버퍼(54), 송수신기(56), 클럭 카운터(58), 리프레시 카운터(60, 62, 64, 66), 및 레디(ready) 제어와 버퍼(68)를 포함한다. 메모리 어레이(12)는 메모리 어레이 또는 뱅크(14, 16, 18, 20), 행 디코더(22, 24, 26, 28), 및 열 디코더(30, 32, 34, 36)를 포함한다.
메모리 어레이(12)는 비트 라인과 워드 라인(도시 생략)의 교차점에 결합된 메모리 셀들의 어레이이다. 메모리 셀들은, 예를 들어, 메모리 뱅크(14, 16, 18, 20)와 같은, 메모리 셀들의 복수 개의 뱅크에 구조화될 수 있다. 어드레스 수신에 응답하여 메모리 셀을 선택하는 행과 열 디코더들은 메모리 뱅크(14, 16, 18, 20)의 각각과 연관된다. 예를 들어, 메모리 뱅크(14)의 한 개 이상의 메모리 셀을 선택하기 위해 행 디코더(22)와 열 디코더(30)가 사용된다. 도시된 실시예에서, 메모리 셀들은 커패시터와 액세스 트랜지스터를 갖는 일반적 DRAM 셀임을 주목한다. 커패시터는 저장된 논리 상태를 나타내는 전하를 저장하기 위한 것이다. 액세스 트랜지스터는 메모리 셀을 액세스할 때 선택된 워드 라인에 응답하여 비트 라인에 그 커패시터를 결합하기 위한 것이다. 다른 실시예들에서, 메모리 어레이(12)는, 저장된 논리 상태를 유지하기 위한 주기적 리프레싱을 요구하거나 요구 하지 않을 수 있는 다른 메모리 셀 유형들을 포함할 수 있다.
2-선 고속(초당 2 Gbits보다 빠른) 저 전압 차동(200-300 mV 진동) 어드레스 신호를 사용하여, 패킷들의 형태로, 메모리(10)에 직렬로 어드레스 정보가 제공된다. 어드레스 패킷은 헤더(header), 어드레스 비트, 및 다른 버스 프로토콜 부분들을 포함한다. 어드레스 패킷(80)이 도 4에 도시되고, 나중에 설명될 것이다. 송수신기(56)의 입력 단자에 차동 어드레스 신호 CA/CA*가 제공된다. 신호 이름 뒤의 별표(*)는 그 신호가 동일 이름을 갖지만 별표가 없는 신호의 논리적 보수(logical complement)를 나타냄을 주목한다. 송수신기(56)는 나중에 더 상세히 설명될 것이다. 디코딩 후, 인입 어드레스 패킷 송수신기(56)는 어드레스 버퍼(42)와 커맨드 디코더(40)에 어드레스와 헤더 정보를 제공한다. 또한 나중에 더 상세히 설명되는, 예를 들어, 읽기와 쓰기 명령과 제어 비트를 포함하여, 메모리(10)가 캐시 라인 모드 또는 정상 모드에서 동작할 것인지의 여부를 결정하는 헤더 정보를 커맨드 디코더(40)가 수신한다. 어드레스 패킷의 나머지가 어드레스 버퍼(42)에 제공된다. 어드레스 버퍼(42)의 출력 단자가 모드 레지스터(46)에 결합된다. 어드레스 패킷으로부터의 헤더 정보가 모드 레지스터(46)와 커맨드 디코더(40)에 저장된다. 그 다음, 일반적으로 행과 열 디코더들에 어드레스 부분이 제공된다.
모드 레지스터(46)의 출력 단자는 버스트 카운터(48)와 제어 신호 발생기(44)의 입력 단자로 "모드(MODE)"라고 레이블된 모드 신호를 제공한다. 버스트 카운터(48)의 출력 단자는 읽기 데이터 버퍼(52)와 쓰기 데이터 버퍼(54)에 결합된 다. 제어 신호 발생기(44)로부터의 제어 신호는 데이터 제어와 래치 회로(50), 행 디코더(22, 24, 26, 28), 열 디코더(30, 32, 34, 36), 클럭 카운터(58), 및 리프레시 카운터(60, 62, 64, 66)의 입력으로 제공된다. 열 디코더(30, 32, 34, 36)는 데이터 제어와 래치 회로(50)와 양방향으로 결합된다. 읽기 버퍼(52)는 데이터 제어와 래치 회로(50)와 결합된 입력과, 송수신기(56)와 결합된 출력을 갖는다. 쓰기 데이터 버퍼(54)는, 송수신기(56)와 결합된 입력과, 데이터 제어와 래치 회로(50)와 결합된 출력을 갖는다. 송수신기(56)는, "TxDQ/TxDQ*", "RxDQ/RxDQ*", "TxDQ CHAIN/TxDQ CHAIN*", "RxDQ CHAIN/RxDQ CHAIN*", 및 "CA CHAIN/CA CHAIN*"로 레이블된 차동 데이터 신호를 제공/수신하는 단자들을 포함한다. 또한, 송수신기(56)는 "REF CLK"로 레이블된 레퍼런스(reference) 클럭 신호를 수신하고, 응답하여, "Tx CLK"로 레이블된 내부 클럭 신호를 제공한다. 메모리 시스템이 한 개의 클럭 도메인에서 동작하도록 하기 위해, 수신 경로를 떠나는 데이터가 나머지 메모리 시스템에 의해 사용되는 클럭 도메인인 송신기 클럭 도메인(Tx CLK)으로 가로질러 가는 것을 보장하는 탄성 버퍼(elastic buffer)를 송수신기(56)가 사용한다. 또한, 나중에 설명되는, 송수신기(56)는 "BAD Rx DATA"로 레이블되는 신호를 제공한다.
메모리(10)는 파이프라인되고, 그것의 동작은 고속 차동 클럭 신호를 사용하여 타이밍된다. 클럭 카운터(58)는 액세스 사이클 카운터이고, Tx CLK를 수신하는 입력과 레디 제어 및 버퍼(68)와 결합된 출력을 갖는다. 각 행 디코더(22, 24, 26, 28)는 각각 리프레시 카운터(66, 64, 62, 60)에 결합되어 리프레시 어드레스를 수신한다. 또한, 리프레시 카운터(60, 62, 64, 66)의 각각은 제어 신호 발생기(44)로부터 제어 신호를 수신하여, 언제 메모리 셀 어레이(14, 16, 18, 20)가 리프레시되어야 하는지를 나타낸다. 레디 제어 및 버퍼 회로(68)는 클럭 카운터(58)와 각각의 리프레시 카운터(60, 62, 64, 66)로부터 값들을 수신하기 위해 결합된다. 응답에서, 레디 제어 신호(68)는 프로세서(도시 생략)로 "레디/홀드(READY/HOLD)"로 레이블된 제어 신호를 출력한다. 메모리(10)와 결합된 프로세서가 메모리(10)를 구성하는 모드 레지스터 제어 비트들을 저장하는 레지스터들로 구성됨에 유의해야한다.
동작에서, 송수신기(56)의 2선 입력 단자에 직렬로 차동 어드레스 신호 CA/CA*가 제공된다. 송수신기(56)는 어드레스와 제어 데이터를 포함하는 패킷(80)(도 4)을 디코드하고 병렬화한다. 패킷(80)에서 에러가 검출되면, BadRxData 신호가 프로세서를 어서트(assert)하여 어드레스를 재송신하도록 한다. 송수신기에 의한 디코딩과 병렬화 후에, 커맨드 디코더(40)와 어드레스 버퍼(42)의 입력으로 헤더와 어드레스 정보가 제공된다. 어드레스 패킷(80)의 제어 비트(84)에 의해 판정되는 것처럼, 액세스가 읽기 액세스인지 또는 쓰기 액세스인지의 여부에 따라 송수신기(56)에 의해 차동 데이터 신호 RxDQ/RxDQ* 및 TxDQ/TxDQ*가 제공된다. 데이터를 기록하기 위해, 패킷(90)(도 5)이 수신되고, 디코드되고, 병렬화된다. 디코딩과 병렬화는 어드레스 패킷이 프로세스되는 방식과 유사한 방식으로 이루어진다. 어레이(12)로부터 수신된 데이터가 인코드되고, FCS(frame check sequence) 비트는 송수신기(56)에 의해 계산된다. 결과적 패킷은 TxDQ 출력으로 유도된다. 다른 경우, 메모리(10)를 포함하는 패키지된 메모리 디바이스 상에 4개의 핀들(CA/CA* 및 CA CHAIN/CA CHAIN*)에 대한 필요성을 선택적으로 삭제하여, RxDQ/RxDQ*와 동일한 2선 단자에서 직렬 어드레스와 데이터 패킷들이 제공되거나 또는 수신될 수 있다. 일 실시예에서, 이 구성은, 직렬 어드레스 또는 직렬 데이터를 멀티플렉스된(multiplexed) 직렬 차동 어드레스 및 데이터로 재구성하기 위해 모드 레지스터(46)의 레지스터 비트를 할당하여 이루어질 수 있다. 시간 슬롯 기반으로 2선 단자로 데이터와 어드레스 패킷들이 제공될 것이다. 이 구성은 CA/CA* 및 CA CHAIN/CA CHAIN*와 연관된 어드레스 버스들에 전력공급이 중단되도록 할 것이다. 이 어드레스와 데이터의 멀티플렉싱은 추가 지연의 대가로 전력을 감소시킬 것이다. 어드레스 버퍼(42)의 제2 입력 단자에 DC ADDRESS가 제공된다. 복수 개의 집적 회로 메모리(10)가 메모리 모듈에서 함께 체인될 때, 어느 메모리 집적 회로가 액세스되고 있는지를 식별하기 위해, 그리고 액세스를 위해 메모리를 인에이블하기 위해, 도 6의 논의에서 나중에 설명되는 것처럼, DC ADDRESS가 사용된다. 어드레스 신호 헤더 정보의 일 비트는, 메모리가 정상 모드 또는 캐시 라인 모드에서 동작하는지의 여부를 판정한다. 다른 실시예에서, 모드 레지스터의 일 비트는, 메모리가 캐시 라인 모드 또는 정상 모드에서 동작하는지의 여부를 판정한다.
메모리(10)가 캐시 라인 모드에서 동작할 때, 직렬 DQ 단자 또는 핀을 통해 전체 캐시 라인을 읽거나 쓰기 위해 한 개의 어드레스가 사용된다. 메모리(10)가 정상 모드에서 동작할 때, 한 위치를 액세스하기 위해, 그리고, 예를 들어, 8 비트 또는 16 비트 버스트와 같은, 일반 버스트 길이로 액세스를 시작하기 위해, 한 개 의 어드레스가 사용된다. 직렬 동작에서는, 더 긴 버스트가 더 효율적이다. 캐시 라인을 위한 버스트 길이와 정상 버스트 길이는 도 4의 헤더 제어 비트(84)의 제어 비트를 설정하여 선택된다. 모드 레지스터 설정 동안에, 어드레스 버퍼에서 모드 레지스터(46)로 직렬 어드레스 신호 CA/CA*가 전달된다. 어드레스 패킷으로부터의 제어 비트(84), 그리고 캐시 라인 버스트 길이를 선택하는 비트를 포함하는, 어드레스 정보의 위치에 제공되는 동작코드(opcode)에 응답하여, 모드 레지스터(46)가 설정된다. 일 실시예에서, 모드 레지스터(46)의 확장 모드 레지스터(70)(도 3)에 캐시 라인의 길이가 설정된다. 확장 모드 레지스터(70)는 아래 더 상세히 설명될 것이다. 버스트 카운터(48)에서 비트 수를 설정하기 위해 모드 신호 MODE가 제공된다. 또한, 신호 발생기(44)를 제어하기 위해 MODE 신호가 제공된다. 제어 신호 발생기(44)는, MODE 신호에 기초하여, 행 디코더(22, 24, 26, 28), 열 디코더(30, 32, 34, 36), 리프레시 카운터(60, 62, 64, 66), 클럭 카운터(58), 그리고 데이터 제어 및 래치 회로(50)의 동작을 제어하기 위해 CONTROL SIGNALS 신호를 제공한다. 어드레스 버퍼(42)는 어드레스 신호 ROW ADDRESS와 COLUMN ADDRESS를 제공한다. ROW ADDRESS 신호와 COLUMN ADDRESS 신호는 메모리 셀 어레이(12)의 위치를 선택하여 동작 모드에 따라서 캐시 라인 버스트 또는 정상 버스트를 시작한다.
캐시 라인 버스트 동안에, 선택된 뱅크의 2개의 메모리 서브뱅크, 예를 들어, 메모리 셀 뱅크(14)의 2개의 동일 부분 또는 어레이 절반(15, 17) 사이에 버스트 데이터가 인터리브된다. 데이터는 선택된 뱅크 내에서 인터리브되어, 데이터가 버스트되는 동안에 액세스되지 않는 어레이 절반에서 리프레시 동작을 하도록 한 다. 예를 들어, 캐시 라인이 캐시 라인 읽기 동작에서 어레이(14)로부터 버스트되고 있으면, 캐시 라인을 채우기 위한 읽힌 데이터는 뱅크(14)의 서브뱅크(15, 17)로부터 교대로 버스트된다. 더 구체적으로, 256 비트 캐시 라인 버스트의 경우, 서브-어레이(15)로부터 128 비트가 버스트되고, 서브-어레이(17)로부터 128 비트가 버스트된다. 그 데이터는 데이터 제어 및 래치 회로(50)를 통해 메모리 어레이(12)로부터 제공된다. 데이터 제어 및 래치 회로(50)는, 읽기 데이터 버퍼(52)로 데이터를 제공하기 전에, 타이밍과 추가 어드레스 디코딩을 제공한다. 읽기 데이터 버퍼(52)는 송수신기(56)에게 데이터를 제공한다. 데이터를 인코딩하고 직렬화한 후, 송수신기(56)는 메모리(10)로부터 출력하기 위해 직렬 차동 데이터 패킷을 제공한다. 유사하게, 송수신기(56)는 인입 데이터를 프로세스하고, 쓰기 데이터 버퍼(45)로 병렬화된 데이터를 전달한다. 데이터 패킷은 도 5에 도시된 형식을 사용하여 송수신기(56)를 통해 직렬로 입력 또는 출력된다.
메모리(10)는 완전 자동 히든 리프레시 또는 일반 리프레시를 사용하는 선택을 제공한다. 캐시 라인 모드 동안에 자동 히든 리프레시 선택이 인에이블되었는지의 여부를 선택하기 위해 확장 모드 레지스터의 일 비트가 사용된다. 다른 경우, 정상 리프레시 모드가 사용된다. 도시된 실시예에서, 캐시 라인 모드에 메모리가 있을 때, 단지 히든 리프레시만이 선택으로서 사용가능하다. 히든 리프레시 모드에서, 다른 뱅크에서 캐시 라인 버스트가 발생하는 동안, 메모리 셀의 한 개 이상의 뱅크가 리프레시된다. 또한, 현재 읽거나 쓰고 있지 않은 절반 뱅크에서 리프레시가 이루어질 수 있다. 뱅크 절반들의 사용은 뱅크가 리프레시될 수 없는 데이터 패턴들의 가능성을 감소시키거나 또는 삭제한다. 일부 또는 모든 다른 뱅크가 사용되지 않는 다른 모드들에서, 히든 리프레시는 방해되지 않고 계속될 수 있다. 환언하면, 히든 리프레시는 일 뱅크 절반을 리프레시하는 동안에 다른 뱅크 절반을 읽거나 또는 써서 이루어진다.
DRAM에서, 메모리 셀 커패시터로부터의 전하 누설뿐만이 아니라, FET(field-effect transistor) 접합 누설도 온도에 따라 변한다. 그러므로, 온도가 증가함에 따라, 메모리 셀들은 더 빈번히 리프레시될 필요가 있을 것이다. 확장 모드 레지스터(70)의 RMC(refresh maximum clocks)로 레이블된 비트 필드(76)에 완전 리프레시를 위해 클럭의 최대수를 설정하여 제조자의 명시된 리프레시 레이트로부터 메모리(10)의 리프레시 레이트가 변경될 수 있다. 비트 필드(76)에 설정하기 위한 값은, 예를 들어, 그래프 표시 리프레시 레이트에 대한 온도와 전압에 의해 결정될 수 있다. 메모리 제조자는 그래프를 제공하여 리프레시 레이트가 조절되도록 할 필요가 있다.
메모리(10)와 연관된 프로세서는 완전 리프레시를 위해 클럭 사이클의 최대수를 등록할 것이고, 확장 모드 레지스터의 설정시에 메모리의 정보를 전송할 것이다. 이것은 특정 온도와 전압에서 최적의 리프레시 레이트에 메모리를 리프레시하는 이점을 제공한다. 또한, 이것은 메모리가 필요한 만큼만 빈번하게 리프레시되도록 하여 특정 온도에 대해 신뢰성이 있는 데이터 저장을 제공한다. 또한 최대 리프레시 시간에 따라서 저장된 부분들에 대한 최악의 경우의 온도, 전압, 및 프로세스 변화에 기초하여 고정된 더 높은 리프레시 레이트를 사용하는 메모리와 비교 하여, 더 적은 리프레시 사이클은 메모리 전력 소비를 더 낮출 것이다.
"READY/HOLD"로 레이블된 레디/홀드 신호는 프로세서 읽기/쓰기를 중지하기 위해 선택적으로 제공되어, 데이터 관리가 열등하고 리프레시 레이트가 불충분하면 정상 자체 리프레시를 하도록 한다. 각 뱅크에 대한 리프레시 동작은 메모리 어레이(12)의 뱅크(20, 18, 16, 14)에 대응하여 리프레시 카운터(60, 62, 64, 66)에서 카운트된다. 예를 들어, 메모리 셀 어레이(14)는 행 디코더(22)를 통해 리프레시 카운터(66)와 결합된다. 리프레시 카운터(60, 62, 64, 66)는 리프레시 동작의 수를 카운트하고, 그들 각각의 메모리 셀 어레이(20, 18, 16, 14)에 리프레시 어드레스를 공급한다. 워드 라인 카운터는 뱅크에서 최대 어드레스에 초기화되고, 하위 어드레스로 카운트 다운된다. 클럭 카운터는 RMC 값으로 초기화된다. 리프레시 카운터(60, 62, 64, 66)의 값들은, 레디 제어 및 버퍼(68)의 비교기를 사용하여 클럭 카운터(58)의 값과 비교된다. 각 뱅크의 리프레시 갱신 동작의 완료를 위해 남은 사이클의 수는, READY/HOLD 신호의 제어를 위한 리프레시를 완료하기 위해 필요로 되는 클럭 카운터(58)에 남은 클럭의 수와 비교된다. 리프레시를 종료하기 위해 남은 임의의 리프레시 카운터(60, 62, 64, 66)의 카운트 값이 비트 필드(76)에 저장된 RMC 값에 의해 초기화되는 카운터의 클럭 카운트 수와 같거나 또는 선택적으로 근접하면, READY/HOLD 신호가 어설트되어서, 프로세서의 읽기 또는 쓰기 동작을 중지시켜서, 클럭 카운터(58)의 카운트가 완료되기 전에, 리프레시 동작이 완료되도록 한다. 클럭 카운터(58)와 리프레시 카운터들은 클럭 카운트의 완료시에 시작 상태로 모두 리셋(reset)된다.
도 2는 도 1의 메모리의 송수신기(56)를 블럭도 형태로 나타낸다. 송수신기(56)는 수신 경로(107)와 송신 경로(109)를 포함한다. 수신 경로(107)는, 수신기 증폭기(110), 적응적 등화기(adaptive equalizer;112), 비직렬화기 및 클럭 복구(de-serializer and clock recovery;114), 디코더(116), 디임베더(de-embedder;118), 및 수신기 PLL(receiver phase-locked loop;120)를 포함한다. 송신 경로(109)는 송신기 증폭기(122), 직렬화기(124), 인코더(126), 임베더(128), 및 송신기 PLL(130)을 포함한다.
직렬 상호접속의 사용은 비교적 낮은 핀 카운트를 갖는 집적 회로의 이점을 제공한다. 또한 직렬 상호접속의 사용은, 병렬 상호접속을 갖는 집적 회로보다 비교적 더 낮은 전력 소비를 하는 집적 회로를 제공할 수 있다. 그러나, 직렬 고속 데이터 링크 또는 상호접속의 사용은 데이터의 신뢰성이 있는 전송을 보장하기 위해 적어도 일부 신호 프로세싱과 오버헤드(overhead)를 요구한다. 일 실시예에 따르면, 소스 동기 고속 직렬 링크는 물리층 인터페이스(physical layer interface), 즉, 전기적 인터페이스와 메모리-대-메모리(memory-to-memory) 제어기 링크 프로토콜에서 정의된다. 직렬 링크는 패킷, 인밴드(in-band) 제어 심볼, 및 인코딩된 데이터를 사용하여, 수신 링크 상대편에 정보를 제공한다. 정보는, 예를 들어, 패킷의 시작과 끝 비트, 특정 제어 심볼, 사이클 리던던시 체크(cycle redundancy check), 메모리 어드레스, 및 메모리 데이터를 포함할 수 있다. 개방 시스템 인터페이스(Open System Interface;OSI) 용어를 사용하면, 링크는 PCS(Physical Coding sublayer)와 PMA(Physical Media Attachment) 서브층을 사용하여, 링크의 송신 끝 에 직렬 비트 스트림에 패킷을 두고, 링크의 수신 끝에서 그 비트 스트림을 추출해낸다. PCS는 데이터 인코딩을 사용하여, 링크를 통해 송신과 수신하는 데이터를 인코딩하고 디코딩한다. 송신 코딩의 일례로는, 데이터의 각 바이트(byte)가 연속되는 1이나 0의 최대수가 5인 10 비트 DC 균형잡힌 스트림(같은 수의 1과 0)으로 변환되는 Fibre Channel(X3.230)과 Gigabit Ethernet(IEEE 802.3z)에 정의된 8b/10b 코더/디코더가 있다. 10 비트 스트림의 각각이 "충분한" 신호 천이를 가져서, 클럭 복구를 하도록 하고, 6개의 1과 4개의 0을 갖는 코드 뒤에는 6개의 0과 4개의 1을 갖는 코드가 오도록 하고 그 반대도 성립하도록 하는 것을 보장하기 위해 코드의 리던던시가 사용된다. 이 이유로, 각 8 비트 그룹은 그것을 나타내는 2개의 10 비트 코드-그룹을 갖는다. 10 비트 코드 그룹들 중의 하나는 0보다 많은 1을 갖는 "실행 불균형(running disparity)"을 균형잡히게 하기 위해 사용되고, 다른 하나는 실행 불균형이 1보다 많은 0을 가질 때 사용된다. 남은 10 비트 코드-그룹 중의 선택된 몇개가 제어/커맨드 코드로서 사용되고, 나머지는, 검출되면, 전송 에러를 나타내야 하는 무효 코드들로서 검출될 것이다. 코마 문자(comma characters)로서 불리는 10 비트 코드-그룹 내의 특별한 7 비트 패턴들(0011111XXX과 1100000XXX)은, 단지 몇 개의 커맨드 코드들로만 발생하고, 클럭 동기화와 워드 배열을 인에이블하기 위해 사용된다. PCS는 또한 휴지 시퀀스(idle sequence), 인코딩 측에서 심볼 배열, 및 수신 측에서 데이터와 워드 배열의 재구성을 추가하기 위해 사용될 수 있다. PMA 서브층은 10-비트 코드-그룹들의 직렬화와 비직렬화를 수행한다. PMA 서브층은 또한, 클럭 복구와, 10-비트 코드-그룹 경계로 수신된 비 트 스트림의 배열을 수행할 수 있다.
본 발명에 따른 메모리 시스템은, IEEE 802.3 XAUI 정의된 인터페이스와 초당 10 Gbits 이더넷 인터페이스와 같은 다른 고속 직렬 인터페이스들에서 사용되는 것들과 유사한 차동 전류 구동 드라이버를 사용한다. 본 발명의 일 실시예에 따른 인터페이스가 칩-대-칩(chip-to-chip) 접속을 위해 기본적으로 의도되었으므로, 송수신기(56)에 의해 사용되는 전체 전력이 비교적 낮도록 낮은 피크-대-피크(pick-to-pick) 전압 진동이 사용된다.
송수신기(56)는 물리적 매체로부터 인입하는 어드레스, 데이터, 및 제어 심볼들을 수신하여 디코딩하는 수신 경로(107)와, 물리적 매체로 어드레스, 데이터, 및 제어 심볼들을 인코딩하여 송신하는 송신 경로(109)를 포함한다. 수신 경로(107)는 AC 결합을 사용하여, 다른 물리적 구성 및/또는 다른 기술을 사용하는 드라이버와 수신기 사이에 상호동작하도록 보장한다. 수신기 증폭기(110)는 온칩(on-chip) 소스 종료 임피던스를 가로질러 차동 신호를 감지한다. 수신 증폭기(110)의 출력은 적응적 등화기(112)에 제공된다. 적응적 등화기(112)는 물리적 매체에 의한 수신된 신호의 왜곡(distortion)을 보상한다. 등화(equalization) 후, 비직렬화기 및 클럭 복구(114)의 클럭 복구 블럭은 직렬 데이터를 제공받고, 그 데이터 천이를 사용하여 클럭을 발생시킨다. 타이밍 레퍼런스(timing reference)(예를 들어, PLL(a phase-locked loop))는 저 주파수의 레퍼런스 클럭 REF CLK을 제공받아서, 수신된 신호 천이에 의해 결정되는 주파수의 고 주파수 클럭 Rx CLK를 발생시킨다. 그 다음, 수신기 복구된 클럭 Rx CLK는 수신 경로(107) 에서 남은 기능을 위한 타이밍 레퍼런스로서 사용될 수 있다. 적응적 등화기(112)의 출력은 비직렬화기 및 클럭 복구(114)에 제공된다. 이 블럭은 수신된 신호의 직렬-대-병렬(serial-to-parallel) 변환을 수행한다. 이 시점에서, 수신기 신호는 여전히 인코딩된다. 디코더(116)는 신호의 디코딩을 수행한다. 8b/10b 코드화된 신호의 경우, 비직렬화기(114)를 떠나는 각 10 비트 코드-그룹은 8 비트 데이터 코드-그룹(메모리 어드레스 또는 메모리 데이터) 또는 제어 심볼로 디코딩된다. 디코더(116)는 수신된 스트림에서 공통 패턴을 검색하는 패턴 검출기를 가지며, 이것을 사용하여 데이터 스트림 워드 경계들과 클럭 신호 Rx CLK를 동기화시킨다. 디임베더(118)에 어드레스, 데이터, 및 제어 심볼이 제공된다. 디임베더(118)는 탄성 버퍼를 사용하여 수신기 클럭 도메인으로부터 메모리 클럭 도메인(Tx CLK)으로의 통신을 하도록 한다. 디임베더(118)는 적절한 제어 응답을 발생시키고, 데이터와 어드레스를 원하는 버스 폭으로 그룹화한다. 그 다음, 이들 신호는 송수신기(56)를 떠나서 쓰기 데이터 버퍼(54), 커맨드 디코더 버퍼(40), 및 어드레스 버퍼(42)로 전달된다. 무효 코드가 검출될 때 또는 프레임 체크 시퀀스 에러(frame check sequence error)가 검출되면, 송수신기 BadRxData 신호가 활성화되어서, 송신 프로세서에게 어럴트(alert)하여 데이터를 재송신하도록 한다. 도 4와 도 5에 도시된 프레임 체크 시퀀스(FCS)는, 사이클 리던던시 체크섬(cyclic redundancy checksum;CRC)을 사용하여 전송 에러를 검출하는 패킷의 필드이다. 체크섬은 수학적 알고리즘을 사용하여 발생되고, 패킷에 첨부된다. CRC 값은 메시지 컨텐츠에 기초한다. 수신기(56)는 수신된 패킷의 CRC를 재계산하고, 그것과 첨부된 CRC를 비교한다. 값들이 매칭되면, 메시지에 에러가 없다고 가정된다.
송수신기(56)의 송신기 경로(109)는 그것 자체의 클럭 발생기 블럭(130)을 갖는다. 송신기 PLL(130)은 기본적으로, 레퍼런스 클럭 REF CLK를 제공받고 훨씬 더 높은 주파수 레이트의 클럭 신호 Tx CLK를 발생시키는 클럭 승산기이다. 그 다음, 송신기 클럭 Tx CLK는 송신 경로에서 남은 기능들을 위해 그리고 메모리(10)의 남은 블럭들에 의해 타이밍 레퍼런스로서 사용될 수 있다. 어드레스, 데이터, 및 제어 심볼 워드 임베더(128)는 어드레스 버퍼(42), 읽기 데이터 버퍼(52), 커맨더 디코더 버퍼(40)로부터 그것의 입력을 수신하고, 패킷으로부터 제어 정보를 수신한다. 인코더(126)는 사용되는 적절한 코딩 방법으로 전송될 스트림을 인코딩하고, CRC의 인코딩을 포함하여 수신되었을 때 패킷의 정확성을 결정하도록 한다. 8b/10b 인코더의 경우, 인코더(126)는, DC 균형을 보장하는 실행 불균형을 관리하는 적절한 10-비트 코드-그룹들로 8-비트 그룹들의 각각을 인코딩할 것이다. 직렬화기(124)로 인코더의 출력이 제공된다. 직렬화기(124)는 송신 데이터 스트림의 병렬-대-직렬(parallel-to-serial) 변환을 수행한다. 그 다음, 송신기 증폭기(122)로 이 직렬화된 데이터 스트림이 제공된다. 일 실시예에서, 송신기 증폭기(122)는 차동 전류 구동 드라이버로서 구현될 수 있다.
도 3은, 도 1의 메모리(10)의 모드 레지스터(46)의 확장 모드 레지스터(10)를 블럭도 형태로 도시한다. 확장 모드 레지스터(10)는, 동작의 캐시 라인 폭 모드를 선택하고 한 개의 버스트 동안에 메모리(10)로부터 읽히거나 쓰이는 데이터의 폭을 선택하기 위해 "CLW(Cache Line Width)"로 레이블된 비트 필드(72)를 갖는다. 예로써, 도시된 실시예에서, 3개의 다른 폭들 중에 하나를 선택하기 위해 2개의 비트들이 사용된다. 비트 필드(72)의 [0, 0]의 값은, 캐시 라인 모드가 선택되었고 128 비트의 버스트 길이를 가짐을 나타낼 수 있다. 또한, 비트 필드(72)의 [0. 1]의 값은, 캐시 라인 모드가 선택되었고 256 비트의 버스트 길이를 가짐을 나타낼 수 있다. 유사하게, 비트필드(72)의 [1, 0]의 값은, 캐시 라인 모드가 선택되었고 512 비트의 버스트 길이를 가짐을 나타낼 수 있다. 정상 모드에서 메모리(10)를 사용하기 위해서, 비트 필드(72)는 [1, 1]의 값을 가질 수 있다. 당업자라면, 비트 필드(72)가 더 큰 또는 더 작은 캐시 라인 폭을 허용하기 위해 다른 비트 수를 포함할 수 있고, 선택되는 특정 캐시 라인 폭은 다를 수 있음을 쉽게 인식할 것이다. 또는, 비트들은 다른 조합으로 사용되어서 설명된 폭을 선택할 수 있다. 예를 들어, [1, 1] 대신에 [0, 0]이 사용되어서, 메모리가 캐시 라인 모드 대신에 정상 모드에서 동작함을 나타낼 수 있다. 더 많은 선택을 제공하기 위해 추가 비트들이 사용될 수 있다.
비트 필드(74)는 선택적 비트 필드이고, 완전 히든 리프레시 모드와 일반 리프레시 모드 사이에 선택을 위해 일 비트를 포함한다. 다른 실시예에서, 도 4의 비트 필드(84)의 제어 비트들에 히든 리프레시 제어 비트를 포함하여 히든 리프레시 모드가 선택될 수 있다. 완전 히든 리프레시 모드는 캐시 라인 모드 동안에만 사용될 수 있지만, 일반 리프레시 모드는 캐시 라인 모드와 정상 모드 동안에 사용될 수 있다.
설명된 실시예에서, 비트 필드(76)는 RMC(refresh maximum clocks)를 저장하 기 위해 8 비트를 포함한다. RMC는 히든 리프레시 모드 동안에 사용되어서 리프레시 기간을 정의한다. 비트 필드(76)에 저장된 RMC 카운트의 수가 도달되기 전에, 모든 메모리 셀이 리프레시되어야 한다. 메모리가 동작하기가 기대되는 주위 온도가 비교적 낮거나, 또는 동작 전압이 명시된 최대 전압 아래이면, 리프레시 레이트는, 제조자의 메모리에 대한 사양에 의해 정의되는 리프레시 레이트보다, 종종 크기의 한 등급이상만큼, 더 길 수 있다. 리프레시 레이트를 감소시키는 것은 배터리로 전력이 공급되는 어플리케이션을 위한 전력 소비를 감소시킬 수 있다.
도 4는 도 1의 메모리를 위한 직렬 어드레스 패킷(80)을 블럭도 형태로 나타낸다. 직렬 어드레스 패킷(80)은 프로세서에 의해 저 전압 차동 신호 CA/CA*로서 메모리(10)에 제공된다. 어드레스 패킷(80)에서, 비트 필드(82)는 패킷의 시작을 정의하는 비트들을 포함한다. 비트 필드(84)는 메모리 동작을 설정하는 복수 개의 제어 비트를 포함한다. 예를 들어, 메모리가 읽기 또는 쓰기를 위해 액세스되어야 하는지의 여부를 판정하기 위해 한 개의 비트가 사용될 수 있다. 또한, 상술된 자동 히든 리프레시 모드가 사용되는지의 여부를 판정하기 위해 비트 HR을 위해 한 개의 비트가 사용될 수 있다. 도 6에 도시된 것처럼 한 개 이상의 메모리가 함께 체인될 때 어느 메모리가 액세스되고 있는지를 지정하기 위해 "DC 어드레스"로 레이블된 2개의 비트들을 비트 필드(86)가 포함한다. 도시된 실시예에서, 비트 필드(86)의 2개의 비트는, 예를 들어, 개인용 컴퓨터를 위한 메모리 모듈에서 사용하기 위해 4개의 집적 회로 메모리까지 체인되도록 한다. 다른 실시예들에서, 비트 필드(86)에 추가 비트들을 포함하는 것은 4개 이상의 집적 회로 메모리가 함께 체 인되도록 할 것이다. 예를 들어, 3개의 비트는 8개까지의 집적 회로 메모리가 함께 체인되도록 할 것이다. 상술된 것처럼, 비트 필드(85)는 FCS 비트를 저장하기 위한 것이다. 비트 필드(88)는 비트 필드(86)에 의해 선택되는 메모리에서 액세스되는 어드레스를 저장하기 위한 것이다. 비트 필드(88)의 비트 수는 메모리 셀의 수와 메모리 구조에 따른다. 비트 필드(89)는 어드레스 패킷의 끝을 나타내는 "끝 비트(End Bits)"를 포함한다.
도 5는 도 1의 메모리를 위해 직렬 데이터 패킷(90)을 블럭도 형태로 나타낸다. 데이터 패킷(90)은, 어드레스 패킷(80)과 동시에 저 전압 차동 신호 RxDQ/RxDQ*로서 메모리(10)로 전송된다. 데이터 패킷(90)에서, 비트 필드(91)는 데이터 패킷의 시작을 나타내는 비트들을 포함한다. 메모리 동작이 읽기 또는 쓰기를 위한 것인지의 여부에 따라, 비트 필드(92)는 읽기 데이터 또는 쓰기 데이터를 포함한다. 비트 필드(92)에 포함된 데이터 비트 수는 임의의 수일 수 있다. 일 실시예에서, 데이터 비트 수는 캐시 라인 폭과 동일하다. 비트 필드(93)는 데이터 패킷의 끝 비트들을 포함한다. 비트 필드(94)는 도 2의 논의에서 상술된 것처럼 FCS 비트들을 포함한다.
도 6은 도 1의 메모리와 구현되는 메모리 시스템(100)을 블럭도 형태로 나타낸다. 메모리 시스템(100)은 프로세서(108)와 결합되고, 메모리(10, 102, 104, 106)를 포함한다. 메모리(102, 104, 106)의 각각은 도 1 내지 도 5에서 도시되고 상술된 것처럼 메모리(10)와 유사하다. 메모리 시스템(100)에서, 메모리(10)는, 프로세서(108)로부터 차동 어드레스 신호 CA/CA*를 수신하는 입력과, 프로세 서(108)와 메모리 시스템(100) 사이에 차동 데이터 신호 TxDQ/TxDQ* 및 RxDQ/RxDQ*를 전송하는 양방향 단자를 갖는다. 또한, 메모리(10)는, 메모리(102)의 어드레스 입력으로 차동 어드레스 신호 CA CHAIN/CA CHAIN*를 제공하는 출력과, 메모리(10)와 메모리(102)의 단자들 사이에 차동 데이터 신호 TxDQ CHAIN/TxDQ CHAIN*를 전송하는 단자들을 갖는다. 메모리(102)는 메모리(104)의 어드레스 입력으로 차동 어드레스 신호 CA1 CHAIN/CA1 CHAIN*를 제공하는 출력과, 메모리(104)의 단자의 데이터로(부터) 데이터 신호 TxDQ1 CHAIN/TxDQ1 CHAIN*와 RxDQ1 CHAIN/RxDQ1 CHAIN*를 통신하는 단자들을 갖는다. 유사하게, 메모리(104)는, 메모리(106)의 어드레스 입력으로 어드레스 신호 CA2 CHAIN/CA2 CHAIN*와, 메모리(104, 106)의 양방향 단자들 사이에 데이터 신호 TxDQ2 CHAIN/TxDQ2 CHAIN*와 RxDQ2 CHAIN/RxDQ2 CHAIN*를 통신한다.
어드레스와 데이터를 수신할 때와 체인에서 다음 메모리로 데이터를 전송할 때, 체인된 메모리는 수신 경로와 송신 경로에 제공된 모든 기능들을 사용할 필요는 없다. 예를 들어, CA/CA*에서 수신되는 직렬 어드레스는 수신기 증폭기(110)를 통해 전달되고 적응적 등화기(112)를 사용하고, 그 다음 직접적으로 송신기 증폭기(122)로 그리고 CA CHAIN/CA CHAIN*로 나갈 수 있다. 송신기 증폭기의 기능은 수신기 클럭을 사용하여 수행된다. 유사하게, RxDQ/RxDQ*는 수신되어 적응적 등화기(112)를 거쳐 RxDQ CHAIN/RxDQ CHAIN*를 통해 송신기 증폭기(122)로 재송신될 수 있다. 도 6에 도시된 것처럼, 체인의 위치에 기초하여, 메모리의 각각에 대해 어드레스 지연과 CAS(Column Address Strobe) 지연이 조절된다.
메모리(10, 102, 104, 106)의 각각은 2-비트 칩 어드레스 신호 DC ADDRESS를 수신하는 2개의 입력을 갖는다. 도 6에 도시된 것처럼, 2-비트 어드레스의 값은 메모리 시스템(100)의 각 메모리에 대해 고유하다. 예를 들어, 메모리(10)는 [0, 0]의 DC ADDRESS가 할당되고, 메모리(102)는 [0, 1]의 DC ADDRESS가 할당되고, 메모리(104)는 [1, 0]의 DC ADDRESS가 할당되고, 메모리(106)는 [1, 1]의 DC ADDRESS가 할당된다. 예로써, 어드레스 패킷(80)이 프로세서(108)로부터 비트 필드(86)의 [1, 0]으로 통신될 때, 비트 필드(88)로부터 어드레스를 수신하기 위해 메모리(104)가 액세스된다(도 4 참조). 복수 개의 직렬 차동 신호 CA/CA*의 형태로 메모리(10)의 차동 어드레스 입력 단자들로 어드레스 패킷(80)이 제공된다. 어드레스 패킷(80)은, 메모리(10)에 차동 신호 CA CHAIN/CA CHAIN*로서 존재하는 어드레스 버퍼(42)로 제공되고, 메모리(102)의 어드레스 입력 단자로 제공된다. 어드레스 패킷은 유사 방식으로 다른 메모리들의 각각으로 제공된다. 어드레스 패킷에 응답하여, 메모리(104)는 읽기 동작 동안에 프로세서(108)로 데이터 패킷(90)을 제공하거나, 또는 쓰기 동작 동안에 프로세서(108)로부터 데이터 패킷(90)을 수신할 것이다. 예를 들어, 메모리 액세스가 메모리(104)로부터의 읽기 동작이면, 프로세서(108)로 메모리(102, 10)를 통해 데이터 패킷이 제공될 것이다. 직렬 어드레스와 데이터 신호가, 예를 들어, 초당 2 Gbits 이상으로와 같이, 매우 고속으로 클럭킹되고 있으므로, 데이터는 비교되는 일반 DRAM보다 더 낮은 전력 소비로 매우 빠르게 제공될 수 있다.
프로세서(108)는, 메모리(10, 102, 104, 106)를 초기화하기 위해 그리고 메 모리(10, 102, 104, 106)와 공유되는 버스를 적절히 구동하기 위해, 메모리(10, 102, 104, 106)의 인터페이스와 레지스터와 유사한 인터페이스와 레지스터를 포함해야 한다.
당업자라면, 설명 목적을 위해 본 명세서에서 선택된 실시예들로의 다양한 변경과 수정이 쉽게 이루어질 수 있음을 이해할 것이다. 본 발명의 범위로부터 그런 수정과 변경이 벗어나지 않는 정도까지, 그것들은 다음 청구항들의 올바른 해석에 의해서만 평가되는, 그것의 범위 내에 포함되도록 의도된다.

Claims (10)

  1. 복수의 메모리 뱅크를 갖는 집적 회로 메모리에 액세스하기 위한 방법으로서,
    상기 복수의 메모리 뱅크 중 하나에 액세스하기 위한 초기 어드레스를 제공하는 단계; 및
    상기 집적 회로 메모리의 단일 액세스동안, 상기 초기 어드레스에 기초하여 상기 집적 회로 메모리로부터 캐시 라인을 직렬로 버스팅(bursting)하는 단계를 포함하는 방법.
  2. 제1항에 있어서,
    상기 복수의 메모리 뱅크중 하나의 뱅크는 2개의 서브-뱅크로 분할되고,
    상기 집적 회로 메모리로부터 캐시 라인을 버스팅하는 단계는 상기 2개의 서브-뱅크간에 버스트를 인터리빙(interleaving)하는 것을 포함하는 방법.
  3. 제2항에 있어서,
    상기 캐시 라인의 버스팅 동안, 상기 2개의 서브-뱅크 중 하나의 서브-뱅크에 리프레시(refresh) 동작이 발생하는 반면, 상기 2개의 서브-뱅크 중 다른 서브-뱅크는 액세스되는 방법.
  4. 제1항에 있어서,
    제어 레지스터내에 캐시 라인 모드 비트를 설정하여 상기 캐시 라인의 버스팅을 인에이블링하는 단계를 더 포함하는 방법.
  5. 제1항에 있어서,
    상기 캐시 라인의 폭을 결정하기 위해 모드 레지스터 비트 필드내의 적어도 하나의 비트를 이용하는 단계를 더 포함하는 방법.
  6. 제5항에 있어서,
    상기 비트 필드는 버스트 카운터내의 카운트 값을 설정하는데 이용되는 방법.
  7. 집적 회로 메모리로서,
    캐시 라인 버스트 모드 비트를 저장하기 위한 제1 모드 레지스터 비트 필드;
    캐시 라인 버스트의 길이를 저장하기 위한 제2 모드 레지스터 비트 필드;
    복수의 메모리 셀의 뱅크를 갖는 메모리 어레이; 및
    상기 메모리 어레이내의 위치(location)에 액세스하기 위한 어드레스를 수신하기 위한 어드레스 단자를 포함하고,
    상기 어드레스의 수신에 응답하여, 상기 메모리 어레이로부터 캐시 라인이 읽혀지는 집적 회로 메모리.
  8. 제7항에 있어서,
    상기 복수의 메모리 뱅크중 하나의 뱅크는 2개의 서브-뱅크로 분할되고,
    상기 2개의 서브-뱅크간에 버스트를 인터리빙하여 상기 집적 회로 메모리로부터 상기 캐시 라인이 버스팅되는 집적 회로 메모리.
  9. 제7항에 있어서,
    버스트 카운터를 더 포함하고,
    상기 제2 모드 레지스터 비트 필드는 상기 버스트 카운터내의 카운트 값을 설정하는데 이용되는 집적 회로 메모리.
  10. 제7항에 있어서,
    상기 어드레스 단자는 어드레스를 직렬로 수신하기 위한 것인 집적 회로 메모리.
KR1020067027266A 2004-05-26 2005-04-28 캐시 라인 메모리 및 그 방법 KR20070027616A (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/854,314 US20050268022A1 (en) 2004-05-26 2004-05-26 Cache line memory and method therefor
US10/854,314 2004-05-26

Publications (1)

Publication Number Publication Date
KR20070027616A true KR20070027616A (ko) 2007-03-09

Family

ID=35426726

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020067027266A KR20070027616A (ko) 2004-05-26 2005-04-28 캐시 라인 메모리 및 그 방법

Country Status (5)

Country Link
US (1) US20050268022A1 (ko)
JP (1) JP2008500676A (ko)
KR (1) KR20070027616A (ko)
CN (1) CN1954300A (ko)
WO (1) WO2005119456A1 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8693269B2 (en) 2011-08-08 2014-04-08 Samsung Electronics Co., Ltd. Memory device for managing timing parameters
KR101412072B1 (ko) * 2011-08-08 2014-06-26 삼성전자주식회사 히든 타이밍 파라미터들을 관리하는 메모리 장치

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8745011B2 (en) * 2005-03-22 2014-06-03 International Business Machines Corporation Method and system for scrubbing data within a data storage subsystem
US7184327B2 (en) * 2005-04-14 2007-02-27 Micron Technology, Inc. System and method for enhanced mode register definitions
JP2007035151A (ja) * 2005-07-26 2007-02-08 Elpida Memory Inc 半導体メモリ装置およびメモリシステムのリフレッシュ制御方法
US7376020B2 (en) * 2005-12-13 2008-05-20 Microchip Technology Incorporated Memory using a single-node data, address and control bus
JP5157207B2 (ja) 2007-03-16 2013-03-06 富士通セミコンダクター株式会社 半導体メモリ、メモリコントローラ、システムおよび半導体メモリの動作方法
US8463997B2 (en) * 2007-08-16 2013-06-11 Samsung Electronics Co., Ltd. Apparatus and method of caching frame
US20110093763A1 (en) * 2008-06-17 2011-04-21 Nxp B.V. Electrical circuit comprising a dynamic random access memory (dram) with concurrent refresh and read or write, and method to perform concurent
US8463979B2 (en) * 2009-09-08 2013-06-11 Ocz Technology Group Inc. Non-volatile storage devices, methods of addressing, and control logic therefor
KR101571991B1 (ko) 2011-12-20 2015-11-25 인텔 코포레이션 2-레벨 메모리 계층구조에서 메모리측 캐쉬의 동적인 부분적 전원 차단
BR112014015051B1 (pt) * 2011-12-21 2021-05-25 Intel Corporation método e sistema para utilizar dicas de liberação de memória dentro de um sistema de computador
US9529727B2 (en) 2014-05-27 2016-12-27 Qualcomm Incorporated Reconfigurable fetch pipeline
US9514800B1 (en) * 2016-03-26 2016-12-06 Bo Liu DRAM and self-refresh method
US11315618B2 (en) 2019-09-04 2022-04-26 Winbond Electronics Corp. Memory storage device and operation method thereof
CN110990302B (zh) * 2019-11-22 2021-11-02 北京云宽志业网络技术有限公司 数据缓存方法、装置、电子设备及存储介质

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3532932B2 (ja) * 1991-05-20 2004-05-31 モトローラ・インコーポレイテッド 時間重複メモリ・アクセスを有するランダムにアクセス可能なメモリ
KR0171930B1 (ko) * 1993-12-15 1999-03-30 모리시다 요이치 반도체 메모리, 동화기억 메모리, 동화기억장치, 동화표시장치, 정지화기억 메모리 및 전자노트
US7681005B1 (en) * 1996-01-11 2010-03-16 Micron Technology, Inc. Asynchronously-accessible memory device with mode selection circuitry for burst or pipelined operation
US6167487A (en) * 1997-03-07 2000-12-26 Mitsubishi Electronics America, Inc. Multi-port RAM having functionally identical ports
US6088760A (en) * 1997-03-07 2000-07-11 Mitsubishi Semiconductor America, Inc. Addressing system in a multi-port RAM having main and cache memories
US6442644B1 (en) * 1997-08-11 2002-08-27 Advanced Memory International, Inc. Memory system having synchronous-link DRAM (SLDRAM) devices and controller
US6226755B1 (en) * 1999-01-26 2001-05-01 Compaq Computer Corp. Apparatus and method for enhancing data transfer to or from a SDRAM system
KR100472723B1 (ko) * 2000-12-26 2005-03-08 주식회사 하이닉스반도체 뱅크 리프레쉬 제어 장치 및 방법
US7149824B2 (en) * 2002-07-10 2006-12-12 Micron Technology, Inc. Dynamically setting burst length of memory device by applying signal to at least one external pin during a read or write transaction
US20050138267A1 (en) * 2003-12-23 2005-06-23 Bains Kuljit S. Integral memory buffer and serial presence detect capability for fully-buffered memory modules
US8060799B2 (en) * 2004-06-11 2011-11-15 Samsung Electronics Co., Ltd. Hub, memory module, memory system and methods for reading and writing to the same

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8693269B2 (en) 2011-08-08 2014-04-08 Samsung Electronics Co., Ltd. Memory device for managing timing parameters
KR101412072B1 (ko) * 2011-08-08 2014-06-26 삼성전자주식회사 히든 타이밍 파라미터들을 관리하는 메모리 장치

Also Published As

Publication number Publication date
CN1954300A (zh) 2007-04-25
JP2008500676A (ja) 2008-01-10
US20050268022A1 (en) 2005-12-01
WO2005119456A1 (en) 2005-12-15

Similar Documents

Publication Publication Date Title
US7474585B2 (en) Memory with serial input-output terminals for address and data and method therefor
EP1751762B1 (en) Automatic hidden refresh in a dram and method therefor
KR20070027616A (ko) 캐시 라인 메모리 및 그 방법
US8826101B2 (en) Memory system and method using a memory device die stacked with a logic die using data encoding, and system using the memory system
CN113553277B (zh) 一种ddr5 sdram的高吞吐率、低延迟phy接口电路装置
US8019907B2 (en) Memory controller including a dual-mode memory interconnect
JP5300732B2 (ja) 高速シリアルバッファを有するメモリシステム
US20140019833A1 (en) Memory system and method
EP2179363B1 (en) System and method for initializing a memory system and memory device and processor-based system using same
JP3763083B2 (ja) 半導体メモリ装置とその読出及び書込方法
US20100169583A1 (en) Multi-port memory device with serial input/output interface
JP4392545B2 (ja) クロッキング回路のデータレートを制御する方法および装置
KR20120049735A (ko) 디-엠퍼시스 기능을 갖는 의사 오픈 드레인 방식의 출력 드라이버, 반도체 메모리 장치 및 그것의 제어 방법
CN110809798B (zh) 用于ddr5存储器装置中数据路径功率节省的系统及方法
US7861140B2 (en) Memory system including asymmetric high-speed differential memory interconnect
US8625385B2 (en) Data capture system and method, and memory controllers and devices
US10593374B2 (en) Memory module
JP4786941B2 (ja) ハブ、メモリモジュール、及びメモリシステムとこれを通じた読み込み方法及び書き込み方法
US20230060813A1 (en) Data Masking for Pulse Amplitude Modulation
US20240111618A1 (en) Multi-level signal reception
KR20150073336A (ko) 메모리 셀 및 이를 포함하는 메모리 모듈

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