KR100666162B1 - Control module of mass memory-stored data of satellite - Google Patents

Control module of mass memory-stored data of satellite Download PDF

Info

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
Application number
KR1020050126791A
Other languages
Korean (ko)
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 KR1020050126791A priority Critical patent/KR100666162B1/en
Application granted granted Critical
Publication of KR100666162B1 publication Critical patent/KR100666162B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error 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/0706Error 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/073Error 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • 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/1668Details 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

A module for controlling a mass memory of a satellite is provided to increase processing efficiency of data stored in the mass memory and correctly download the stored data to the ground in a needed period by advancing a command of a CPU with priority set in hardware. An access arbiter(110) determines an input signal cycle applied to the mass memory(30) among the input signal cycles for multiple tasks to be processed on the basis of the control from the CPU of the satellite by the set priority. A multiplexer(120) generates a control and access signal to be applied to the mass memory according to determination of the access arbiter. An error corrector(130) calculates an ECC(Error Checking and Correction) code value for correcting an error generated in the mass memory. An initializer(140) sets up operation configuration by setting a register value of the mass memory. A task unit(150) sets up, generates, and stores a cycle signal for executing each task by the control of the access arbiter.

Description

위성의 대용량메모리 제어모듈{Control module of mass memory-stored data of satellite}Control module of mass memory-stored data of satellite

도 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 central processing unit 20, the large-capacity memory 30, the buffer 40, downward in the processing of the large-capacity data performed according to an embodiment of the present invention, mainly the large-capacity memory control module 10. The link module 50 and the decoder 60 operate in conjunction with each other to proceed.

전술한 바와 같이, 위성에서 생성되어 지상으로 내려 보내야할 데이터의 종류에는 실시간 데이터와 메모리 저장 데이터로 크게 구분할 수 있다. 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 central processing unit 20 as needed, which can be transmitted to the downlink module 50 or the mass memory 30, and the memory storage data is stored in the mass memory 30. This data is the data that can be transmitted to the ground if necessary. These two types of data are grounded via the downlink module 50 in real time or data stored in the large-capacity memory 30 according to the operation of the large-capacity memory control module 10 by the command of the central processing unit 20. Send down or store real-time data in the mass memory 30.

도 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 memory control module 10 of the present embodiment is centered on the access intermediate stage 110, the multiplexer 120, the error correction stage 130, the initialization stage 140, the task unit stage 150 This is provided with a power supply terminal 160 for the power supply.

그리고 이 중 태스크유닛단(150)은 리프레쉬유닛(151), PM 유닛(152), PB유닛(153), 초기화유닛(154), 그리고 스크러브유닛(155)을 각각 포함하고 있다.The task unit 150 includes a refresh unit 151, a PM unit 152, a PB unit 153, an initialization unit 154, and a scrub unit 155, respectively.

먼저 접근중재단(110)은 위성시스템의 중앙처리장치(20)로부터 입력되는 제어에 근거하여 처리하고자 하는 각 태스크들에 대한 입력신호 사이클들 가운데 설정된 우선순위에 따라 상기 대용량메모리(30)로 인가하여야 할 입력신호 사이클을 결정하는 기능을 수행하는 구성부로, 본 대용량메모리 제어모듈(10)의 구성단들 가운데에서도 핵심적 기능을 담당하는 일종의 중재기라고 할 수 있다. First, the approaching foundation 110 is applied to the mass memory 30 according to the priority set among the input signal cycles for each task to be processed based on the control input from the central processing unit 20 of the satellite system. As a component that performs a function of determining an input signal cycle to be performed, it can be said to be a kind of arbiter that plays a key function among the components of the mass memory control module 10.

멀티플렉서(120)는 접근중재단(110)의 결정에 따라 상기 대용량메모리(30)에 인가하여야 할 제어신호 및 접근신호를 발생시키는 기능을 수행한다.The multiplexer 120 performs a function of generating a control signal and an access signal to be applied to the mass memory 30 according to the determination of the access arbitration 110.

에러교정단(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 mass memory 30. The error correction stage 130 (EDAC) always accesses the mass memory 30 except for the signal cycle and the refresh cycle of the initial stage 140 among the signal cycles that access the mass memory 30. It is the component to check.

그리고 초기설정단(140)은 대용량메모리(30)의 레지스터(Register)값을 세팅하여 그 작동구성을 설정하는 구성부이다. 보다 구체적으로는 대용량메모리(30)로 사용되는 메모리, 일례로 SDRAM에 장착된 레지스터값을 설정하게 되며, 이를 통하여 대용량메모리(30)를 어떠한 방식으로 사용할지 그 작동(Configuration)을 구성하는 기능을 수행한다.And the initial setting stage 140 is a component for setting the operation configuration by setting a register value of the mass memory (30). More specifically, the memory used as the mass memory 30, for example, sets a register value mounted in the SDRAM, and through this, a function of configuring the configuration of how to use the mass memory 30 is provided. Perform.

태스크유닛단(150)은 대용량메모리(30)의 데이터를 처리하기 위해, 처리하고자 하는 각각의 태스크들에 대한 실행주기신호를 발생하도록 세팅하고 저장하며 상기 접근중재단(110)의 지시에 따라 해당되는 태스크를 실행하기 위한 신호사이클을 생성하는 구성부로서, 해당 서비스가 필요한 시점이 되면 접근중재단(110)에 인터럽트를 인가해 준다.The task unit 150 sets and stores an execution cycle signal for each task to be processed in order to process the data of the mass memory 30, and according to the instruction of the access arbitration 110 As a component for generating a signal cycle for executing a task to be performed, when the service is required, the interrupting step is applied to the access arbitration 110.

본 실시예에서는 5가지의 태스크를 수행하는 것을 기준으로 하며, 태스크유닛단(150)은 이를 위해 리프레쉬유닛(151), PM 유닛(152), PB유닛(153), 초기화유닛(154), 스크러브유닛(155)을 각각 구비하고 있음은 전술한 바와 같다.In the present embodiment, the task is performed based on five tasks, and the task unit 150 may perform the refresh unit 151, the PM unit 152, the PB unit 153, the initialization unit 154, and the screen. Each of the love units 155 is as described above.

먼저 리프레쉬유닛(151, Refresh Unit)은 리프레쉬(refresh)를 주기적으로 수행하기 위해 일정주기의 리프레쉬 사이클을 생성하고, 초기화유닛(154, H/W INITialization Unit)은 메모리의 초기화에 필요한 주기 사이클을 생성하며, 스크러브유닛(155, Scrub Unit)은 메모리 스크러빙(scrubbing)을 위한 주기 사이클을 각각 생성하는 유닛이다.First, the refresh unit 151 generates a cycle of refresh cycles to periodically perform a refresh, and the initialization unit 154 generates a cycle cycle required for initialization of the memory. The scrub unit 155 is a unit for generating periodic cycles for memory scrubbing.

PM 유닛(152)은 중앙처리장치(20)의 제어에 따라 불규칙적으로 생성해야 할 신호사이클을 발생하는 유닛이며, PB유닛(153, Play Back)은 대용량메모리(30)에 저장되어 있는 데이터를 플레이백(Play Back)시키기 위한 주기 사이클을 생성하는 유닛이다. 따라서 중앙처리장치의 데이터 기록 태스크(T1)와, 메모리 저장데이타의 하향링크모듈 전송 태스크(T3)는 이 PM 유닛(152)와 PB유닛(153, Play Back)이 중심이 되어 수행하게 된다.The PM unit 152 is a unit that generates signal cycles to be irregularly generated under the control of the central processing unit 20, and the PB unit 153 (Play Back) plays data stored in the mass memory 30. This unit generates a cycle for playing back. Therefore, the data recording task T1 of the central processing unit and the downlink module transmission task T3 of the memory storage data are performed with the PM unit 152 and the PB unit 153 (Play Back) as the center.

그리고 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 unit 110 applies an interrupt.

전술한 바와 같이, 본 발명은 위성시스템에 하드웨어적으로 대용량메모리 제어모듈(10)을 구비하여, 종래 소프트웨어적인 처리과정을 통해 이루어졌던 대용량의 데이터 처리를 하드웨어적으로 설정하여 세팅한 프로세스(process)에 따라 처리함으로써 소프트웨어적 처리로 인한 부하문제와 그에 따른 처리지연의 문제를 해결하고자 하는 것이다.As described above, the present invention includes a large-capacity memory control module 10 in a satellite system, and a process of setting and setting a large amount of data processing in hardware, which has been performed through a conventional software process. In order to solve the load problem caused by software processing and the delay of processing.

먼저 본 발명에서 의도하는 소프트웨어적인 처리와 하드웨어적인 처리를 살펴보고자 한다.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 memory control module 10 processes the various tasks in a hardware and dominant manner, in order to reduce the load of the software.

먼저 공통적인 진행과정을 살펴보면, 중앙처리장치(20)가 대용량메모리 제어모듈(10)에 명령을 내리고자 할 때는 데이타(Data), 어드레스(Address) 라인을 통해서 지시하면, 디코더(60)는 자신의 상태를 판단하여, 중앙처리장치(20)가 제시해준 조건과 일치할 때, 명령을 디코딩한다. 이때 디코딩된 명령들의 종류에는 중앙처리장치(20)가 데이터를 대용량 메모리에 기록만 할지 혹은 하향링크모듈(50)을 통해서 다운링크 할지를 선택하는 명령, 특정 대용량메모리(30)의 페이지를 초기화시키는 명령, 스크러빙 수행명령 그리고 대용량메모리(30)의 특정 페이지 다운링크명령 등으로 구성되어 있다. Looking at the common process first, when the central processing unit 20 to instruct the mass memory control module 10 through the data (Data), Address (Address) line, the decoder 60 itself Determining the state of, and when the condition matches the condition presented by the CPU 20, decode the command. In this case, the decoded commands include a command for selecting whether the central processing unit 20 only writes data to the mass memory or downlinks the data through the downlink module 50, and initializes a page of the specific mass memory 30. , A scrubbing command, and a specific page downlink command of the mass memory 30.

첫 번째로 중앙처리장치의 데이터 기록 태스크(T1)는, 중앙처리장치(20)가 실시간 데이터를 지상으로 내려 보내거나 대용량메모리(30)에 기록하려고 할 때 진행하는 작업으로서, 다른 어떤 태스크보다 대용량메모리 제어모듈(10)의 서비스를 먼저 선점할 수 있는 태스크이다. First, the data recording task T1 of the central processing unit is a task that is performed when the central processing unit 20 sends down real-time data to the ground or attempts to record it in the mass memory 30. This is a task that can preempt the service of the memory control module 10 first.

이 태스크의 수행을 위해 디코딩한 결과가 중앙처리장치의 데이터 기록 태스크(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 decoder 60 sets ① RT_ON to 1 in the mass memory control module 10, and the data line. Downlink the data or write the data in the location of the address defined in RT_PAGE of the mass memory 30. In this case, when performing downlink, data is transmitted to the downlink module 50 through RT_DATA as it is. When RT_EN and Downlink_ON are set to 1, the downlink module 50 receives while generating RT_CLK having a predetermined period. Data is sent down to the transmitter through the RT_DATA line. In this case, the data is actually stored in the buffer 40 for a while and then sent down to the transmitter to prevent the loss of data that may occur in the downlink.

두 번째로 대용량 메모리 리프레쉬 태스크(T2)는 대용량메모리(30)가 주기적으로 해 주게 되는 리프레쉬 태스크(T2)이다. Secondly, the mass memory refresh task T2 is a refresh task T2 that is periodically performed by the mass memory 30.

이 태스크는 대용량메모리 제어모듈(10)에 최초 전원이 공급되는 시점부터 자동적으로 수행을 하므로, 필요한 시기가 되면 대용량메모리 제어모듈(10)이 자동적으로 대용량메모리(30)의 제어신호용 핀들을 통해서 실행하게 된다. Since the task is automatically performed from the time when the power is first supplied to the mass memory control module 10, the mass memory control module 10 automatically executes through the control signal pins of the mass memory 30 when necessary. Done.

세 번째로 메모리 저장 데이터의 하향 링크 모듈 전송 태스크(T3)는, 필요에 의해서 대용량메모리(30) 저장 데이터를 지상으로 내려보낼 때 발생하는 태스크이 다. Third, the downlink module transmission task T3 of the memory stored data is a task that occurs when the mass memory 30 stored data is sent to the ground as needed.

디코더에 의해서 디코딩한 결과가 메모리 저장 데이터를 하향 링크 모듈로 전송(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 mass memory 30 to be downlinked are indicated through PB_START and PB_END. do. On the other hand, the data coming up from the mass memory 30 is loaded on the PB_DATA with the signals PB_EN and Downlink_ON as 1 and exported to the downlink module 50. The downlink module 50 transmits the received data to the transmitter through the PB_DATA line by making the PB_CLK having a predefined period. On the other hand, even in the case of transmission of the memory stored data, it is sent to the ground after being stored in the buffer for a while as in the case of the real-time data transmission.

그리고 네 번째의 메모리의 페이지 초기화 태스크(T4)는 대용량메모리(30)의 구성 단위가 페이지임에 따라, 전원을 인가 후에 최초 사용 혹은 해당 페이지가 불량으로 판명이 될 때, 하나의 페이지를 필요에 의해 초기화를 하는 태스크이다. In the fourth memory page initialization task T4, since the unit of the mass memory 30 is a page, one page is required when the page is first used after the power is applied or when the corresponding page is found to be defective. It is a task to initialize.

중앙처리장치(20)가 필요에 의해 대용량메모리 제어모듈(10)을 통해서 대용량메모리(30)에 기록이 되어있는 DBE(Double Bit Error)와 SBE(Single Bit Error) 카운터 값을 읽어 볼 수 있고, 이때 특정 페이지에 DBE가 발생하였다고 판단이 되면 디코더(60)를 통해서 특정 페이지를 초기화 하라고 할 수 있다. 이 때 초기화 할 페이지는 HW_INIT_PAGE라는 신호에 의해서 명시되며, HW_INIT_ON신호에 1을 씀으로써, 실제 초기화가 대용량메모리 제어모듈(10)에 의해서 수행이 된다.The central processing unit 20 can read the DBE (Double Bit Error) and SBE (Single Bit Error) counter values recorded in the mass memory 30 through the mass memory control module 10 as needed, At this time, if it is determined that DBE has occurred in a specific page, the decoder 60 may request to initialize the specific page. At this time, the page to be initialized is specified by the HW_INIT_PAGE signal, and by writing 1 to the HW_INIT_ON signal, the actual initialization is performed by the mass memory control module 10.

마지막으로 메모리 스크러빙 태스크(T5)는 우주 환경 하에서 여러 가지 요인에 의해서 대용량메모리(30)의 데이터가 변질이 될 가능성이 매우 높기 때문에, 이 를 방지하기 위해서 주기적으로 대용량메모리(30)의 데이터를 읽어서 상태를 체크하여 다시 쓰는 태스크이다.Finally, since the memory scrubbing task T5 is highly likely to be corrupted in the mass memory 30 due to various factors in the space environment, the data of the mass memory 30 is periodically read to prevent this. This task checks the status and rewrites it.

이 태스크는 대용량 메모리 리프레쉬와 같이 대용량메모리 제어모듈(10)에 의해서 자동적으로 수행되지만, 중앙처리장치(20)는 스크러빙 태스크(T5)를 On/Off할 수 있다. 이를 위해서 디코더(60)는 스크러빙을 수행하라는 명령을 인식하면 SCRUB_START, SCRUB_END을 통해서 스크러빙을 수행할 페이지를 지정하고 SCRUB_ON신호에 1을 씀으로서, 대용량메모리 제어모듈(10)이 스크러빙을 수행 하도록 하는 태스크이다.This task is automatically performed by the mass memory control module 10 like the mass memory refresh, but the central processing unit 20 may turn on / off the scrubbing task T5. To this end, if the decoder 60 recognizes a command to perform scrubbing, it designates a page for scrubbing through SCRUB_START and SCRUB_END and writes 1 to the SCRUB_ON signal, thereby causing the mass memory control module 10 to scrub. to be.

한편 상기 태스크들은 중앙처리장치의 데이터 기록 태스크(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 mass memory 30 itself is a volatile DRAM. Priority was set. Next, a downlink module transmission task T3 of the stored data transmitted when the data stored in the mass memory 30 is requested from the ground. In addition, the memory initialization task T4 may check the availability through the initialization when the page is found to be defective due to a data error, such as before the first use of the mass memory 30 or due to the influence of cosmic radiation. The next priority was given. Finally, the scrubbing task (T5), which reads the data of the mass memory 30 and checks the error periodically and rewrites the data, is concerned about the deterioration of the data of the mass memory 30 that may occur only in a space environment. .

도 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)

위성시스템에 포함된 대용량메모리의 제어에 있어서,In controlling the large memory included in the satellite system, 상기 위성시스템의 중앙처리장치로부터의 제어에 근거하여 처리하고자 하는 다수의 태스크에 대한 입력신호사이클들 가운데 설정된 우선순위에 따라 상기 대용량메모리(30)로 인가하여야 할 입력신호사이클을 결정하는 접근중재단(110)과;Based on the control from the central processing unit of the satellite system, the access intermediate foundation for determining the input signal cycle to be applied to the mass memory 30 according to the priority set among the input signal cycles for the plurality of tasks to be processed 110; 상기 접근중재단(110)의 결정에 따라 상기 대용량메모리(30)에 인가하여야 할 제어신호 및 접근신호를 발생시키는 멀티플렉서(120)와; A multiplexer (120) for generating a control signal and an access signal to be applied to the mass memory (30) according to the determination of the access intermediate foundation (110); 상기 대용량메모리(30)에 발생하는 에러를 교정하기 위한 에러교정코드값을 계산하는 에러교정단(130)과;An error correction stage 130 for calculating an error correction code value for correcting an error occurring in the mass memory 30; 상기 대용량메모리(30)의 레지스터값을 세팅하여 그 작동구성을 설정하는 초기설정단(140)과;An initial setting stage (140) for setting an operation configuration by setting a register value of the mass memory (30); 처리하고자 하는 상기 각각의 태스크들에 대한 실행주기신호를 발생하도록 세팅하고 저장하며 상기 접근중재단(110)의 지시에 따라, 해당되는 태스크를 실행하기 위한 신호사이클을 생성하는 태스크유닛단(150)을 포함함으로써, Task unit stage 150 for setting and storing the execution cycle signal for each of the tasks to be processed and generating a signal cycle for executing the corresponding task in accordance with the instructions of the approach intermediate step 110 By including 상기 위성시스템의 중앙처리장치의 제어에 따라 처리과정을 세팅하여 하드웨어적으로 처리하는 것을 특징으로 하는, 위성의 대용량메모리 제어모듈(10).A large-capacity memory control module of a satellite, characterized in that to set the processing process in accordance with the control of the central processing unit of the satellite system to process in hardware. 제1항에 있어서, 상기 다수의 태스크는,The method of claim 1, wherein the plurality of tasks, 상기 중앙처리장치(20)가 실시간 데이터 지상 전송 및 대용량메모리(30)에의 기록시에 진행하게 되는 중앙처리장치의 데이터기록 태스크(T1)와;A data recording task (T1) of the central processing unit, which the central processing unit 20 proceeds at the time of real-time data terrestrial transmission and recording to the mass memory 30; 상기 대용량메모리(30)에서 주기적으로 리프레쉬(refresh)하는 대용량 메모리 리프레쉬 태스크(T2)와;A large memory refresh task T2 that is periodically refreshed in the large memory 30; 상기 대용량메모리(30) 저장 데이터의 지상전송시 발생시키는 메모리 저장데이터의 하향링크모듈 전송 태스크(T3)와;A downlink module transmission task (T3) of memory stored data generated during terrestrial transmission of the stored data of the mass memory 30; 전원을 인가 후 및 상기 대용량메모리(30)의 해당 페이지가 불량으로 판명이 될 시 하나의 페이지를 초기화하는 메모리의 페이지 초기화 태스크와;A page initialization task of memory for initializing one page after applying power and when the corresponding page of the mass memory 30 is found to be defective; 상기 대용량메모리(30)의 데이터 변질을 방지하기 위해 상기 대용량메모리(30)의 데이터를 주기적으로 읽어서 상태를 체크하여 다시 쓰는 메모리 스크러빙 태스크(T5) 중,Of the memory scrubbing task (T5) to periodically read the data of the mass memory 30, check the status and rewrite to prevent data corruption of the mass memory 30, 적어도 하나 이상을 포함하는 것을 특징으로 하는, 위성의 대용량메모리 제어모듈(10).Large capacity memory control module of the satellite, characterized in that it comprises at least one. 제1항에 있어서, 상기 태스크유닛단(150)은,The method of claim 1, wherein the task unit 150, 상기 대용량메모리(30)의 리프레쉬(refresh)를 주기적으로 수행하기 위해 일정주기의 리프레쉬 사이클을 생성하는 리프레쉬유닛(151)과;A refresh unit 151 for generating a refresh cycle of a predetermined period in order to periodically refresh the mass memory 30; 상기 중앙처리장치(20)의 제어에 따라 불규칙적으로 생성해야 할 신호사이클을 발생하는 PM 유닛(152)과;A PM unit 152 for generating signal cycles to be generated irregularly under the control of the central processing unit 20; 상기 대용량메모리(30)에 저장되어 있는 데이터를 플레이백(Play Back)시키기 위한 주기 사이클을 생성하는 PB유닛(153)과;A PB unit 153 for generating a periodic cycle for playing back data stored in the mass memory 30; 상기 대용량메모리(30)의 초기화를 위한 주기 사이클을 생성하는 초기화유닛(154)과;An initialization unit 154 for generating a cycle for initializing the mass memory 30; 상기 대용량메모리(30)의 스크러빙(scrubbing)을 위한 주기사이클을 각각 생성하는 스크러브유닛(155)을 각각 포함하는 것을 특징으로 하는, 위성의 대용량메모리 제어모듈(10).And a scrub unit (155), each generating a cycle cycle for scrubbing of the mass memory (30), respectively.
KR1020050126791A 2005-12-21 2005-12-21 Control module of mass memory-stored data of satellite KR100666162B1 (en)

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)

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