KR100546678B1 - 데이터 처리 시스템의 리프레시 동작 제어장치 및 그 방법 - Google Patents
데이터 처리 시스템의 리프레시 동작 제어장치 및 그 방법 Download PDFInfo
- Publication number
- KR100546678B1 KR100546678B1 KR1020030000809A KR20030000809A KR100546678B1 KR 100546678 B1 KR100546678 B1 KR 100546678B1 KR 1020030000809 A KR1020030000809 A KR 1020030000809A KR 20030000809 A KR20030000809 A KR 20030000809A KR 100546678 B1 KR100546678 B1 KR 100546678B1
- Authority
- KR
- South Korea
- Prior art keywords
- refresh
- memory
- ref
- cycles
- refresh operation
- Prior art date
Links
Images
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
- 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
- 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
- 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/1652—Handling requests for interconnection or transfer for access to memory bus based on arbitration in a multiprocessor architecture
- G06F13/1663—Access to shared memory
-
- 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
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/1668—Details of memory controller
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Computer Hardware Design (AREA)
- Dram (AREA)
Abstract
본 발명은 공유 메모리에 대해 최적의 리프레시 동작(Refresh Operation)을 실행할 수 있도록 한 데이터 처리 시스템의 리프레시 동작 제어장치 및 그 방법에 관한 것으로, 하나의 공유 메모리에 대해 접근을 요구하는 다수 개의 메모리 접근장치(MAU)로 구성된 데이터 처리시스템에서, 상기 다수 개의 메모리 접근장치의 공유 메모리 접근을 중재하고, 내부 제어신호에 따라 상기 공유 메모리의 리프레시 동작을 제어하여 상기 리프레시 동작 동안 리프레시 사이클의 횟수를 카운트하는 메모리 중재기; 그리고, 상기 메모리 중재기에서 카운트된 리프레시 사이클의 횟수를 읽어들여 상기 리프레시 사이클의 횟수에 따라 리프레시 버스트 길이 및 리프레시의 간격 등의 리프레시 동작 조건을 재조정하는 시스템 마이컴을 포함하여 구성되는 것을 특징으로 하며, 메모리 중재기가 공유 메모리(SDRAM, DDR SDRAM등)에 대해 일정시간 동안 수행된 리프레시 사이클의 횟수를 모니터링하여 최적의 리프레시 동작 제어를 통해 불필요한 리프레시 사이클을 수행하지 않도록 한다.
메모리 중재기/리프레시
Description
도 1은 하나의 공유 메모리에 연결된 일반적인 데이터 처리 시스템 구성을 나타낸 블록도
도 2는 본 발명의 메모리 중재기 세부 구성을 나타낸 블록도
도 3은 본 발명의 리프레시 동작시 리프레시의 횟수를 모니터링 하기 위한 메모리 중재기의 카운터와 레지스터간 전이 타이밍도를 나타낸 도면
도 4는 본 발명에 따른 데이터 처리 시스템의 리프레시 동작 제어방법을 나타낸 플로우 차트
도 5는 메모리 중재기의 리프레시 동작을 나타낸 신호 타이밍도
도면의 주요부분에 대한 부호의 설명
10: 공유 메모리 20: 데이터 처리 시스템
30a~30n: 메모리 접근장치 40: 메모리 중재기
41: MAU 중재부 42: 데이터 처리부
43: 명령어 처리부 44: 메모리 제어부
본 발명은 데이터 처리 시스템의 메모리 중재기에 관한 것으로, 특히, 공유 메모리에 대해 최적의 리프레시 동작(Refresh Operation)을 실행할 수 있도록 한 데이터 처리 시스템의 리프레시 동작 제어장치 및 그 방법에 관한 것이다.
도 1에 도시한 바와 같이, 디지털 비디오 처리기(Digital Video Processor) 와 같은 종래 기술에 따른 데이터 처리 시스템(20)은 SDRAM, DDR SDRAM 등 하나의 공유 메모리(10)에 대해 접근을 요구하는 다수 개의 메모리 접근장치(Memory Access Unit; MAU)(30a~30n)와, 상기 공유 메모리(10)에 대해 다수 개의 메모리 접근장치(30a~30n)의 접근을 중재하는 메모리 중재기(40)로 구성된다.
상기와 같이 구성된 종래 기술에 따른 데이터 처리 시스템(20)에서 상기 메모리 중재기(40)는 공유 메모리(10)에 대해 접근을 요구하는 다수 개의 메모리 접근장치(30a~30n) 중 어느 하나의 메모리 접근장치에 버스 사용권을 적절하게 부여한 후, 버스 사용권을 획득한 메모리 접근장치의 메모리 읽기/쓰기 요구에 대한 서비스를 제공하기 위해서 상기 공유 메모리(10)에 대한 제어를 수행함으로써 데이터 처리 시스템(20)이 정상적으로 동작하도록 한다.
이때, 상기 데이터 처리 시스템(20)에서 메모리 중재기(40)의 중요한 점은 메모리 글러벌 대역폭(Memory Global Bandwidth)을 효율적으로 사용하도록 하여 데이터 전송률을 높이는데 있다.
동시에, 메모리 중재기(40)는 공유 메모리(10)에 저장된 데이터가 손실되지 않도록 주기적으로 메모리에 대해서 리프레시 동작(Refresh Operation)을 수행하여 야 하는데 이때 리프레시 동작을 어떻게 처리하느냐에 따라서 전반의 시스템 성능이 달라질 수 있다.
다시 말해, 메모리 중재기(40)는 일정시간이 경과하면 즉, 일정한 시간 간격으로 리프레시 동작을 수행하여야 한다. 예를 들어, 32ms 동안 4096번의 리프레시 사이클(Refresh Cycle)을 요구하는 메모리의 경우 약 7.8㎲마다 한번의 리프레시 사이클이 수행되어야 한다.
그러나, 종래 기술에 따른 데이터 처리 시스템에서, 설정된 시간이 경과하여 리프레시 동작이 수행되어야 할 때 메모리 중재기(40)가 임의의 메모리 접근장치(30a~30n)가 요구하는 메모리 읽기/쓰기 동작을 서비스 중에 있거나 서비스를 수행하기 위해 버스 사용권을 이미 부여한 상태라면 리프레시 동작을 수행하지 못하게 된다.
때문에, 종래의 메모리 중재기(40)는 메모리에 저장된 데이터가 손실되지 않도록 하기 위해서 통상 약 7.8㎲보다 작은 값으로 시간 간격을 설정한다.
결과적으로, 각 리프레시 동작간의 시간 간격이 짧게 설정됨으로서 메모리 중재기가 일정 시간동안 수행되어야 하는 리프레시 사이클 이상의 불필요한 리프레시 동작을 수행하게 되어 메모리의 글러벌 대역폭(Global Bandwidth)의 낭비를 초래하여 데이터 전송률을 감소시키는 문제점이 있었다.
또한, 불필요한 리프레시 사이클을 수행함에 따라 메모리 접근장치의 대기시간(Local Latency)이 길어지는 문제점이 있었다.
따라서, 본 발명은 상술한 종래 기술의 문제점을 해결하기 위해 안출한 것으로서, 본 발명의 목적은 다수 개의 메모리 접근장치(MAU)가 접근을 요구하는 공유 메모리에 대해 일정시간 동안 요구되는 횟수의 리프레시 사이클만을 효과적으로 수행하여 데이터 처리 시스템의 메모리 글러벌 밴드폭(Memory Global Bandwidth)을 향상시키고 메모리 접근 장치의 대기시간(Local Latency)을 줄일 수 있도록 한 데이터 처리 시스템의 리프레시 동작 제어장치 및 그 방법을 제공하는데 있다.
이와 같은 목적을 달성하기 위한 본 발명에 따른 데이터 처리 시스템의 리프레시 동작 제어장치는 하나의 공유 메모리에 대해 접근을 요구하는 다수 개의 메모리 접근장치(MAU)로 구성된 데이터 처리시스템에서, 상기 다수 개의 메모리 접근장치의 공유 메모리 접근을 중재하고, 내부 제어신호에 따라 상기 공유 메모리의 리프레시 동작을 제어하여 일정 시간동안 발생한 상기 리프레시 동작에 의한 리프레시 사이클의 횟수를 카운트하는 메모리 중재기; 그리고, 상기 메모리 중재기에서 카운트된 리프레시 사이클의 횟수를 읽어들여 상기 리프레시 사이클의 횟수에 따라 리프레시 버스트 길이 및 리프레시의 간격 등의 리프레시 동작 조건을 재조정하는 시스템 마이컴을 포함하여 구성되는데 그 특징이 있다.
그리고, 이와 같은 목적을 달성하기 위한 본 발명에 따른 데이터 처리 시스템의 리프레시 동작 제어방법은 하나의 공유 메모리에 대해 접근을 요구하는 다수 개의 메모리 접근장치(MAU)와, 공유 메모리에 대해 수행되는 리프레시 사이클의 횟수를 카운트하는 카운터 및 카운터의 리프레시 사이클 횟수를 저장하는 레지스터로 이루어진 메모리 중재기를 구비하고 외부 시스템 마이컴으로부터 제어되는 데이터 처리 시스템의 리프레시 동작 제어방법에 있어서, 리프레시 동작 스타트 신호가 출력되면 상기 리프레시 동작 동안 발생되는 리프레시 사이클의 횟수를 카운트하는 단계; 시스템 동기신호(System_sync)가 발생되면 상기 카운터의 리프레시 사이클의 횟수를 상기 레지스터로 저장시키고 상기 카운터를 초기화하는 단계; 시스템 인터럽트 신호(System_interrupt)가 발생하면 상기 시스템 마이컴이 상기 레지스터에 저장된 리프레시 사이클의 횟수를 읽어들이는 단계; 그리고, 상기 시스템 마이컴이 읽어들인 리프레시 사이클의 횟수가 기 설정된 횟수와 동일하지 않으면 상기 리프레시 동작의 리프레시 버스트 길이 및 리프레시의 간격 등의 리프레시 동작 조건을 재조정하는 단계를 포함하여 이루어지는데 그 특징이 있다.
본 발명의 다른 목적, 특징 및 잇점들은 첨부한 도면을 참조한 실시예들의 상세한 설명을 통해 명백해질 것이다.
이하, 첨부된 도면을 참조하여 본 발명에 따른 데이터 처리 시스템의 리프레시 동작 제어장치 및 그 방법을 설명하면 다음과 같다.
도 2는 본 발명의 메모리 중재기 세부 구성을 나타낸 블록도이고, 도 3은 본 발명의 리프레시 동작시 리프레시의 횟수를 모니터링 하기 위한 메모리 중재기의 카운터와 레지스터간 전이 타이밍도를 나타낸 도면이고, 도 4는 본 발명에 따른 데이터 처리 시스템의 리프레시 동작 제어방법을 나타낸 플로우 차트이며, 도 5는 메모리 중재기의 리프레시 동작을 나타낸 신호 타이밍도이다.
본 발명은, 상술한 종래 기술에 따른 데이터 처리 시스템과 그 구성이 동일 하므로 동일한 구성에 대해서 동일한 도시부호를 표기하나, 시스템 마이컴 및 데이터 처리 시스템의 메모리 중재기에서 공유 메모리에 대한 리프레시 동작의 제어가 종래 기술과 상이하다.
먼저, 본 발명에 따른 데이터 처리 시스템의 리프레시 동작 제어장치는 하나의 공유 메모리(10)에 대해 접근을 요구하는 다수 개의 메모리 접근장치(MAU)(30a~30n)로 구성된 데이터 처리 시스템에서, 상기 다수 개의 메모리 접근장치(30a~30n)의 공유 메모리(10) 접근을 중재하고, 내부 제어신호에 따라 상기 공유 메모리(10)의 리프레시 동작을 제어하여 일정 시간동안 발생한 상기 리프레시 동작에 의한 리프레시 사이클의 횟수를 카운트하는 메모리 중재기(40); 그리고, 상기 메모리 중재기(40)에서 카운트 된 리프레시 사이클의 횟수를 읽어들여 상기 리프레시 사이클의 횟수에 따라 리프레시 버스트 길이 및 리프레시의 간격 등의 리프레시 동작 조건을 재조정하는 시스템 마이컴(도시 생략)을 포함하여 구성된다.
이때, 상기 메모리 중재기(40)는 도 2에 도시한 바와 같이, 일정 시간동안 상기 공유 메모리(10)에 대한 리프레시 동작에 의해 발생되는 리프레시 사이클의 횟수와, 상기 시스템 마이컴으로부터 재조정된 리프레시 버스트 길이 및 리프레시의 간격을 내부 레지스터(도시 생략)에 저장하고, 상기 다수 개의 메모리 접근장치(30a~30n)로부터 수신되는 메모리 접근 요청 신호에 따라 어느 하나의 메모리 접근장치에 버스 사용권을 부여하는 MAU 중재부(41)와, 상기 MAU 중재부(41)에서 버스 사용권을 부여받은 메모리 접근장치의 메모리 억세스 정보를 관리하고 이를 필드화하여 출력하는 명령어 처리부(43)와, 상기 저장된 리프레시 버스트 길 이 및 리프레시의 간격에 따라 상기 공유 메모리(10)의 리프레시 동작을 제어하기 위한 제어신호를 출력하고, 상기 명령어 처리부(43)에서 출력된 메모리 억세스 정보를 분석하여 읽기 또는 쓰기 동작을 제어하기 위한 어드레스를 발생시키고 해당 메모리 접근장치에 읽기 또는 쓰기 데이터의 전송시점을 지시하는 메모리 제어부(44)와, 상기 메모리 접근장치와 공유 메모리 사이의 데이터 버스 폭(Width)의 차이를 전송에 맞게 변환하여 상기 메모리 제어부(44)의 제어에 따라 상기 공유 메모리(10)로 해당 메모리 접근장치의 데이터를 읽거나 쓰는 데이터 처리를 수행하는 데이터 처리부(42)로 구성된다.
여기서, 상기 MAU 중재부(41) 내의 레지스터는 하기 표 1과 같이, 한 번의 리프레시 동작 중에 수행되는 리프레시 사이클의 횟수(리프레시 버스트 길이)를 지정하는 제 1 플래그(이하, ref_mode라 지칭함)와, 리프레시 사이클간의 tRFC(Refresh Row Cycle Time) 간격(클럭 수)을 지정하는 제 2 플래그(이하, ref_sel라 지칭함)와, 시스템 동기신호가 발생된 시점까지 수행된 리프레시 사이클의 횟수를 카운터하고 있는 카운터의 값을 저장하기 위한 제 1 영역(이하, ref_run_reg라 지칭함)과, 초기 설정된 리프레시 간격의 값을 변경하여 저장하기 위한 제 2 영역(이하, ref_intv_ctrl라 지칭함)과, 일정 시간동안 발생하는 리프레시 동작에 의해 수행되어야 하는 리프레시 사이클의 횟수를 지정하여 저장하기 위한 제 3 영역(이하, ref_run_initial라 지칭함)으로 구성된다.
Reserved (31~29 bit) | ref_intv_ctrl (28~16 bit) | ref_run_reg (15~03 bit) | ref_sel (02~01 bit) | ref_mode (00 bit) |
Reserved (31~13 bit) | ref_run_initial (12~00 bit) |
상기 ref_mode는 한번의 리프레시 동작 당 리프레시 사이클이 1번(Default), 2번, 4번 또는 8번 이루어질 수 있도록 설정하는 것이고, 상기 ref_sel은 각 리프레시 사이클간의 tRFC 간격을 설정하는 것이다.
이때, 상기 ref_mode의 값에 따라 메모리 중재기(40)는 한번의 리프레시 동작 수행 시 연속해서 1번, 2번, 4번 또는 8번과 같이 각기 다른 횟수의 리프레시 사이클을 수행할 수 있는데, 상기 ref_mode의 값을 큰 값으로 설정할수록 일정시간 동안 요구되는 리프레시 사이클이 수행될 확률은 약간씩 커지지만, 그에 반해서 다수 개의 메모리 접근장치(30a~30n)에 대한 대기시간은 약간씩 길어지게 되어 시스템이 안정적으로 동작하지 않을 수도 있기 때문에 시스템에 따라 적절한 값으로 설정하도록 한다.
그리고, ref_intv_ctrl은 초기에 설정된 리프레시 간격의 값을 변경하여 저장하는 위한 것으로, 최상위 비트가 '0'이면 상기 ref_intv_ctrl 값을 리프레시 간격에 가산하고, '1'이면 리프레시 간격에서 감산한다. 즉, 상기 ref_intv_ctrl는 리프레시 간격(Refresh Interval)을 변경하고자 할 때 사용하는 것이다.
또한, 상기 ref_run_initial은 일정시간 동안 요구되는 리프레시 사이클의 횟수를 지정하는 것으로 사용되는 메모리에 따라 요구되는 횟수의 리프레시 사이클을 수행할 수 있도록 상기 ref_run_initial에 해당 값을 설정한다.
상기와 같이 구성된 본 발명에 따른 데이터 처리 시스템의 리프레시 동작 제 어장치를 설명하면, 먼저, 상기 공유 메모리(10)에 대해 리프레시 동작을 수행하기 위해 상기 메모리 제어부(44)는 해당 제어신호(리프레시 동작 스타트 신호; ref_start)를 출력하면 상기 메모리 제어부(44)의 제어에 따라 리프레시 동작이 시작된다.
이때, 상기 공유 메모리(10)에 대한 리프레시 동작은 상기 MAU 중재부(41) 내 레지스터의 ref_mode, ref_sel, ref_intv_ctrl, ref_run_initial에 저장된 값에 따라 상기 리프레시 동작을 제어한다.
그리고, 상기 리프레시 동작을 수행하는 동안 내부 카운터를 통해 수행되는 리프레시 사이클을 카운트한다.
도 3에 도시한 바와 같이, 데이터 처리 시스템내의 시스템 동기신호(System_sync)가 액티브(Active)되면 그 시점까지 수행된 리프레시 사이클을 카운트하는 카운터(이하, ref_run_cnt라 지칭함)의 값을 상기 ref_run_reg로 저장함과 동시에 상기 ref_run_cnt의 값을 '0'으로 초기화한다.
다시 리프레시 동작이 수행되면, 상기 초기화된 상기 ref_run_cnt는 리프레시 사이클이 수행될 때마다 '1'씩 증가하며 상기 ref_run_reg의 값을 다음 시스템 동기신호가 액티브될 때까지 유지한다.
그리고, 상기 시스템 동기신호가 액티브 된 이후에 상기 데이터 처리 시스템은 시스템 인터럽트 신호(System-interrupt)를 액티브시켜 상기 ref_run_reg의 값을 시스템 마이컴이 읽도록 함으로써, 읽어들인 ref_run_reg의 값을 통해 일정한 주기 동안 발생된 리프레시 사이클의 횟수를 인식할 수 있다.
이때, 상기 시스템 마이컴은 상기 읽어들인 ref_run_reg의 값을 기 설정된 ref_run_initial의 값과 비교한다. 예를 들어, 32ms 동안 4096번의 리프레시 사이클을 요구하는 공유 메모리 일 경우, 상기 ref_run_initial에 4096 값이 설정되어 있으므로 상기 읽어들인 ref_run_reg의 값이 이와 일치하는지 판단하여 4096으로 일치하면 32ms 동안 정확히 4096번의 리프레시 사이클이 이루어졌다는 것으로 인식한다.
반면, 상기 읽어들인 ref_run_reg의 값이 상기 ref_run_initial의 값과 일치하지 않으면 상기 메모리 중재기(40)에서 요구하는 리프레시 사이클을 만족시키기 못한 것으로 인식하여 상기 레지스터의 ref_mode와 ref_intv_ctrl 값을 적절하게 조정하여 각 레지스터 영역에 변경/저장함으로써 공유 메모리(10)가 요구하는 리프레시 사이클의 횟수를 만족시키도록 한다.
상기와 같이, 변경된 ref_mode 및 ref_intv_ctrl 값에 따라 다음 리프레시 동작을 수행하여 요구되는 리프레시 사이클의 횟수를 만족시킬 수 있도록 한다.
상술한 리프레시 동작 제어방법에 따라 동작하는 본 발명에 따른 데이터 처리 시스템에서, 도 4 및 도 5를 참조하여 리프레시 동작 중 리프레시 사이클 수행 제어방법을 설명하면 다음과 같다.
즉, 도 4는 한번의 리프레시 동작을 수행하기 위한 제어방법을 나타낸 플로우 차트이다.
도시한 바와 같이, 먼저, 메모리 중재기(40)는 미리 설정한 ref_interval_reg(32ms당 4096번의 리프레시 사이클을 수행해야 하는 경우, 2회/15.6㎲의 리프레시 사이클을 수행하면 된다. 따라서, 2회/10㎲ 정도로 값을 설정한다. 예를 들어, 메모리가 148.5㎒를 사용할 경우 10㎲에 해당하는 클럭수 1536 값이 저장된 레지스터)의 값과 ref_interval_cnt(상기 10㎲에 해당하는 1536 클럭 수를 카운트하는 카운터)의 값이 같아지면(S100), 즉 기 설정된 리프레시 간격의 시간이 경과하면 리프레시 동작이 수행될 수 있도록 리프레시 시작 신호(이하, ref_start이라 지칭함)를 '1'로 설정한다(S110).
그런 후, 상기 ref_start 신호가 '1'로 설정되었을 때, 메모리 제어부(44)의 메모리 제어 상태가 아이들상태 (main_state = idle)에 있고, 임의의 메모리 접근장치(30a~30n)에 대하여 공유 메모리(10)에 대한 읽기/쓰기 서비스를 제공해야 하는 상태가 아니고(cmd_data_exist = 0), 임의의 메모리 접근장치(30a~30n)가 버스의 사용권을 요청하지 않은 상태(req_I_exist = 0)이고, 일정 시간(여기서는 32ms)동안 수행된 리프레시 사이클의 횟수가 미리 설정된 리프레시 사이클의 횟수를 초과하지 않은 상태(ref_valid = 1)이면, 상기 ref_start 신호를‘0’으로 설정하고 ref_cnt_reg(Refresh Control 레지스터의 ref_mode 값에 따라 연속된 리프레시 사이클의 수가 1이면 0, 2이면 1, 4이면 3, 8이면 7로 설정) 레지스터의 값을 카운터 ref_cnt에 저장하고, 수행된 리프레시 사이클의 횟수를 저장하고 있는 카운터 ref_run_cnt의 값을 1만큼 증가시킨다(S120~S130).
이어서, 상기 메모리 중재기(40)는 상기 ref_sel의 값에 따라 최적의 tRFC 간격을 갖는 리프레시 사이클을 수행시킨다(S140).
그리고, 상기 ref_mode 값의 설정에 따라 수행할 리프레시 사이클의 횟수가 남아있는지 여부를 판단한다(ref_cnt = 0 ?)(S150).
상기 판단결과(S150), 상기 ref_cnt가 '0'이 아니면(ref_cnt≠0) 즉, 리프레시 사이클이 남아있을 경우 상기 ref_cnt의 값을 1만큼 감소시키고 ref_run_cnt의 값은 1만큼 증가시킨 후 리프레시 사이클을 수행하며 ref_cnt의 값이 0이 될 때까지 반복해서 수행한다(S160).
한편, 상기 ref_cnt가 '0'이면(ref_cnt=0) 한번의 리프레시 동작을 종료하고, 상술한 과정을 반복하여 기 설정된 리프레시 사이클의 횟수만큼 리프레시 동작을 수행한다.
따라서, 본 발명에서, 메모리 중재기(40)는 일정한 주기로 발생되는 시스템 동기신호가 액티브 되면 그 때까지 수행된 리프레시 사이클의 횟수를 카운트하고 있는 ref_run_cnt의 값을 ref_run_reg에 저장하고, 시스템 인터럽트를 액티브 시켜서 시스템 마이컴(Host Processor)으로 하여금 ref_run_reg의 값을 읽어가도록 하여, 일정한 주기동안 발생된 리프레시 사이클의 횟수를 모니터링 하는 기능과 리프레시 사이클의 조건을 조정할 수 있는 레지스터(reg_mode, reg_intv_ctrl)들을 메모리 중재기(40)에 구현함으로써 메모리 중재기(40)가 불필요한 리프레시 사이클이 발생하지 않도록 하여 최적의 리프레시 동작을 제어하도록 하는 것이다.
이상에서 설명한 본 발명에 따른 데이터 처리 시스템의 리프레시 동작 제어장치 및 그 방법은 다음과 같은 효과가 있다.
첫째, 데이터 처리 시스템의 메모리 중재기가 공유 메모리(SDRAM, DDR SDRAM 등)에 대해 일정시간 동안 요구되는 횟수의 리프레시 사이클만을 수행하고 불필요한 리프레시 사이클을 수행하지 않도록 함으로써, 데이터 처리 시스템의 메모리 글러벌 대역폭(Memory Global Bandwidth)을 향상시켜 데이터 전송률을 높일 수 있다.
둘째, 현재 리프레시 사이클의 수행 횟수에 따라 그 동작 조건을 재조정하여 최적의 리프레시 동작 제어를 수행할 수 있도록 함으로서 메모리 접근 장치들의 대기시간을 줄여 데이터 처리 시스템의 안정성 및 시스템 성능을 향상시킬 수 있다.
이상에서 설명한 내용을 통해 당업자라면 본 발명의 기술 사상을 이탈하지 아니하는 범위에서 다양한 변경 및 수정이 가능함을 알 수 있을 것이다.
따라서, 본 발명의 기술적 범위는 실시예에 기재된 내용으로 한정되는 것이 아니라 특허 청구의 범위에 의하여 정해져야 한다.
Claims (5)
- 하나의 공유 메모리에 대해 접근을 요구하는 다수 개의 메모리 접근장치(MAU)로 구성된 데이터 처리시스템에서,상기 다수 개의 메모리 접근장치의 공유 메모리 접근을 중재하고, 내부 제어신호에 따라 상기 공유 메모리의 리프레시 동작을 제어하여 일정 시간동안 발생한 상기 리프레시 동작에 의한 리프레시 사이클의 횟수를 카운트하며, 상기 카운트된 리프레시 사이클의 횟수 및 리프레시 동작 조건 신호를 레지스터에 저장하는 메모리 중재기 및,상기 메모리 중재기에서 카운트된 리프레시 사이클의 횟수를 읽어들이고, 읽어들인 리프레시 사이클의 횟수가 기 설정된 횟수와 동일한지 여부를 판단하여, 상기 리프레시 사이클의 횟수에 따라 리프레시 버스트 길이 및 리프레시의 간격 등의 리프레시 동작 조건을 재조정하는 시스템 마이컴을 포함하는 것을 특징으로 하는 데이터 처리시스템의 리프레시 동작 제어장치.
- 제 1 항에 있어서,상기 메모리 중재기는상기 공유 메모리에 대한 리프레시 동작에 의해 발생되는 리프레시 사이클의 횟수와, 상기 시스템 마이컴으로부터 재조정된 리프레시 버스트 길이 및 리프레시의 간격을 내부 레지스터에 저장하고, 상기 다수 개의 메모리 접근장치로부터 수신되는 메모리 접근 요청 신호에 따라 어느 하나의 메모리 접근장치에 버스 사용권을 부여하는 MAU 중재부와,상기 MAU 중재부에서 버스 사용권을 부여받은 메모리 접근장치의 메모리 억세스 정보를 관리하고 이를 필드화하여 출력하는 명령어 처리부와,상기 저장된 리프레시 버스트 길이 및 리프레시의 간격에 따라 상기 공유 메모리의 리프레시 동작을 제어하기 위한 제어신호를 출력하고, 상기 명령어 처리부에서 출력된 메모리 억세스 정보를 분석하여 읽기 또는 쓰기 동작을 제어하기 위한 어드레스를 발생시키고 해당 메모리 접근장치에 읽기 또는 쓰기 데이터의 전송시점을 지시하는 메모리 제어부와,상기 메모리 접근장치와 공유 메모리 사이의 데이터 버스 폭(Width)의 차이를 전송에 맞게 변환하여 상기 메모리 제어부의 제어에 따라 상기 공유 메모리로 해당 메모리 접근장치의 데이터를 읽거나 쓰는 데이터 처리를 수행하는 데이터 처리부를 포함하는 것을 특징으로 하는 데이터 처리 시스템의 리프레시 동작 제어장치.
- 제 2 항에 있어서,상기 MAU 중재부의 내부 레지스터는한 번의 리프레시 동작 중에 수행되는 리프레시 사이클의 횟수(리프레시 버스트 길이)를 지정하는 제 1 플래그와,리프레시 사이클간의 tRFC(Refresh Row Cycle Time) 간격(클럭 수)을 지정하는 제 2 플래그와,시스템 동기신호가 발생된 시점까지 수행된 리프레시 사이클의 횟수를 카운터하고 있는 카운터의 값을 저장하기 위한 제 1 영역과,초기 설정된 리프레시 간격의 값을 변경하여 저장하기 위한 제 2 영역과,일정 시간동안 발생하는 리프레시 동작에 의해 수행되어야 하는 리프레시 사이클의 수를 지정하여 저장하기 위한 제 3 영역을 포함하는 것을 특징으로 하는 데이터 처리 시스템의 리프레시 동작 제어장치.
- 하나의 공유 메모리에 대해 접근을 요구하는 다수 개의 메모리 접근장치(MAU)와, 공유 메모리에 대해 수행되는 리프레시 사이클의 횟수를 카운트하는 카운터 및 카운터의 리프레시 사이클 횟수를 저장하는 레지스터로 이루어진 메모리 중재기를 구비하고 외부 시스템 마이컴으로부터 제어되는 데이터 처리 시스템의 리프레시 동작 제어방법에 있어서,리프레시 동작 스타트 신호가 출력되면 상기 리프레시 동작 동안 발생되는 리프레시 사이클의 횟수를 카운트하는 단계;시스템 동기신호(System_sync)가 발생되면 상기 카운터의 리프레시 사이클의 횟수를 상기 레지스터로 저장시키고 상기 카운터를 초기화하는 단계;시스템 인터럽트 신호(System_interrupt)가 발생하면 상기 시스템 마이컴이 상기 레지스터에 저장된 리프레시 사이클의 횟수를 읽어들이는 단계; 그리고,상기 시스템 마이컴이 읽어들인 리프레시 사이클의 횟수가 기 설정된 횟수와 동일하지 않으면 상기 리프레시 동작의 리프레시 버스트 길이 및 리프레시의 간격 등의 리프레시 동작 조건을 재조정하는 단계를 포함하여 이루어짐을 특징으로 하는 데이터 처리 시스템의 리프레시 동작 제어방법.
- 제 4 항에 있어서,리프레시 동작 스타트 신호가 출력되면 상기 리프레시 동작 동안 발생되는 리프레시 사이클의 횟수를 카운트하는 단계는,기 설정된 리프레시의 간격과 카운트되는 리프레시의 간격이 같아지면(ref_interval_reg=ref_interval_cnt), 리프레시 스타트 신호를 '1'(ref_start=1)로 설정하는 단계와,상기 메모리 중재기의 메모리 제어 상태가 아이들 상태(main_state=idle)에 있고 상기 다수 개의 메모리 접근장치에 대해 버스 사용권을 부여한 상태가 아니고(cmd_date_exist=0), 어떤 메모리 접근장치도 버스 사용권을 요청하지 않은 상태(req_I_exist=0)이고, 일정 시간동안 수행된 리프레시 사이클의 횟수가 미리 설정된 리프레시 사이클의 횟수를 초과하지 않은 상태(ref_valid=1)이면, 리프레시 스타트 신호를 '0'(ref_start=0)으로 설정함과 동시에 기 설정된 리프레시 버스트 길이가 저장된 레지스터의 값을 리프레시 카운터에 저장하고(ref_cnt <- ref_cnt_reg), 수행된 리프레시 사이클의 횟수을 저장하고 있는 카운터의 값을 1만큼 증가시키는(ref_run_cnt <- ref_run_cnt +'1') 단계와,기 설정된 리프레시 사이클간의 tRFC(Refresh Row Cycle Time) 간격(클럭 수)에 따라 리프레시 사이클을 수행하는 단계와,상기 리프레시 카운터의 값이 '0'이면 상기 리프레시 동작을 종료하고, 상기 리프레시 카운터의 값이 '0'이 아니면 상기 리프레시 카운터의 값을 1만큼 감소시키고(ref_cnt <- ref_cnt -'1'), 상기 수행된 리프레시 사이클의 횟수를 1만큼 증가시키는(ref_run_cnt <- ref_run_cnt + '1') 단계로 이루어짐을 특징으로 하는 데이터 처리 시스템의 리프레시 동작 제어방법.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020030000809A KR100546678B1 (ko) | 2003-01-07 | 2003-01-07 | 데이터 처리 시스템의 리프레시 동작 제어장치 및 그 방법 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020030000809A KR100546678B1 (ko) | 2003-01-07 | 2003-01-07 | 데이터 처리 시스템의 리프레시 동작 제어장치 및 그 방법 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20040063404A KR20040063404A (ko) | 2004-07-14 |
KR100546678B1 true KR100546678B1 (ko) | 2006-01-26 |
Family
ID=37354315
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020030000809A KR100546678B1 (ko) | 2003-01-07 | 2003-01-07 | 데이터 처리 시스템의 리프레시 동작 제어장치 및 그 방법 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR100546678B1 (ko) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10698609B2 (en) | 2018-07-03 | 2020-06-30 | SK Hynix Inc. | Memory system and operating method of a memory system |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100754360B1 (ko) * | 2006-05-25 | 2007-09-03 | 엠텍비젼 주식회사 | 공유 저장영역의 안정적인 리프레쉬를 수행하는 다중 포트메모리 장치 및 그 리프레쉬 방법 |
KR100754358B1 (ko) * | 2006-05-25 | 2007-09-03 | 엠텍비젼 주식회사 | 공유 저장영역의 리프레쉬 방법 및 그 방법을 수행하는다중 포트 메모리 장치 |
-
2003
- 2003-01-07 KR KR1020030000809A patent/KR100546678B1/ko not_active IP Right Cessation
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10698609B2 (en) | 2018-07-03 | 2020-06-30 | SK Hynix Inc. | Memory system and operating method of a memory system |
US11327657B2 (en) | 2018-07-03 | 2022-05-10 | SK Hynix Inc. | Memory system and operating method of a memory system |
Also Published As
Publication number | Publication date |
---|---|
KR20040063404A (ko) | 2004-07-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7472213B2 (en) | Resource management device | |
US8095744B2 (en) | Device for controlling access from a plurality of masters to shared memory composed of a plurality of banks each having a plurality of pages | |
US6330645B1 (en) | Multi-stream coherent memory controller apparatus and method | |
US5907857A (en) | Refresh-ahead and burst refresh preemption technique for managing DRAM in computer system | |
US6820152B2 (en) | Memory control device and LSI | |
KR20100095459A (ko) | 공유 멀티 포트 메모리 장치에서 뱅크의 공유 및 리프레쉬 | |
JP2006260472A (ja) | メモリアクセス装置 | |
US9330025B2 (en) | Information processing apparatus, memory control apparatus, and control method thereof | |
US20130173858A1 (en) | Method for Scheduling Memory Refresh Operations Including Power States | |
US6782433B2 (en) | Data transfer apparatus | |
JP2001356961A (ja) | 調停装置 | |
KR100546678B1 (ko) | 데이터 처리 시스템의 리프레시 동작 제어장치 및 그 방법 | |
US5802581A (en) | SDRAM memory controller with multiple arbitration points during a memory cycle | |
JP3260456B2 (ja) | コンピュータシステムおよびそれに適した集積回路並びに要求選択回路 | |
JP2011034214A (ja) | メモリ制御装置 | |
JP2003271445A (ja) | メモリ制御装置及び方法 | |
JP4335327B2 (ja) | 調停装置および方法 | |
JP2978871B2 (ja) | リフレッシュ制御方式 | |
US6499087B1 (en) | Synchronous memory sharing based on cycle stealing | |
CN112394805B (zh) | 一种dram的低功耗模式的实现方法及终端 | |
JP2002288035A (ja) | アクセス制御方法およびアクセス制御回路 | |
JPH06325570A (ja) | ダイナミックメモリリフレッシュ回路 | |
JP2009266152A (ja) | コントローラ、ハードディスクドライブおよびコントロール方法 | |
JP2837698B2 (ja) | ダイレクト・メモリ・アクセス制御装置 | |
US20070245052A1 (en) | System and method for bandwidth sharing in busses |
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: 20090105 Year of fee payment: 4 |
|
LAPS | Lapse due to unpaid annual fee |