KR100666162B1 - Control module of mass memory-stored data of satellite - Google Patents
Control module of mass memory-stored data of satellite Download PDFInfo
- Publication number
- KR100666162B1 KR100666162B1 KR1020050126791A KR20050126791A KR100666162B1 KR 100666162 B1 KR100666162 B1 KR 100666162B1 KR 1020050126791 A KR1020050126791 A KR 1020050126791A KR 20050126791 A KR20050126791 A KR 20050126791A KR 100666162 B1 KR100666162 B1 KR 100666162B1
- Authority
- KR
- South Korea
- Prior art keywords
- mass memory
- memory
- task
- data
- unit
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/0703—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
- G06F11/0706—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
- G06F11/073—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in a memory management context, e.g. virtual memory or cache management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
Description
도 1 ; 본 발명의 일실시예에 의해 수행되는 대용량데이타의 처리과정을 설명하기 위한 도면.1; A diagram for describing a process of processing large amounts of data performed by one embodiment of the present invention.
도 2 ; 본 발명의 일실시예에 따른 대용량메모리 제어모듈의 구성블록도.2; Block diagram of a large-capacity memory control module according to an embodiment of the present invention.
도 3 ; 본 발명의 일실시예에 따른 위성의 대용량메모리 제어모듈을 중심으로 한 신호이동과 처리과정을 설명하기 위한 도면.3; A diagram illustrating a signal movement and processing process centering on a satellite large memory control module according to an embodiment of the present invention.
도 4 ; 본 실시예의 대용량메모리 제어모듈에서 발생되는 각 태스크 수행을 위한 신호 사이클을 나타낸 도면.4; Signal cycle for performing each task generated in the mass memory control module of the present embodiment.
< 도면의 주요부분에 대한 부호의 설명 ><Description of Symbols for Major Parts of Drawings>
10 : 대용량메모리 제어모듈10: Mass Memory Control Module
110 : 접근중재단 120 : 멀티플렉서110: Approach Foundation 120: Multiplexer
130 : 에러교정단 140 : 초기설정단130: error correction stage 140: initial setting stage
150 : 태스크유닛단150: task unit
151 : 리프레쉬유닛 152 : PM 유닛151: refresh unit 152: PM unit
153 : PB유닛 154 : 초기화유닛153: PB unit 154: initialization unit
155 : 스크러브유닛155: Scrub Unit
160 : 전원단160: power supply
20 : 중앙처리장치20: central processing unit
30 : 대용량메모리30: large capacity memory
40 : 버퍼40: buffer
50 : 하향링크모듈50: downlink module
60 : 디코더60: decoder
본 발명은 대용량의 메모리를 제어하기 위해 위성시스템에 포함된 위성의 대용량메모리 제어수단(모듈)에 있어, 중앙처리장치로부터 지시되는 명령을 설정된 우선순위에 따라 하드웨어적으로 세팅하여 진행함으로써 저장되어 있던 데이터에 대한 처리효율을 높이고 필요한 시기에 정확하게 지상으로 내려 보낼 수 있도록 하기 위한, 위성의 대용량메모리 제어모듈을 제시한 것이다.In the present invention, a large-capacity memory control means (module) of a satellite included in a satellite system for controlling a large-capacity memory has been stored by proceeding by setting a command instructed from the central processing unit in hardware according to a set priority. To improve the processing efficiency of data and to send it to the ground exactly when needed, a large-capacity memory control module of satellite is presented.
일반적으로 지구 관측용 저궤도 위성은 고도 685Km의 태양 동기궤도에서 하루 14.5회 지구를 선회하며 임무를 수행한다. 지상에서는 위성이 수행한 임무의 결과물인 위성사진 등을 전송받기도 하며, 위성의 동작관리를 위해서 주기적으로 동작상태 데이터를 전송받는데, 이를 위해서는 실시간으로 동작상태 데이터를 전송받 기도 하지만, 한반도를 지나갈 때 대용량 메모리에 저장하고 있던 동작상태 데이터를 한꺼번에 받기도 한다. In general, Earth orbiting low-orbiting satellites perform missions orbiting the Earth 14.5 times a day on a solar orbit at an altitude of 685 km. On the ground, it also receives satellite images, which are the result of missions performed by satellites, and periodically transmits operational status data to manage the operation of satellites. It also receives the operation status data stored in the large memory at once.
다목적실용위성은 위성의 동작상태를 저장하기 위해 1G bit DRAM 모듈을 사용한다. 메모리 모듈은 총 1024 페이지를 가지고 있으며, 각 페이지는 128K byte로 구성되어 있다. DRAM 특성상 반드시 필요한 리프레쉬(refresh)는 개별 칩(Chip)에 내장된 13bit 순차주소계수기(Row Address Conter)를 통해 수행되며, 일반적으로 64ms 이내에 8192번의 리프레쉬를 수행하도록 한다. 한편 임무 수행기간동안 위성체를 구성하는 기구 구조물이나 전장품들은 지상환경과는 다른 다양한 극한의 동작환경을 접하게 되는데, 그 중에서도 DRAM은 우주 방사능 물질들의 영향으로 인해 메모리의 한 비트 값이 바뀌어 버리는 현상이 나타나게 된다. Multipurpose satellites use a 1G bit DRAM module to store the operating state of the satellite. The memory module has a total of 1024 pages, and each page consists of 128K bytes. Refresh, which is essential for DRAM characteristics, is performed through a 13-bit sequential address counter embedded in an individual chip. In general, 8192 refreshes are performed within 64 ms. In the meantime, the mechanical structures and electronic components that make up the satellites encounter various extreme operating environments different from the ground environment. Among them, DRAM changes the value of one bit of memory due to the influence of radioactive materials. do.
이를 방지하기 위해서 위성에서는 오류 정정을 위한 회로(Error Detection & Correction)를 보유하고 있으며, 기본적으로 첫 페이지부터 마지막 페이지까지 주기적으로 메모리 내용을 읽어서 그 값이 제대로 있는지 확인하는 작업을 수행한다. 만약 그 값이 변질이 되었으나, 교정이 가능하면 즉시 교정값을 다시 기록하며, 교정이 불가능한 경우에는 그 해당 페이지를 초기화시킬 수 있도록 한다. To prevent this, the satellite has an error detection and correction circuit, and basically, it reads the memory contents periodically from the first page to the last page to check whether the values are correct. If the value is corrupted, but the calibration is possible, the calibration value is recorded again immediately. If the calibration is not possible, the corresponding page can be initialized.
이렇게 메모리의 값을 주기적으로 읽어서 확인하는 것을 메모리 스크러빙(scrubbing)이라고 한다. 다목적실용위성2호(KOMPSAT 2)의 경우에는 메모리 스크러빙 태스크(task)를 기본적으로 소프트웨어가 수행하지만, 다목적실용위성3호(KOMPSAT 3)는 하드웨어적으로 스크러빙을 수행하도록 설계되기도 하였다. (대한민국 등록특허 제 0465421호 참조)This periodic reading of the value of the memory is called memory scrubbing. In the case of KOMPSAT 2, the software performs the memory scrubbing task by default, but KOMPSAT 3 is designed to perform scrubbing in hardware. (See Republic of Korea Patent No. 0465421)
위성에서 생성되어 지상으로 내려 보내야 할 데이터의 종류는, 실시간 데이터와 메모리 저장데이터로 크게 구분할 수 있다.The types of data generated by satellites and sent down to the ground can be classified into real-time data and memory data.
일반적인 시스템에서와 달리 대용량 데이터 메모리의 처리를 위해 위성에서는, 중앙처리장치의 데이터 기록, 대용량 메모리 리프레쉬, 메모리 저장 데이터를 하향 링크 모듈로 전송, 메모리의 페이지 초기화, 메모리 스크러빙 등의 태스크(task)를 수행하게 된다.Unlike general systems, satellites perform tasks such as recording data from the central processing unit, refreshing large amounts of memory, transferring memory stored data to downlink modules, initializing pages in memory, and scrubbing memory. Will be performed.
이러한 태스크들은 데이터의 저장과 전송의 목적이외에도 대용량 메모리 데이터의 무결성을 유지하기 위해 필요한 것으로서, 소프트웨어에 의해서 태스크들을 수행시킬 수 있지만 그렇게 할 경우에는 소프트웨어가 매번 각 태스크들의 이벤트를 처리해야 하므로, 그 만큼 소프트웨어의 부하가 늘어나게 되는 문제점이 있다. These tasks are necessary to maintain the integrity of large memory data in addition to the purpose of storing and transferring data, and can be performed by software, but in doing so, the software must process the events of each task every time. There is a problem that the load on the software is increased.
따라서 전술한 문제점을 해결하기 위한 본 발명의 목적은, 본 발명은 대용량의 메모리를 제어하기 위해 위성시스템에 포함된 위성의 대용량메모리 제어수단(모듈)에 있어, 중앙처리장치로부터 지시되는 명령을 설정된 우선순위에 따라 하드웨어적으로 세팅하여 진행함으로써 저장되어 있던 데이터에 대한 처리효율을 높이고 필요한 시기에 정확하게 지상으로 내려 보낼 수 있도록 하는, 위성의 대용량메모리 제어모듈에 대한 기술을 제공하기 위한 것이다.Accordingly, an object of the present invention for solving the above-mentioned problems is that the present invention is directed to a large-capacity memory control means (module) of a satellite included in a satellite system for controlling a large-capacity memory, and sets a command directed from a central processing unit. It is to provide a technology for the satellite large memory control module that improves the processing efficiency of the stored data and sends it to the ground exactly when needed by setting and proceeding in hardware according to the priority.
이와 같은 목적을 달성하기 위한 본 발명의 대용량메모리 제어모듈은, 접근중재단, 멀티플렉서, 에러교정단, 초기설정단, 그리고 태스크유닛단이 그 중심을 이루고 여기에 전원 등을 위한 전원단을 포함하며, 위성시스템을 구성하고 있는 중앙처리장치, 대용량메모리, 버퍼, 하향링크모듈 그리고 디코더 등의 구성부들 간의 연동을 수행하게 된다. Mass memory control module of the present invention for achieving the above object, the access intermediate stage, multiplexer, error correction stage, initial stage, and the task unit stage is the center and includes a power stage for the power source, etc. In addition, interworking is performed between components such as the central processing unit, the mass memory, the buffer, the downlink module, and the decoder constituting the satellite system.
이하, 첨부된 도면을 참조하여 본 발명의 일실시예를 상세하게 설명한다.Hereinafter, with reference to the accompanying drawings will be described in detail an embodiment of the present invention.
도 1은 본 발명의 일실시예에 의해 수행되는 대용량데이타의 처리과정을 설명하기 위한 도면이다.1 is a view for explaining the processing of a large amount of data performed by an embodiment of the present invention.
도시한 바와 같이, 본 발명 일실시예에 의해 수행되는 대용량데이타의 처리에는, 대용량메모리 제어모듈(10)을 중심으로 하여 중앙처리장치(20), 대용량메모리(30), 버퍼(40), 하향링크모듈(50) 그리고 디코더(60)가 서로 연동하여 작동하면서 진행하게 된다. As shown, the
전술한 바와 같이, 위성에서 생성되어 지상으로 내려 보내야할 데이터의 종류에는 실시간 데이터와 메모리 저장 데이터로 크게 구분할 수 있다. As described above, the types of data generated by the satellite and to be sent down to the ground can be classified into real-time data and memory storage data.
실시간 데이터는, 중앙처리장치(20)가 필요에 의해 발생시키는 데이터로서 하향링크모듈(50) 혹은 대용량메모리(30)로의 전송이 가능한 데이터이고, 메모리 저장 데이터는 대용량메모리(30)에 저장이 되어있던 데이터로서 필요에 의해 지상으로 전송이 가능한 데이터이다. 이러한 두 종류의 데이터는, 중앙처리장치(20)의 명령에 의한 본 대용량메모리 제어모듈(10)의 작동에 따라 실시간 혹은 대용량메모 리(30)에 저장된 데이터를 하향링크모듈(50)을 통해서 지상으로 내려 보내거나, 실시간 데이터를 대용량메모리(30)에 저장하게 된다.The real-time data is data generated by the
도 2는 본 발명의 일실시예에 따른 대용량메모리 제어모듈의 구성블록도이다.2 is a block diagram illustrating a mass memory control module according to an embodiment of the present invention.
도시한 바와 같이, 본 실시예의 대용량메모리 제어모듈(10)은 접근중재단(110), 멀티플렉서(120), 에러교정단(130), 초기설정단(140), 태스크유닛단(150)이 중심이 되며, 여기에 전원을 위한 전원단(160)을 구비하고 있다.As shown, the large-capacity
그리고 이 중 태스크유닛단(150)은 리프레쉬유닛(151), PM 유닛(152), PB유닛(153), 초기화유닛(154), 그리고 스크러브유닛(155)을 각각 포함하고 있다.The
먼저 접근중재단(110)은 위성시스템의 중앙처리장치(20)로부터 입력되는 제어에 근거하여 처리하고자 하는 각 태스크들에 대한 입력신호 사이클들 가운데 설정된 우선순위에 따라 상기 대용량메모리(30)로 인가하여야 할 입력신호 사이클을 결정하는 기능을 수행하는 구성부로, 본 대용량메모리 제어모듈(10)의 구성단들 가운데에서도 핵심적 기능을 담당하는 일종의 중재기라고 할 수 있다. First, the approaching
멀티플렉서(120)는 접근중재단(110)의 결정에 따라 상기 대용량메모리(30)에 인가하여야 할 제어신호 및 접근신호를 발생시키는 기능을 수행한다.The
에러교정단(130, EDAC)은 대용량메모리(30)에 발생하는 에러를 교정하기 위한 에러교정코드값을 계산한다. 이러한 에러교정단(130, EDAC)은 대용량메모리(30)에 접근하는 신호싸이클 중에서 초기설정단(140)의 신호싸이클과 리프레쉬 싸이클(Refresh Cycle)을 제외하고는 항상 대용량메모리(30) 접근시에 체크하는 구성부이 다.The error correction unit 130 (EDAC) calculates an error correction code value for correcting an error occurring in the
그리고 초기설정단(140)은 대용량메모리(30)의 레지스터(Register)값을 세팅하여 그 작동구성을 설정하는 구성부이다. 보다 구체적으로는 대용량메모리(30)로 사용되는 메모리, 일례로 SDRAM에 장착된 레지스터값을 설정하게 되며, 이를 통하여 대용량메모리(30)를 어떠한 방식으로 사용할지 그 작동(Configuration)을 구성하는 기능을 수행한다.And the
태스크유닛단(150)은 대용량메모리(30)의 데이터를 처리하기 위해, 처리하고자 하는 각각의 태스크들에 대한 실행주기신호를 발생하도록 세팅하고 저장하며 상기 접근중재단(110)의 지시에 따라 해당되는 태스크를 실행하기 위한 신호사이클을 생성하는 구성부로서, 해당 서비스가 필요한 시점이 되면 접근중재단(110)에 인터럽트를 인가해 준다.The
본 실시예에서는 5가지의 태스크를 수행하는 것을 기준으로 하며, 태스크유닛단(150)은 이를 위해 리프레쉬유닛(151), PM 유닛(152), PB유닛(153), 초기화유닛(154), 스크러브유닛(155)을 각각 구비하고 있음은 전술한 바와 같다.In the present embodiment, the task is performed based on five tasks, and the
먼저 리프레쉬유닛(151, Refresh Unit)은 리프레쉬(refresh)를 주기적으로 수행하기 위해 일정주기의 리프레쉬 사이클을 생성하고, 초기화유닛(154, H/W INITialization Unit)은 메모리의 초기화에 필요한 주기 사이클을 생성하며, 스크러브유닛(155, Scrub Unit)은 메모리 스크러빙(scrubbing)을 위한 주기 사이클을 각각 생성하는 유닛이다.First, the
PM 유닛(152)은 중앙처리장치(20)의 제어에 따라 불규칙적으로 생성해야 할 신호사이클을 발생하는 유닛이며, PB유닛(153, Play Back)은 대용량메모리(30)에 저장되어 있는 데이터를 플레이백(Play Back)시키기 위한 주기 사이클을 생성하는 유닛이다. 따라서 중앙처리장치의 데이터 기록 태스크(T1)와, 메모리 저장데이타의 하향링크모듈 전송 태스크(T3)는 이 PM 유닛(152)와 PB유닛(153, Play Back)이 중심이 되어 수행하게 된다.The
그리고 PM 유닛(156)은 초기의 전원(power)을 공급하기 위한 보조적 성격의 유닛으로, 상기 유닛들과는 다른 고유의 루틴을 가진다.The PM unit 156 is a subsidiary unit for supplying initial power, and has a unique routine different from the units.
이러한 상기 유닛들은 자기 고유의 주기를 기억하고서, 해당 서비스가 필요한 시점이 되면 접근중재단(110)에 인터럽트를 인가해준다.These units memorize their own periods, and when the service is needed, the interrupting
전술한 바와 같이, 본 발명은 위성시스템에 하드웨어적으로 대용량메모리 제어모듈(10)을 구비하여, 종래 소프트웨어적인 처리과정을 통해 이루어졌던 대용량의 데이터 처리를 하드웨어적으로 설정하여 세팅한 프로세스(process)에 따라 처리함으로써 소프트웨어적 처리로 인한 부하문제와 그에 따른 처리지연의 문제를 해결하고자 하는 것이다.As described above, the present invention includes a large-capacity
먼저 본 발명에서 의도하는 소프트웨어적인 처리와 하드웨어적인 처리를 살펴보고자 한다.First, the software processing and hardware processing intended in the present invention will be described.
전술한 바와 같이, 소프트웨어적인 처리는 일정한 처리루틴을 갖거나 혹은 처리프로그램 등에 의해 처리해야 할 태스크들을 처리하게 된다. 물론 이러한 소프트웨적인 처리는 결국 전자회로상에서 아주 작은 수많은 신호 등이 이동함으로써 이루어지지만, 그 중심이 되는 것은 소프트웨어 상에서 먼저 처리되는 중심적인 연 산이라 할 수 있다. 일례로 처리해야 할 다수의 태스크들에 대한 우선순위를 정하는 경우 핵심이 되는 우선순위 결정을 일정한 처리루틴(processing routine)이나 실행 프로그램에 의해 처리하는 것이 소프트웨어적인 처리이다.As described above, the software processing has a certain processing routine or processes tasks to be processed by a processing program or the like. Of course, this software processing is accomplished by the movement of a very small number of signals on the electronic circuit, but the center of the software is the central processing that is processed first in software. For example, when prioritizing a number of tasks to be processed, it is a software process to process the core prioritization by a certain processing routine or an execution program.
그러나 본 발명에서는 이러한 과정을 최초 하드웨어적으로 세팅하고 그 이후부터는 그러한 태스크에 대해서는 다시 소프트웨어적인 처리를 수행하지 않고 회로상에서 하드웨어적으로 처리함으로써, 반복적이거나 주기적인 성격의 소프트웨어 처리로 인해 발생하는 부하의 문제를 해결하고자 하는 것이다.However, in the present invention, this process is initially set in hardware and thereafter, such a task is not hardware-processed on a circuit but hardware-processed on a circuit, thereby reducing the load generated by software processing of repetitive or periodic nature. To solve the problem.
도 3은 본 발명의 일실시예에 따른 위성의 대용량메모리 제어모듈을 중심으로 한 신호이동과 처리과정을 설명하기 위한 도면이다.3 is a view for explaining a signal movement and processing process centering on the large-capacity memory control module of the satellite according to an embodiment of the present invention.
전술한 바와 같이 본 실시예에서는 소프트웨어의 부하를 줄이고자 이러한 여러 태스크들을 대용량메모리 제어모듈(10)이 하드웨어적이면서도 주도적으로 처리하게 되며, 아래에서 상기 태스크들의 수행과정을 자세히 살펴본다.As described above, in order to reduce the load of the software, the mass
먼저 공통적인 진행과정을 살펴보면, 중앙처리장치(20)가 대용량메모리 제어모듈(10)에 명령을 내리고자 할 때는 데이타(Data), 어드레스(Address) 라인을 통해서 지시하면, 디코더(60)는 자신의 상태를 판단하여, 중앙처리장치(20)가 제시해준 조건과 일치할 때, 명령을 디코딩한다. 이때 디코딩된 명령들의 종류에는 중앙처리장치(20)가 데이터를 대용량 메모리에 기록만 할지 혹은 하향링크모듈(50)을 통해서 다운링크 할지를 선택하는 명령, 특정 대용량메모리(30)의 페이지를 초기화시키는 명령, 스크러빙 수행명령 그리고 대용량메모리(30)의 특정 페이지 다운링크명령 등으로 구성되어 있다. Looking at the common process first, when the
첫 번째로 중앙처리장치의 데이터 기록 태스크(T1)는, 중앙처리장치(20)가 실시간 데이터를 지상으로 내려 보내거나 대용량메모리(30)에 기록하려고 할 때 진행하는 작업으로서, 다른 어떤 태스크보다 대용량메모리 제어모듈(10)의 서비스를 먼저 선점할 수 있는 태스크이다. First, the data recording task T1 of the central processing unit is a task that is performed when the
이 태스크의 수행을 위해 디코딩한 결과가 중앙처리장치의 데이터 기록 태스크(T1)임이 판단되면, 디코더(60)는 대용량메모리 제어모듈(10)에 ① RT_ON을 1로하고, 데이타라인(Data Line)을 통해서 데이터를 다운링크 하던지 혹은 ② 대용량메모리(30)의 RT_PAGE에 정의된 주소의 위치에 데이터를 쓴다. 이때 다운링크를 수행할 경우에는 하향링크모듈(50)에 RT_DATA을 통해서 데이터를 그대로 전달하고, RT_EN과 Downlink_ON을 1로 하면 하향링크모듈(50)은 사전에 정의된 주기를 가지는 RT_CLK을 발생시키면서 받은 데이터를 RT_DATA라인을 통해서 송신기로 내려 보낸다. 이때 데이터는 실제로는 버퍼(40)에 잠시 저장이 되었다가 송신기로 내려 보내는데, 이는 다운링크 시에 생길 수 있는 데이터의 분실을 막기 위함이다. If it is determined that the result of decoding for performing this task is the data writing task T1 of the central processing unit, the
두 번째로 대용량 메모리 리프레쉬 태스크(T2)는 대용량메모리(30)가 주기적으로 해 주게 되는 리프레쉬 태스크(T2)이다. Secondly, the mass memory refresh task T2 is a refresh task T2 that is periodically performed by the
이 태스크는 대용량메모리 제어모듈(10)에 최초 전원이 공급되는 시점부터 자동적으로 수행을 하므로, 필요한 시기가 되면 대용량메모리 제어모듈(10)이 자동적으로 대용량메모리(30)의 제어신호용 핀들을 통해서 실행하게 된다. Since the task is automatically performed from the time when the power is first supplied to the mass
세 번째로 메모리 저장 데이터의 하향 링크 모듈 전송 태스크(T3)는, 필요에 의해서 대용량메모리(30) 저장 데이터를 지상으로 내려보낼 때 발생하는 태스크이 다. Third, the downlink module transmission task T3 of the memory stored data is a task that occurs when the
디코더에 의해서 디코딩한 결과가 메모리 저장 데이터를 하향 링크 모듈로 전송(1)이면, PB_ON을 1로 하고, 다운링크할 대용량메모리(30)의 페이지의 시작번호와 끝번호를 PB_START, PB_END를 통해서 지시한다. 한편 대용량메모리(30)에서 올라오는 데이터들은 PB_EN과 Downlink_ON을 1로 하는 신호와 함께 PB_DATA에 실려서 하향링크모듈(50)로 내보내진다. 하향링크모듈(50)은 사전에 정의된 주기를 가지는 PB_CLK를 만들어서 받은 데이터를 PB_DATA 라인을 통해서 송신기로 전송이 된다. 한편 메모리 저장 데이터의 전송 경우에도 실시간 데이터의 전송 경우와 같이 버퍼에 잠시 저장한 후에 지상으로 내려 보내진다. If the result of decoding by the decoder is to transmit the memory stored data to the downlink module (1), PB_ON is set to 1 and the start and end numbers of the pages of the
그리고 네 번째의 메모리의 페이지 초기화 태스크(T4)는 대용량메모리(30)의 구성 단위가 페이지임에 따라, 전원을 인가 후에 최초 사용 혹은 해당 페이지가 불량으로 판명이 될 때, 하나의 페이지를 필요에 의해 초기화를 하는 태스크이다. In the fourth memory page initialization task T4, since the unit of the
중앙처리장치(20)가 필요에 의해 대용량메모리 제어모듈(10)을 통해서 대용량메모리(30)에 기록이 되어있는 DBE(Double Bit Error)와 SBE(Single Bit Error) 카운터 값을 읽어 볼 수 있고, 이때 특정 페이지에 DBE가 발생하였다고 판단이 되면 디코더(60)를 통해서 특정 페이지를 초기화 하라고 할 수 있다. 이 때 초기화 할 페이지는 HW_INIT_PAGE라는 신호에 의해서 명시되며, HW_INIT_ON신호에 1을 씀으로써, 실제 초기화가 대용량메모리 제어모듈(10)에 의해서 수행이 된다.The
마지막으로 메모리 스크러빙 태스크(T5)는 우주 환경 하에서 여러 가지 요인에 의해서 대용량메모리(30)의 데이터가 변질이 될 가능성이 매우 높기 때문에, 이 를 방지하기 위해서 주기적으로 대용량메모리(30)의 데이터를 읽어서 상태를 체크하여 다시 쓰는 태스크이다.Finally, since the memory scrubbing task T5 is highly likely to be corrupted in the
이 태스크는 대용량 메모리 리프레쉬와 같이 대용량메모리 제어모듈(10)에 의해서 자동적으로 수행되지만, 중앙처리장치(20)는 스크러빙 태스크(T5)를 On/Off할 수 있다. 이를 위해서 디코더(60)는 스크러빙을 수행하라는 명령을 인식하면 SCRUB_START, SCRUB_END을 통해서 스크러빙을 수행할 페이지를 지정하고 SCRUB_ON신호에 1을 씀으로서, 대용량메모리 제어모듈(10)이 스크러빙을 수행 하도록 하는 태스크이다.This task is automatically performed by the mass
한편 상기 태스크들은 중앙처리장치의 데이터 기록 태스크(T1)를 제외하고는 규칙적인 주기를 가지고 이벤트를 발생시키도록 되어 있으며, 만약에 서로 다른 태스크가 동시에 발생하면 서로간의 절대적인 우선순위가 있어서 수행하던 태스크가 종료 되면 현존하는 가장 우선순위가 높은 태스크가 수행되도록 한다. 이와 아울러 우선순위 높은 태스크가 종료되면 자동으로 현존하는 태스크 중에서 가장 우선순위가 높은 태스크부터 차례대로 서비스를 받도록 한다.Except for the data recording task T1 of the central processing unit, the tasks are to generate an event at regular intervals. When finished, it ensures that the highest existing task is performed. In addition, when the high priority task is terminated, it automatically receives the service in order from the highest priority task among the existing tasks.
아울러 상기 태스크간의 우선순위는 다음과 같이 정해진다.In addition, the priority between the tasks is determined as follows.
우선 중앙처리장치의 데이터 기록 태스크(T1)는 실시간으로 데이터를 보내는 본연의 목적에 충실하기 위해서 가장 우선순위가 높으며, 대용량메모리(30) 자체가 휘발성 DRAM인 관계로 리프레쉬 태스크(T2)는 그 다음 우선순위로 정하였다. 그 다음으로는 대용량메모리(30)에 저장된 데이터를 지상에서 요구하면 전송하는 저장 데이터의 하향링크모듈 전송 태스크(T3)이다. 그리고 메모리 초기화 태스크(T4))는 대용량메모리(30)의 최초 사용 전에 혹은 우주 방사능에 의한 영향 등으로 데이터 오류가 발생하는 등의 이유로 페이지가 불량으로 판명되는 경우에 초기화를 통해 사용가능성을 확인하기 위한 것으로 그 다음 우선순위로 정하였다. 마지막으로 우주 환경하에서만 발생 가능성이 있는 대용량메모리(30) 데이터의 변질을 우려하여 주기적으로 대용량메모리(30)의 데이터를 읽어서 오류를 체크하고 다시 쓰는 스크러빙 태스크(T5)는 가장 마지막 우선순위가 된다.First, the data writing task T1 of the central processing unit has the highest priority in order to fulfill the original purpose of sending data in real time, and the refresh task T2 is next because the
도 4는 본 실시예의 대용량메모리 제어모듈에서 발생되는 각 태스크 수행을 위한 신호 사이클을 나타낸 도면이다. 4 is a diagram illustrating a signal cycle for performing each task generated in the mass memory control module according to the present embodiment.
도시한 바와 같이 중앙처리장치의 데이터 기록 태스크를 제외하고 나머지 4가지 태스크는 모두 규칙적인 주기를 가지고, 나름대로 일정한 수행 시간을 가질 뿐만 아니라, 태스크간의 우선순위에 의해서 실제로 태스크가 수행되는 것을 알 수 있으며, 이러한 하드웨어적인 처리를 통하여 소프트웨어의 부하를 줄이게 된다.As shown in the figure, except for the data recording task of the central processing unit, all four tasks have a regular cycle, have their own constant execution time, and the tasks are actually performed by the priority of the tasks. This hardware processing reduces the load on the software.
이상에서 설명한 바와 같이 본 발명은, 소프트웨어의 부하를 줄이고 저장되어 있던 데이터를 필요할 때 정확하게 지상으로 내려 보낼 수 있으며, 우주 환경하에서 메모리의 데이터 변질을 방지함으로써 원하는 데이터를 효율적으로 유지 및 관리할 수 있는 효과가 있다.As described above, the present invention can reduce the load on the software and send the stored data to the ground accurately when needed, and can effectively maintain and manage desired data by preventing data corruption of the memory in a space environment. It works.
Claims (3)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020050126791A KR100666162B1 (en) | 2005-12-21 | 2005-12-21 | Control module of mass memory-stored data of satellite |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020050126791A KR100666162B1 (en) | 2005-12-21 | 2005-12-21 | Control module of mass memory-stored data of satellite |
Publications (1)
Publication Number | Publication Date |
---|---|
KR100666162B1 true KR100666162B1 (en) | 2007-01-09 |
Family
ID=37867302
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020050126791A KR100666162B1 (en) | 2005-12-21 | 2005-12-21 | Control module of mass memory-stored data of satellite |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR100666162B1 (en) |
-
2005
- 2005-12-21 KR KR1020050126791A patent/KR100666162B1/en not_active IP Right Cessation
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US4532628A (en) | System for periodically reading all memory locations to detect errors | |
JP6956115B2 (en) | Integral Post Package Repair | |
US5495491A (en) | System using a memory controller controlling an error correction means to detect and correct memory errors when and over a time interval indicated by registers in the memory controller | |
US7773441B2 (en) | Memory malfunction prediction system and method | |
US7913147B2 (en) | Method and apparatus for scrubbing memory | |
US7882314B2 (en) | Efficient scheduling of background scrub commands | |
US20090070647A1 (en) | Scheduling of Background Scrub Commands to Reduce High Workload Memory Request Latency | |
CN103765522B (en) | Arrange specific CRC | |
EP0704801A2 (en) | Memory architecture for solid state disc | |
CN101202106A (en) | Non-volatile semiconductor memory system and corresponding programming method | |
JPS59165300A (en) | Memory fault correcting system | |
JPH0118459B2 (en) | ||
US20060107003A1 (en) | Separate handling of read and write of read-modify-write | |
CN101751981B (en) | Method for protecting the safety of storing data in flash memory storing device | |
US4467454A (en) | High-speed external memory system | |
US8230276B2 (en) | Writing to memory using adaptive write techniques | |
US20160293267A1 (en) | Semiconductor memory device and memory system including the same | |
JP4887824B2 (en) | Memory system | |
KR100666162B1 (en) | Control module of mass memory-stored data of satellite | |
CN101563675A (en) | A new implementation of column redundancy for a flash memory with a high write parallelism | |
US8386739B2 (en) | Writing to memory using shared address buses | |
US20140244900A1 (en) | Non-volatile memory based system ram | |
US20020021598A1 (en) | Nonvolatile memory, system having nonvolatile memories, and data read method of the system | |
EP3553662A1 (en) | Intergral post package repair | |
JP7350488B2 (en) | Peripheral device control system and peripheral device control method |
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: 20120409 Year of fee payment: 6 |
|
LAPS | Lapse due to unpaid annual fee |