KR20040021312A - 리프레쉬 제어방법 및 장치 - Google Patents
리프레쉬 제어방법 및 장치 Download PDFInfo
- Publication number
- KR20040021312A KR20040021312A KR1020020052920A KR20020052920A KR20040021312A KR 20040021312 A KR20040021312 A KR 20040021312A KR 1020020052920 A KR1020020052920 A KR 1020020052920A KR 20020052920 A KR20020052920 A KR 20020052920A KR 20040021312 A KR20040021312 A KR 20040021312A
- Authority
- KR
- South Korea
- Prior art keywords
- bus
- refresh
- signal
- request signal
- blank
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR 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
-
- 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
-
- 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/40615—Internal triggering or timing of refresh, e.g. hidden refresh, self refresh, pseudo-SRAMs
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C2211/00—Indexing scheme relating to digital stores characterized by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C2211/401—Indexing scheme relating to cells needing refreshing or charge regeneration, i.e. dynamic cells
- G11C2211/406—Refreshing of dynamic cells
- G11C2211/4061—Calibration or ate or cycle tuning
Landscapes
- Engineering & Computer Science (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Computer Hardware Design (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Dram (AREA)
Abstract
리프레쉬 제어방법 및 장치가 개시된다. 리프레쉬 제어장치는 초기 리프레쉬 주기 또는 가변 리프레쉬 주기로 카운트 초기값을 설정하는 카운트 초기값 설정부, 카운트 초기값에 대하여 카운트가 종료되면 리프레쉬를 위한 버스요청신호를 발생시키는 버스요청신호 발생부, 버스 마스터 디바이스로부터의 버스요청신호가 없는 버스공백구간에 의해 버스승인신호가 발생되거나 버스요청신호 발생부로부터의 버스요청신호에 의해 버스승인신호가 발생되는 경우, 리프레쉬신호를 발생시키는 리프레쉬신호 발생부, 및 버스요청신호 발생부로부터 출력되는 로직신호에 따라서, 버스승인신호의 발생원인이 버스공백구간인지를 판단하여, 판단결과에 따라 카운트 초기값 설정부, 버스요청신호 발생부와 리프레쉬신호 발생부를 제어하는 버스공백 판단부로 이루어진다. 이에 따르면, 칩 내부 버스의 공백기간을 리프레쉬 수행 기회로 미리 이용하여 리프레쉬 주기를 현재 칩 내부 버스 상태에 따라 유동적으로 가변시킴으로써, 칩 내부 버스를 보다 효율적으로 사용할 수 있다.
Description
본 발명은 리프레쉬 제어방법 및 장치로서, 특히 컨트롤러 칩 내부 버스의 공백기간을 리프레쉬 수행 기회로 미리 이용하여 리프레쉬 주기를 현재 칩 내부 버스 상태에 따라 유동적으로 가변시킬 수 있게 하는 리프레쉬 제어방법 및 장치에 관한 것이다.
일반적으로 DRAM(Dynamic RAM)의 각 셀은 콘덴서와 트랜지스터로 구성되며, 콘덴서는 전기를 충전하고 트랜지스터는 콘덴서를 충전시키거나 방전시키는 역할을 한다. DRAM은 콘덴서에 정보를 저장하는데, 콘덴서는 소정 시간, 대략 2 ms이 지나면 자연 방전하여 정보가 소실되므로, 이를 방지하기 위하여 리프레쉬 제어회로를 구비해야 한다.
도 1은 종래의 리프레쉬 제어장치의 주변구성을 설명하기 위한 블럭도로서, 저장부(111), 카운터부(113), 비교부(115) 및 리프레쉬신호 발생부(117)로 이루어지는 리프레쉬 제어장치(100)와, 복수개의 버스 마스터 디바이스에 대하여 칩 내부 버스의 사용권을 중재하는 버스 중재부(120)로 이루어진다.
리프레쉬 제어장치(100)에 있어서, 저장부(111)는 리프레쉬 주기값(131)을 입력받아 시스템클럭(132)에 동기되어 저장한다. 리프레쉬 주기값(131)은 현재 사용하는 DRAM 메모리장치의 리프레쉬 구간값을 행의 갯수로 나누어 구한 것이다.카운터부(113)는 저장부(111)에 저장된 리프레쉬 주기값(133)을 시스템 클럭(132)에 동기되어 다운 또는 업 카운트를 수행한다. 비교부(115)는 카운트부(113)로부터 제공되는 카운트값(135)과 저장부(111)로부터 제공되는 리프레쉬 주기값(134)과 일치하는지를 비교하고, 비교결과 일치할 경우 버스중재부(120)로 버스요청신호(136)를 발생시킨다. 리프레쉬신호 발생부(117)는 비교부(115)로부터 버스요청신호(136)를 받은 버스중재부(120)로부터 버스승인신호(137)가 발생되면, 리프레쉬 명령 또는 리프레쉬 알림 신호를 발생시킨다. 상기한 구성에 따르면, 리프레쉬 제어장치(100)는 각 DRAM 메모리장치마다 지정되어 있는 리프레쉬 구간값을 행의 갯수로 나누어 구한 균등한 리프레쉬 주기마다 DRAM 메모리장치의 각 행의 리프레쉬를 수행한다.
이와 같이, DRAM 메모리장치는 셀에 저장된 데이터가 휘발되지 않고 보존될 수 있도록 일정한 주기로 리프레쉬 작업을 수행해 주어야 하므로, DRAM 메모리를 데이터 저장장치로 사용하는 컨트롤러 칩을 설계하는 경우에는 리프레쉬 제어장치를 하나의 버스 마스터 디바이스로서 포함시키게 된다. 대부분의 컨트롤러 칩 내부에는 CPU나 DMAC 등과 같은 하나 이상의 버스 마스터 디바이스들이 존재하게 되고, 버스중재부(120)에서 각 디바이스의 우선순위에 따라서 버스 사용권을 조정한다. 그런데, 정해진 리프레쉬 구간 이내에 메모리 셀에 대한 리프레쉬를 수행하지 못하면 현재 메모리장치에 담고 있던 데이터를 소실하는 문제가 발생할 수 있으므로 일반적으로 리프레쉬 제어장치(100)의 우선순위는 높게 정해지는 경향이 있다.
이러한 경우, 다른 버스 마스터 디바이스들과 리프레쉬 제어장치가 동시에버스 사용을 요청하게 될 경우, 우선순위 원칙에 따라 리프레쉬 제어장치에게 먼저 버스사용권을 부여하게 되고 다른 버스 마스터 디바이스들은 리프레쉬 수행이 끝날 때까지 내부 버스를 사용할 수 없게 된다. 따라서, 리프레쉬 제어장치와 다른 버스 마스터 디바이스들간의 버스 요청 충돌이 많으면 많을수록 칩 내부 버스의 사용 효율성은 떨어지게 되고, 버스 성능의 저하는 바로 컨트롤러 칩의 성능 저하로 연결된다.
본 발명이 이루고자 하는 기술적 과제는, 설정된 리프레쉬 주기마다 DRAM에 리프레쉬를 수행하다가 버스공백구간이 발생하면 설정된 버스공백 허용횟수만큼 미리 리프레쉬를 수행한 다음, 이후 리프레쉬 주기를 가변시켜 리프레쉬를 수행하도록 하는 리프레쉬 제어방법을 제공하는데 있다.
본 발명이 이루고자 하는 다른 기술적 과제는, 상기 리프레쉬 제어방법을 실현하는데 가장 적합한 장치를 제공하는데 있다.
본 발명이 이루고자 하는 또 다른 기술적 과제는, 리프레쉬 제어장치를 포함하는 복수개의 버스 마스터 디바이스에 대하여 상기 리프레쉬 제어장치를 제외한 나머지 버스마스터들로부터 버스 요청신호가 입력되지 않은 버스 공백기간이 검출되면, 리프레쉬 수행을 위한 버스허용신호를 발생시키도록 제어하는 컨트롤러 시스템을 제공하는데 있다.
도 1은 종래의 리프레쉬 제어장치의 구성을 나타낸 블럭도,
도 2는 본 발명에 따른 리프레쉬 제어장치를 채택하는 컨트롤러 시스템의 일실시예의 구성을 나타낸 블럭도,
도 3은 버스공백을 이용하지 않는 경우 리프레쉬명령 발생형태,
도 4는 도 2에 있어서 버스공백 허용횟수가 1인 경우 리프레쉬명령 발생형태,
도 5는 도 2에 있어서 버스공백 허용횟수가 2인 경우 리프레쉬명령 발생형태, 및
도 6은 도 2에 있어서 버스공백 이용으로 인한 가변적인 리프레쉬 주기의 차이를 설명하는 도면이다.
*도면의 주요부분에 대한 부호의 설명
200 ... 리프레쉬 제어장치210 ... 카운트 개시값 설정부
211 ... 저장부213 ... 가산부
215 ... 선택부220 ... 버스요청신호 발생부
221 ... 카운터부223 ... 비교부
230 ... 버스공백 판단부240 ... 리프레쉬신호 발생부
250 ... 버스중재부
상기 기술적 과제를 달성하기 위하여 본 발명에 따른 리프레쉬 제어방법은복수의 버스 마스터 디바이스가 존재하며, n개의 행을 갖는 DRAM을 소정의 리프레쉬 구간동안 리프레쉬하기 위하여, (a) 초기 리프레쉬 주기에 따라서 상기 DRAM의 각 행을 리프레쉬하기 위한 리프레쉬신호를 발생시키는 단계; (b) 상기 초기 리프레쉬 주기에 도달하지 않은 시점에서 상기 복수의 버스 마스터 디바이스로부터 버스요청신호가 입력되지 않은 버스공백구간이 발생함에 따라 버스승인신호가 인가되면 리프레쉬신호를 발생시키는 단계; 및 (c) 상기 (b) 단계에 의해 발생된 리프레쉬신호에 의해 리프레쉬 작업이 수행되면, 가변 리프레쉬 주기에 따라서 상기 DRAM의 다음 행을 리프레쉬하기 위한 리프레쉬신호를 발생시키는 단계를 포함한다.
상기 다른 기술적 과제를 달성하기 위하여 본 발명에 따른 리프레쉬 제어장치는 복수의 버스 마스터 디바이스가 존재하며, n개의 행을 갖는 DRAM을 소정의 리프레쉬 구간동안 리프레쉬하기 위하여, 초기 리프레쉬 주기 또는 가변 리프레쉬 주기로 카운트 초기값을 설정하는 카운트 초기값 설정부; 상기 카운트 초기값에 대하여 카운트가 종료되면 리프레쉬를 위한 버스요청신호를 발생시키는 버스요청신호 발생부; 상기 버스 마스터 디바이스로부터의 버스요청신호가 없는 버스공백구간에 의해 버스승인신호가 발생되거나 상기 버스요청신호 발생부로부터의 버스요청신호에 의해 버스승인신호가 발생되는 경우, 리프레쉬신호를 발생시키는 리프레쉬신호 발생부; 및 상기 버스요청신호 발생부로부터 출력되는 로직신호에 따라서, 버스승인신호의 발생원인이 상기 버스공백구간인지를 판단하여, 판단결과에 따라 상기 카운트 초기값 설정부, 상기 버스요청신호 발생부와 상기 리프레쉬신호 발생부를 제어하는 버스공백 판단부를 포함한다.
상기 또 다른 기술적 과제를 달성하기 위하여 본 발명에 따른 컨트롤러 시스템은 복수의 버스 마스터 디바이스들의 버스 사용권을 중재하고, 상기 복수의 버스 마스터 디바이스들로부터 버스요청신호가 입력되지 않은 버스공백기간에는 자동적으로 리프레쉬를 위한 버스승인신호를 발생시키는 버스중재수단; 및 n개의 행으로 이루어진 DRAM의 각 행을 소정의 리프레쉬 구간동안 초기 리프레쉬 주기로 리프레쉬하고, 상기 초기 리프레쉬 주기에 도달하지 않은 시점에서 상기 버스중재수단으로부터 버스공백기간에 의한 버스승인신호가 발생되면 이에 따라 리프레쉬하고, 이후 가변 리프레쉬 주기로 다음 행을 리프레쉬하는 리프레쉬 제어수단을 포함한다.
이어서, 첨부된 도면을 참조하여 본 발명의 실시예에 대하여 상세히 설명하기로 한다.
도 2는 본 발명에 따른 리프레쉬 제어장치를 채택하는 컨트롤러 시스템의 일실시예의 구성을 나타낸 블럭도로서, 카운트 개시값 설정부(210), 버스요청신호 발생부(220), 버스공백 판단부(230) 및 리프레쉬신호 발생부(24)로 이루어지는 리프레쉬 제어장치(200)와, 리프레쉬 제어장치(200)를 포함하는 복수개의 버스 마스터 디바이스(미도시)에 대하여 칩 내부 버스의 사용권을 중재하는 버스 중재부(250)로 이루어진다. 여기서, 카운트 개시값 설정부(210)는 저장부(211), 가산부(213)와 선택부(215)로 이루어지고, 버스요청신호 발생부(220)는 카운터부(221)와 비교부(223)로 이루어진다.
상기 구성에 따른 동작을 살펴보면, 먼저 본 발명에 따른 리프레쉬 제어장치에서는 한꺼번에 전체 메모리 셀에 대한 리프레쉬를 수행함으로써 다른 버스 마스터 디바이스들이 일정 구간동안 버스를 사용하지 못하도록 칩 내부의 공유자원인 버스를 오랫동안 장악하는 집중(burst) 리프레쉬 방법을 사용하지 않고, DRAM에 정의된 일정 리프레쉬 구간을 행의 갯수만큼 분배하여 리프레쉬 주기를 구하고, 리프레쉬 주기 간격으로 각 행의 메모리 셀에 대해 리프레쉬를 수행하는 것을 전제로 한다.
카운트 개시값 설정부(210)에 있어서, 저장부(211)는 입력되는 초기 리프레쉬 주기값(261)을 시스템 클럭(262)에 동기되어 저장한다.
가산부(213)는 버스공백판단부(230)에서 출력되는 제어신호(271)에 따라서, 저장부(211)에 저장된 리프레쉬 주기값(263)과 카운터부(221)의 카운트값(267)을 가산하여 가변 리프레쉬 주기값(265)를 발생시켜 선택부(215)의 입력신호(265)로 공급한다. 여기서, 가변 리프레쉬 주기값(Tv)은 다음 수학식 1과 같이 산출될 수 있다.
여기서, n은 버스공백 허용횟수와 같거나 작은 정수로서, 버스공백구간에 따른 연속적인 버스승인신호 발생횟수, Ti는 초기 리프레쉬 주기, Ci는 버스공백구간에 따른 버스승인신호 발생에 의해 카운터부(221)가 정지한 시점에서의 카운트값(267)을 각각 나타낸다.
선택부(215)는 버스공백판단부(230)에서 출력되는 제어신호(271)에 따라서, 저장부(211)로부터 제공되는 초기 리프레쉬 주기값(264)과 가산부(213)로부터 제공되는 가변 리프레쉬 주기값(265) 중 하나를 선택하여 카운터부(221)의 카운트 개시값(266)으로 인가한다.
버스요청신호 발생부(220)에 있어서, 카운터부(221)는 선택부(215)로부터 카운트 개시값(266)이 제공되면 시스템클럭(262)에 동기되어 다운 또는 업 카운트를 수행하고, 버스공백판단부(230)로부터 제공되는 제어신호(230)에 따라서 카운트를 정지한다. 여기서는 설명의 편이를 위해 다운 카운터로 구현된 카운터부(221)를 예로 들기로 한다.
비교부(223)는 카운터부(221)의 카운트값(267)이 선택부(215)에서 선택된 리프레쉬 주기값(266) 만큼 다운카운트가 행해졌는지 비교하여, 행해진 경우 버스요청신호(268)를 발생시켜 버스 중재부(250)로 인가하고, 비교결과에 해당하는 논리신호(269)는 버스공백 판단부(230)로 인가한다.
버스공백 판단부(230)는 버스중재부(250)로부터 제공되는 버스승인신호(270)와 비교부(223)로부터 제공되는 비교결과에 해당하는 논리신호(269)로부터, 버스승인신호(270)의 발생원인을 판단한다. 그 결과, 비교부(215)의 버스요청신호(268)에 의하지 않은 버스승인신호(270)로 판단되면, 제1 제어신호(271)를 가산부(213), 선택부(215) 및 카운터부(21)로 공급하고, 제2 제어신호(272)를 리프레쉬신호 발생부(240)로 공급한다. 제1 제어신호(271)는 카운터부(221)의 카운팅동작을 정지시키고, 가산부(213)에서 카운터부(221)의 잔여 카운트값(267)과 저장부(211)의 초기 리프레쉬 주기값(263)을 가산하여 가변 리프레쉬 주기값(265)을 발생시키도록 하고, 선택부(215)에서 가변 리프레쉬 주기값(265)을 선택하도록 제어하기 위한 것이다. 제2 제어신호(272)는 미리 설정된 버스공백허용횟수에 따라 버스공백기간동안 리프레쉬신호 발생부(240)에서의 리프레쉬신호 발생횟수를 제어하기 위한 것이다.
리프레쉬신호 발생부(240)는 버스중재부(250)로부터 버스승인신호(250)가 인가되면 리프레쉬신호(273)를 발생시키는데, 버스중재부(250)에서의 버스공백구간 검출에 따른 버스승인신호(250)인 경우 버스공백판단부(230)로부터 제공되는 버스공백허용횟수에 제한되어 리프레쉬신호(273)를 발생시킨다. 한편, 리프레쉬 제어장치(200)는 개발자의 취향에 따라 메모리 제어장치 내부에 존재할 수도 있고, 메모리 제어장치와는 별개의 마스터 디바이스로 존재할 수도 있다. 리프레쉬 제어장치(200)가 메모리 제어장치 내부에 포함되어 있는 경우에는 리프레쉬신호(273)는 리프레쉬 명령이 되고, 리프레쉬 제어장치(200)가 메모리 제어장치와는 별개의 모듈로 구현되는 경우에는 리프레쉬 알림신호로서 메모리 제어장치로 전달되고, 메모리 제어장치에서는 리프레쉬 알림신호의 유무에 따라 리프레쉬 명령을 발생시킬 수 있다.
버스 중재부(250)는 리프레쉬 제어장치(200)를 포함하는 복수개의 버스 마스터 디바이스들의 버스사용권을 중재하기 위한 것으로서, 리프레쉬 제어장치(200)를 제외한 나머지 버스 마스터 디바이스들로부터 버스요청신호가 일체 입력되지 않은 버스공백구간이 검출되면, 버스공백구간동안 자동적으로 리프레쉬 제어장치(200)로 버스승인신호(270)를 발생시킨다.
다음, 버스공백 판단부(230)에 있어서 미리 설정되는 버스공백 허용횟수는 버스중재부(250)로부터 버스공백구간을 검출시마다 버스승인신호가 발생되는 경우,연속적으로 리프레쉬신호를 발생시킬 수 있는 최대치를 말한다. 이를 도 3 내지 도 5를 참조하여 설명하기로 한다.
도 3은 도 2에 있어서 버스공백 허용횟수가 0인 경우 리프레쉬 명령 발생형태를 나타낸 것이다. 예를 들어, 전체 64 msec 의 리프레쉬 구간동안 4096개의 행을 리프레쉬해야 하는 경우, 버스공백구간이 한번도 발생하지 않았거나 버스공백구간에 의한 버스승인신호가 발생되더라도 비정규적인 리프레쉬를 행하지 않도록 버스공백 판단부(230)를 구현하는 경우, 동일한 초기 리프레쉬 주기(Δ=15.6 usec)로 4096 번의 리프레쉬를 수행하게 된다.
도 4는 도 2에 있어서 버스공백 허용횟수가 1인 경우 리프레쉬명령 발생형태를 나타낸 것이다. 카운터부(221)에서 초기 리프레쉬 주기(Δ=15.6 usec)를 카운트 개시값으로 하여 Δ1, 예를 들어 8 usec 만큼 카운트가 행해지다가 버스중재부(250)로부터 버스공백구간에 의한 버스승인신호가 발생되어 리프레쉬신호 발생부(240)에서 리프레쉬 알림신호나 리프레쉬명령을 발생시켜 리프레쉬 작업을 수행하는 경우이다. 이때, 가변 리프레쉬 주기(Δ2=23.2 usec)는 초기 리프레쉬 주기로부터 Δ1 을 감산한 결과값(7.6 usec)를 초기 리프레쉬 주기(Δ=15.6 usec)에 가산하여 구해지며, 이는 상기 수학식 1에 의하더라도 23.2 usec가 된다. 따라서, 카운터부(221)에서는 버스공백구간 발생에 의한 리프레쉬 동작(R1) 이후의 리프레쉬 동작(R2)을 위해서 초기 리프레쉬 주기가 아닌 가변 리프레쉬 주기를 카운트 개시값으로 하여 카운트를 수행하고, 리프레쉬 동작(R2)가 수행된 후에는 다시 초기 리프레쉬 주기를 카운트 개시값으로 하여 카운트를 수행한다. 리프레쉬동작(R2) 이후 예를 들어, Δ3 만큼 카운트가 행해지다가 다시 버스공백구간에 의한 버스승인신호가 발생되어 리프레쉬 동작(R3)이 행해짐을 알 수 있다.
이와 같이 버스공백 허용횟수가 1인 경우, 버스공백구간에 의한 버스승인신호 발생시 리프레쉬를 한번 수행한 후 버스 중재부(250)로부터 버스공백구간에 의한 버스승인신호가 계속 인가되더라도 카운터부(221)에서 리프레쉬 동작(R2)을 위한 가변 리프레쉬 주기를 다운카운트하고, 비교부(223)에서 카운트값이 '0'임을 검출하기 전까지는 리프레쉬신호 발생부(250)에서 리프레쉬신호를 발생하지 못하도록 버스공백 판단부(230)가 제어하게 된다.
도 5는 도 2에 있어서 버스공백 허용횟수가 2인 경우 리프레쉬명령 발생형태를 나타낸 것이다. 이 경우 버스공백구간동안 리프레쉬 동작(R1)과 리프레쉬 동작(R2)가 수행되고, 그 동안의 카운트 잔여값이 누적되어 리프레쉬 동작(R3)은 가변 리프레쉬 주기(Δ3) 이후에 발생하게 된다. 리프레쉬 동작(R3) 이후에는 예를 들어, Δ4 만큼 카운트가 행해지다가 다시 버스공백구간에 의한 버스승인신호가 발생되어 리프레쉬 동작(R4)이 행해짐을 알 수 있다.
이와 같은 방법으로 버스공백 허용횟수를 늘리면 칩 내부 버스가 비어있는 구간을 적절히 이용하여 리프레쉬 동작을 미리 수행할 수 있으므로 다른 버스 마스터 디바이스들이 버스를 요구하는 동일한 시점에 리프레쉬 제어장치도 함께 버스를 요구하여 다른 버스 마스터 디바이스들이 리프레쉬 제어장치가 버스를 해지할 때까지 대기하여야 하는 경우의 수를 줄여 줄 수 있다. 한편, 버스공백 허용횟수는 저장부(211) 및 카운터부(221)의 사이즈에 따라서 개발자가 적절하게 설정할 수 있다.
도 6은 도 2에 있어서 버스공백 이용으로 인한 가변 리프레쉬 주기의 차이를 설명하기 위한 것이다. 4096개의 행에 대하여 리프레쉬 동작(R1)을 포함한 4096번의 리프레쉬 동작이 모두 수행된 이후, 다음 리프레쉬 구간에서 리프레쉬 동작(R1')이 수행되는 경우 버스공백구간에 의한 버스승인신호가 발생되지 않는다면, 첫번째 행에 대하여는 이전 리프레쉬 동작(R1)과 현재 리프레쉬 동작(R1') 사이에 λ만큼의 시간차가 발생하게 된다. 이때, 최악의 경우를 고려하여 이전 리프레쉬 동작(R1)이 Δ1이 '0'인 시점에서 발생되었다고 가정한다면 λ는 초기 리프레쉬 주기(Δ=15.6 usec) 만큼 커지게 된다.
따라서, 버스공백구간을 이용함으로 인하여 정규적인 리프레쉬 주기 간격보다 미리 리프레쉬된 행을 다시 리프레쉬하기까지의 간격이 지정되어진 리프레쉬 구간 이내임을 보장하기 위해서는 초기 리프레쉬 주기를 (리프레쉬 구간 / (행의 수 + 버스공백 허용횟수))로 설정하는 것이 바람직하다. 그러면, 버스공백구간을 이용하여 리프레쉬를 미리 수행하더라도 항상 정해진 리프레쉬 구간 이내에 각 행에 대한 리프레쉬를 수행할 수 있게 되어 메모리 셀 데이타에 대한 유실이 발생되지 않는다.
다음 표 1은 64 msec의 리프레쉬 구간과 4096개의 행을 갖는 메모리를 기준으로, 버스공백 허용횟수 증가에 따라 발생되는 동일한 행에 대한 리프레쉬 간격 오차를 보상하여 계산한 실제 초기 리프레쉬 주기와 이를 각 시스템클럭 동작 주파수, 60 MHz, 100 MHz, 130 MHz에 따라 계산한 카운트 개시값의 변화를 보여주는 것이다.
버스공백허용횟수 | 행의 수+허용횟수 | 초기 리프레쉬주기(usec) | 60MHz 사용시 카운트 개시값 | 100MHz 사용시 카운트 개시값 | 130MHz 사용시 카운트 개시값 |
0 | 4096 | 15.625 | 937 | 1562 | 2031 |
1 | 4097 | 15.621 | 937 | 1562 | 2030 |
2 | 4098 | 15.617 | 936 | 1561 | 2030 |
3 | 4099 | 15.613 | 936 | 1561 | 2029 |
4 | 4100 | 15.609 | 936 | 1560 | 2029 |
상술한 바와 같이 본 발명에 따르면, 칩 내부 버스의 공백기간을 리프레쉬 수행 기회로 미리 이용하여 리프레쉬 주기를 현재 칩 내부 버스 상태에 따라 유동적으로 가변시킴으로써, 리프레쉬 제어장치와 다른 버스 마스터 디바이스들간의 버스 요구 충돌 가능성을 감소시키면서도 DRAM 메모리셀의 데이터가 소실되지 않고 리프레쉬 구간 이내에 전체 메모리 셀에 대한 리프레쉬를 모두 수행할 수 있도록 함으로써 칩 내부 버스를 보다 효율적으로 사용할 수 있다.
본 발명에 대해 상기 실시예를 참고하여 설명하였으나, 이는 예시적인 것에 불과하며, 본 발명에 속하는 기술 분야의 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시예가 가능하다는 점을 이해할 것이다. 따라서 본 발명의 진정한 기술적 보호범위는 첨부된 특허청구범위의 기술적 사상에 의해 정해져야 할 것이다.
Claims (13)
- 복수의 버스 마스터 디바이스가 존재하며, n개의 행을 갖는 DRAM을 소정의리프레쉬 구간동안 리프레쉬하기 위한 방법에 있어서,(a) 초기 리프레쉬 주기에 따라서 상기 DRAM의 각 행을 리프레쉬하기 위한 리프레쉬신호를 발생시키는 단계;(b) 상기 초기 리프레쉬 주기에 도달하지 않은 시점에서 상기 복수의 버스 마스터 디바이스로부터 버스요청신호가 입력되지 않은 버스공백구간이 발생함에 따라 버스승인신호가 인가되면 리프레쉬신호를 발생시키는 단계; 및(c) 상기 (b) 단계에 의해 발생된 리프레쉬신호에 의해 리프레쉬 작업이 수행되면, 가변 리프레쉬 주기에 따라서 상기 DRAM의 다음 행을 리프레쉬하기 위한 리프레쉬신호를 발생시키는 단계를 포함하는 리프레쉬 제어방법.
- 제1 항에 있어서, 상기 초기 리프레쉬 주기는 상기 DRAM의 행의 수와 버스공백 허용횟수를 더한 값으로 상기 리프레쉬 구간을 나눈 값으로 결정되는 것을 특징으로 하는 리프레쉬 제어방법.
- 제1 항에 있어서, 상기 (b) 단계에서 상기 버스공백구간에 의한 버스승인신호가 연속적으로 인가되면, 설정된 버스공백 허용회수 이내에서 연속적으로 리프레쉬신호를 발생시키는 리프레쉬 제어방법.
- 제1 항에 있어서, 상기 가변 리프레쉬 주기는 상기 초기 리프레쉬 주기, 상기 버스공백구간에 의한 버스승인신호 발생시점 및 버스공백 허용횟수에 따라서 결정되는 리프레쉬 제어방법.
- 복수의 버스 마스터 디바이스가 존재하며, n개의 행을 갖는 DRAM을 소정의 리프레쉬 구간동안 리프레쉬하기 위한 장치에 있어서,초기 리프레쉬 주기 또는 가변 리프레쉬 주기로 카운트 초기값을 설정하는 카운트 초기값 설정부;상기 카운트 초기값에 대하여 카운트가 종료되면 리프레쉬를 위한 버스요청신호를 발생시키는 버스요청신호 발생부;상기 버스 마스터 디바이스로부터의 버스요청신호가 없는 버스공백구간에 의해 버스승인신호가 발생되거나 상기 버스요청신호 발생부로부터의 버스요청신호에 의해 버스승인신호가 발생되는 경우, 리프레쉬신호를 발생시키는 리프레쉬신호 발생부; 및상기 버스요청신호 발생부로부터 출력되는 로직신호에 따라서, 버스승인신호의 발생원인이 상기 버스공백구간인지를 판단하여, 판단결과에 따라 상기 카운트 초기값 설정부, 상기 버스요청신호 발생부와 상기 리프레쉬신호 발생부를 제어하는 버스공백 판단부를 포함하는 리프레쉬 제어장치.
- 제5 항에 있어서, 상기 초기 리프레쉬 주기는 상기 DRAM의 행의 수와 버스공백 허용횟수를 더한 값으로 상기 리프레쉬 구간을 나눈 값으로 결정되는 것을 특징으로 하는 리프레쉬 제어장치.
- 제5 항에 있어서, 상기 버스공백 판단부는 상기 버스공백구간에 의한 버스승인신호가 연속적으로 인가되면, 설정된 버스공백 허용회수 이내에서 연속적으로 리프레쉬신호를 발생시키도록 상기 리프레쉬신호 발생부를 제어하는 리프레쉬 제어장치.
- 제5 항에 있어서, 상기 가변 리프레쉬 주기는 상기 초기 리프레쉬 주기, 상기 버스공백구간에 의한 버스승인신호 발생시점 및 버스공백 허용횟수에 따라서 결정되는 리프레쉬 제어장치.
- 제5 항에 있어서, 상기 카운트 초기값 설정부는상기 초기 리프레쉬 주기를 저장하는 저장부;상기 버스공백 판단부의 제어에 따라서, 상기 저장부로부터 제공되는 초기 리프레쉬 주기와 잔여 리프레쉬 주기를 가산하여 가변 리프레쉬 주기를 발생시키는 가산부; 및상기 버스공백 판단부의 제어에 따라서, 상기 초기 리프레쉬 주기 또는 상기 가변 리프레쉬 주기를 선택적으로 출력하는 선택부를 포함하는 리프레쉬 제어장치.
- 제9 항에 있어서, 상기 버스요청신호 발생부는상기 선택부로부터 제공되는 초기 리프레쉬 주기 또는 가변 리프레쉬 주기를카운트하고, 상기 버스공백 판단부의 제어에 따라서 카운트를 정지시키는 카운터부; 및상기 카운트부에서 상기 초기 리프레쉬 주기 또는 가변 리프레쉬 주기만큼 카운트가 종료되었는지 판단하고, 판단결과에 따라 버스요청신호를 발생시키는 비교부를 포함하는 리프레쉬 제어장치.
- 제5 항에 있어서, 상기 버스공백 판단부는 버스공백 허용횟수가 K인 경우, 버스공백구간에 의한 버스승인신호가 발생되는 동안 K 번째까지의 리프레쉬신호가 미리 발생되도록 상기 리프레쉬신호 발생부를 제어하고, K+1 번째 리프레쉬신호는 가변 리프레쉬 주기에 따라서 발생되도록 상기 카운트 초기값 설정부와 상기 버스요청신호 발생부를 제어하는 리프레쉬 제어장치.
- 복수의 버스 마스터 디바이스들의 버스 사용권을 중재하고, 상기 복수의 버스 마스터 디바이스들로부터 버스요청신호가 입력되지 않은 버스공백기간에는 자동적으로 리프레쉬를 위한 버스승인신호를 발생시키는 버스중재수단; 및n개의 행으로 이루어진 DRAM의 각 행을 소정의 리프레쉬 구간동안 초기 리프레쉬 주기로 리프레쉬하고, 상기 초기 리프레쉬 주기에 도달하지 않은 시점에서 상기 버스중재수단으로부터 버스공백기간에 의한 버스승인신호가 발생되면 이에 따라 리프레쉬하고, 이후 가변 리프레쉬 주기로 다음 행을 리프레쉬하는 리프레쉬 제어수단을 포함하는 컨트롤러 시스템.
- 제12 항에 있어서, 상기 리프레쉬 제어수단은초기 리프레쉬 주기 또는 가변 리프레쉬 주기로 카운트 초기값을 설정하는 카운트 초기값 설정부;상기 카운트 초기값에 대하여 카운트가 종료되면 리프레쉬를 위한 버스요청신호를 발생시키는 버스요청신호 발생부;상기 버스 마스터 디바이스로부터의 버스요청신호가 없는 버스공백구간에 의해 버스승인신호가 발생되거나 상기 버스요청신호 발생부로부터의 버스요청신호에 의해 버스승인신호가 발생되는 경우, 리프레쉬신호를 발생시키는 리프레쉬신호 발생부; 및상기 버스요청신호 발생부로부터 출력되는 로직신호에 따라서, 버스승인신호의 발생원인이 상기 버스공백구간인지를 판단하여, 판단결과에 따라 상기 카운트 초기값 설정부, 상기 버스요청신호 발생부와 상기 리프레쉬신호 발생부를 제어하는 버스공백 판단부를 포함하는 컨트롤러 시스템.
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR10-2002-0052920A KR100457533B1 (ko) | 2002-09-03 | 2002-09-03 | 리프레쉬 제어방법 및 장치 |
US10/653,454 US6906977B2 (en) | 2002-09-03 | 2003-09-03 | Refresh controlling method and apparatus |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR10-2002-0052920A KR100457533B1 (ko) | 2002-09-03 | 2002-09-03 | 리프레쉬 제어방법 및 장치 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20040021312A true KR20040021312A (ko) | 2004-03-10 |
KR100457533B1 KR100457533B1 (ko) | 2004-11-17 |
Family
ID=32388148
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR10-2002-0052920A KR100457533B1 (ko) | 2002-09-03 | 2002-09-03 | 리프레쉬 제어방법 및 장치 |
Country Status (2)
Country | Link |
---|---|
US (1) | US6906977B2 (ko) |
KR (1) | KR100457533B1 (ko) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080129751A1 (en) * | 2006-12-04 | 2008-06-05 | George Lyons | Smart Blanking Graphics Controller, Device Having Same, And Method |
KR100899394B1 (ko) * | 2007-10-31 | 2009-05-27 | 주식회사 하이닉스반도체 | 리프래쉬 제어 회로 |
US8284615B2 (en) * | 2010-12-28 | 2012-10-09 | Hynix Semiconductor Inc. | Refresh control circuit and method for semiconductor memory device |
KR102373544B1 (ko) | 2015-11-06 | 2022-03-11 | 삼성전자주식회사 | 요청 기반의 리프레쉬를 수행하는 메모리 장치, 메모리 시스템 및 메모리 장치의 동작방법 |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH03254497A (ja) * | 1990-03-05 | 1991-11-13 | Mitsubishi Electric Corp | マイクロコンピュータ |
JPH05198170A (ja) * | 1992-01-20 | 1993-08-06 | Oki Electric Ind Co Ltd | リフレッシュ制御回路 |
JPH0745073A (ja) * | 1993-07-29 | 1995-02-14 | Kawasaki Steel Corp | Dramのリフレッシュ方法 |
US5822265A (en) * | 1997-07-29 | 1998-10-13 | Rockwell Semiconductor Systems, Inc. | DRAM controller with background refresh |
JPH11353872A (ja) * | 1998-06-04 | 1999-12-24 | Oki Electric Ind Co Ltd | メモリインタフェース回路 |
KR100331547B1 (ko) * | 1999-06-01 | 2002-04-06 | 윤종용 | 레지스터의 저장값에 따라 리프레쉬 사이클을 조정하는 리프레쉬 제어 회로 및 이를 구비하는 동적 메모리 장치의 리프레쉬 방법 |
KR100324819B1 (ko) * | 1999-06-29 | 2002-02-28 | 박종섭 | 반도체 메모리 소자의 리프레쉬 장치 |
JP4339995B2 (ja) * | 1999-11-16 | 2009-10-07 | パナソニック株式会社 | 半導体記憶装置 |
-
2002
- 2002-09-03 KR KR10-2002-0052920A patent/KR100457533B1/ko not_active IP Right Cessation
-
2003
- 2003-09-03 US US10/653,454 patent/US6906977B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
US6906977B2 (en) | 2005-06-14 |
US20040105335A1 (en) | 2004-06-03 |
KR100457533B1 (ko) | 2004-11-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5418920A (en) | Refresh control method and system including request and refresh counters and priority arbitration circuitry | |
US5444855A (en) | System for guaranteed CPU bus access by I/O devices monitoring separately predetermined distinct maximum non CPU bus activity and inhibiting I/O devices thereof | |
US20080270683A1 (en) | Systems and methods for a dram concurrent refresh engine with processor interface | |
JPH04260954A (ja) | アービトレーション・システム及び方法 | |
JP2012038399A (ja) | 半導体装置 | |
US6795363B2 (en) | Refresh control method of semiconductor memory device and semiconductor memory device comprising the same control method | |
US5583823A (en) | Dram refresh circuit | |
JP4526841B2 (ja) | メモリ制御装置およびこれを備えたデータ処理システム | |
CN110556139A (zh) | 用以控制存储器的电路及相关的方法 | |
KR100457533B1 (ko) | 리프레쉬 제어방법 및 장치 | |
JPH11353872A (ja) | メモリインタフェース回路 | |
CN108958209B (zh) | 半导体器件和控制半导体器件的方法 | |
US11869570B2 (en) | Refresh counter circuit, refresh counting method and semiconductor memory | |
US7047373B2 (en) | Memory control apparatus and method for controlling memory access capable of selecting desirable page mode | |
US5479372A (en) | DRAM control circuit | |
JP4108237B2 (ja) | メモリ制御装置 | |
JP2978871B2 (ja) | リフレッシュ制御方式 | |
CN111078598B (zh) | 存储模块数据访问控制方法、数据访问装置和芯片 | |
US5255241A (en) | Apparatus for intelligent reduction of worst case power in memory systems | |
KR20110016920A (ko) | 메모리 시험 장치 및 시험 방법 | |
KR100188004B1 (ko) | 동적 메모리 장치를 구비한 시스템의 버스 중재방법 및 회로 | |
JP3337459B2 (ja) | 情報処理装置 | |
KR100327546B1 (ko) | 버스 마스터 예약/중재회로 및 방법 | |
US7444447B2 (en) | Arrangement, device and method for controlling bus request signal generation | |
KR100194041B1 (ko) | 다이나믹 랜덤 억세스 메모리 제어회로 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20111028 Year of fee payment: 8 |
|
FPAY | Annual fee payment |
Payment date: 20121030 Year of fee payment: 9 |
|
LAPS | Lapse due to unpaid annual fee |