KR101020019B1 - 내장형 dram을 위한 리프레시 제어기 및 리프레시 제어 방법 - Google Patents

내장형 dram을 위한 리프레시 제어기 및 리프레시 제어 방법 Download PDF

Info

Publication number
KR101020019B1
KR101020019B1 KR1020090057078A KR20090057078A KR101020019B1 KR 101020019 B1 KR101020019 B1 KR 101020019B1 KR 1020090057078 A KR1020090057078 A KR 1020090057078A KR 20090057078 A KR20090057078 A KR 20090057078A KR 101020019 B1 KR101020019 B1 KR 101020019B1
Authority
KR
South Korea
Prior art keywords
refresh
signal
memory bank
last
state
Prior art date
Legal status (The legal status 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 status listed.)
Expired - Fee Related
Application number
KR1020090057078A
Other languages
English (en)
Other versions
KR20100012807A (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 KR20100012807A publication Critical patent/KR20100012807A/ko
Application granted granted Critical
Publication of KR101020019B1 publication Critical patent/KR101020019B1/ko
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • G—PHYSICS
    • G11—INFORMATION STORAGE
    • G11C—STATIC STORES
    • G11C11/00—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/21—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
    • G11C11/34—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
    • G11C11/40—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
    • G11C11/401—Digital 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/406—Management or control of the refreshing or charge-regeneration cycles
    • G11C11/40618—Refresh operations over multiple banks or interleaving
    • G—PHYSICS
    • G11—INFORMATION STORAGE
    • G11C—STATIC STORES
    • G11C11/00—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/21—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
    • G11C11/34—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
    • G11C11/40—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
    • G11C11/401—Digital 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/406—Management or control of the refreshing or charge-regeneration cycles
    • G—PHYSICS
    • G06—COMPUTING OR CALCULATING; COUNTING
    • G06F—ELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14—Handling requests for interconnection or transfer
    • G06F13/16—Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1605—Handling requests for interconnection or transfer for access to memory bus based on arbitration
    • G06F13/161—Handling requests for interconnection or transfer for access to memory bus based on arbitration with latency improvement
    • G06F13/1636—Handling requests for interconnection or transfer for access to memory bus based on arbitration with latency improvement using refresh
    • G—PHYSICS
    • G11—INFORMATION STORAGE
    • G11C—STATIC STORES
    • G11C11/00—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/21—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
    • G11C11/34—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
    • G11C11/40—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
    • G11C11/401—Digital 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/406—Management or control of the refreshing or charge-regeneration cycles
    • G11C11/40603—Arbitration, priority and concurrent access to memory cells for read/write or refresh operations
    • G—PHYSICS
    • G11—INFORMATION STORAGE
    • G11C—STATIC STORES
    • G11C11/00—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/21—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
    • G11C11/34—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
    • G11C11/40—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
    • G11C11/401—Digital 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/406—Management or control of the refreshing or charge-regeneration cycles
    • G11C11/40611—External triggering or timing of internal or partially internal refresh operations, e.g. auto-refresh or CAS-before-RAS triggered refresh
    • G—PHYSICS
    • G11—INFORMATION STORAGE
    • G11C—STATIC STORES
    • G11C11/00—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/21—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
    • G11C11/34—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
    • G11C11/40—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
    • G11C11/401—Digital 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/4063—Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing
    • G11C11/407—Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing for memory cells of the field-effect type
    • G11C11/408—Address circuits
    • G—PHYSICS
    • G11—INFORMATION STORAGE
    • G11C—STATIC STORES
    • G11C8/00—Arrangements for selecting an address in a digital store
    • G11C8/04—Arrangements for selecting an address in a digital store using a sequential addressing device, e.g. shift register, counter
    • G—PHYSICS
    • G11—INFORMATION STORAGE
    • G11C—STATIC STORES
    • G11C8/00—Arrangements for selecting an address in a digital store
    • G11C8/12—Group selection circuits, e.g. for memory block selection, chip selection, array selection

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)
  • Memory System (AREA)

Abstract

본 발명은 외부 액세스 신호를 수신하고 리프레시(refresh) 인에이블링 신호 REFN, 리프레시 어드레스 신호 CRA, 및 충돌(confliction) 신호를 발생시키도록 구성된, 내장형(embedded) DRAM을 위한 리프레시 제어기를 제공하는데, 상기 내장형 DRAM은 복수의 메모리 뱅크 그룹을 포함하고, 상기 제어기는, 리프레시 인터벌 및 클록 사이클에 따라 리프레시 인에이블링 신호 REFN 및 마지막 리프레시 신호 last_ccr을 발생시키는 상태 제어 모듈; 상기 복수의 메모리 뱅크 그룹에서, 리프레시 인터벌에서 리프레시될 적어도 하나의 메모리 뱅크 그룹을 검색하고, 외부 액세스 신호 및 검색된 메모리 뱅크 그룹에 따라 리프레시 어드레스 신호 CRA를 발생시키는 리프레시 검색 모듈; 상기 리프레시 어드레스 신호 CRA 및 외부 액세스 신호에 따라 상기 복수의 메모리 뱅크 그룹 각각의 상태를 기록하는 스코어보드 모듈; 및 상기 외부 액세스 신호, 마지막 리프레시 신호 last_ccr, 및 상기 메모리 뱅크 각각의 상태에 따라 충돌 신호를 발생시키는 충돌 검출 모듈을 포함한다. 대응하는 리프레시 제어 방법 또한 본 발명에서 제공된다.

Description

내장형 DRAM을 위한 리프레시 제어기 및 리프레시 제어 방법{REFRESH CONTROLLER AND REFRESH CONTROLLING METHOD FOR EMBEDDED DRAM}
본 발명은 DRAM 리프레시 제어에 관한 것으로, 명확하게는 내장형 DRAM을 위한 리프레시 제어기 및 리프레시 제어 방법에 관한 것이다.
종래의 외부 동적 랜덤 액세스 메모리(DRAM)와 비교하여, 내장형 DRAM(eDRAM)은 적은 전력 소비 및 적은 칩 핀들로 넓은 대역폭에 대해 작동할 수 있다. 65nm 세대 기술에서, 내장형 DRAM의 주파수 성능은 이미 500MHz를 초과하였다. 그러나, 종래의 DRAM과 같이, 내장형 DRAM에 저장된 데이터를 유지하기 위하여, 메모리 소자들 각각에 대해 주기적 리프레싱이 수행되어야 한다. 리프레싱 구조(structure)의 지연은 내장형 DRAM의 시스템 성능의 추가 발전을 제한할 수 있다.
내장형 DRAM의 동시 리프레시(CCR, concurrent refresh) 모드는 리프레시 동작과 읽기/쓰기 동작의 동시 구현을 허용한다. 그러나, CCR 리프레시 동작에서, 내장형 DRAM의 타겟 메모리 뱅크는 현재 읽기/쓰기 동작 중인 메모리 뱅크와 상이해야 한다, 즉 리프레시 동작과 읽기/쓰기 동작은 동시에 동일한 메모리 뱅크에 대해 수행될 수 없다. 내장형 DRAM의 CCR 리프레시를 위한 복수의 리프레시 모드가 존재한다. 싱글-CCR은 한 리프레시 사이클 내에 오직 하나의 뱅크만을 리프레시하는 것을 말하고, 듀얼-CCR은 한 리프레시 사이클 내에 2개의 뱅크를 리프레시하는 것을 의미한다. 유사하게, 쿼드-CCR은 각각의 사이클 내에 4개의 뱅크를 리프레시하는 것을 의미한다. 또한, 내장형 DRAM의 각각의 리프레시 동작은 높은 동작 주파수를 지원하기 위해 복수의 클록 사이클에서 수행될 수 있다. 각각의 동작이 하나의 클록 사이클 내에서 수행되는 1-스테이지 파이프라인 동작 외에도, 내장형 DRAM은 또한, 다중-스테이지 파이프라인 동작 모드를 지원할 수 있다. 2-스테이지 파이프라인 동작에 대해, 리프레시, 읽기, 및 쓰기 동작 각각은 2개의 클록 사이클 내에서 완료되며, 4-스테이지 파이프라인 동작에 대해, 각각의 동작은 4개의 클록 사이클 내에서 완료된다.
다양한 모드로 CCR 리프레시를 지원하기 위하여, 종래 기술에서 다양한 리프레시 방법들이 제공되어 왔다. 예를 들어, 미국 특허 제6195303호는 클록에 기초한 DRAM을 위한 리프레시 메커니즘을 제공한다. 그러나, 상기 메커니즘은 내장형 DRAM 에는 적용될 수 없다. 동시 요청에서 메모리 충돌을 피하기 위한 스케줄러 회로가 미국 특허 제6393534호에 제공되었다. 그러나, 스케줄러 회로는 오직 RDRAM에만 적용될 수 있으며, 내장형 DRAM에는 적용될 수 없다. 그리고, 스케줄러 회로는 또한 구현 및 통합을 달성하기에 너무 복잡하다. 미국 특허 제6967885호는, 분산된 행 어드레스 카운터들로 동시 리프레시 모드를 지원하는 내장형 DRAM을 제공한다. 65nm 세대 기술에서, 상기 리프레시 모드는 1GHz 주파수를 달성할 수 있다. 상기 특허의 기술은 행 어드레스 카운터들을 내장형 DRAM 내부에 추가함으로써 구현되며, 이는 내장형 DRAM 자체에 대한 변형이다. 이러한 특허에 기초하여, 본 발명은 리프레시 제어기를 내장형 DRAM 외부에 추가함으로써 CCR 리프레시를 제어한다.
본 발명의 목적은 다양한 리프레시 모드로 리프레싱을 제어하고 메모리 뱅크의 충돌을 제거 또는 피하기 위한, 내장형 DRAM을 위한 융통성 있는 리프레시 제어기를 제공하는 것이다.
이러한 목적을 위해, 본 발명의 제1 양태에 따라, 외부 액세스 신호를 수신하고, 리프레시 인에이블링 신호 REFN, 리프레시 어드레스 신호 CRA, 및 충돌 신호 를 발생시키며, 리프레시 인에이블링 신호 REFN 및 리프레시 어드레스 신호 CRA를 복수의 메모리 그룹을 포함하는 상기 내장형 DRAM에 송신하도록 구성된, 내장형 DRAM을 위한 리프레시 제어기가 제공되며, 상기 제어기는, 리프레시 인터벌 및 클록 사이클에 따라 상기 리프레시 인에이블링 신호 REFN 및 마지막 리프레시 신호 last_ccr을 발생시키도록 구성된 상태 제어 모듈; 상기 복수의 메모리 뱅크 그룹에서, 리프레시 인터벌에서 리프레시될 적어도 하나의 메모리 뱅크 그룹을 검색하고, 상기 외부 액세스 신호 및 검색된 메모리 뱅크 그룹에 따라 상기 리프레시 어드레스 신호 CRA를 발생시키도록 구성된 리프레시 검색 모듈; 상기 리프레시 어드레스 신호 CRA 및 외부 액세스 신호에 따라 상기 복수의 메모리 뱅크 그룹 각각의 상태를 기록하도록 구성된 스코어보드 모듈; 상기 외부 액세스 신호, 마지막 리프레시 신호 last_ccr, 및 상기 메모리 뱅크 각각의 상태에 따라 충돌 신호를 발생시키도록 구성된 충돌 검출 모듈을 포함한다.
본 발명의 제2 양태에 따라, 복수의 메모리 뱅크 그룹을 포함하는 내장형 DRAM을 위한 리프레시 제어 방법이 제공되며, 이 방법은, 외부 액세스 신호를 수신하는 단계; 각각의 리프레시 인터벌 내의 클록 사이클에 따라 리프레시 인에이블링 신호 REFN 및 마지막 리프레시 신호 last_ccr을 발생시키는 단계; 상기 복수의 메모리 뱅크 그룹에서, 리프레시 인터벌에서 리프레시될 적어도 하나의 메모리 뱅크 그룹을 검색하고 외부 액세스 신호 및 검색된 메모리 뱅크 그룹에 따라 리프레시 어드레스 신호 CRA를 발생시키는 단계; 상기 리프레시 어드레스 신호 CRA 및 외부 액세스 신호에 따라 상기 복수의 메모리 뱅크 그룹 각각의 상태를 기록하는 단계; 상기 외부 액세스 신호, 마지막 리프레시 신호 last_ccr, 및 상기 메모리 뱅크 각각의 상태에 따라 충돌 신호를 발생시키는 단계; 및 리프레시 인에이블링 신호 REFN 및 리프레시 어드레스 신호 CRA를 상기 내장형 DRAM에 송신하는 단계를 포함한다.
본 발명에 따른 리프레시 제어기 및 제어 방법은, 높은 융통성 및 구성기능(configurability)으로 싱글-CCR, 듀얼-CCR, 쿼드-CCR과 상이한 파이프라인 동작의 다양한 조합에 적용 가능하다. 각각의 리프레시 모드에 대해, 본 발명에 따른 제어기 및 제어 방법은 단순하고 효율적인 리프레시 제어가 가능하여, 액세스와 리프레싱에 기인하는 충돌을 피할 수 있다.
도면들을 참조하여, 본 발명의 구현예가 특정 실시예들과 조합하여 아래에서 기술된다.
도 1은 본 발명의 일 실시예에 따른 리프레시 제어기의 시스템 구조를 도시한다. 도 1의 리프레시 제어기는 일반적으로 도면부호 100으로 표시된다. 내장형 DRAM과 접속된 제어기(100)는 외부로부터 메모리 뱅크 bai를 지정한 읽기/쓰기 신호를 수신하고, 리프레시 인에이블링 신호 REFN, CCR 리프레시 어드레스 신호 CRA, 및 충돌 신호를 발생시키도록 구성되며, 여기서 발생된 리프레시 인에이블링 신호 REFN 및 CCR 리프레시 어드레스 신호 CRA는 내장형 DRAM에 송신되고 내장형 DRAM의 리프레시 제어를 실현하는데 이용된다. 충돌 신호는, 충돌의 발생을 알리기 위해 읽기/쓰기 요청을 개시하는 부분에 다시 전송된다. 상기 내장형 DRAM은, 내장형 DRAM의 상이한 구성 및 리프레시 모드에 따라 복수의 메모리 뱅크 그룹으로 나눠지는 복수의 메모리 뱅크들을 포함한다. 예를 들어, 싱글-CCR 모드에 대해, 각각의 메모리 뱅크 그룹은 하나의 메모리 뱅크에 대응하고, 듀얼-CCR 모드에 대해, 2개의 메모리 뱅크가 각각의 리프레시 사이클에서 리프레시되기 때문에, 각각의 메모리 뱅크 그룹은 2개의 메모리 뱅크를 포함하며, 쿼드-CCR 모드에 대해, 각각의 메모리 뱅크 그룹은 4개의 메모리 뱅크를 포함한다.
더 상세하게, 외부 액세스 신호 bai는, 읽기 요청 신호 또는 쓰기 요청 신호일 수 있으며, 액세스될 메모리 뱅크의 어드레스를 표시한다. 리프레시 인에이블링 신호 REFN은, 내장형 DRAM이 현재 리프레시 상태에 있는지 아닌지 여부를 각각 나타내는 2개의 상태를 갖는다. CCR 리프레시 어드레스 신호 CRA는 리프레시될 메모리 뱅크 그룹의 어드레스를 표시한다. REFN 신호와 CRA 신호를 결합하여 얻어진 정보에는, 내장형 DRAM이 리프레시중인지 여부와, 어느 메모리 뱅크 그룹이 리프레시될 것인지가 표시될 수 있다.
도 1에 도시된 바와 같이, 상기 신호를 발생시키고 처리하기 위하여, 제어기(100)는 상태 제어 모듈(120), 리프레시 검색 모듈(13), 스코어보드 모듈(14), 및 충돌 검출 모듈(15)을 포함한다.
상태 제어 모듈(12)은, 리프레시 인터벌 및 클록 사이클을 모니터링하고, 그에 따라 리프레시 인에이블링 신호 REFN 및 마지막 리프레시 신호 last_ccr을 발생시키기 위해 제공된다. 리프레시 검색 모듈(13)은, 복수의 메모리 뱅크 그룹에서, 리프레시될 메모리 뱅크 그룹을 검색하고, 외부 액세스 신호 bai 및 검색한 메모리 뱅크 그룹에 따라 CCR 리프레시 어드레스 신호 CRA를 발생시키기 위해 제공된다. 스코어보드 모듈(14)은, CCR 리프레시 어드레스 신호 CRA 및 외부 액세스 신호 bai에 따라 각각의 메모리 뱅크 그룹의 상태를 기록하기 위해 제공된다. 충돌 검출 모듈(15)은, 외부 액세스 신호 bai, 마지막 리프레시 신호 last_ccr, 및 각각의 메모리 뱅크의 상태에 따라 충돌 신호를 발생시키기 위해 제공된다.
제어기(100)의 각각의 모듈의 동작 흐름은 리프레시 동작의 특정 예들과 조합하여 아래에서 기술된다.
일례에서, 65nm 기술의 Cu65 타입 내장형 DRAM을 가정해보면, 각각의 메모리 셀의 데이터 보유 시간 tREF = 40,960ns이다. 시스템의 클록 사이클 tCK = 3ns이다. 상기 내장형 DRAM의 메모리 뱅크의 수 N_BANKS = 8이고, 따라서 싱글-CCR 모드에서, 메모리 뱅크 그룹의 수 N_BG 또한 8이며, 각각의 메모리 뱅크의 행의 수 M = 256이다. 각각의 메모리 셀의 데이터가 절대 손실되지 않을 것이라는 것을 보증하기 위하여, 각각의 메모리 뱅크의 각각의 행은 보유 시간 tREF 내에 적어도 한 번 리프레시되어야 한다, 즉 각각의 메모리 뱅크에 대해, 2개의 연속적인 리프레시 동작들 간의 평균 인터벌은 tREF/tCK/M 클록 사이클을 초과해서는 안된다. 그러나, 메모리 뱅크의 리프레시 동작이 항상 동일한 시퀀스로 발생하지 않기 때문에, 특정한 메모리 뱅크가 한 리프레시 인터벌에서 처음으로 리프레시되고, 또한 다음 리프레스 인터벌에서는 마지막으로 리프레시될 가능성이 있다. 메모리 뱅크가 심지어 상술한 최악의 상황에서도 리프레시될 수 있다는 것을 보증하기 위해, 리프레시 인 터벌은 tREF/tCK/M-N_BG 클록 사이클로 설정될 수 있다. 즉, 상술한 예에서, 리프레시 인터벌은 N_RFC=tREF/tCK/M-N_BG=45 클록 사이클로 설정된다. 이는 리프레시 인터벌을 설정하는 유일한 방법이 아니며, 메모리 셀의 시기 적절한 리프레시를 보증하기 위해 더 짧은 리프레시 인터벌 또한 적용될 수 있다는 것을 당업자들은 이해할 수 있다.
N_RFC의 리프레시 인터벌을 추측하는 도 2를 이제 참조해보면, 상태 제어 모듈(12)의 동작 흐름이 기술된다. 일반적으로, 가능한 한 빠른 리프레시 동작의 완료를 보증하기 위하여, 각각의 리프레시 인터벌의 시작에서 메모리 뱅크 그룹의 리프레싱을 시작하고, 특히 각각의 클록 사이클의 시작에서 새로운 메모리 뱅크 그룹의 리프레싱을 시작할 것을 내장형 DRAM에 나타내는 방식으로, 상태 제어 모듈(12)은 클록 시퀀스에 기초하여 리프레시 인에이블링 신호 REFN 및 마지막 리프레시 신호 last_ccr을 발생시킨다. 2개 상태의 REFN 신호, 즉 제1 상태 및 제2 상태가 존재한다. 상기 REFN의 제1 상태(0)는, 내장형 DRAM이 현재 리프레시 중인 상태 하에 있다는 것을 나타내고, REFN의 제2 상태(1)는, 내장형 DRAM이 리프레싱 중에 있지 않다는 것을 나타낸다고 가정한다. last_ccr 신호에도 2개의 상태가 존재하는데, last_ccr의 제1 상태(0)는, 리프레시될 메모리 뱅크 그룹이 하나보다 많이 존재한다는 것을 나타내고, last_ccr의 제2 상태(1)는, 현재의 리프레시 사이클에는 오직 하나의 메모리 뱅크 그룹만이 리프레시되기 위해 남아있다는 것을 나타낸다고 가정한다. 구체적으로 말하면, 제1 상태 및 제2 상태가 0으로 표시되는지 또는 1로 표시되는지의 여부는 특정 회로 구현과 관련된다. 본 명세서의 이하의 내용은 상기 가정에 기초한다.
도 2에 도시된 바와 같이, 처음 단계(20)에서, 신호 REFN 및 last_ccr 모두는 제1 상태에 있는 것으로 설정된다. 이는 새로운 리프레시 인터벌의 시작에서의 초기 설정인데, 새로운 리프레시 인터벌이 시작될 때, 메모리 뱅크의 리프레싱이 시작되어야 하고, 현재 리프레시될 메모리 뱅크가 하나보다 많다는 것을 의미한다. 게다가, 단계(20)에서, 클록 사이클을 카운트하기 위한 카운터 i_RFC가 제공된다. i_RFC는 또한, 단계(20)에서 0으로 설정되는데, 이는 새로운 리프레시 인터벌을 나타낸다.
그 다음 단계(21)에서, 클록 사이클의 증가에 따라, i_RFC는 1씩 증가한다.
그 다음 단계(22)에서, i_RFC와, 한 리프레시 인터벌 내의 클록 수 N_RFC 간의 비교가 수행된다. 동일하다는 결과는, 현재의 리프레시 인터벌의 종료를 의미하며, 다음의 새로운 리프레시 인터벌이 단계(20)로부터 계속된다. 동일하지 않다는 결과는, 현재의 리프레시 인터벌이 종료되지 않았다는 것을 의미하며, 프로세스는 단계(23)로 진행된다.
단계(23)에서, i_RFC와 내장형 DRAM의 메모리 뱅크 그룹의 수 N_BG 사이의 관계가 판단되는데, 싱글_CCR에 대해, 메모리 뱅크 그룹의 수 N_BG는 메모리 뱅크의 수 N_BANKS와 동일하며, 듀얼_CCR에 대해, 각각의 메모리 뱅크 그룹은 2개의 메모리 뱅크를 포함하고, N_BG=N_BANKS/2이며, 쿼드_CCR에 대해, N_BG=N_BANK/4이다. 상태 제어 모듈(12)이 각각의 클록 사이클의 시작에서 하나의 메모리 뱅크 그룹의 리프레싱을 시작하기 때문에, i_RFC가 N_BG보다 크거나 또는 그와 같다면, 모든 메 모리 뱅크가 리프레시되었다는 것과, 새로운 리프레시는 요청되지 않는다는 결론이 내려질 수 있다. 따라서, REFN은 단계(24)에서 제2 상태로 설정되며, last_ccr은 제1 상태로 남는다. 그 다음, 단계(21)로 돌아감으로써, 현재의 리프레시 인터벌의 끝까지 클록 카운팅이 계속된다. i_RFC가 N_BG보다 작다면, 프로세스는 단계(25)로 진행된다.
단계(25)에서, i_RFC와 N_BG-1을 비교한다. 동일하다는 결과는, 리프레싱이 종료되지 않았으며, 리프레시될 오직 하나의 마지막 메모리 뱅크 그룹이 존재한다는 것을 의미한다. 따라서, 단계(26)에서, last_ccr은 제2 상태로 설정되며, REFN 신호는 제1 상태로 남는다. 상기 2개의 값이 동일하지 않다면, REFN과 last_ccr은 단계(27)에서 제1 상태로 설정된다. 단계(26)와 단계(27) 모두, 현재의 리프레시 인터벌의 끝까지 클록 카운팅을 위해 단계(21)를 계속한다.
도 2의 흐름도에 따라, 상태 제어 모듈(12)은, 클록 시퀀스에 기초하여 리프레시 인에이블링 신호 REFN 및 마지막 리프레시 신호 last_ccr을 발생시키고, 내장형 DRAM에 신호 REFN을 송신하며, 리프레시 검색 모듈(13)과 충돌 검출 모듈(15)에 신호 last_ccr을 송신한다.
리프레시 검색 모듈(13)은 외부 액세스 신호 bai 및 마지막 리프레시 신호 last_ccr을 수신하고, 이중 검색 모드에 기초하여, 리프레시될 메모리 뱅크 그룹을 검색하며, CCR 리프레시 어드레스 신호 CRA를 발생시킨다. 도 3은 리프레시 검색 모듈(13)의 예시적 구조를 도시한다.
도 3에 도시된 바와 같이, 리프레시 검색 모듈(13)은 제1 검색 모듈(31), 제2 검색 모듈(32), 비교기(33) 및 멀티플렉서(MUX)(34)를 포함한다. 특정 실시예에서, 제1 검색 모듈(31)은 전방향(forward) 검색 모듈이며, 제2 검색 모듈(32)은 후방향(backward) 검색 모듈이다. 이들 모두는, 스코어보드 모듈(15)에 링크되며, 각각 전방향과 후방향으로 메모리 뱅크 그룹 X와 Y를 검색한다, 즉 이들은 양방향 검색을 실행한다. 리프레시될 메모리 뱅크 그룹이 오직 하나만 남아있다면, X = Y이다.
양 방향 검색은 아래의 방식으로 구현될 수 있다. N_BG개의 메모리 뱅크 그룹은 0, 1, ..., N_BG-1로서 표시된다. 전방향 검색 모듈에 의해 검색되는 메모리 뱅크 그룹의 시퀀스 번호는 X = 0으로서 초기화되며, 후방향 검색 모듈에 의해 검색되는 메모리 뱅크 그룹의 시퀀스 번호는 Y = N_BG-1로서 초기화된다. 이후의 각각의 클록 사이클에서, 이전 사이클에서 리프레시된 메모리 뱅크 그룹은 어느 검색 모듈로부터 선택되었는지가 확인된다. 메모리 뱅크 그룹이 전방향 검색 모듈로부터 선택된다면, X = X+1로 두고, Y는 불변으로 유지하며, 메모리 뱅크 그룹이 후방향 검색 모듈로부터 선택된다면, Y = Y-1로 두고, X는 불변으로 유지한다. X와 Y가 고정된 방향에 따라 항상 변하기 때문에(증가 또는 감소), 리프레시될 메모리 뱅크 그룹은 양쪽 끝에서부터 순차적으로 검색되며, 따라서 메모리 뱅크 그룹이 리프레시 인터벌에서 오직 한 번씩 리프레시된다는 것이 보증된다.
제1 검색 모듈 및 제2 검색 모듈은, 리프레시될 메모리 뱅크 그룹이 순차적으로 검색될 수 있는만큼 오래 동안, 다른 검색 알고리즘을 통한 이중 검색을 구현할 수 있다는 것을 이해할 수 있다. 예를 들어, 제1 검색 모듈은 홀수 시퀀스 번호를 갖는 메모리 뱅크 그룹을 검색하고, 제2 검색 모듈은 짝수 시퀀스 번호를 갖는 메 모리 뱅크 그룹을 검색한다. 또는, 아래의 방식으로 구현될 수도 있다, 즉 제1 검색 모듈에 의해 검색된 메모리 뱅크 그룹의 시퀀스 번호는 X = 1로 초기화되고, 제2 검색 모듈에 의해 검색된 메모리 뱅크 그룹의 시퀀스 번호는 Y = 0으로 초기화된다. 후속하는 각각의 클록 사이클에서, X = X+1로 두고, 이전 사이클에서 리프레시된 메모리 뱅크 그룹이 어느 검색 모듈로부터 선택되었는지 확인한다. 메모리 뱅크 그룹이 제1 검색 모듈로부터 선택된다면, Y는 불변으로 유지되며, 메모리 뱅크 그룹이 제2 검색 모듈로부터 선택된다면, Y = X-1로 둔다, 즉 Y는 이전 사이클의 X와 동일하다, 다시말해 리프레시 프로세스에서 생략된 메모리 뱅크 그룹과 동일하다.당업자들은 그들의 필요에 따라 이와 같은 이중 검색 프로세스를 구현하기 위해 상이한 알고리즘을 이용할 수 있다.
제1 검색 모듈(31)과 제2 검색 모듈(32)이 각각 리프레시될 메모리 뱅크 그룹 X와 Y를 검색한 후에, 2개의 메모리 뱅크 그룹 X와 Y는 멀티플렉서(MUX)(34)에 전송되며, 한편 메모리 뱅크 그룹 X는 비교기(33)에도 송신된다. 비교기(33)는 외부 액세스 신호 bai와 메모리 뱅크 그룹 X를 비교하고, 비교 신호를 발생시키며, MUX(34)에 그들의 제어 신호로서 비교 신호를 출력한다. 명확하게, 비교기(33)는 신호 bai에 의해 표시된 메모리 뱅크 어드레스가 메모리 뱅크 그룹 X에 속하는지 여부를 판단한다. 결과가 속하지 않는다고 나오면, 비교기는, 출력으로서 X와 Y로부터 X를 선택하도록 MUX(34)를 제어하는 제1 상태의 비교 신호를 발생시키며, bai에 의해 표시된 메모리 뱅크 어드레스가 메모리 뱅크 그룹 X에 속한다면, 비교기(33)는, 출력으로 X와 Y로부터 Y를 선택하도록 MUX를 제어하는 제2 상태의 비교 신호를 발생시킨다. MUX(34)로부터의 출력 신호(X 또는 Y)는, 다음 클록 사이클에서 리프레시될 메모리 뱅크 그룹을 나타내는 리프레시 어드레스 신호 CRA로서 역할한다. 이 리프레시 어드레스 신호 CRA는, 표시된 메모리 뱅크 그룹을 리프레시할 것을 내장형 DRAM에게 지시하기 위해 내장형 DRAM에 출력된다. 한편, 이 신호는 스코어보드 모듈(14) 및 충돌 검출 모듈(15)에도 송신된다.
스코어보드 모듈은, 각각의 메모리 뱅크 그룹의 상태를 기록하기 위해 제공된다. 일 실시예에서, 스코어보드 모듈(14)은 스코어보드0, 스코어보드1, ..., 및 스코어보드 N_BG-1을 포함한다, 즉 각각의 스코어보드는 메모리 뱅크 그룹의 상태를 기록하기 위해 메모리 뱅크 그룹에 대응한다. 일례에서, 각각의 스코어보드는 카운터에 의해 구현된다. 카운트가 0인 경우, 이것은 대응하는 메모리 뱅크 그룹 X가 자유 상태임을 나타내고, 카운트가 0이 아닌 경우, 대응하는 메모리 뱅크 그룹은 특정 동작을 수행한다.
도 4는 스코어보드 모듈(14)의 임의적 스코어보드 X의 동작 흐름을 도시한다. 우선, 단계(41)에서, 스코어보드 X의 카운트, score[X]는 리프레시 인터벌의 시작에서 0으로 설정된다, 그 다음 단계(42)에서, 메모리 뱅크 그룹 X가 리프레시될 것인지 또는 액세스될 것인지에 대해 판단된다. 이 판단 단계는 메모리 뱅크 그룹 X와, 외부 액세스 신호 bai 및 CCR 리프레시 어드레스 신호 CRA를 비교함으로써 실행될 수 있다. bai에 의해 표시된 어드레스가 메모리 뱅크 그룹 X에 속한다면, 그룹 X는 액세스될 것이다. CRA에 의해 표시된 어드레스가 메모리 뱅크 그룹 X라면, X는 리프레시될 것이다.
이와 같은 비교 후에, 그 결과가 메모리 뱅크 그룹 X가 리프레시되거나 또는 액세스될 것이라고 나타난다면, 단계(43)가 실행되고, 스코어보드 X score[X]의 카운트는 S-1로 설정되는데, 여기서 S는 파이프라인 스테이지 레벨의 수이다. 다시 말하면, 2-스테이지 파이프라인 동작에 대해, 단계(43)에서 S = 2이고, score[X]는 1로 설정되며, 4-스테이지 파이프라인 동작에 대해, S = 4이고, score[X]는 3으로 설정된다. 그 다음, 단계(42)로 되돌아가고 다음의 클록 사이클에 대해 판단함으로써 프로세스가 진행된다.
단계(42)의 판단 결과가, 메모리 뱅크 그룹 X가 다음 클록 사이클에서 리프레시되거나 또는 액세스되지 않는다는 것을 나타낸다면, 프로세스는, score[X]가 0인지 여부를 판단하기 위해 단계(44)로 나아간다. score[X]가 0이라면, 단계(45)가 실행되고, score[X]의 현재 값이 유지되며, 다음 클록 사이클에 대한 판단을 계속하기 위해 단계(42)로 되돌아간다. score[X]가 0이 아니라면, 단계(46)에서 score[X]는 1만큼 감소된다, 즉 score[X] = score[X]-1이다. 그 다음, 프로세스는 단계(42)로 되돌아가고 다음의 클록 사이클에 대한 판단을 계속한다.
상기 동작 흐름은, 리프레시되거나 또는 액세스될 메모리 뱅크 그룹에 대해, 대응하는 스코어보드 카운트가 S-1로 설정되고, 현재 0이 아닌 스코어보드 카운트에 대해, 각각의 클록 사이클에서 그 스코어보드 카운트의 값은 1만큼 감소된다는 것을 의미한다. 이는, S-스테이지 파이프라인 동작에 대해, 각각의 동작은 S개의 클록 사이클에서 완료되기 때문이다. 특정 메모리 뱅크 그룹이 동작을 시작할 때, 대응하는 스코어보드 카운트를 S-1로 설정하는 것은, 대응하는 메모리 뱅크 그룹이 동작 상태로 들어감을 나타낸다. 그 후에, 0이 아닌 각각의 스코어보드 카운트는 각각의 사이클에서 1만큼 감소된다. 이는 동작 상태(score[X]=S-1)로 들어간 후부터 각각의 메모리 뱅크 그룹이 유휴 상태(score[X]=0)로 복귀하기 전에 S개의 클록 사이클을 통과해야 한다는 것을 보증한다. 상기 S개의 클록 사이클에서, 대응하는 메모리 뱅크 그룹은 동작 상태 하에서 유지된다. 1-스테이지 파이프라인 동작에 대해, 즉 S = 1인 동작에 대해, 스코어보드 카운트는 항상 0이다, 즉 스코어보드는 그 기능을 하지 않는다.
상술한 스코어보드 모듈(14)에 의해 외부 액세스 신호 bai 및 CCR 리프레시 어드레스 신호 CRA의 타겟 메모리 뱅크로서 기록된 메모리 뱅크 그룹의 상태에 기초하여, 충돌 검출 모듈(15)은 충돌이 발생하는지 여부를 검출하고 충돌 신호를 발생시킬 수 있다. 도 5는 충돌 검출 모듈(15)의 동작 흐름을 도시한다.
도 5에 도시된 바와 같이, 우선 단계(50)에서, 충돌 검출 모듈(15)은 메모리 뱅크에 읽기/쓰기 동작을 요청하는 외부 액세스 신호 bai를 수신한다. 그 다음 단계(51)에서, 메모리 뱅크 bai에 대응하는 스코어보드 카운트가 0인지 여부를 판단한다. 상기 카운트가 0이 아니라는 것은, 메모리 뱅크에 대한 이전 동작이 아직 완료되지 않았으며, 따라서 메모리 뱅크는 동작 상태 하에 있고 액세스될 수 없다는 것을 의미한다. 따라서, 단계(52)는 충돌 신호를 발생시키기 위해 실행될 것이다, 즉 conflict를 1로 설정한다. 상기 카운트가 0이라면, 메모리 뱅크는 현재 유휴 상태 하에 있으며, 액세스되는것이 가능하다. 그 다음, 추가 판단이 단계(53)에서 수행될 것이다.
단계(53)에서, last_ccr이 제2 상태에 있는지 여부가 판단된다. 상술한 바와 같이, last_ccr이 제1 상태에 있는 경우, 리프레시될 메모리 뱅크 그룹이 하나보다 많이 존재한다. 이와 같은 상황에서, 액세스 신호와 충돌하지 않는 리프레시될 뱅크 그룹을 찾는 것은 항상 가능하다. 따라서, last_ccr이 제1 상태에 있는 것으로 판단된다면, 단계(54)를 실행시키고 conflict = 0으로 한다, 즉 충돌은 없는 것으로 가정되고 메모리 뱅크 bai로의 액세스가 승인된다. last_ccr가 제2 상태에 있는 경우, 현재 리프레시 인터벌에서 리프레시될 메모리 뱅크 그룹은 오직 하나만 존재한다. 이와 같은 상황에서, 충돌이 발생하는 것이 가능하며, 따라서 추가 판단을 위해 프로세스는 단계(55)로 진행된다.
단계(55)에서, 액세스될 메모리 뱅크 bai가 리프레시될 메모리 뱅크 그룹, 즉 신호 CRA에 의해 표시되는 메모리 뱅크 그룹에 속하는지 여부가 판단된다. bai가 상기 메모리 뱅크 그룹에 속하지 않는다면, 충돌은 발생하지 않으며, 단계(54)가 실행된다. bai가 CRA에 의해 표시되는 메모리 뱅크 그룹에 속한다면, 한편으로 last_ccr가 제2 상태에 있기 때문에(이는 리프레시될 메모리 뱅크 그룹은 오직 하나라는 것을 의미함), 액세스와 리프레시 간에 충돌이 발생한다. 이와 같은 상황에서, 단계(56)가 실행된다, 즉 충돌 신호가 발생된다.
1-스테이지 파이프라인 동작에서, 상술한 바와 같이, 각각의 스코어보드의 카운트는 항상 0이다. 따라서, 단계(51)에서의 결과 판단은 항상 "예"이다. 달리 말하면, 1-스테이지 파이프라인 동작에서, 각각의 동작은 단 하나의 클록 사이클에서 완료되기 때문에, 이전 동작에서 액세스되는 메모리 뱅크에 의해 야기되는 충돌은 발생하지 않을 것이다. 결과적으로, 1-스테이지 파이프라인 동작에 대해, 단계(51)와 단계(52)는 생략될 수 있으며, 프로세스는 판단을 시작하기 위해 곧바로 단계(53)로부터 시작될 수 있다.
CCR 리프레시에서, 메모리 셀에 데이터를 유지하기 위하여, 리프레시 동작은 액세스 동작보다 높은 우선순위를 갖는다. 결과적으로, 충돌 신호가 발생되는 경우, 즉 conflict = 1인 경우, 충돌이 더이상 나타나지 않을 때까지 액세스 요청을 지연하기 위하여, 충돌 신호는 액세스 요청을 개시하는 부분에 통지하기 위해 상기 부분으로 다시 전송된다.
상태 제어 모듈(12), 리프레시 검색 모듈(13), 스코어보드 모듈(14), 및 충돌 검출 모듈(15)의 동작 흐름이 각각 상술되었다. 이제 도 6을 참조하여, 리프레시 제어기 시스템의 동작 흐름이 기술된다.
도 6은 도 1의 리프레시 제어기의 리프레시 동작 흐름을 도시한다. 도 6에 도시된 바와 같이, 우선 단계(60)에서, 리프레시 제어기는 유휴 상태에 있다. 구현될 그 다음 단계는, 리프레시 인에이블링 신호 REFN과 마지막 리프레시 신호 last_ccr에 따라 선택된다. 상술된 바와 같이, 신호 REFN과 last_ccr은 모두, 도 2에 도시된 그들의 특정 발생 프로세스로 상태 제어 모듈(12)에 의해 발생된다. 발생된 신호 REFN에 대해, 단계(61)에서 REFN이 제2 상태에 있는지 여부가 판단된다. REFN이 제2 상태(1)에 있다면, 이것은 내장형 DRAM이 리프레시 상태에 있지 않다는 것을 나타낸다. 따라서, 리프레시 제어기는 상기 내장형 DRAM에 대해 리프레시 제어를 실행할 필요가 없고, 단지 유휴 상태를 유지하기 위해 단계(60)로 복귀하면 된다. REFN이 제1 상태(0)에 있다면, 이것은 내장형 DRAM이 리프레시 상태에 있다는 것을 나타내며, 리프레시 제어기는 내장형 DRAM 상에 리프레시 제어를 실행해야만 한다. 따라서, 제어기는 추가 판단을 위해 단계(62)로 나아간다.
단계(62)에서, 리프레시 제어기는 마지막 리프레시 신호 last_ccr이 제2 상태(1)에 있는지 여부를 판단한다. last_ccr이 제2 상태에 있지 않다면, 이것은 여전히 현재의 리프레시 인터벌에 리프레시될 복수의 메모리 뱅크 그룹이 존재한다는 것을 의미한다. 따라서, 제어기는 단계(63)로 나아가며, 이중 검색 모드를 이용하여, 리프레시될 2개의 메모리 뱅크 그룹 X와 Y를 검색한다. 그 다음 단계(64)에서, 외부 액세스 신호에 의해 표시되는 메모리 뱅크 bai가 메모리 뱅크 그룹 X에 속하는지 여부가 판단된다. bai가 메모리 뱅크 그룹 X에 속한다면, Y가 리프레시될 다음의 메모리 뱅크 그룹으로서 설정되는, 즉 CCR 리프레시 어드레스 신호 CRA가 메모리 뱅크 그룹 Y를 나타내도록 만들어지는 단계(65)가 실행된다. 한편, 메모리 뱅크 그룹 Y에 대응하는 스코어보드의 카운트, score[Y]가 S-1로 설정되는데, 여기서 S는 파이프라인 스테이지의 수이다. bai가 메모리 뱅크 그룹 X에 속하지 않는다면, X가 리프레시될 다음의 메모리 뱅크 그룹으로서 설정되는, 즉 CCR 리프레시 어드레스 신호 CRA가 메모리 뱅크 그룹 X를 나타내도록 만들어지는 단계(66)이 실행된다. 한편, 메모리 뱅크 그룹 X에 대응하는 스코어보드, score[X]의 카운트는 S-1로 설정된다. 여기서, 단계 63 내지 단계 66의 검색 및 판단 동작은 리프레시 검색 모듈(13)에 의해 실행된다. 스코어보드의 카운트가 S-1로 설정된다는 의미는, 도 4의 스코어보드의 동작 흐름을 참조하면 이해할 수 있다.
단계(62)의 판단 결과가, last_ccr이 제2 상태에 있다고 나타난다면, 이것은 현재 리프레시 인터벌에 리프레시될 메모리 뱅크 그룹이 오직 하나만 존재한다는 것을 의미한다. 이와 같은 상황에서, 제어기는 단계(67)로 들어가며, 리프레시될 유일한 메모리 뱅크 그룹을 검색하기 위해 이중 검색을 실행한다. 그 다음 단계(68)에서, 상기 메모리 뱅크 그룹은 리프레시될 다음의 메모리 뱅크 그룹으로서 설정된다, 즉 CCR 리프레시 어드레스 신호 CRA가 상기 메모리 뱅크 그룹을 나타내도록 만들어진다. 한편, 상기 메모리 뱅크 그룹에 대응하는 스코어보드의 카운트는 S-1로 설정된다. 유사하게, 단계(67)와 단계(68)의 검색 동작이 리프레시 검색 모듈(13)에 의해 실행된다.
상기 동작 흐름과 동시에, 충돌 검출 모듈(15)은, 도 5에 도시된 판단 방법으로, 외부 액세스 신호 bai, CCR 리프레시 어드레스 신호 CRA, 및 스코어보드 모듈의 기록된 상태에 따라 충돌이 발생하는지 여부를 판단한다. 충돌이 발생한 경우, 충돌 검출 모듈(15)은, 충돌이 더이상 발생하지 않을 때까지 상기 액세스 요청을 지연시키기 위하여, 충돌 신호의 형태로 액세스 요청을 개시하는 부분에 통지한다. 따라서, 리프레시 흐름의 측면으로부터, 메모리 뱅크 그룹이 단계(67)에서 검색되자 마자, 오직 리프레시될 메모리 뱅크 그룹에만 리프레시가 수행될 수 있다. 충돌 검출 모듈(15)이 액세스 요청을 지연시킴으로써 이와 같은 충돌을 피하기 때문에, 리프레시 시퀀스는 액세스 충돌에 의해 영향을 받지 않을 것이다.
도 7은 리프레시 흐름의 클록 시퀀스 다이어그램이다. 도 7에서, 클록을 따라, 리프레시 인에이블링 신호 REFN, CCR 리프레시 어드레스 신호 CRA, 및 마지막 리프레시 신호 last_ccr의 변화를 볼 수 있다.
명확하게, 도 7에 도시된 바와 같이, 시간은 복수의 리프레시 인터벌로 나눠지며, 각각의 리프레시 인터벌은 N_RFC개의 클록 사이클을 포함한다. 신호 REFN과 신호 CRA를 통해, 리프레시 제어기는 각각의 리프레시 인터벌의 시작에서 메모리 뱅크 그룹의 리프레시를 시작하고, 가능한 한 빨리 리프레시 동작을 완료하도록 내장형 DRAM을 제어한다. 결과적으로, 각각의 리프레시 인터벌에서 클록 사이클 0에서부터 클록 사이클 N_BG-1까지, 새로운 메모리 뱅크 그룹의 리프레시가 각각의 클록 사이클에서 시작된다. 이 기간 동안, 내장형 DRAM이 리프레시 상태에 있다는 것을 나타내기 위하여, 신호 REFN은 저전압 하에 있다, 즉 REFN = 0이다(제1 상태).
REFN이 저전압 하에 있는 기간 동안, 리프레시 검색 모듈은 양방향 검색을 통해 신호 CRA에 의해 지시될 리프레시 어드레스로서 메모리 뱅크 그룹을 계속하여 검색한다. 결과적으로, CRA 신호에 의해 지시된 메모리 뱅크 그룹의 시퀀스 번호는, 모든 메모리 뱅크 그룹이 N_BG개의 클록 사이클에서 리프레시될 때까지 계속하여 변경되는 것을 볼 수 있다. 제1 리프레시 인터벌에서, 번호 0의 메모리 뱅크 그룹이 처음 리프레시되고, 제2 리프레시 인터벌에서, 번호 0의 메모리 뱅크 그룹이 마지막으로 리프레시되는 것을 볼 수 있다. 이것은 상술된 최악의 가능한 상황이다. 이러한 상황 때문에, 하나의 리프레시 인터벌에서 클록 사이클의 수는 최초의 값을 기초로 메모리 뱅크 그룹의 번호만큼 감소되어야 한다.
전체 검색 인터벌 동안에, 오직 하나의 클록 사이클에서, 즉 N_BG번째 클록 사이클에서, 마지막 리프레시 신호 last_ccr는 고전압 상태에 있다, 즉 last_ccr = 1(제2 상태)이며, 이는 현재의 리프레시 인터벌에서, 리프레시될 메모리 뱅크 그룹이 오직 하나만 남아있다는 것을 암시한다.
오직 last_ccr = 1 (제2 상태)이고, 액세스될 메모리 뱅크 bai가 CRA에 의해 표시된 리프레시될 다음의 메모리 뱅크 그룹에 속할 때에만, 액세스와 리프레시의 충돌이 나타난다는 것을 충돌 검출 흐름으로부터 알 수 있다. 도 7의 흐름도로부터 추가로, last_ccr = 1 (제2 상태)의 가능성은 1/N_RFC이다. 따라서, 내장형 DRAM의 메모리 뱅크가 각각의 클록에 대해 순차적으로 액세스된다면, 액세스와 리프레시 의 충돌의 가능성은 최대 1/N_RFC이다.
상술한 실시예에서, 리프레시 제어기 및 이것의 모듈과 소자들은 주로 집적 회로 또는 게이트 어레이, 트랜지스터와 같은 반도체, 또는 프로그래머블 게이트 어레이 및 프로그래머블 로직 장치와 같은 하드웨어 회로에 의해 구현된다. 그리고 리프레시 제어기 및 본 발명의 방법들은, 높은 융통성 및 구성 능력으로, 1-스테이지 파이프라인 동작, 2-스테이지 파이프라인 동작, 4-스테이지 파이프라인 동작과, 싱글-CCR, 듀얼-CCR, 쿼드-CCR의 동작 모드와의 다양한 조합에 적용 가능하다.
본 발명의 실시예들이 특정한 예들과의 조합으로 상술되었다. 그러나, 본 발명은 상기 상세히 기술된 실시예들로 한정되지 않는다. 당업자들은, 본 발명의 정신 및 범위를 벗어나지 않고, 다양한 대체, 변경, 및 수정이 이 실시예들에 행해질 수 있다는 것을 이해할 수 있을 것이며, 보호 범위는 첨부한 청구범위에 의해 정의된다.
본 발명의 실시예들은 도면들과 함께 기술된다.
도 1은 본 발명의 일 실시예에 따른 리프레시 제어기의 시스템 구조를 도시한다.
도 2는 상태 제어 모듈(12)의 동작 흐름도이다.
도 3은 리프레시 검색 모듈(13)의 예시적 구조를 도시한다.
도 4는 스코어보드 모듈(14)의 임의의 스코어보드 X의 동작 흐름도이다.
도 5는 충돌 검출 모듈(15)의 동작 흐름도이다.
도 6은 도 1의 리프레시 제어기의 리프레시 동작 흐름도이다.
도 7은 도 6의 리프레시 흐름의 클록 시퀀스 다이어그램이다.

Claims (10)

  1. 외부 액세스 신호를 수신하고, 리프레시 인에이블링 신호 REFN, 리프레시 어드레스 신호 CRA, 및 충돌(confliction) 신호를 발생시키며, 상기 리프레시 인에이블링 신호 REFN 및 상기 리프레시 어드레스 신호 CRA를, 복수의 메모리 뱅크 그룹을 포함하는 내장형 DRAM에 송신하도록 구성된, 내장형 DRAM을 위한 리프레시 제어기에 있어서,
    리프레시 인터벌 및 클록 사이클에 따라 상기 리프레시 인에이블링 신호 REFN 및 마지막 리프레시 신호 last_ccr을 발생시키도록 구성된, 상태 제어 모듈;
    상기 복수의 메모리 뱅크 그룹에서, 상기 리프레시 인터벌에서 리프레시될 적어도 하나의 메모리 뱅크 그룹을 검색하고, 상기 외부 액세스 신호 및 상기 검색된 메모리 뱅크 그룹에 따라 상기 리프레시 어드레스 신호 CRA를 발생시키도록 구성된, 리프레시 검색 모듈;
    상기 리프레시 어드레스 신호 CRA 및 상기 외부 액세스 신호에 따라 상기 복수의 메모리 뱅크 그룹 각각의 상태를 기록하도록 구성된, 스코어보드 모듈; 및
    상기 외부 액세스 신호, 상기 마지막 리프레시 신호 last_ccr, 및 상기 메모리 뱅크 각각의 상태에 따라 상기 충돌 신호를 발생시키도록 구성된, 충돌 검출 모듈
    을 포함하는 리프레시 제어기.
  2. 제1항에 있어서, 상기 상태 제어 모듈은,
    각각의 리프레시 인터벌의 클록 사이클을 카운트하고, 이 카운트 수가 상기 메모리 뱅크 그룹의 수 - 1보다 작은 경우, 상기 리프레시 인에이블링 신호 REFN을 그것의 제1 상태에 있는 것으로서 설정하고, 상기 마지막 리프레시 신호 last_ccr을 그것의 제1 상태에 있는 것으로 설정하며; 상기 카운트 수가 상기 메모리 뱅크 그룹의 수 - 1과 같을 경우, 상기 리프레시 인에이블링 신호 REFN을 그것의 제1 상태에 있는 것으로 설정하고 상기 마지막 리프레시 신호 last_ccr을 그것의 제2 상태에 있는 것으로 설정하며; 상기 카운트 수가 상기 메모리 뱅크 그룹의 수와 같거나 또는 그보다 클 경우, 상기 리프레시 인에이블링 신호 REFN을 그것의 제2 상태에 있는 것으로 설정하고 상기 마지막 리프레시 신호 last_ccr을 그것의 제1 상태에 있는 것으로 설정하도록 구성되는 것인, 리프레시 제어기.
  3. 제1항 또는 제2항에 있어서, 상기 리프레시 검색 모듈은,
    상기 복수의 메모리 뱅크 그룹에서, 상기 리프레시 인터벌에서 리프레시될 제1 메모리 뱅크 그룹을 검색하도록 구성된, 제1 검색 모듈;
    상기 복수의 메모리 뱅크 그룹에서, 상기 리프레시 인터벌에서 리프레시될 제2 메모리 뱅크 그룹을 검색하도록 구성된, 제2 검색 모듈;
    상기 검색된 제1 메모리 뱅크 그룹을 상기 외부 액세스 신호와 비교하고 비교 신호를 발생시키도록 구성된, 비교기; 및
    상기 비교 신호의 제어 하에, 상기 제1 메모리 뱅크 그룹과 상기 제2 메모리 뱅크 그룹 사이에서 선택하고 상기 리프레시 어드레스 신호 CRA를 발생시키도록 구성된, 멀티플렉서
    를 포함하는 것인, 리프레시 제어기.
  4. 제1항에 있어서, 상기 스코어보드 모듈은 복수의 카운터들을 포함하고, 상기 복수의 카운터 각각은 상기 복수의 메모리 뱅크 그룹 각각에 대응하는 것인, 리프레시 제어기.
  5. 제1항에 있어서, 상기 충돌 검출 모듈은, 상기 마지막 리프레시 신호 last_ccr이 그것의 제2 상태에 있고 상기 외부 액세스 신호에 의해 표시된 상기 메모리 뱅크가 상기 리프레시 어드레스 신호 CRA에 의해 표시된 메모리 뱅크 그룹에 속하는 경우 충돌 신호를 발생시키도록 구성되는 것인, 리프레시 제어기.
  6. 복수의 메모리 뱅크 그룹을 포함하는 내장형 DRAM을 위한 리프레시 제어 방법에 있어서,
    외부 액세스 신호를 수신하는 단계;
    각각의 리프레시 인터벌의 클록 사이클에 따라 리프레시 인에이블링 신호 REFN과 마지막 리프레시 신호 last_ccr을 발생시키는 단계;
    상기 복수의 메모리 뱅크 그룹에서, 상기 리프레시 인터벌에서 리프레시될 적어도 하나의 메모리 뱅크 그룹을 검색하고, 상기 외부 액세스 신호 및 상기 검색 된 메모리 뱅크 그룹에 따라 상기 리프레시 어드레스 신호 CRA를 발생시키는 단계;
    상기 리프레시 어드레스 신호 CRA 및 상기 외부 액세스 신호에 따라 상기 복수의 메모리 뱅크 그룹 각각의 상태를 기록하는 단계;
    상기 외부 액세스 신호, 상기 마지막 리프레시 신호 last_ccr, 및 상기 메모리 뱅크 각각의 상태에 따라 충돌 신호를 발생시키는 단계; 및
    상기 리프레시 인에이블링 신호 REFN 및 리프레시 어드레스 신호 CRA를 상기 내장형 DRAM에 송신하는 단계
    를 포함하는 리프레시 제어 방법.
  7. 제6항에 있어서, 상기 리프레시 인에이블링 신호 REFN 및 상기 마지막 리프레시 신호 last_ccr을 발생시키는 단계는,
    각각의 리프레시 인터벌의 클록 사이클을 카운트하고, 이 카운트 수가 상기 메모리 뱅크 그룹의 수 - 1보다 작은 경우, 상기 리프레시 인에이블링 신호 REFN을 그것의 제1 상태에 있는 것으로 설정하고, 상기 마지막 리프레시 신호 last_ccr을 그것의 제1 상태에 있는 것으로 설정하는 단계; 상기 카운트 수가 상기 메모리 뱅크 그룹의 수 - 1과 같은 경우, 상기 리프레시 인에이블링 신호 REFN을 그것의 제1 상태에 있는 것으로 설정하고, 상기 마지막 리프레시 신호 last_ccr을 그것의 제2 상태에 있는 것으로 설정하는 단계; 및 상기 카운트 수가 상기 메모리 뱅크 그룹의 수와 같거나 또는 그보다 큰 경우, 상기 리프레시 인에이블링 신호 REFN을 그것의 제2 상태에 있는 것으로 설정하고 상기 마지막 리프레시 신호 last_ccr을 그것의 제1 상태에 있는 것으로 설정하는 단계를 포함하는 것인, 리프레시 제어 방법.
  8. 제6항에 있어서, 상기 메모리 뱅크 그룹을 검색하고 상기 리프레시 어드레스 신호 CRA를 발생시키는 단계는,
    상기 복수의 메모리 뱅크 그룹에서, 상기 리프레시 인터벌에서 리프레시될 제1 메모리 뱅크 그룹 및 제2 메모리 뱅크 그룹을 검색하는 단계;
    상기 검색된 제1 메모리 뱅크 그룹을 상기 외부 액세스 신호와 비교하고 비교 신호를 발생시키는 단계; 및
    상기 비교 신호의 제어 하에서 상기 제1 메모리 뱅크 그룹 및 상기 제2 메모리 뱅크 그룹 사이에서 선택하고 상기 리프레시 어드레스 신호 CRA를 발생시키는 단계
    를 포함하는 것인, 리프레시 제어 방법.
  9. 제6항에 있어서, 상기 충돌 신호를 발생시키는 단계는, 상기 마지막 리프레시 신호 last_ccr이 그것의 제2 상태에 있고 상기 외부 액세스 신호에 의해 표시된 타겟 메모리 뱅크가 상기 리프레시 어드레스 신호 CRA에 의해 표시된 메모리 뱅크 그룹에 속하는 경우, 상기 충돌 신호를 발생시키는 단계를 포함하는 것인, 리프레시 제어 방법.
  10. 제6항에 있어서, 상기 충돌 신호를 발생시키는 단계는, 상기 외부 액세스 신 호에 의해 표시된 메모리 뱅크 그룹이 그것의 제2 상태에 있는 경우, 상기 충돌 신호를 발생시키는 단계를 포함하는 것인, 리프레시 제어 방법.
KR1020090057078A 2008-07-29 2009-06-25 내장형 dram을 위한 리프레시 제어기 및 리프레시 제어 방법 Expired - Fee Related KR101020019B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN200810128078.6 2008-07-29
CN2008101280786A CN101640065B (zh) 2008-07-29 2008-07-29 用于嵌入式dram的刷新控制器及刷新控制方法

Publications (2)

Publication Number Publication Date
KR20100012807A KR20100012807A (ko) 2010-02-08
KR101020019B1 true KR101020019B1 (ko) 2011-03-09

Family

ID=41608228

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020090057078A Expired - Fee Related KR101020019B1 (ko) 2008-07-29 2009-06-25 내장형 dram을 위한 리프레시 제어기 및 리프레시 제어 방법

Country Status (4)

Country Link
US (1) US7885134B2 (ko)
JP (1) JP5147787B2 (ko)
KR (1) KR101020019B1 (ko)
CN (1) CN101640065B (ko)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9104581B2 (en) * 2010-06-24 2015-08-11 International Business Machines Corporation eDRAM refresh in a high performance cache architecture
TWI473091B (zh) * 2011-10-19 2015-02-11 Winbond Electronics Corp 隨機存取記憶體及其刷新控制器
TWI498889B (zh) * 2012-03-26 2015-09-01 Etron Technology Inc 記憶體及更新記憶體的方法
KR101962874B1 (ko) * 2012-04-24 2019-03-27 삼성전자주식회사 메모리 장치, 메모리 컨트롤러, 메모리 시스템 및 이의 동작 방법
CN103700393B (zh) 2012-09-28 2016-08-03 国际商业机器公司 用于dram的中间电路和方法
WO2014065774A1 (en) * 2012-10-22 2014-05-01 Hewlett-Packard Development Company, L.P. Refreshing a group of memory cells in response to presence of potential disturbance
CN105163949B (zh) * 2013-04-15 2017-09-05 肖特股份有限公司 用于改变玻璃和玻璃陶瓷透射的方法以及能够根据该方法制造的玻璃件或玻璃陶瓷件
KR102553181B1 (ko) * 2016-07-12 2023-07-10 에스케이하이닉스 주식회사 메모리 장치 및 메모리 장치의 동작 방법
EP3605541B1 (en) * 2017-04-14 2025-07-30 Huawei Technologies Co., Ltd. Memory refresh technology and computer system
US12001697B2 (en) 2020-11-04 2024-06-04 Rambus Inc. Multi-modal refresh of dynamic, random-access memory
US20250140300A1 (en) * 2022-02-04 2025-05-01 Google Llc Traffic Aware Adaptive Precharge Scheduler For Efficient Refresh Management In Dram Memory Controllers

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6650586B1 (en) 2000-06-28 2003-11-18 Intel Corporation Circuit and system for DRAM refresh with scoreboard methodology
KR20060036510A (ko) * 2004-10-25 2006-05-02 삼성전자주식회사 버퍼를 이용하여 리프레쉬하는 메모리 장치 및 그 방법

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0628850A (ja) * 1992-07-07 1994-02-04 Mitsubishi Electric Corp ダイナミックramの制御回路
JPH10222979A (ja) * 1997-01-31 1998-08-21 Mitsubishi Electric Corp 情報処理装置
JP2000251467A (ja) * 1999-03-02 2000-09-14 Nec Ibaraki Ltd メモリリフレッシュ制御装置およびその制御方法
JP2005222581A (ja) * 2004-02-03 2005-08-18 Renesas Technology Corp 半導体記憶装置
US7953921B2 (en) * 2004-12-28 2011-05-31 Qualcomm Incorporated Directed auto-refresh synchronization
US7532532B2 (en) * 2005-05-31 2009-05-12 Micron Technology, Inc. System and method for hidden-refresh rate modification
US20080270683A1 (en) * 2007-04-25 2008-10-30 International Business Machines Corporation Systems and methods for a dram concurrent refresh engine with processor interface

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6650586B1 (en) 2000-06-28 2003-11-18 Intel Corporation Circuit and system for DRAM refresh with scoreboard methodology
KR20060036510A (ko) * 2004-10-25 2006-05-02 삼성전자주식회사 버퍼를 이용하여 리프레쉬하는 메모리 장치 및 그 방법

Also Published As

Publication number Publication date
JP5147787B2 (ja) 2013-02-20
KR20100012807A (ko) 2010-02-08
CN101640065A (zh) 2010-02-03
US7885134B2 (en) 2011-02-08
US20100027363A1 (en) 2010-02-04
CN101640065B (zh) 2012-07-04
JP2010033695A (ja) 2010-02-12

Similar Documents

Publication Publication Date Title
KR20100012807A (ko) 내장형 dram을 위한 리프레시 제어기 및 리프레시 제어 방법
CN101047025B (zh) 动态半导体存储器及其刷新控制方法
US7583552B2 (en) Method and system for providing independent bank refresh for volatile memories
US7088633B2 (en) Method and system for providing seamless self-refresh for directed bank refresh in volatile memories
US9552255B2 (en) Memory device with parallel odd and even column access and methods thereof
US10990322B2 (en) Memory buffer chip, memory system and method of controlling the memory buffer chip
US7054202B2 (en) High burst rate write data paths for integrated circuit memory devices and methods of operating same
US8773928B2 (en) Command latency systems and methods
JP4459495B2 (ja) 半導体記憶装置のリフレッシュ制御方法、及び該制御方法を有する半導体記憶装置
CN101038783B (zh) 半导体存储器、存储器系统和存储器系统的操作方法
US9613668B2 (en) Semiconductor memory and memory system
US20130097388A1 (en) Device and data processing system
US8687450B2 (en) Semiconductor device
US8947956B2 (en) Delay circuit and latency control circuit of memory, and signal delay method thereof
US9653148B1 (en) Multi-bank memory device and system
KR102957757B1 (ko) Dram 메모리 컨트롤러들에서의 효율적인 리프레시 관리를 위한 트래픽 인식 적응형 프리차지 스케줄러
CN117672291B (zh) 监测电路、刷新方法及存储器
JP5333566B2 (ja) ダイナミック型半導体メモリのリフレッシュ制御方法
US20250218490A1 (en) Memory device including row hammer managing circuit, and method of refresh operation for the memory device
CN118824340A (zh) 一种存储器和控制器
CN117672292A (zh) 监测电路、刷新方法及存储器

Legal Events

Date Code Title Description
PA0109 Patent application

St.27 status event code: A-0-1-A10-A12-nap-PA0109

A201 Request for examination
P11-X000 Amendment of application requested

St.27 status event code: A-2-2-P10-P11-nap-X000

P13-X000 Application amended

St.27 status event code: A-2-2-P10-P13-nap-X000

PA0201 Request for examination

St.27 status event code: A-1-2-D10-D11-exm-PA0201

PG1501 Laying open of application

St.27 status event code: A-1-1-Q10-Q12-nap-PG1501

D13-X000 Search requested

St.27 status event code: A-1-2-D10-D13-srh-X000

D14-X000 Search report completed

St.27 status event code: A-1-2-D10-D14-srh-X000

E701 Decision to grant or registration of patent right
PE0701 Decision of registration

St.27 status event code: A-1-2-D10-D22-exm-PE0701

GRNT Written decision to grant
PR0701 Registration of establishment

St.27 status event code: A-2-4-F10-F11-exm-PR0701

PR1002 Payment of registration fee

St.27 status event code: A-2-2-U10-U11-oth-PR1002

Fee payment year number: 1

PG1601 Publication of registration

St.27 status event code: A-4-4-Q10-Q13-nap-PG1601

LAPS Lapse due to unpaid annual fee
PC1903 Unpaid annual fee

St.27 status event code: A-4-4-U10-U13-oth-PC1903

Not in force date: 20140301

Payment event data comment text: Termination Category : DEFAULT_OF_REGISTRATION_FEE

PC1903 Unpaid annual fee

St.27 status event code: N-4-6-H10-H13-oth-PC1903

Ip right cessation event data comment text: Termination Category : DEFAULT_OF_REGISTRATION_FEE

Not in force date: 20140301

P22-X000 Classification modified

St.27 status event code: A-4-4-P10-P22-nap-X000

P22-X000 Classification modified

St.27 status event code: A-4-4-P10-P22-nap-X000