KR100700156B1 - 다이나믹 메모리의 리프레쉬 컨트롤러, 이를 포함하는반도체 시스템 및 다이나믹 메모리의 리프레쉬 제어 방법. - Google Patents

다이나믹 메모리의 리프레쉬 컨트롤러, 이를 포함하는반도체 시스템 및 다이나믹 메모리의 리프레쉬 제어 방법. Download PDF

Info

Publication number
KR100700156B1
KR100700156B1 KR1020060017086A KR20060017086A KR100700156B1 KR 100700156 B1 KR100700156 B1 KR 100700156B1 KR 1020060017086 A KR1020060017086 A KR 1020060017086A KR 20060017086 A KR20060017086 A KR 20060017086A KR 100700156 B1 KR100700156 B1 KR 100700156B1
Authority
KR
South Korea
Prior art keywords
refresh
dynamic memory
request
signal
bank
Prior art date
Application number
KR1020060017086A
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 삼성전자주식회사
Priority to KR1020060017086A priority Critical patent/KR100700156B1/ko
Priority to US11/676,585 priority patent/US7603512B2/en
Application granted granted Critical
Publication of KR100700156B1 publication Critical patent/KR100700156B1/ko

Links

Images

Classifications

    • 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
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1605Handling requests for interconnection or transfer for access to memory bus based on arbitration
    • G06F13/161Handling requests for interconnection or transfer for access to memory bus based on arbitration with latency improvement
    • G06F13/1626Handling requests for interconnection or transfer for access to memory bus based on arbitration with latency improvement by reordering requests
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1605Handling requests for interconnection or transfer for access to memory bus based on arbitration
    • G06F13/161Handling requests for interconnection or transfer for access to memory bus based on arbitration with latency improvement
    • G06F13/1636Handling requests for interconnection or transfer for access to memory bus based on arbitration with latency improvement using refresh
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/21Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
    • G11C11/34Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
    • G11C11/40Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
    • G11C11/401Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming cells needing refreshing or charge regeneration, i.e. dynamic cells
    • G11C11/4063Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing
    • G11C11/407Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing for memory cells of the field-effect type
    • G11C11/4076Timing circuits
    • 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

Abstract

다이나믹 메모리의 리프레쉬 컨트롤러 및 이를 포함한 반도체 시스템과 다이나믹 메모리의 리프레쉬 제어방법이 개시된다. 다이나믹 메모리의 리프레쉬 컨트롤러는 선입선출메모리, 스케쥴러, 리프레쉬 제어부 및 시그널 제너레이터를 포함한다. 스케쥴러는 마스터 장치별로 부여된 우선 순위에 따라 리퀘스트의 처리 순서를 변경한다. 리프레쉬 제어부는 리프레쉬 주기를 조절하고 다이나믹 메모리의 리프레쉬 여부를 결정한다. 시그널 제너레이터는 다이나믹 메모리를 리프레쉬하는 리프레쉬트리거 신호를 생성한다.

Description

다이나믹 메모리의 리프레쉬 컨트롤러, 이를 포함하는 반도체 시스템 및 다이나믹 메모리의 리프레쉬 제어 방법.{Dynamic memory refresh controller, semiconductor memory system including the same and method of refresh control}
도 1은 종래 기술에 따른 리프레쉬 트리거 방식에 대한 다이어그램이다.
도 2는 본 발명의 일 실시예에 따른 다이나믹 메모리의 리프레쉬 컨트롤러의 구성을 나타내는 블록도이다.
도 3은 제1 구간에서 마스터 장치의 후속 리퀘스트가 없는 경우의 다이나믹 메모리의 리프레쉬 컨트롤러(200)의 동작을 나타낸 타이밍도이다.
도 4는 제1 구간 내에 FIFO(210)에 마스터 장치로부터의 후속 리퀘스트가 있는 경우의 다이나믹 메모리의 리프레쉬 컨트롤러(200)의 동작을 나타내는 타이밍도이다.
도 5는 추가 response latency에 대한 마스터 장치의 리퀘스트가 리프레쉬 트리거 이후에 처리되는 경우를 보인 다이어그램이다.
도 6은 높은 우선 순위를 가진 리퀘스트가 tRFC의 영향을 받지 않도록 한 예이다.
도 7은 본 발명의 일 실시예에 따른 반도체 메모리 시스템의 구성을 보여주는 블록도이다.
도 8은 본 발명의 일 실시예에 따른 다이나믹 메모리의 리프레쉬 제어 방법을 보여주는 플로우 차트이다.
도 9는 본 발명의 일 실시예에 따른 다이나믹 메모리의 리프레쉬 제어방법을 보여주는 전체적인 플로우챠트이다.
* 도면의 주요부분에 대한 설명*
210: 선입선출메모리 220: 스케쥴러
230: 리프레쉬제어부 232: 유한 상태 머신
234: tREF 카운터 240: 시그널 제너레이터
본 발명은 메모리 컨트롤러와 이를 포함하는 반도체 시스템 및 메모리의 리프레쉬 제어방법에 관한 것으로, 보다 상세하게는 다이나믹 메모리의 리프레쉬 컨트롤러 및 시스템 그리고 다이나믹 메모리의 리프레쉬 제어 방법에 관한 것이다.
대부분의 SOC(system on chip) 디바이스들은 메인 메모리로 용량 대비 가격이 저렴한 동기식 디램(Synchronous DRAM)을 사용하고 있다. 이러한 DDR(double data rate)/SDR(single data rate) 동기식 디램은 기본적인 데이터 저장 셀이 다이나믹(dynamic) 특성을 갖고 있으므로 리프레쉬(refresh)라는 데이터 보존 동작을 필요로 한다. 이러한 리프레쉬 동작은 대규모의 리드 동작(read operation)과 동일 하여 상당한 양의 전력 소모를 필요로 한다.
다이나믹 메모리는 주기적으로 리프레쉬를 하여야 하며, 셀 하나는 수십~수백 ms동안 데이터를 온전하게 저장할 수 있다. 리프레쉬 트리거 한 번에 각 페이지(page) 당 하나의 로우(row)를 리프레쉬하므로 실제 리프레쉬 트리거의 주기는 수 us 정도 된다. 모든 동기식 디램의 사양(specification)에는 리프레쉬 트리거의 최대 주기인 tREFImax(maximum refresh interval time)에 대한 항목이 있다. 이 tREFImax 이상으로 리프레쉬 주기를 가져간다면 데이터의 보존성을 보장할 수 없다는 말이다. 따라서 tREFImax 이하에서 리프레쉬 주기를 가져갈 수 있도록 컨트롤러를 설계해야 한다는 의미이다. 더구나, 노말 액세스 동작(예를 들어 리드 또는 라이트 동작)과 충돌하여 리프레쉬를 못하는 경우를 고려하면, 상기 사양에 명시되어 있는 주기보다 더 짧은 시간안에 리프레쉬 트리거(refresh trigger)를 해야 한다. 따라서 필요 이상으로 리프레쉬를 자주 해 주게 되어 상기 다이다믹 메모리를 사용하는 시스템의 전력 소모를 더 증가시키게 된다.
많은 리프레쉬 컨트롤러는 메모리의 리프레쉬 트리거 주기의 최적화에 많은 어려움을 겪고 있다. 하나의 로우 오픈 시 연속된 어드레스의 데이터 액세스(data access), 즉 하나의 로우 어드레스에 칼럼만 트랜지션(transition)하여 데이터를 액세스하는 경우를 생각해 보자. 이 경우에 있어서, 데이터 액세스 도중에 리프레쉬 주기의 최대 주기에 맞닥트리는 상황이 발생하면, 즉시 프리차아지 커맨드(precharge command)를 내리고, 리프레쉬 트리거를 해야 한다. 이렇게 되면, 리프레쉬가 끝나고 다시 해당 로우를 활성화하고 후속 칼럼 어드레스를 액세스해야 한 다. 이렇게 되면, 프리차아지 시간과 로우 활성화 시간이 더 소모되어 메모리의 고속 액세스에 지장을 주게 된다.
다른 경우로는, 많은 경우의 컨트롤러들이 마스터 장치(master device)로부터 전달 받은 리퀘스트에 응답하기 위하여 메모리에 액세스 시에는 리프레쉬 트리거를 방지하도록 되어 있다. 따라서, 메모리의 사양에 있는 tREFIamx에 메모리에 리드/라이트 액세스가 걸려 있다고 하면, tREFI를 어기게 되어 메모리에 저장된 데이터가 손실될 수 있다.
도 1은 이러한 데이터의 손실을 방지하기 위한 종래 기술에 따른 리프레쉬 트리거 방식에 대한 다이어그램이다.
도 1을 참조하면, 대부분의 메모리의 리프레쉬 컨트롤러들은 tREFI의 최소 시간(minimum time)만 사용자가 설정해 두고 실제 설정한 tREFI 이후에 아이들(idle) 상태만 발생하면, 즉각 리프레쉬 트리거를 메모리에 인가하여 리프레쉬하도록 한다. 안정된 동작을 위하여 사용자가 설정하는 tREFI는 대체로 짧게 설정한다. 따라서, 전체적인 리프레쉬 주기가 짧아지게 되며 일정 시간 내의 리프레쉬 트리거 횟수는 증가하게 된다. 그러므로, 전체적인 시스템의 전력 소모는 극심하게 된다.
본 발명의 목적은 이러한 문제점을 해결하기 위해 다이나믹 메모리의 리프레쉬 주기를 조절하여 리프레쉬 주기를 최대화할 수 있는 다이나믹 메모리의 리프레쉬 컨트롤러를 제공하는데 있다.
본 발명의 다른 목적은 이러한 문제점을 해결하기 위해 다이나믹 메모리의 리프레쉬 주기를 조절할 수 있는 다이나믹 메모리의 리프레쉬 컨트롤러를 포함하여 시스템의 전력 소모를 줄일 수 있는 반도체 시스템을 제공하는 데 있다.
본 발명의 또 다른 목적은 이러한 문제점을 해결하기 위하여다이나믹 메모리의 리프레쉬 주기를 최대화할 수 있는 메모리의 리프레쉬 제어 방법을 제공하는데 있다.
상기 목적을 달성하기 위한 본 발명의 일 실시예에 따른 다이나믹 메모리의 리프레쉬 컨트롤러는 선입선출 메모리, 스케쥴러, 리프레쉬 제어부 및 시그널 제너레이터를 포함한다. 상기 선입선출 메모리는 마스터 장치로부터의 리퀘스트를 저장하고 처리한다. 상기 스케쥴러는 상기 마스터별로 부여된 우선순위에 따라 상기 선입선출 메모리내에서 리퀘스트를 재배치하거나 후속 리퀘스트에 대한 정보를 제공한다. 상기 리프레쉬 제어부는 상기 선입선출 메모리 내에 후속 리퀘스트의 존재 여부와 상기 다이나믹 메모리를 구성하는 뱅크의 아이들(idle) 상태 여부에 기초하여 상기 다이나믹 메모리의 리프레쉬 타이밍을 결정한다. 상기 시그널 제너레이터는 상기 리프레쉬 제어부의 출력 제어 신호에 응답하여 상기 다이나믹 메모리를 리프레쉬 하는 리프레쉬 트리거 신호를 생성한다.
상기 리프레쉬 제어부는 유한 상태 머신(Finite State Machine: 이하 FSM)과 tREF카운터를 포함할 수 있다. 상기 FSM은 상기 다이나믹 메모리를 뱅크 별로 컨트롤 하고, 상기 tREF카운터는 상기 다이나믹 메모리의 리프레쉬 구간을 결정할 수 있다.
상기 tREF카운터는 상기 다이나믹 메모리 자체의 최대 리프레쉬 간격(이하 tREFImax)에서 마스터 장치의 리퀘스트가 액세스할 수 있는 최대 시간(이하 ACC_LENGTHmax)을 뺀 시점부터 상기 tREFmax의 종점까지(이하 제1 구간) 상기 마스터 장치의 후속 리퀘스트를 모니터링 할 수 있다.
상기 tREF카운터는 상기 제1 구간 전부터 후속 리퀘스트에 대비하기 위한 인터럽트 신호를 상기 FSM에 인가할 수 있다.
상기 스케쥴러는 상기 제1 구간동안후속 리퀘스트의 존재여부에 대한 정보를 제공하는 REQ 신호를 상기 FSM에 인가할 수 있다.
상기 tREF카운터는 상기 제1 구간동안 상기 REQ 신호의 활성화 여부에 따라, 상기 FSM에 인가되는 타임 아웃(Time_Out) 신호의 활성화 여부가 결정될 수 있다. 상기 Time_Out 신호는 상기 제1 구간동안, 상기 REQ 신호가 비활성화 상태이면, 상기 인터럽트 신호구간의 종점에서 활성화 되어 상기 제1 구간의 종점에서 비활성화 될 수 있다.
상기 FSM은 상기 제1 구간 동안 상기 메모리의 모든 뱅크가 아이들(idle) 상태일 때 ALL_BANK_IDLE 신호가 발생될 수 있다. 상기 FSM은 상기 ALL_BANK_IDLE 신호와 상기 Time_Out 신호가 동시에 활성화 될 때 상기 시그널 제너레이터에 리프레쉬 제어신호를 인가할 수 있다. 상기 FSM은 상기 제1 구간 동안 상기 REQ 신호가 상기 ALL_BANK_IDLE 신호와 동시에 활성화 될 때, 상기 시그널 제너레이터에 리프레쉬 제어 신호를 인가할 수 있다.
상기 스케쥴러는 상기 선입선출 메모리 내에 저장된 상기 리퀘스트의 처리 순서를 변경할 수 있다. 상기 스케쥴러는 상기 tREF카운터에서 상기 인터럽트 신호가 발생되는 시점에 상기 선입선출 메모리 내에 저장된 상기 리퀘스트의 처리 순서를 변경할 수 있다. 상기 스케쥴러는 상기 리퀘스트의 추가 응답 지연(response latency)에 대한 민감도에 의해 정해지는 우선 순위를 상기 마스터 장치에 부여할 수 있다. 상기 스케쥴러는 상기 결정된 우선 순위에 기초하여 선입선출 메모리 내에 저장되어 있는 리퀘스트의 처리 순서를 변경할 수 있다. 상기 스케쥴러는 상기 tREF카운터에서 상기 FSM에 인터럽트 신호를 인가할 때, 상기 인터럽트 신호의 구간 내에서만 상기 선입선출 메모리 내에 저장되어 있는 리퀘스트의 처리 순서를 변경할 수 있다.
상기 목적을 달성하기 위한 본 발명의 일 실시예에 따른 반도체 시스템은 데이터를 저장하는 다이나믹 메모리, 상기 다이나믹 메모리를 제어하는 리프레쉬 컨트롤러, 상기 다이나믹 메모리를 액세스하는 마스터 장치 및 상기 다이나믹 메모리와 상기 리프레쉬 컨트롤러와 상기 마스터 장치를 연결하는 버스를 포함한다.
리프레쉬 컨트롤러는 선입선출 메모리, 스케쥴러, 리프레쉬 제어부 및 시그널 제너레이터를 포함한다. 상기 선입선출 메모리는 마스터 장치로부터의 리퀘스트를 저장하고 처리한다. 상기 스케쥴러는 상기 마스터별로 부여된 우선순위에 따라 상기 선입선출 메모리내에서 리퀘스트를 재배치하거나 후속 리퀘스트에 대한 정보를 제공한다. 상기 리프레쉬 제어부는 상기 선입선출 메모리 내에 후속 리퀘스트의 존재 여부와 다이나믹 메모리를 구성하는 뱅크의 아이들(idle) 상태 여부에 기초하여 상기 다이나믹 메모리의 리프레쉬 타이밍을 결정한다. 상기 시그널 제너레이터 는 상기 리프레쉬 제어부의 출력 제어 신호에 응답하여 상기 다이나믹 메모리를 리프레쉬 하는 리프레쉬 트리거 신호를 생성한다. 상기 리프레쉬 제어부는 유한 상태 머신(Finite State Machine: 이하 FSM)과 tREF카운터를 포함할 수 있다. 상기 FSM은 상기 메모리를 뱅크 별로 컨트롤 하고, 상기 tREF카운터는 동기식 디램의 리프레쉬 구간을 결정할 수 있다.
상기 목적을 달성하기 위한 본 발명의 일 실시예에 따른 메모리의 리프레쉬 제어 방법은 마스터 장치로부터의 리퀘스트를 저장하여 처리하는 단계, 상기 리퀘스트를 처리하여 저장하는 단계에서 상기 마스터별로 부여된 우선 순위에 따라 상기 리퀘스트를 재배치하거나 후속 리퀘스트에 대한 정보를 제공하는 단계, 상기 리퀘스트를 저장하여 처리하는 단계에서 후속 리퀘스트의 존재 여부와 메모리를 구성하는 뱅크의 아이들 상태 여부에 기초하여 상기 메모리의 리프레쉬 타이밍을 결정하는 단계 및 상기 다이나믹 메모리의 리프레쉬 타이밍을 결정하는 단계의 결정에 기초하여 상기 메모리를 리프레쉬하는 리프레쉬 트리거 신호를 생성하는 단계를 포함하며, 상기 다이나믹 메모리의 리프레쉬 타이밍을 결정하는 단계는 상기 메모리를 뱅크별로 컨트롤 하는 다이나믹 메모리를 뱅크별로 컨트롤 하는 단계와 상기 메모리의 리프레쉬 구간을 결정할 수 있는 단계를 포함한다.
상기 다이나믹 메모리의 리프레쉬 구간을 결정할 수 있는 단계는 상기 메모리 자체의 최대 리프레쉬 간격(tREFImax)에서 마스터의 리퀘스트가 액세스할 수 있는 최대시간(ACCESS_LENGTHmax)을 뺀 시점부터 상기 tREFImax의 종점까지(이하 제1 구간) 상기 리퀘스트를 저장하여 처리하는 단계 내의 후속 리퀘스트의 존재를 모니 터링할 수 있다. 상기 다이나믹 메모리의 리프레쉬 구간을 결정할 수 있는 단계는 상기 제1 구간 전부터 후속 리퀘스트를 대비하기 위한 인터럽트 신호를 상기 다이나믹 메모리를 뱅크별로 컨트롤 하는 단계에 보낼 수 있다.
상기 리퀘스트를 재배치하거나 후속 리퀘스트에 대한 정보를 제공하는 단계는 상기 제1 구간 동안 상기 리퀘스트를 저장하여 처리하는 단계 내에 후속 리퀘스트의 존재여부를 알리는 REQ 신호를 상기 다이나믹 메모리를 뱅크별로 컨트롤 하는 단계에 보낼 수 있다.
상기 다이나믹 메모리의 리프레쉬 구간을 결정할 수 있는 단계는 상기 제1 구간 동안 상기 REQ 신호의 활성화 여부에 따라, 상기 다이나믹 메모리를 뱅크별로 컨트롤 하는 단계에 보내지는 타임 아웃(Time_Out) 신호의 활성화여부가 결정될 수 있다. 상기 Time_Out 신호는 상기 제1 구간 동안, 상기 REQ 신호가 비활성화 상태이면, 상기 인터럽트 신호의 종점에서 활성화 되어, 상기 제1 구간의 종점에서 비활성화 될 수 있다.
상기 다이나믹 메모리를 뱅크별로 컨트롤 하는 단계는 상기 제1 구간 동안 상기 다이나믹 메모리의 모든 뱅크가 아이들(idle) 상태일 때, ALL_BANK_IDLE 신호가 발생될 수 있다. 상기 다이나믹 메모리를 뱅크별로 컨트롤 하는 단계는 상기 ALL_BANK_IDLE 신호와 상기 Time_Out 신호가 동시에 활성화 될 때 상기 리프레쉬 트리거 신호를 생성하는 단계에 리프레쉬 제어신호를 보낼 수 있다. 상기 다이나믹 메모리를 뱅크별로 컨트롤 하는 단계는 상기 제1 구간 동안 상기 REQ 신호가 상기 ALL_BANK_IDLE 신호와 동시에 활성화 될 때, 상기 제 4단계에 리프레쉬 제어신호를 보낼 수 있다.
상기 리퀘스트를 재배치하거나 후속 리퀘스트에 대한 정보를 제공하는 단계는 상기 리퀘스트를 저장하여 처리하는 단계 내의 리퀘스트의 처리 순서가 변경될 수 있다. 상기 리퀘스트를 재배치하거나 후속 리퀘스트에 대한 정보를 제공하는 단계는 상기 다이나믹 메모리의 리프레쉬 구간을 결정할 수 있는 단계에서 상기 인터럽트 신호가 발생되는 시점에 상기 리퀘스트를 저장하여 처리하는 단계의 리퀘스트의 처리 순서가 변경될 수 있다. 상기 리퀘스트를 재배치하거나 후속 리퀘스트에 대한 정보를 제공하는 단계는 상기 리퀘스트의 추가 응답 지연(response latency)에 대한 민감도에 의해 정해지는 우선 순위가 상기 마스 터 장치에 부여될 수 있다. 상기 리퀘스트를 재배치하거나 후속 리퀘스트에 대한 정보를 제공하는 단계는 상기 결정된 우선 순위에 기초하여 상기 리퀘스트를 저장하여 처리하는 단계의 리퀘스트의 처리 순서가 변경될 수 있다. 상기 리퀘스트를 재배치하거나 후속 리퀘스트에 대한 정보를 제공하는 단계는 상기 다이나믹 메모리의 리프레쉬 구간을 결정할 수 있는 단계에서 상기 다이나믹 메모리를 뱅크별로 컨트롤 하는 단계에 상기 인터럽트 신호가 보내질 때, 상기 인터럽트 신호의 구간 내에서만 상기 리퀘스트를 저장하여 처리하는 단계의 리퀘스트의 처리 순서가 변경될 수 있다.
본문에 개시되어 있는 본 발명의 실시예들에 대해서, 특정한 구조적 내지 기능적 설명들은 단지 본 발명의 실시예를 설명하기 위한 목적으로 예시된 것으로, 본 발명의 실시예들은 다양한 형태로 실시될 수 있으며 본문에 설명된 실시예들에 한정되는 것으로 해석되어서는 아니 된다.
본 발명은 다양한 변경을 가할 수 있고 여러 가지 형태를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 본문에 상세하게 설명하고자 한다. 그러나, 이는 본 발명을 특정한 개시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.
본 출원에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 설시된 특징, 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥 상 가지는 의미와 일치하는 의미를 가지는 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
한편, 어떤 실시예가 달리 구현 가능한 경우에 특정 블록 내에 명기된 기능 또는 동작이 순서도에 명기된 순서와 다르게 일어날 수도 있다. 예를 들어, 연속하 는 두 블록이 실제로는 실질적으로 동시에 수행될 수도 있고, 관련된 기능 또는 동작에 따라서는 상기 블록들이 거꾸로 수행될 수도 있다.
이하, 첨부한 도면을 참조하여 본 발명의 바람직한 실시예를 보다 상세하게 설명하고자 한다. 도면상의 동일한 구성요소에 대해서는 동일한 참조부호를 사용하고 동일한 구성요소에 대해서 중복된 설명은 생략한다.
도 2는 본 발명의 일 실시예에 따른 다이나믹 메모리의 리프레쉬 컨트롤러의 구성을 나타내는 블록도이다.
도 2를 참조하면, 본 발명의 일 실시예에 따른 다이나믹 메모리의 리프레쉬 컨트롤러(200)는 선입선출 메모리(210, 이하 FIFO), 스케쥴러(220), 리프레쉬 제어부(230) 및 시그널 제너레이터(240)를 포함한다.
상기 FIFO(210)는 마스터 장치로부터의 리퀘스트를 순서대로 처리하고 저장한다.
상기 스케쥴러(220)는 상기 마스터장치별로 부여된 우선 순위에 따라상기 FIFO(210)에 있는 리퀘스트 순서를 재배치하거나 상기 마스터 장치로부터의 후속 리퀘스트에 대한 정보를 제공한다.
상기 리프레쉬 제어부(230)는 상기 FIFO(210) 내에 후속 리퀘스트의 존재 여부와 다이나믹 메모리를 구성하는 뱅크의 아이들 상태 여부에 기초하여 상기 다이나믹 메모리의 리프레쉬 타이밍을 결정한다.
상기 시그널 제너레이터(240)는 상기 리프레쉬 제어부(230)의 출력 제어 신호에 응답하여 상기 다이나믹 메모리를 리프레쉬하는 리프레쉬 트리거 신호를 생성 한다.
상기 리프레쉬 제어부(230)는 유한 상태 머신(Finite State Machine: 이하 FSM, 232)과 tREF카운터(234)를 포함할 수 있다.
상기 FSM(232)은 다이나믹 메모리를 뱅크별로 컨트롤하고, 상기 tREF카운터(234)는 상기 다이나믹 메모리의 리프레쉬 구간을 결정할 수 있다.
상기 tREF카운터(234)는 다이나믹 메모리 자체의 최대 리프레쉬 간격(이하 tREFImax)에서 마스터 장치의 리퀘스트가 액세스할 수 있는 최대 시간(이하 ACCESS_LENGTHmax)을 뺀 시점부터 상기 tREFImax의 종점까지(이하 제1 구간) 상기 마스터 장치의 후속 리퀘스트를 모니터할 수 있다.
도 3은 상기 제1 구간에서 마스터 장치의 후속 리퀘스트가 없는 경우의 상기 리프레쉬 컨트롤러(200)의 동작을 나타낸 타이밍도이다.
도 3을 참조하면, 상기 tREF카운터(234)는 상기 제1 구간의 시점부터 마스터 장치의 후속 리퀘스트에 대비하여 인터럽트 신호를 상기 FSM(232)에 인가한다. 상기 인터럽트 신호의 구간은 상기 제1 구간의 시점부터 상기 제1 구간의 종점 전 리프레쉬트리거 신호가 다이나믹 메모리에 전달되는 시간을 뺀 부분까지이다. 상기 인터럽트 신호 구간에서 마스터 장치로부터 후속 리퀘스트가 없을 경우, 상기 인터럽트 신호 구간의 종점에서 후속 리퀘스트가 없다는 타임 아웃(Time_Out) 신호를 상기 FSM(232)에 인가한다. 상기 타임 아웃 신호의 구간은 상기 인터럽트 신호 구간의 종점부터 상기 제1 구간의 종점까지이다.
이 때, 상기 FSM(232)은 상기 동기식 디램의 뱅크가 아이들(idle) 상태인지 아닌지를 판단하여 모든 뱅크가 아이들 상태가 되는 때에 ALL_BANK_IDLE 신호를 상기 시그널 제너레이터(240)에 인가한다. 상기 시그널 제너레이터(240)는 상기 수신한 ALL_BANK_IDLE 신호와 상기 Time_Out 신호가 겹치는 시점에 상기 동기식 디램의 리프레쉬 동작을 시작하여 상기 제1 구간의 종점에서 리프레쉬 동작을 끝낸다.
도 4는 상기 제1 구간 내에 상기 FIFO(210)내에 마스터 장치로부터의 후속 리퀘스트가 있는 경우의 상기 리프레쉬 컨트롤러(200)의 동작을 나타내는 타이밍도이다.
도 4를 참조하면, 상기 제1 구간 내에 상기 FIFO(210)에 마스터 장치로부터 후속 리퀘스트가 있는 경우, 상기 스케쥴러(220)는 후속 리퀘스트가 발견되는 즉시 후속 리퀘스트가 있다는 신호인 REQ 신호를 상기 FSM(232)에 인가한다. 상기 FSM(232)는 모든 뱅크가 아이들 상태가 되는 때를 기다려 ALL_BANK_IDLE 신호를 상기 시그널 제너레이터(240)에 인가한다. 그러면, 상기 시그널 제너레이터(240)는 리프레쉬 트리거 신호를 생성한다. 이 경우에 이미 리프레쉬는 수행되었으므로, 상기 Time_Out 신호는 발생되지 않는다. 그 대신에 리프레쉬가 수행됨에 따라 발생되는 지연시간인 tRFC 후에 상기 FSM(232)이 상기 tREFI카운터(234)에 Start 신호를 인가하여 상기 tREF카운터가 tREFI를 모니터한다.
그런데, tREFImax의 종점에 이르러 마스터 장치의 다이나믹 메모리에 대한 액세스가 밀집되는 경우가 있다. 이 경우에 종래 기술은 긴 구간에서 뱅크의 아이들 상태를 모니터하고 있다가 모든 뱅크의 아이들 상태를 감지하게 되면 리프레쉬 트리거를 수행한다. 보통의 SOC(system on chip) 시스템의 경우에는 각 마스터 장 치 별로 추가적인 응답 지연(response latency)에 대한 민감도(sensitivity)가 모두 다르다. 그러므로, 본 발명에서는 각 마스터 장치별로 추가적인 응답 지연에 대한 민감도 별로 우선 순위(priority)를 별도로 제공한다. 이에 따라서, 높은 우선 순위를 가진 마스터 장치의 리퀘스트가 상기 FIFO(210)에 존재하면, 상기 스케쥴러(220)가 순서를 앞당겨 tRFC의 영향을 가급적 받지 않도록 리퀘스트를 재배치(re-ordering)한다.
도 5는 추가 response latency에 대한 마스터 장치의 리퀘스트가 리프레쉬 트리거 이후에 처리되는 경우를 보인 다이어그램이다.
도 5를 참조하면, 리퀘스트 C가 다른 리퀘스트보다 가장 짧은 latency를 요구할 경우, 도 5와 같은 상황이 되면, 다이나믹 메모리가 리프레쉬에 필요한 시간인 tRFC를 추가 latency로 부담하게 된다. 이렇게 되면, 상기 리퀘스트C는 제 때에 처리되지 못하게 되어 상기 다이나믹 메모리는 퍼포먼스(performance) 저하나 에러를 일으킬 수 있다.
도 6은 높은 우선 순위를 가진 리퀘스트가 tRFC의 영향을 받지 않도록 한 예이다.
도 6을 참조하면, 리퀘스트들이 상기 tREFImax의 종점에 밀집하는 경우에 우선 순위가 가장 높은 리퀘스트C가 tRFC의 영향을 받지 않도록 상기 스케쥴러(220)가 리퀘스트를 재배치한다. 그러면 상기 tREFImax의 종점 전에 리퀘스트C가 처리되어 우선 순위가 가장 높은 리퀘스트C가 tRFC의 영향을 받지 않게 된다. 그러므로 상기 다이나믹 메모리는 퍼포먼스의 저하나 에러를 일으키지 않는다.
도 7은 본 발명의 일 실시예에 따른 반도체 시스템의 구성을 보여주는 블록도이다.
도 7을 참조하면, 본 발명의 일 실시예에 따른 반도체 시스템은 데이터를 저장하는 다이나믹 메모리(710), 상기 다이나믹 메모리(710)의 리프레쉬를 제어하는 리프레쉬 컨트롤러(200), 상기 다이나믹 메모리(710)를 액세스하는 마스터 장치(730), 상기 다이나믹 메모리(710)와 상기 리프레쉬 컨트롤러(200)와 상기 마스터 장치(720)를 연결하는 버스(740)를 포함한다.
상기 리프레쉬 컨트롤러(200)는 상기 마스터 장치(730)로부터의 리퀘스트를 처리하는 선입선출메모리(210), 상기 마스터 장치(730)별로 부여된 우선순위에 따라 상기 선입선출 메모리(210)내에서 상기 리퀘스트를 재배치하거나 후속 리퀘스트에 대한 정보를 제공하는 스케쥴러(220),상기 선입선출 메모리(210) 내에 후속 리퀘스트의 존재 여부와 메모리를 구성하는 뱅크의 아이들(idle) 상태 여부에 기초하여 상기 다이나믹 메모리(710)의 리프레쉬 타이밍을 결정하는 리프레쉬 제어부(230), 및 상기 리프레쉬 제어부(230)의 출력 제어 신호에 응답하여 리프레쉬 트리거 신호를 생성하는 시그널 제너레이터(240)를 포함한다.
도 8은 본 발명의 일 실시예에 따른 동기식 메모리의 리프레쉬 제어 방법을 보여주는 플로우 차트이다.
도 8을 참조하면, 본 발명의 일 실시예에 따른 다이나믹 메모리의 리프레쉬 제어 방법은 마스터 장치로부터의 리퀘스트를 저장하고 처리하는 리퀘스트를 저장하여 처리하는 단계(S810), 상기 리퀘스트를 저장하여 처리하는 단계에서 상기 마 스터별로 부여된 우선 순위에 따라 상기 리퀘스트를 재배치하거나 후속 리퀘스트에 대한 정보를 제공하는 단계(S820), 상기 리퀘스트를 저장하여 처리하는 단계에서 후속 리퀘스트의 존재 여부와 다이나믹 메모리를 구성하는 뱅크의 아이들 상태 여부에 기초하여 상기 다이나믹 메모리의 리프레쉬 타이밍을 결정하는 단계(S830) 및 상기 다이나믹 메모리의 리프레쉬 타이밍을 결정하는 단계의 결정에 기초하여 상기 다이나믹 메모리를 리프레쉬하는 리프레쉬 트리거 신호를 생성하는 단계(S840)를 포함한다.
상기 다이나믹 메모리의 리프레쉬 타이밍을 결정하는 단계는(S830)는 상기 다이나믹 메모리를 뱅크별로 컨트롤 하는 단계(S832)와 상기 다이나믹 메모리의 리프레쉬 구간을 결정할 수 있는 단계(S834)로 구성될 수 있다.
상기 다이나믹 메모리의 리프레쉬 구간을 결정할 수 있는 단계는(S834)는 상기 다이나믹 메모리 자체의 최대 리프레쉬 간격(이하 tREFmax)에서 마스터 장치의 리퀘스트가 액세스할 수 있는 최대시간(이하 ACCESS_LENGTHmax)을 뺀 시점부터 상기 tREFImax의 종점까지(이하 제1 구간) 상기 마스터 장치로부터의 후속 리퀘스트를 모니터링할 수 있다.
상기 다이나믹 메모리의 리프레쉬 구간을 결정할 수 있는 단계는(S834)는 상기 제1구간 전부터 상기 마스터 장치로부터의 후속 리퀘스트에 대비하여 인터럽트 신호를 상기 다이나믹 메모리를 뱅크별로 컨트롤 하는 단계(S832)에 보낼 수 있다.
상기 다이나믹 메모리의 리프레쉬 구간을 결정할 수 있는 단계(S834)는 상기 제1 구간동안 상기 마스터 장치의 후속 리퀘스트가 상기 리퀘스트를 저장하여 처리 하는 단계에 보내지지 않으면, 후속 리퀘스트가 없다는 Time_Out 신호를 상기 다이나믹 메모리를 뱅크별로 컨트롤 하는 단계(S832)에 보낼 수 있다.
상기 다이나믹 메모리를 뱅크별로 컨트롤 하는 단계(S832)는 이 때 상기 다이나믹 메모리의 뱅크가 아이들(idle) 상태인지를 판단하여 모든 뱅크가 아이들 상태일 때 ALL_BANK_IDLE 신호를 상기 제4 단계(S840)에 보낼 수 있다.
상기 리퀘스트를 재배치하거나 후속 리퀘스트에 대한 정보를 제공하는 단계(S820)는 상기 리퀘스트를 저장하여 처리하는 단계의(S810)의 리퀘스트 처리순서를 변경할 수 있다.
상기 리퀘스트를 재배치하거나 후속 리퀘스트에 대한 정보를 제공하는 단계(S820)는 상기 (S834)에서 상기 인터럽트 신호가 발생되는 시점에 상기 리퀘스트의 처리 순서를 변경할 수 있다.
상기 리퀘스트의 순서를 재배치하거나 후속 리퀘스트의 정보를 제공하는 단계(S820)는 상기 리퀘스트의 응답 지연(response latency)에 대한 민감도에 의해 정해지는 우선 순위를 상기 리퀘스트에 부여 할 수 있다.
상기 리퀘스트의 순서를 재배치하거나 후속 리퀘스트의 정보를 제공하는 단계(S820)는 상기 결정된 우선 순위에 기초하여 상기 리퀘스트의 처리 순서를 변경할 수 있다.
상기 리퀘스트의 순서를 재배치하거나 후속 리퀘스트의 정보를 제공하는 단계(S820)는, 상기 인터럽트 신호의 구간내에서만 상기 리퀘스트의 처리 순서를 변경할 수 있다.
도 9는 본 발명의 일 실시예에 따른 동기식 디램의 리프레쉬 제어방법을 보여주는 전체적인 플로우챠트이다.
도 9를 참조하면, 먼저 상기 리프레쉬 구간을 결정하는 단계(S834)에서 상기 리프레쉬 여부를 결정하는 단계(S832)에 인터럽트 신호를 인가한다.(S910) 상기 리프레쉬 여부를 결정하는 단계(S832)에 인터럽트 신호가 인가되면, 상기 리퀘스트의 순서를 재배치하거나 후속 리퀘스트의 정보를 제공하는 단계(S820)는 상기 리퀘스트의 응답 지연에 대한 민감도에 의해 정해지는 우선 순위에 따라 상기 리퀘스트를 재배치한다.(S920) 상기 리퀘스트가 재배치되면, 상기 리퀘스트의 순서를 재배치하거나 후속 리퀘스트의 정보를 제공하는 단계(S820)는 후속 리퀘스트가 존재하느냐를 판단한다.(S930)
후속 리퀘스트가 존재하면, 상기 리프레쉬 여부를 결정하는 단계에서 상기 동기식 디램의 모든 뱅크가 아이들 상태인지를 판단한다.(S940) 상기 동기식 디램의 모든 뱅크가 아이들 상태이면 리프레쉬 트리거 신호를 발생시킨다.(S960)
후속 리퀘스트가 존재하지 않으면, 상기 리프레쉬 구간을 결정하는 단계(S834)가 상기 리프레쉬 여부를 결정하는 단계(S832)에 Time_Out 신호를 인가한다.(S950) 이에 따라 리프레쉬 트리거 신호를 발생시킨다.(S960)
본 발명의 일 실시예에 따른 다이나믹 메모리의 리프레쉬 컨트롤러는 마스터 장치로부터의 리퀘스트의 처리 순서를 response latency의 민감도에 따른 우선순위에 따라 변경함으로써 리프레쉬 트리거 주기를 최대화할 수 있다.
본 발명의 일 실시예에 따른 다이나믹 메모리의 리프레쉬 컨트롤러를 포함한 반도체 시스템은 다이나믹 메모리의 리프레쉬 주기를 최대화함에 따라 시스템의 전력 소비를 줄일 수 있다.
본 발명의 일 실시예에 따른 다이나믹 메모리의 리프레쉬 제어 방법은 리프레쉬 트리거의 주기를 최대화하고 데이터 손실을 방지할 수 있다.
이상 실시예를 참조하여 설명하였지만, 해당 기술 분야의 숙련된 당업자는 하기의 특허 청구의 범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다

Claims (28)

  1. 마스터 장치로부터의 리퀘스트를 저장하여 처리하는 선입선출 메모리(first in first out);
    상기 마스터별로 부여된 우선 순위에 따라 상기 선입선출 메모리내에서 상기 리퀘스트를 재배치하거나 후속 리퀘스트에 대한 정보를 제공하는 스케쥴러;
    상기 선입선출 메모리 내에 후속 리퀘스트의 존재 여부와 다이나믹 메모리를 구성하는 뱅크의 아이들(idle) 상태 여부에 기초하여 상기 다이나믹 메모리의 리프레쉬 타이밍을 결정하는 리프레쉬 제어부 ; 및
    상기 리프레쉬 제어부의 출력 제어 신호에 응답하여 상기 다이나믹 메모리를 리프레쉬 하는 리프레쉬 트리거 신호를 생성하는 시그널 제너레이터를 포함하며, 상기 리프레쉬 제어부는 상기 다이나믹 메모리의 뱅크별 컨트롤을 위한 유한 상태 머신(Finite State Machine: 이하 FSM)과 상기 다이나믹 메모리의 리프레쉬 구간을 결정할 수 있는 tREF카운터를 포함하는 다이나믹 메모리의 리프레쉬 컨트롤러.
  2. 제1 항에 있어서, 상기 tREF카운터는 상기 다이나믹 메모리 자체의 최대 리프레쉬 간격(이하 tREFImax)에서 마스터 장치의 리퀘스트가 액세스할 수 있는 최대시간(이하 ACCESS_LENGTHmax)을 뺀 시점부터 상기 tREFImax의 종점까지(이하 제1 구간) 상기 마스터 장치의 후속 리퀘스트를 모니터링하는 것을 특징으로 하는 다이나믹 메모리의 리프레쉬 컨트롤러.
  3. 제2 항에 있어서, 상기 tREF카운터는 상기 제1 구간 전부터 후속 리퀘스트에 대비하기 위한 인터럽트 신호를 상기 FSM에 인가하는 것을 특징으로 하는 다이나믹 메모리의 리프레쉬 컨트롤러.
  4. 제2 항에 있어서, 상기 스케쥴러는 상기 제1 구간동안 후속 리퀘스트의 존재여부에 대한 정보를 제공하는 REQ 신호를 상기 FSM에 인가하는 것을 특징으로 하는 다이나믹 메모리의 리프레쉬 컨트롤러.
  5. 제4 항에 있어서, 상기 tREF카운터는 상기 제1 구간동안 상기 REQ 신호의 활성화 여부에 따라, 상기 FSM에 인가되는 타임 아웃(Time_Out) 신호의 활성화 여부가 결정되는 것을 특징으로 하는 다이나믹 메모리의 리프레쉬 컨트롤러.
  6. 제5 항에 있어서, 상기 Time_Out 신호는 상기 제1 구간동안, 상기 REQ 신호가 비활성화 상태이면, 상기 인터럽트 신호구간의 종점에서 활성화 되어 상기 제1 구간의 종점에서 비활성화되는 것을 특징으로 하는 다이나믹 메모리의 리프레쉬 컨트롤러.
  7. 제6 항에 있어서, 상기 FSM은 상기 제1 구간 동안 상기 다이나믹 메모리의 모든 뱅크가 아이들(idle) 상태일 때 ALL_BANK_IDLE 신호가 발생되는 것을 특징으 로 하는 다이나믹 메모리의 리프레쉬 컨트롤러.
  8. 제7 항에 있어서, 상기 FSM은 상기 ALL_BANK_IDLE 신호와 상기 Time_Out 신호가 동시에 활성화 될 때 상기 시그널 제너레이터에 리프레쉬 제어신호를 인가하는 것을 특징으로 하는 다이나믹 메모리의 리프레쉬 컨트롤러.
  9. 제7 항에 있어서, 상기 제1 구간 동안 상기 REQ 신호가 상기 ALL_BANK_IDLE 신호와 동시에 활성화 될 때, 상기 시그널 제너레이터에 리프레쉬 제어 신호를 인가하는 것을 특징으로 하는 다이나믹 메모리의 리프레쉬 컨트롤러.
  10. 제3 항에 있어서, 상기 스케쥴러는 상기 선입선출 메모리 내에 저장된 상기 리퀘스트의 처리 순서를 변경하는 것을 특징으로 하는 다이나믹 메모리의 리프레쉬 컨트롤러.
  11. 제10 항에 있어서, 상기 스케쥴러는 상기 tREF카운터에서 상기 인터럽트 신호가 발생되는 시점에 상기 선입선출 메모리 내에 저장된 상기 리퀘스트의 처리 순서를 변경하는 것을 특징으로 하는 다이나믹 메모리의 리프레쉬 컨트롤러.
  12. 제11 항에 있어서, 상기 스케쥴러는 상기 리퀘스트의 추가 응답 지연(response latency)에 대한 민감도에 의해 정해지는 우선 순위를 상기 마스터에 부 여하는 것을 특징으로 하는 다이나믹 메모리의 리프레쉬 컨트롤러.
  13. 제12 항에 있어서, 상기 스케쥴러는 상기 결정된 우선 순위에 기초하여 선입선출 메모리 내에 저장되어 있는 리퀘스트의 처리 순서를 변경하는 것을 특징으로 하는 다이나믹 메모리의 리프레쉬 컨트롤러.
  14. 제13 항에 있어서, 상기 스케쥴러는 상기 tREF카운터에서 상기 FSM에 인터럽트 신호를 인가할 때, 상기 인터럽트 신호의 구간 내에서만 상기 선입선출 메모리 내에 저장되어 있는 리퀘스트의 처리 순서를 변경하는 것을 특징으로 하는 다이나믹 메모리의 리프레쉬 컨트롤러.
  15. 데이터를 저장하는 다이나믹 메모리;
    상기 다이나믹 메모리의 리프레쉬를 제어하는 리프레쉬 컨트롤러;
    한 개 이상의 상기 다이나믹 메모리를 액세스하는 마스터 장치; 및
    상기 다이나믹 메모리와 상기 리프레쉬 컨트롤러와 상기 마스터 장치를 연결하는 버스로 이루어지는 반도체 시스템에 있어서,
    상기 리프레쉬 컨트롤러는,
    상기 마스터 장치로부터의 리퀘스트를 저장하여 처리하는 선입선출 메모리;
    상기 선입선출 메모리에서 상기 마스터별로 부여된 우선 순위에 따라 상기 리퀘스트를 재배치하거나 후속 리퀘스트에 대한 정보를 제공하는 스케쥴러;
    상기 선입선출 메모리 내에 후속 리퀘스트의 존재 여부와 상기 다이나믹 메모리를 구성하는 뱅크의 아이들(idle) 상태 여부에 기초하여 상기 다이나믹 메모리의 리프레쉬 타이밍을 결정하는 리프레쉬 제어부 ; 및
    상기 리프레쉬 제어부의 제어 신호에 응답하여 상기 다이나믹 메모리를 리프레쉬하는 리프레쉬 트리거 신호를 생성하는 시그널 제너레이터를 포함하는 반도체 시스템.
  16. 마스터 장치로부터의 리퀘스트를 저장하여 처리하는 단계;
    상기 리퀘스트를 저장하여 처리하는 단계에서 상기 마스터별로 부여된 우선 순위에 따라 상기 리퀘스트를 재배치하거나 후속 리퀘스트에 대한 정보를 제공하는 단계;
    상기 리퀘스트를 저장하여 처리하는 단계에서 후속 리퀘스트의 존재 여부와 다이나믹 메모리를 구성하는 뱅크의 아이들 상태 여부에 기초하여 상기 다이나믹 메모리의 리프레쉬 타이밍을 결정하는 단계;및
    상기 리프레쉬 타이밍을 결정하는 단계의 결정에 기초하여 상기 다이나믹 메모리를 리프레쉬하는 리프레쉬 트리거 신호를 생성하는 단계를 포함하며, 상기 리프레쉬 타이밍을 결정하는 단계는 상기 다이나믹 메모리를 뱅크별로 컨트롤 하는 단계와 상기 다이나믹 메모리의 리프레쉬 구간을 결정할 수 있는 단계를 포함하는 다이나믹 메모리의 리프레쉬 제어 방법.
  17. 제16 항에 있어서, 상기 다이나믹 메모리의 리프레쉬 구간을 결정할 수 있는 단계는,
    상기 다이나믹 메모리 자체의 최대 리프레쉬 간격(tREFImax)에서 마스터 장치의 리퀘스트가 액세스할 수 있는 최대시간(ACCESS_LENGTHmax)을 뺀 시점부터 상기 tREFImax의 종점까지(이하 제1 구간) 상기 리퀘스트를 저장하여 처리하는 단계 내의 후속 리퀘스트의 존재를 모니터링하는 것을 특징으로 하는 다이나믹 메모리의 리프레쉬 제어 방법.
  18. 제17 항에 있어서, 상기 다이나믹 메모리의 리프레쉬 구간을 결정할 수 있는 단계는,
    상기 제1 구간 전부터 후속 리퀘스트를 대비하기 위한 인터럽트 신호를 상기 다이나믹 메모리를 뱅크별로 컨트롤 하는 단계에 보내는 것을 특징으로 하는 다이나믹 메모리의 리프레쉬 제어 방법.
  19. 제17 항에 있어서, 상기 리퀘스트를 재배치하거나 후속 리퀘스트의 정보를 제공하는 단계는,
    상기 제1 구간 동안 상기 리퀘스트를 저장하여 처리하는 단계 내에 후속 리퀘스트의 존재여부를 알리는 REQ 신호를 상기 다이나믹 메모리를 뱅크별로 컨트롤 하는 단계에 보내는 것을 특징으로 하는 다이나믹 메모리의 리프레쉬 제어 방법.
  20. 제19 항에 있어서, 상기 다이나믹 메모리의 리프레쉬 구간을 결정할 수 있는 단계는,
    상기 제1 구간 동안 상기 REQ 신호의 활성화 여부에 따라, 상기 다이나믹 메모리를 뱅크별로 컨트롤하는 단계에 보내지는 타임 아웃(Time_Out) 신호의 활성화여부가 결정되는 것을 특징으로 하는 다이나믹 메모리의 리프레쉬 제어 방법.
  21. 제20 항에 있어서, 상기 Time_Out 신호는,
    상기 제1 구간 동안 상기 REQ 신호가 비활성화 상태이면, 상기 인터럽트 신호의 종점에서 활성화 되어, 상기 제1 구간의 종점에서 비활성화 되는 것을 특징으로 하는 다이나믹 메모리의 리프레쉬 제어방법.
  22. 제21 항에 있어서, 상기 다이나믹 메모리를 뱅크별로 컨트롤하는 단계는,
    상기 제1 구간 동안 상기 다이나믹 메모리의 모든 뱅크가 아이들(idle) 상태일 때, ALL_BANK_IDLE 신호가 발생되는 것을 특징으로 하는 다이나믹 메모리의 리프레쉬 제어 방법.
  23. 제22 항에 있어서, 상기 다이나믹 메모리를 뱅크별로 컨트롤 하는 단계는,
    상기 ALL_BANK_IDLE 신호와 상기 Time_Out 신호가 동시에 활성화 될 때, 상기 리프레쉬 트리거 신호를 생성하는 단계에 리프레쉬 제어신호를 보내는 것을 특징으로 하는 다이나믹 메모리의 리프레쉬 제어방법.
  24. 제22 항에 있어서, 상기 다이나믹 메모리를 뱅크별로 컨트롤하는 단계는,
    상기 제1 구간 동안 상기 REQ 신호가 상기 ALL_BANK_IDLE 신호와 동시에 활성화 될 때, 상기 제 4단계에 리프레쉬 제어신호를 보내는 것을 특징으로 하는 다이나믹 메모리의 리프레쉬 제어방법.
  25. 제18 항에 있어서, 상기 리퀘스트를 재배치하거나 후속 리퀘스트의 정보를 제공하는 단계는,
    상기 리퀘스트를 저장하여 처리하는 단계 내의 리퀘스트의 처리 순서가 상기 다이나믹 메모리의 리프레쉬 구간을 결정할 수 있는 단계에서 상기 인터럽트 신호가 발생되는 시점에 상기 리퀘스트를 저장하여 처리하는 단계 내의 리퀘스트의 처리 순서가 변경되는 것을 특징으로 하는 다이나믹 메모리의 리프레쉬 제어방법..
  26. 제25 항에 있어서, 상기 리퀘스트를 재배치하거나 후속 리퀘스트의 정보를 제공하는 단계는,
    상기 리퀘스트의 추가 응답 지연(response latency)에 대한 민감도에 의해 정해지는 우선 순위가 상기 마스터 장치에 부여되는 것을 특징으로 하는 다이나믹 메모리의 리프레쉬 제어방법.
  27. 제26 항에 있어서, 상기 리퀘스트를 재배치하거나 후속 리퀘스트의 정보를 제공하는 단계는,
    상기 결정된 우선 순위에 기초하여 상기 리퀘스트를 저장하여 처리하는 단계 내의 리퀘스트의 처리 순서가 변경되는 것을 특징으로 하는 다이나믹 메모리의 리프레쉬 제어방법.
  28. 제27 항에 있어서, 상기 리퀘스트를 재배치하거나 후속 리퀘스트의 정보를 제공하는 단계는,
    상기 다이나믹 메모리의 리프레쉬 구간을 결정할 수 있는 단계에서 상기 다이나믹 메모리를 뱅크별로 컨트롤 하는 단계에 상기 인터럽트 신호를 보낼 때, 상기 인터럽트 신호의 구간 내에서만 상기 리퀘스트를 저장하여 처리하는 단계 내의 리퀘스트의 처리 순서가 변경되는 것을 특징으로 하는 다이나믹 메모리의 리프레쉬 제어방법.
KR1020060017086A 2006-02-22 2006-02-22 다이나믹 메모리의 리프레쉬 컨트롤러, 이를 포함하는반도체 시스템 및 다이나믹 메모리의 리프레쉬 제어 방법. KR100700156B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020060017086A KR100700156B1 (ko) 2006-02-22 2006-02-22 다이나믹 메모리의 리프레쉬 컨트롤러, 이를 포함하는반도체 시스템 및 다이나믹 메모리의 리프레쉬 제어 방법.
US11/676,585 US7603512B2 (en) 2006-02-22 2007-02-20 Dynamic memory refresh controller, memory system including the same and method of controlling refresh of dynamic memory

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020060017086A KR100700156B1 (ko) 2006-02-22 2006-02-22 다이나믹 메모리의 리프레쉬 컨트롤러, 이를 포함하는반도체 시스템 및 다이나믹 메모리의 리프레쉬 제어 방법.

Publications (1)

Publication Number Publication Date
KR100700156B1 true KR100700156B1 (ko) 2007-03-28

Family

ID=38429740

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020060017086A KR100700156B1 (ko) 2006-02-22 2006-02-22 다이나믹 메모리의 리프레쉬 컨트롤러, 이를 포함하는반도체 시스템 및 다이나믹 메모리의 리프레쉬 제어 방법.

Country Status (2)

Country Link
US (1) US7603512B2 (ko)
KR (1) KR100700156B1 (ko)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8549181B2 (en) 2008-11-06 2013-10-01 Samsung Electronics Co., Ltd. Semiconductor memory device and method of operating the semiconductor memory device
US10803919B2 (en) 2018-04-30 2020-10-13 SK Hynix Inc. Memory controller for controlling refresh operation and memory system including the same
KR20220025645A (ko) * 2020-08-24 2022-03-03 베이징 바이두 넷컴 사이언스 앤 테크놀로지 코., 엘티디. 메모리 액세스 요청 스케줄링 방법, 장치, 기기 및 저장 매체

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7975170B2 (en) * 2007-06-15 2011-07-05 Qimonda Ag Memory refresh system and method
US8347027B2 (en) * 2009-11-05 2013-01-01 Honeywell International Inc. Reducing power consumption for dynamic memories using distributed refresh control
US9292426B2 (en) * 2010-09-24 2016-03-22 Intel Corporation Fast exit from DRAM self-refresh
US9053812B2 (en) * 2010-09-24 2015-06-09 Intel Corporation Fast exit from DRAM self-refresh
TWI473091B (zh) * 2011-10-19 2015-02-11 Winbond Electronics Corp 隨機存取記憶體及其刷新控制器
CN103093807B (zh) * 2011-11-02 2015-08-26 华邦电子股份有限公司 随机存取存储器及其刷新控制器
US9141561B2 (en) * 2012-10-25 2015-09-22 Texas Instruments Incorporated Master circuits having dynamic priority leads coupled with memory controller
JP5793690B2 (ja) * 2012-12-28 2015-10-14 パナソニックIpマネジメント株式会社 インタフェース装置、およびメモリバスシステム
US9972376B2 (en) 2013-11-07 2018-05-15 International Business Machines Corporation Memory device for interruptible memory refresh
US10096353B2 (en) 2013-11-07 2018-10-09 International Business Machines Corporation System and memory controller for interruptible memory refresh
JP6295700B2 (ja) * 2014-02-12 2018-03-20 株式会社ソシオネクスト 調停回路及び調停回路の処理方法
US20150318035A1 (en) * 2014-05-02 2015-11-05 Qualcomm Incorporated Priority adjustment of dynamic random access memory (dram) transactions prior to issuing a per-bank refresh for reducing dram unavailability
US20160239441A1 (en) * 2015-02-13 2016-08-18 Qualcomm Incorporated Systems and methods for providing kernel scheduling of volatile memory maintenance events
US9595312B1 (en) 2016-03-31 2017-03-14 Altera Corporation Adaptive refresh scheduling for memory
WO2023149897A1 (en) * 2022-02-04 2023-08-10 Google Llc Traffic aware adaptive precharge scheduler for efficient refresh management in dram memory controllers

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20000025105A (ko) * 1998-10-08 2000-05-06 김영환 메모리 콘트롤러
US20010026493A1 (en) * 1998-10-01 2001-10-04 Wingyu Leung Method and apparatus for completely hiding refresh operations in a dram device using clock division
KR20040014838A (ko) * 2002-08-12 2004-02-18 삼성전자주식회사 리프레시 플래그를 발생시키는 반도체 메모리 장치 및반도체 메모리 시스템.

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2703668B2 (ja) * 1991-03-18 1998-01-26 株式会社日立製作所 データ転送制御装置および磁気ディスク制御装置
GB2265035B (en) 1992-03-12 1995-11-22 Apple Computer Method and apparatus for improved dram refresh operations
US5822265A (en) 1997-07-29 1998-10-13 Rockwell Semiconductor Systems, Inc. DRAM controller with background refresh
FR2778258A1 (fr) * 1998-04-29 1999-11-05 Texas Instruments France Controleur d'acces de trafic dans une memoire, systeme de calcul comprenant ce controleur d'acces et procede de fonctionnement d'un tel controleur d'acces
US6334167B1 (en) 1998-08-31 2001-12-25 International Business Machines Corporation System and method for memory self-timed refresh for reduced power consumption
US20020069319A1 (en) * 2000-12-01 2002-06-06 Ming-Hsien Lee Method and apparatus of event-driven based refresh for high performance memory controller
JP4749538B2 (ja) 2000-12-11 2011-08-17 ルネサスエレクトロニクス株式会社 半導体記憶装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20010026493A1 (en) * 1998-10-01 2001-10-04 Wingyu Leung Method and apparatus for completely hiding refresh operations in a dram device using clock division
KR20000025105A (ko) * 1998-10-08 2000-05-06 김영환 메모리 콘트롤러
KR20040014838A (ko) * 2002-08-12 2004-02-18 삼성전자주식회사 리프레시 플래그를 발생시키는 반도체 메모리 장치 및반도체 메모리 시스템.

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8549181B2 (en) 2008-11-06 2013-10-01 Samsung Electronics Co., Ltd. Semiconductor memory device and method of operating the semiconductor memory device
US9128633B2 (en) 2008-11-06 2015-09-08 Samsung Electronics Co., Ltd. Semiconductor memory device and method of operating the semiconductor memory device
US10803919B2 (en) 2018-04-30 2020-10-13 SK Hynix Inc. Memory controller for controlling refresh operation and memory system including the same
KR20220025645A (ko) * 2020-08-24 2022-03-03 베이징 바이두 넷컴 사이언스 앤 테크놀로지 코., 엘티디. 메모리 액세스 요청 스케줄링 방법, 장치, 기기 및 저장 매체
KR102563165B1 (ko) * 2020-08-24 2023-08-04 베이징 바이두 넷컴 사이언스 앤 테크놀로지 코., 엘티디. 메모리 액세스 요청 스케줄링 방법, 장치, 기기 및 저장 매체

Also Published As

Publication number Publication date
US7603512B2 (en) 2009-10-13
US20070198771A1 (en) 2007-08-23

Similar Documents

Publication Publication Date Title
KR100700156B1 (ko) 다이나믹 메모리의 리프레쉬 컨트롤러, 이를 포함하는반도체 시스템 및 다이나믹 메모리의 리프레쉬 제어 방법.
US9418723B2 (en) Techniques to reduce memory cell refreshes for a memory device
US8717841B2 (en) Method of controlling a refresh operation of PSRAM and related device
JP2018137034A (ja) 有向自動リフレッシュ同期
KR100816053B1 (ko) 셀프 카피 기능을 가지는 메모리 장치, 메모리 시스템 및듀얼 포트 메모리 장치
CA2949282C (en) Method for refreshing dynamic random access memory and a computer system
KR100455393B1 (ko) 리프레시 플래그를 발생시키는 반도체 메모리 장치 및반도체 메모리 시스템.
KR100685547B1 (ko) 메모리 제어 시스템 및 메모리 뱅크 리프레쉬 방법
US8705307B2 (en) Memory system with dynamic refreshing
KR20090071672A (ko) 휘발성 메모리 성능에 대한 리프레쉬 동작들의 영향을 최소화하기 위한 방법 및 시스템
KR19990078379A (ko) 디코딩 오토리프레시 모드를 가지는 디램
US20050268024A1 (en) Memory controller for use in multi-thread pipeline bus system and memory control method
WO2018188085A1 (zh) 内存刷新技术及计算机系统
KR20110001396A (ko) 전력 소모를 줄일 수 있는 반도체 메모리 장치
JPH09180438A (ja) メモリ制御装置
KR100607987B1 (ko) 명령어 스케줄링을 수행하는 메모리 제어장치 및 방법
JP2783195B2 (ja) マイクロコンピュータ
JP4843216B2 (ja) メモリ制御装置
JP2019133657A (ja) ページサイズ認識スケジューリング方法及び非一時的なコンピュータ読取可能記録媒体
US20220319582A1 (en) Memory management apparatus, memory management method, and computer-readable recording medium storing memory management program
US20200331485A1 (en) Command control system, vehicle, command control method and non-transitory computer-readable medium
US20180293189A1 (en) Memory manager for autonomous memory device
JP5145922B2 (ja) Sdramリフレッシュ制御装置
CN116959523A (zh) 存储器的控制电路、伪静态随机存储器及其控制方法
JP2005267369A (ja) メモリ制御装置および方法

Legal Events

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

Payment date: 20130228

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20140228

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20150302

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20170228

Year of fee payment: 11

FPAY Annual fee payment

Payment date: 20180228

Year of fee payment: 12

FPAY Annual fee payment

Payment date: 20190228

Year of fee payment: 13

FPAY Annual fee payment

Payment date: 20200228

Year of fee payment: 14