KR20030010469A - 동적 메모리 리프레시 방법 - Google Patents
동적 메모리 리프레시 방법 Download PDFInfo
- Publication number
- KR20030010469A KR20030010469A KR1020020008287A KR20020008287A KR20030010469A KR 20030010469 A KR20030010469 A KR 20030010469A KR 1020020008287 A KR1020020008287 A KR 1020020008287A KR 20020008287 A KR20020008287 A KR 20020008287A KR 20030010469 A KR20030010469 A KR 20030010469A
- Authority
- KR
- South Korea
- Prior art keywords
- variable
- processor
- dynamic memory
- refresh
- variables
- Prior art date
Links
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
-
- 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)
- Dram (AREA)
- Devices For Executing Special Programs (AREA)
- Memory System (AREA)
Abstract
프로세서에 의해 수행되는 동작들에 관련된 변수들을 저장시키도록 한 동적 메모리를 리프레시시키는 방법은, 상기 동작들의 순서 및 타이밍을 설정하는 계획 단계(10); 각 변수에 특정한 유지시간을 추정하는 단계(13), 각 변수가 리프레시되어야 할 적어도 한 시점을 예측하는 단계(14), 상기 변수들을 상기 메모리에 배치하는 배치 단계(15), 상기 예측단계(14) 동안 정해진 시점들에서 상기 변수들을 리프레시하는 리프레시 단계(16)를 포함한다. 본 발명은 대기시간들과 리프레시에 관계된 전류소비를 감소시킨다. 실시간 제약이 중요한 시스템들, 예를 들면 비디오 데이터 처리 시스템들에서 특히 이점이 있다.
Description
본 발명은 프로세서에 의해 수행되는 동작들에 관련된 변수들을 저장시키도록 한 동적 메모리의 리프레시 방법에 관한 것이다.
본 발명은 이를테면 비디오 데이터 처리 시스템과 같은 실시간 제약들이 있는 애플리케이션 전용의 프로그래머블 시스템에 응용된다.
집적회로들에서, 신호들의 처리는 항상 큰 저장용량을 필요로 한다. 이러한 저장용량을 증가시키기 위해서, 내장 메모리들이 흔히 사용된다. 이러한 메모리에 두 가지 유형이 있다.
이를테면 정적 랜덤 액세스 메모리(SRAM)과 같은 정적 메모리와,
이를테면 동적 랜덤 액세스 메모리(DRAM)과 같은 동적 메모리.
정적 메모리들은 플립플롭들로부터 구성된다. 데이터 아이템이 정적 메모리에 저장될 때, 이 데이터 아이템은 정적 메모리를 포함한 회로가 활성화되어 있는 한 저장된 상태에 있게 된다. 동적 메모리들은 캐패시터 전하 형태로 데이터를 저장한다. 전하 손실을 야기하는 누설전류들 때문에, 메모리에 데이터를 유지하기 위해서는 이들 캐패시터들을 자주 재충전시킬 필요가 있다. 이러한 동작을 데이터 아이템(date item)의 리프레시(refreshing)라고 하며, 사용되는 메모리에 따라, 대략 매 1 내지 10 밀리초마다 수행되어야 한다. 데이터 아이템이 리프레시를 행함이 없이 메모리에 유지될 수 있는 기간을 "유지 시간(retention time)"이라고 하며, 고려되는 데이터 아이템에 특유한 것이다. 그러나, 동적 메모리들은 이들의 큰 저장용량 때문에 사용된다. 구체적으로, 데이터 비트를 저장하기 위해서, 동적메모리는 하나의 트랜지스터를 필요로 하는 반면 정적 메모리는 4 내지 6 개의 트랜지스터를 필요로 한다. 따라서, 동일한 저장용량에 있어서, 동적 메모리는 정적 메모리보다 저렴하게 보인다. 그러나, 동적 메모리에 의해 요구되는 데이터의 리프레시는 무시할 수 없는 대기 시간(latency time)을 유발하는 데, 이 대기시간 동안 프로세서는 상기 메모리에 저장된 데이터에 액세스할 수 없다. 구체적으로 리프레시는 동작 메모리에 포함된 모든 데이터에 대해 체계적으로 수행되는데, 이것은 상당한 시간량을 요한다. 미국특허 제5148546호는 리프레시를 요하는 데이터만을 주어진 시점에서 리프레시시키기 위해서, 리프레시될 데이터의 메모리 어드레스를 동적으로 결정하는 것을 가능하게 하는 방법을 제안하며 특히 이러한 결점을 해결하는 목적을 갖고 있다. 이에 따라, 이러한 주어진 시점에서 대량의 데이터 아이템들은 리프레시 회로에 의해 독점되지 않으므로, 이들 데이터 아이템들이 프로세서에 액세스될 수 있고, 이에 의해, 시간적으로 평균하여 대기시간이 감소하게 된다. 그러나, 이 방법은 리프레시될 데이터의 메모리 어드레스를 결정하기 위해서 회로 내에 서브-시스템을 설치해야 한다. 더구나, 이 방법에 의해서는 리프레시될 데이터의 메모리 어드레스의 동적 결정이 어떤 량의 시간을 요하기 때문에, 대기시간을 대폭 감소시키지 못한다.
본 발명의 목적은 동적 메모리에서 리프레시에 기인한 대기시간을 감소시키는 것을 가능하게 하는 방법을 제안하는 것이다.
본 발명에 따라서, 서두에 정의된 동적 메모리 리프레시 방법은,
상기 동작들의 순서 및 타이밍을 설정하는 계획 단계;
각 변수에 특정한 유지시간을 추정하는 단계;
각 변수가 리프레시되어야 할 적어도 한 시점을 예측하는 단계로서, 주어진 변수가 리프레시되어야 할 시점은 상기 주어진 변수의 상기 유지시간 및 상기 주어진 변수가 관련되는 동작들의 타이밍의 함수로서 정의되는, 예측 단계;
상기 변수들을 상기 메모리에 배치하는 배치 단계;
상기 예측단계 동안 정해진 시점들에서 상기 변수들을 리프레시하는 리프레시 단계를 포함하는 것을 특징으로 한다.
본 발명은 어떤 프로그램 가능 시스템들에서, 프로세서에 의해 수행될 동작들, 이들 동작들의 순서, 이들 동작들의 타이밍 및 이들 동작들에 관련된 변수들을 정하는 프로그램을 컴파일할 때를 확정짓는 것이 가능하다는 사실을 이용한다. 더구나, 변수에 특정한 유지시간은 동적 메모리의 제조에 사용되는 기술에 관계되므로, 이러한 유지시간의 추정엔 어려움은 없다. 이에 따라, 변수가 생성되는 시점, 이변수가 동작에서 사용되는 시점 및 이 변수에 대한 유지시간이 확정되어 있기 때문에, 이 변수가 리프레시되어야 할 시점을 예측하는 것이 가능하다. 또한, 동시에 리프레시되어야 할 변수들이 예를 들면 메모리의 하나의 동일 영역에 배치되도록, 변수들을 메모리에 유리하게 배치함으로써, 동적 메모리의 리프레시에 기인한 대기시간을 감소시키는 것이 가능하다. 더구나, 변수의 리프레시가 프로세서에 의해 이 변수의 판독에 의해 수행될 수 있으므로, 이 방법은 어떠한 리프레시 회로의 추가도 필요로 하지 않으므로, 프로세서는 자신의 동적 메모리의 리프레시를 관리할 수 있다.
전술한 단계들이 소프트웨어에 의해 수행될 수 있는 한, 본 발명은 또한 상기 프로그램이 컴퓨터로 실행될 때 전술한 방법의 단계들의 실행을 위한 프로그램 코드 명령들을 포함하는 컴퓨터 프로그램을 제공한다.
본 발명은 비제한적인 예들로 주어진 첨부 도면을 참조한 다음의 상세한 설명으로부터 명백해질 것이다.
도 1은 본 발명의 특징들을 도시한 블록도.
도 2는 동적 메모리와 프로세서 간의 예시적인 통신 시스템 구조를 도시한 도면.
도 3은 동적 메모리에/로부터 데이터 아이템을 기입/판독하는 원리를 도시한 도면.
도 4a 내지 도 4c는 종래기술에 따른 동적 메모리의 여러 유형의 리프레시를 도시한 도면.
도 5는 프로세서에 의해 수행되는 동작의 계획 및 변수를 리프레시해야 하는 시점들의 예측을 도시한 도면.
도 6은 비디오 데이터 처리에 관한 본 발명의 적용예를 도시한 도면.
* 도면의 주요 부분에 대한 부호의 설명 *
20 : 프로세서 21 : 동적 메모리
22 : 어드레스 멀티플레서 23 : 행 디코더
24 : 열 디코더 25 : 판독/ 기입 증폭기
도 1은 본 발명의 특징을 도시한 것이다. 본 발명에 따른 동적 메모리 리프레시 방법은 동작들의 순서를 결정하는 서브-단계(11)와 타이밍 서브-단계(12)를 포함하는 계획단계(planning step)(10), 변수들의 유지시간을 추정하는 단계(13), 변수들을 리프레시 해야 할 시점들을 예측하는 단계(14), 배치단계(15) 및 리프레시 단계(16)를 포함한다. 특히 이점이 있는 본 발명의 구현 형태에서, 프로세서에 의해 수행될 동작들은 프로그램을 구성한다. 즉 이 프로그램을 컴파일하였을 때 프로세서에 의해서 계획단계(10), 변수들의 유지시간 추정 단계(13), 예측단계(14), 및 배치단계(15)가 수행된다.
프로그램을 컴파일할 때, 프로세서는 동작들의 순서를 결정하는 서브-단계(11) 동안, 프로그램에 의해 수행될 모든 동작들과, 이들 동작들이 수행될 순서 및 이들 동작들에 관련된 상이한 변수들을 결정한다. 타이밍 서브-단계(12) 동안, 프로세서는 변수들이 생성될 시점들, 변수들이 여러 가지 동작들을 수행하는데 사용될 시점들, 어떤 변수들이 더 이상 사용되지 않을 순간들을생성한다. 이들 두 서브-단계들은 실시간 유형의 제약들이 있는 응용에 전용되는 시스템과 같은 프로그램 가능 시스템들에 구현하기가 특히 쉽다. 구체적으로, 이들 시스템에서, 모든 동작 및 이들의 타이밍은 프로그램을 컴파일할 때 알게 되고, 어떤 다른 데이터 처리 시스템들의 경우와 같기 때문에 프로그램을 실행할 때 동적이지 않다. 변수들의 유지시간을 추정하는 단계(13)는 메모리에 저장된 데이터 아이템의 리프레시가 없을 때는 프로세서에 의해 더 이상 사용될 수 없게 되는 기간(duration)을 확정하는 것을 가능하게 한다. 계획단계(10)의 결과와 변수의 유지시간을 추정하는 단계(13)의 결과들의 함수로서, 예측단계(14)는 변수가 리프레시 되어야 할 시점들을 결정하는 것을 가능하게 한다. 예측단계(14)는 도 5에 상세히 도시한 리프레시 장치의 상태를 고려할 수도 있음에 유의한다. 배치단계(15)는 동적 메모리의 하나 및 동일 영역 내에 유사한 시점들에서 리프레시 해야 할 변수들을 모아 군을 형성하는 것을 가능하게 한다. 이 배치단계(15)는 예를 들면 예측단계(14)의 결과들을 고려함이 없이 다른 방법으로 수행될 수도 있다. 예를 들면, 동적 메모리에 랜덤하게 변수들을 배치하는 것을 생각해 볼 수도 있다. 예측단계(14)의 결과들의 함수로서 변수들을 모아 군을 형성하는 이점은 이것이 리프레시 기간을 줄이고, 따라서 대기시간들을 줄일 수 있게 한다는 것이다. 리프레시 단계(16)는 예측단계(14)에 의해 정의된 시점들에서 변수들을 리프레시하는 것을 가능하게 한다. 본 발명의 특히 이러한 이점이 있는 구현 형태에서, 리프레시 단계(16)는 리프레시할 변수를 판독함으로써, 프로세서에 의해서 수행된다. 리프레시 단계(16)는 리프레시할 변수의 판독/기입에 의해 수행될 수도 있고, 이것은 프로세서에 의해서, 혹은 선택적으로 프로세서 외부의 리프레시 회로에 의해 수행될 수 있다.
도 2는 동적 메모리와 프로세서 간의 예시적인 통신 시스템 구조를 도시한 것이다. 이러한 통신 시스템은 프로세서(20), 동적 메모리(21), 어드레스 멀티플렉서(22), 행 디코더(23), 열 디코더(24), 및 판독/기입 증폭기(25)를 포함한다. 프로세서(20)가 동적 메모리에/로부터 데이터 아이템(28)을 판독/기입하고자 할 때, 판독 혹은 기입할 데이터 아이템(28)의 동적 메모리(21) 내의 완전한 어드레스를 나타내는 어드레스 신호(27)를 어드레스 멀티플렉서(22)에 보낸다. 프로세서(20)에 의해 발생되는 기입 혹은 판독 제어 신호(26)는 데이터 아이템(28)이 판독될 것인지 혹은 기입될 것인지 여부를 나타내기 위해서 판독/기입 증폭기(25)로 보내진다.
동적 메모리(21)는 L 행들과 C 열들의 격자 형태로 구성되고, L 및 C는 정수들이며, 서로 동일할 필요는 없으며, 일반적으로 2의 멱(power)인 수 백정도의 크기이다. 행과 열 간 상호접속에 의해 형성된 격자의 각 노드는 1 데이터 비트를 저장시키기 위한 유닛에 상응하며, 이에 대해 도 3에서 보다 상세하게 기술한다. 행 번호와 열 번호로 구성되는 세트가 메모리 어드레스를 구성한다. 결국, 메모리 어드레스에는 데이터 비트가 대응한다. 프로세서(20)가 데이터 비트를 읽어내고자 할 때, 프로세서는 어드레스 신호(27)를 어드레스 멀티플렉서(22)로 보낸다. 이 어드레스 신호(27)는 관련 데이터 비트의 행 번호와 열 번호를 포함하고 있다. 또한, 프로세서(20)는 관련 비트에 대해 수행되는 동작이 판독임을 나타내는 제어 신호(26)를 판독/기입 증폭기(25)로 보낸다. 어드레스 멀티플렉서(22)는 어드레스 신호(27)를 두 개의 부분으로 나눈다. 어드레스 신호(27)의 상위 비트들은 관련 데이터 비트의 행 번호를 포함하고, 하위 비트들은 열 번호를 포함한다. 이어서 관련 데이터 비트의 행 번호를 특정하는 신호(27a)가 행 디코더(23)로 보내지고 이후 관련 데이터 비트의 열 번호를 특정하는 신호(27b)가 열 디코더(24)로 보내진다. 이어서 관련 데이터 비트가 판독/기입 증폭기(25)로 로딩된 후 프로세서로 보내진다. 전술한 기능은 사용되는 동적 메모리의 유형에 따라 달라질 수 있음에 유의한다. 특히, 신호(27a)에 대응하는 행 전체를 판독/기입 증폭기(25)에 로딩하고, 이어서 신호(27b)에 의해 관련 데이터를 선택하는 것이 가능하다. 또한, 예를 들면 8비트의 워드의 워드들을 형성하기 위해서, 하나의 동일한 행에 대해서 몇 개의 비트들을 모아 군을 형성하는 것이 가능하다. 이들 워드들 중 하나를 읽기 위해서, 프로세서(20)는 어드레스 신호(27) 내에서 관련 워드의 행 번호와 이 행 내 워드의 크기를 특정해야 할 것이다. 데이터 비트를 동적 메모리(21)에 기입하는 원리는 유사하다. 이 경우, 제어 신호(26)는 관련 비트에 대해 수행되는 동작이 기입임을 나타낸다. 관련 데이터 비트는 판독/기입 증폭기(25)로 로딩된 후 어드레스 신호(27)에 의해 특정된 어드레스에서 동적 메모리(21)로 기입된다. 본 설명은 1비트 유형의 동적 메모리, 즉 각각의 노드에 하나의 데이터를 저장시킬 수 있는 동적 메모리에 적용됨에 유의한다. 각각의 노드에 몇 개의 비트들을 저장시킬 수 있는 동적 메모리들, 예를 들면 4, 8 혹은 16비트 형태의 동적 메모리들이 존재한다. 이들 메모리에 있어서, 원리는 전술한 것과는 약간 다르다. 4, 8, 혹은 16비트에 대응하는 메모리 어드레스는 사용되는 동적 메모리에 의존한다. 이 경우, 몇 비트의 워드들만이 프로세서(20)에 의해 판독 또는 기입될 수 있다.
도 3은 동적 메모리에/로부터 데이터 아이템의 기입 및 판독의 원리를 도시한 것이다. 저장부(storage unit)(30)는 제1 트랜지스터(32), 캐패시터(33), 기입점(write point)(35) 및 선택점(36)을 포함한다. 판독부(31)는 제2 트랜지스터(34) 및 판독점(37)을 포함한다. 동적 메모리(21)는 각 노드에 저장부(30)를 포함한다. 각 기억부(30)는 전하 형태로 데이터 비트를 저장한다. 이것을 행하기 위해서 어떤 반도체 장치들에 특유한 용량성 효과, 예를 들면 제1 트랜지스터(32)의 게이트 기판 용량을 사용한다. 저장부(30)는 실리콘 웨이퍼 상에 설치되고, 제1 트랜지스터(32)의 단자는 얇은 비-도전 증착에 의해 웨이퍼로부터 절연되고, 그럼으로써 캐패시터(33)로 표현되는 용량을 형성하게 된다. 이 캐패시터(33)는 충전, 즉 제1 트랜지스터(32)에 인가된 전압을 "기억(memorizing)"할 수 있다. 캐패시터(33)의 충전 혹은 방전 상태에 의해, 저장부(30)에 저장된 비트의 두 개의 구별되는 값, 즉 0 혹은 1에 상응하는 두 개의 상태를 구별할 수 있다. 그러나, 캐패시터(33)의 용량은 너무 작기 때문에 전하는 "유지시간"이라고 하는 제한된 기간동안 이외에는 유지될 수 없어 이것이 리프레시의 필요성을 설명한다. 저장부(30)의 기능은 다음과 같다. 제1 트랜지스터(32)는 스위치로서 작용하며, 선택점(36)에 전압이 인가되었을 때, 즉 예를 들면, 프로세서(20)가 이 저장부(30)에 데이터 비트를 기입하고자 하여 저장부(30)가 선택되었을 때, 온이 된다. 프로세서(20)가 값 1의 데이터 비트를 저장부(30)에 기입하고자 할 때, 캐패시터(33)를충전시키기 위해서 기입점(35)에 전압을 인가한다. 프로세서(20)가 저장부(30)에 값 0의 데이터 비트를 기입하고자 할 때, 캐패시터(33)를 방전시키도록 하는 전압을 기입점(35)에 인가한다. 판독부(31)의 작용은 다음과 같다. 프로세서(20)가 저장부(30)에 저장된 데이터 아이템을 판독하고자 할 때, 캐패시터(33)의 단자들간 전압과 동일한 판독점(37)에서의 전압을 측정한다. 이 전압이 캐패시터(33)의 충전상태에 대응한다면, 저장부(30)에 저장된 비트는 1이고, 아니면 이 비트는 0이다.
도 4a 내지 도 4c는 종래 기술에 따른 동적 메모리의 각종 유형의 리프레시를 도시한 것이다. 도 4a는 분배 리프레시(distributed refreshing)가 되게 하는 장치를 도시한 것이다. 이러한 장치는 동적 메모리(21)와 분배 리프레시 장치(40)를 포함한다. 분배 리프레시 장치(40)는 일정한 시간간격으로 동적 메모리(21)의 모든 행들의 연속 리프레시를 수행한다. 이를 행하기 위해서, 두 개의 리프레스 간 경과되는 시간을 측정하는 카운터를 사용한다. 분배 리프레시의 결점은 리프레시 동안 프로세서(20)에 의한 동적 메모리(21)에의 액세스가 가능하지 않아 상당한 대기시간을 발생시키는 것이다. 도 4b는 블록들의 리프레시를 허용하는 장치를 도시한 것이다. 이러한 장치는 동적 메모리(21)와 블록을 리프레시시키는 장치(41)를 포함한다. 블록을 리프레시시키는 장치(41)는 주어진 시점에서 동적 메모리(21)의 일부, 예를 들면 도면에 해칭으로 표시된 부분을 리프레시시킨다. 여기서 또 다시, 이러한 동적 메모리(21)의 일부가 리프레시되는 동안, 프로세서(20)는 대응하는 데이터에 액세스할 수 없고, 대기시간은 분배 리프레시에기인한 대기시간보다는 작다고 해도 상당한 크기이다. 도 4c는 트랜스페런트 리프레시(transparent refreshing)를 허용하는 장치를 도시한 것이다. 이러한 장치는 동적 메모리(21), 트랜스페런트 리프레시 장치(42) 및 프로세서(20)를 포함한다. 트랜스페런트 리프레시 장치(42)는 프로세서가 동적 메모리에 액세스할 필요가 없을 때 이 동적 메모리의 리프레시를 수행한다. 이러한 리프레시가 효율적으로 되게 하기 위해서는 프로세서(20)가 동적 메모리(21)에 액세스하지 않는 충분히 많은 기간들이 있어야 한다. 현재의 프로세스들은 이들이 동적 메모리(21)를 거의 연속적으로 액세스하도록 수행하고 있어, 이러한 유형의 리프레시는 비효율적이 되게 하고 있다.
도 5는 프로세서(20)에 의해 수행되는 동작들을 계획하고, 변수가 리프레시되어야 할 시점들을 예측하는 예를 도시한 것이다. 프로세서(20)는 제1 시점(t1)이후의 제1 과정(P1), 제2 시점(t2) 이후의 제2 과정(P2) 및 제3 시점(t3) 이후의 제3 과정(P3)을 시작한다. 제1 과정(P1)은 변수(V1)를 생성하는데, 이 변수는 제2 과정(P2) 내에 또한 제2 과정(P3) 내에 개재되어야 한다. 변수(V1)의 유지시간, 즉 이 변수가 리프레시되지 않는다면 프로세서(20)에 의해 더 이상 이용될 수 없게 되는 기간은 값 Δt1을 갖는다.
리프레시가 없을 때, 변수(V1)는 t4-t1=Δt1이어서 제2 시점(t2) 이전이므로 제4 시점(t4) 이후에는 더 이상 이용할 수 없게 된다. 현재, 제2 과정(P2)은 제2 시점(t2)에서 변수(V1)을 사용해야 한다. 그러므로, 제1 시점(t1)과 제4 시점(t4) 사이에 변수(V1)를 리프레시시킬 필요가 있다. 판독장치(31)에 의해, 리프레시가프로세서(20)에 의해 변수(V1)의 판독에 의해 수행되므로, 대기시간을 추가시키기 않도록 하기 위해서, 이 판독장치(31)가 프로세서(20)에 의해 사용되지 않을 때 상기 리프레시를 수행하는 것이 현명하다. 판독장치(31)가 제5 시점(t5) 및 제6 시점(t6)에서 자유(free)이고, 이들 두 시점들은 제4 시점(t4) 이전인 것으로 가정한다. 변수(V1)의 리프레시가 제5 시점(t5)에서 수행된다면, 변수(V1)는 t7-t5= Δt1이어서 제2 시점(t2) 이전이므로 제7 시점(t7) 이후에는 더 이상 이용할 수 없게 된다. 따라서 변수(V1)의 새로운 리프레시가 제7 시점(t7) 전에 필요할 것이고, 이것은 특히 대기시간 및 프로세서(20)의 전류 소비를 증가시킬 것이다. 그러므로 이러한 해결책은 현명하지 못하다. 그러나, 변수(V1)의 리프레시가 제6 시점(t6)에서 수행된다면, 변수(V1)은 t8-t6=Δt1이어서 제8 시점(t8)이 제2 시점(t2) 다음에 오므로 제8 시점(t8) 이후엔 더 이상 이용할 수 없게 될 것이다. 그러므로 판독장치(31)가 프로세서(20)에 의해 사용되지 않는 시점(t6)에서 변수(V1)을 리프레시를 시키는 것이 현명하고, 다음의 조건을 만족시키게 된다.
t6 < t1 + Δt1
t6 + Δt1 > t2
제2 과정(P2)에 의해 사용되게 하기 위해서, 변수(V1)는 프로세서(20)에 의해 제2 시점(t2)에서 판독된다. 즉 제2 시점(t2)에서 리프레시된다. 변수(V1)의 유지시간 Δt1은 제2 시점(t2)과 제3 시점(t3) 사이에 존재하는 갭보다 크므로, 제3 과정(P3)은 제2 시점(t2)과 제3 시점(t3) 사이에 어떠한 리프레시도 필요로 함이 없이 제3 시점(t3)에서 변수(V1)을 사용할 수 있을 것이다.
전술한 3개의 과정들이 프로그램에 정의된다면, 이 프로그램을 컴파일 하였을 때, 과정들의 순서 및 타이밍, 이들 과정들에 관련된 변수들, 이들 변수들의 유지시간들 및 판독장치(31)가 사용되는 시점들을 확정하는 것이 가능하다. 그러면 대기시간들을 감소시키도록 이들 변수들을 리프레시 해야 할 시점들을 예측하는 것이 가능하다. 더구나, 프로그램에 관련된 모든 변수들을 리프레시 해야 할 시점들을 확정하였기 때문에, 대기시간들을 감소시키기 위해서, 동적 메모리(21)에 변수들을 유리하게 배치하는 것이 가능하다. 이에 따라, 예를 들면 동시에 리프레시시킬 모든 변수들이 동일 행 상에 배치되어 있다면, 이들 변수들의 리프레시는 해당 변수들이 동적 메모리(21)에 랜덤하게 분배되어 있다면 리프레시 시간을 덜 요할 것이다. 구체적으로, 프로세서(20)는 단지 하나의 신호(27)를 발생해야 하기 때문에, 동일 행 상에 놓인 10개의 변수들의 리프레시는 10개의 다른 행들 상에 놓인 10개의 변수들을 리프레시시키는 시간의 1/10만을 필요로 한다.
도 6은 비디오 데이터 처리 시스템에 본 발명의 적용을 도시한 것이다. 이러한 시스템은 수직 필터(61) 및 수평 필터(62)를 포함한다.
비디오 데이터를 방송하는 다양한 포맷들이 있다. 예를 들면, ATSC 미국 디지털 텔레비전 규격은 이를테면 이미지가 각각 720 화소의 480 라인을 포함하는 표준 포맷, 혹은 이미지가 각각 1920 화소의 1080 라인을 포함하는 고해상 포맷 등 18개의 서로다른 방송 포맷들을 정하고 있다. 비디오 데이터가 고해상 포맷으로 방송될 때, 스크린이 고해상 포맷에 호환되지 않는 텔레비전으로 볼 수 있게 하기 위해서 이들을 표준 포맷으로 변환할 필요가 있다. 수직 필터(61) 및 수평필터(62)는 이러한 변환을 수행하는 것을 가능하게 한다. 이미지의 각 라인은 수직 필터(61)에 속하는 동적 메모리에 변수 형태로 저장된다. 1920 화소의 1080 라인을 1920 화소의 480 라인으로 변환하기 위해서 이들 라인들에 대해 수행될 동작이 프로그램의 일부를 구성한다. 이 프로그램을 복잡하지만 한 세트의 동작이 프로그램의 컴파일로부터 정해지므로 이에 의해서 이러한 포맷 변환에 관하여 본 발명을 구현할 수 있게 된다. 1920 화소의 480 라인을 720 화소의 480 라인으로 필터(62)가 변환할 수 있게 하는 프로그램에 대해서 마찬가지이다. 이러한 비디오 데이터 처리 시스템에서, 약 초당 30 이미지가 한 포맷에서 다른 포맷으로 변환되어야 한다. 결국, 종래 기술에 따른 여러 가지 리프레시 방법은 대기시간이 너무 크기 때문에 이러한 비디오 데이터 처리 시스템에 동적 메모리를 사용하는 것은 가능하지 않다. 리프레시에 관계된 대기시간의 감소를 가능하게 함으로써 본 발명은 비디오 데이터 처리 시스템에 정적 메모리보다는 동적 메모리를 사용하는 것을 가능하게 하며 결국 이러한 시스템의 가격을 감소시킬 수 있다.
도면에 관련한 전술한 바는 본 발명을 한정하기보다는 예를 든 것이다. 이에 대해 이하 몇 가지를 기재한다.
도 1, 5, 6은 모든 동작을 정한 프로그램을 컴파일할 때 이들 모든 동작을 아는 시스템들에 대해서 대기시간을 감소시키는 것을 가능하게 한다. 도 5의 설명에서 언급한 바와 같이, 전류 소비의 감소 등 본 발명이 다른 이점을 제공함에 유의한다. 그러므로, 실시간 제약이 중요하지 않을 지라도, 즉 대기시간 감소가 필수적인 것이 아닐지라도 어떤 시스템에 본 발명을 구현하는 것이 이점이 있을 것이다.
도 5는 본 발명의 원리를 설명하는 것이다. 본 발명에 따른 프로그램은 보다 복잡할 수도 있다. 즉 많은 수의 변수 및 과정들을 포함할 수 있다. 그러나, 프로그램의 복잡도에 관계없이, 프로그램의 컴파일 동안 프로그램에 의해 수행되는 모든 동작을 확정하는 것이 가능하다면, 본 발명이 구현될 수 있다. 이에 대해서, 도 6은 본 발명의 하나의 구현예이며, 당연히 비디오 데이터 처리 시스템 이외의 시스템들에 본 발명을 적용하는 것이 가능하다.
원칙적으로, 데이터 처리 장치, 예를 들면 적합하게 프로그램된 집적회로에 의해 본 발명에 따른 방법을 구현하는 것이 가능하다. 프로그래밍 메모리에 포함된 명령 세트는 앞서 기술된 여러 단계들을 수행할 것을 집적회로에 지시할 수 있다. 명령 세트는 명령세트가 코드된 예를 들면 하드 디스크와 같은 데이터 매체를 읽음으로써 프로그램 메모리로 로딩될 수 있다. 판독은 예를 들면 인터넷과 같은 통신 네트워크에 의해 수행될 수 있다. 이 경우, 서비스 제공업자는 관계된 당사자들이 명령 세트를 활용할 수 있게 할 것이다.
Claims (5)
- 프로세서에 의해 수행되는 동작들에 관련된 변수들을 저장시키도록 한 동적 메모리를 리프레시시키는 방법에 있어서,상기 동작들의 순서 및 타이밍을 설정하는 계획 단계;각 변수에 특정한 유지시간을 추정하는 단계;각 변수가 리프레시되어야 할 적어도 한 시점(instant)을 예측하는 단계로서, 주어진 변수가 리프레시되어야 할 시점은 상기 주어진 변수의 상기 유지시간 및 상기 주어진 변수가 관련되는 동작들의 타이밍의 함수로서 정의되는, 예측 단계와;상기 변수들을 상기 메모리에 배치하는 배치 단계;상기 예측단계 동안 정해진 시점들에서 상기 변수들을 리프레시하는 리프레시 단계를 포함하는 것을 특징으로 하는 동적 메모리 리프레시 방법.
- 제1항에 있어서, 상기 계획단계, 각 변수의 유지시간의 추정단계, 배치 단계 및 예측단계들은 상기 동작을 정의하는 프로그램의 컴파일 동안, 프로세서에 의해 수행되는 것을 특징으로 하는 동적 메모리 리프레시 방법.
- 제1항에 있어서, 상기 변수를 리프레시하는 단계는 상기 변수를 판독하는 장치를 사용하여 프로세서에 의해 수행되는 것을 특징으로 하는 동적 메모리 리프레시 방법.
- 제3항에 있어서, 상기 방법은 상기 판독장치가 상기 리프레시 단계를 수행할 수 있는 시점들을 스케쥴링하는 단계를 더 포함하고, 상기 스케쥴링 단계는 상기 동작들을 정의하는 프로그램의 컴파일 동안 프로세서에 의해 수행되는 것을 특징으로 하는 동적 메모리 리프레시 방법.
- 프로그램이 컴퓨터로 수행될 때 제1항의 방법의 단계들을 실행하는 프로그램 코드 명령들을 포함하는 컴퓨터 프로그램.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
FR0102136 | 2001-02-16 | ||
FR0102136 | 2001-02-16 |
Publications (1)
Publication Number | Publication Date |
---|---|
KR20030010469A true KR20030010469A (ko) | 2003-02-05 |
Family
ID=8860109
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020020008287A KR20030010469A (ko) | 2001-02-16 | 2002-02-16 | 동적 메모리 리프레시 방법 |
Country Status (5)
Country | Link |
---|---|
US (1) | US6807604B2 (ko) |
EP (1) | EP1233419A3 (ko) |
JP (1) | JP2002287983A (ko) |
KR (1) | KR20030010469A (ko) |
CN (1) | CN1231919C (ko) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11922051B2 (en) | 2020-11-02 | 2024-03-05 | Deepx Co., Ltd. | Memory controller, processor and system for artificial neural network |
US11972137B2 (en) | 2020-11-02 | 2024-04-30 | Deepx Co., Ltd. | System and memory for artificial neural network (ANN) optimization using ANN data locality |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6934180B1 (en) * | 1998-02-02 | 2005-08-23 | Darryl G. Walker | Random access memory cell having reduced current leakage and having a pass transistor control gate formed in a trench |
CN104143355B (zh) * | 2013-05-09 | 2018-01-23 | 华为技术有限公司 | 一种刷新动态随机存取存储器的方法和装置 |
KR102321332B1 (ko) * | 2017-05-30 | 2021-11-04 | 에스케이하이닉스 주식회사 | 반도체 장치 및 그의 구동 방법 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
FR2561414B1 (fr) * | 1984-03-16 | 1986-09-19 | Thomson Csf | Systeme a microprocesseur et memoire vive dynamique avec rafraichissement par logiciel. application a un enregistreur de perturbations |
US5148546A (en) | 1991-04-22 | 1992-09-15 | Blodgett Greg A | Method and system for minimizing power demands on portable computers and the like by refreshing selected dram cells |
JP4246812B2 (ja) * | 1997-06-12 | 2009-04-02 | パナソニック株式会社 | 半導体回路及びその制御方法 |
US6167484A (en) * | 1998-05-12 | 2000-12-26 | Motorola, Inc. | Method and apparatus for leveraging history bits to optimize memory refresh performance |
WO2001040910A1 (en) * | 1999-12-06 | 2001-06-07 | De Jong, Eduard, Karel | Computer arrangement using non-refreshed dram |
-
2002
- 2002-02-11 CN CNB021054207A patent/CN1231919C/zh not_active Expired - Fee Related
- 2002-02-11 EP EP02075562A patent/EP1233419A3/fr not_active Withdrawn
- 2002-02-15 US US10/077,061 patent/US6807604B2/en not_active Expired - Fee Related
- 2002-02-15 JP JP2002039068A patent/JP2002287983A/ja not_active Withdrawn
- 2002-02-16 KR KR1020020008287A patent/KR20030010469A/ko not_active Application Discontinuation
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11922051B2 (en) | 2020-11-02 | 2024-03-05 | Deepx Co., Ltd. | Memory controller, processor and system for artificial neural network |
US11972137B2 (en) | 2020-11-02 | 2024-04-30 | Deepx Co., Ltd. | System and memory for artificial neural network (ANN) optimization using ANN data locality |
Also Published As
Publication number | Publication date |
---|---|
CN1231919C (zh) | 2005-12-14 |
CN1387196A (zh) | 2002-12-25 |
EP1233419A2 (fr) | 2002-08-21 |
US6807604B2 (en) | 2004-10-19 |
EP1233419A3 (fr) | 2006-04-19 |
US20020116572A1 (en) | 2002-08-22 |
JP2002287983A (ja) | 2002-10-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP0917152B1 (en) | Semiconductor circuit and method of controlling the same | |
US7613061B2 (en) | Method and apparatus for idle cycle refresh request in DRAM | |
US5761703A (en) | Apparatus and method for dynamic memory refresh | |
US7016246B2 (en) | Three-transistor refresh-free pipelined dynamic random access memory | |
CN112767983B (zh) | 刷新控制电路及存储器 | |
KR20080094938A (ko) | 디바이스 비활성 주기동안 dram 의 사용되지 않는 부분들의 리프레시를 디스에이블함에 의한 전력 소모 감소 | |
CN116010299B (zh) | 一种数据处理方法、装置、设备及可读存储介质 | |
US4292676A (en) | Refresh cycle minimizer in a dynamic semiconductor memory | |
KR20030010469A (ko) | 동적 메모리 리프레시 방법 | |
US4608678A (en) | Semiconductor memory device for serial scan applications | |
JP2006155841A (ja) | 半導体記憶装置及びリフレッシュ制御方法 | |
US6778461B2 (en) | Dynamic random access memory device externally functionally equivalent to a static random access memory | |
US20060067150A1 (en) | Method and apparatus to control a power consumption of a memory device | |
JP2546161B2 (ja) | ダイナミック型メモリ装置 | |
US10997087B2 (en) | Direct memory access | |
KR100592351B1 (ko) | 어드레스 신호 공급 방법 및 그것을 이용한 반도체 기억장치 | |
JP4176719B2 (ja) | 複数ポートのメモリセル | |
JP7516087B2 (ja) | イメージデータキューブを格納するように構成されたメモリのアクセス | |
US11593289B2 (en) | Direct memory access | |
Rothan et al. | A video delay line compiler | |
JPS6258021B2 (ko) | ||
US20090043954A1 (en) | Information Recording/Playback Apparatus and Memory Control Method | |
JPH0773100A (ja) | 画像メモリ | |
CN117742594A (zh) | 数据存储方法及装置、电子设备和存储介质 | |
CN117934648A (zh) | 一种纹理数据采样方法、装置、存储介质及电子设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
WITN | Application deemed withdrawn, e.g. because no request for examination was filed or no examination fee was paid |