KR102417317B1 - Apparatus and method for booting system - Google Patents

Apparatus and method for booting system Download PDF

Info

Publication number
KR102417317B1
KR102417317B1 KR1020160015138A KR20160015138A KR102417317B1 KR 102417317 B1 KR102417317 B1 KR 102417317B1 KR 1020160015138 A KR1020160015138 A KR 1020160015138A KR 20160015138 A KR20160015138 A KR 20160015138A KR 102417317 B1 KR102417317 B1 KR 102417317B1
Authority
KR
South Korea
Prior art keywords
data
booting
recovery algorithm
recovery
memory
Prior art date
Application number
KR1020160015138A
Other languages
Korean (ko)
Other versions
KR20170093567A (en
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 KR1020160015138A priority Critical patent/KR102417317B1/en
Publication of KR20170093567A publication Critical patent/KR20170093567A/en
Application granted granted Critical
Publication of KR102417317B1 publication Critical patent/KR102417317B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • 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/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1405Saving, restoring, recovering or retrying at machine instruction level
    • G06F11/141Saving, restoring, recovering or retrying at machine instruction level for bus or memory accesses
    • 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/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1448Management of the data involved in backup or backup restore
    • 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/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1458Management of the backup or restore process
    • 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/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1471Saving, restoring, recovering or retrying involving logging of persistent data for recovery

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Software Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • Stored Programmes (AREA)
  • Retry When Errors Occur (AREA)

Abstract

본 발명은 시스템 부팅 장치 및 방법에 관한 것으로서, 메모리의 예비복구 영역(OOB; Out-Of-Band)에 오류가 발생한 경우 네트워크를 통해 시스템을 복구하여 시스템에 대한 부팅을 수행하는 시스템 부팅 장치 및 방법에 관한 것이다.
본 발명의 실시예에 따른 시스템 부팅 장치는 데이터 메모리에 저장된 부팅 데이터 및 상기 부팅 데이터에 대한 복구 알고리즘 데이터를 판독하는 판독부와, 상기 부팅 데이터 및 상기 복구 알고리즘 데이터에 오류가 존재하는지 여부를 판단하는 오류 판단부와, 상기 부팅 데이터 및 상기 복구 알고리즘 데이터에 오류가 존재하는 경우 네트워크를 통하여 수신된 복구 데이터를 이용하여 상기 복구 알고리즘 데이터를 복원하고, 상기 복원된 복구 알고리즘 데이터를 이용하여 상기 부팅 데이터를 복원하는 복원부, 및 상기 복원된 부팅 데이터를 부팅 메모리에 저장하는 저장 관리부를 포함한다.
The present invention relates to a system booting apparatus and method, and the system booting apparatus and method for performing booting of the system by recovering the system through a network when an error occurs in an out-of-band (OOB) of a memory is about
A system booting apparatus according to an embodiment of the present invention includes a reading unit for reading booting data stored in a data memory and recovery algorithm data for the booting data, and determining whether an error exists in the booting data and the recovery algorithm data. an error determination unit, and if there is an error in the booting data and the recovery algorithm data, the recovery algorithm data is restored using the recovery data received through the network, and the booting data is restored using the restored recovery algorithm data It includes a restoration unit for restoring, and a storage management unit for storing the restored booting data in a booting memory.

Description

시스템 부팅 장치 및 방법{Apparatus and method for booting system}Apparatus and method for booting system}

본 발명은 시스템 부팅 장치 및 방법에 관한 것으로서, 더욱 상세하게는 메모리의 예비복구 영역(OOB; Out-Of-Band)에 오류가 발생한 경우 네트워크를 통해 시스템을 복구하여 시스템에 대한 부팅을 수행하는 시스템 부팅 장치 및 방법에 관한 것이다.The present invention relates to an apparatus and method for booting a system, and more particularly, to a system for booting the system by recovering the system through a network when an error occurs in an out-of-band (OOB) of a memory. It relates to a boot device and method.

일반적인 임베디드 시스템은 부팅을 위하여 유니버설 부트 이미지(Universal Boot Image), 커널 이미지(Kernel Image) 및 루트 파일 시스템 이미지(Root File System Image)를 필요로 한다. 이러한 이미지들은 시스템의 내부에 존재하여야 하는데, 예를 들어 임베디드 시스템은 낸드(nand) 메모리에 전술한 이미지들을 저장할 수 있다.A general embedded system requires a universal boot image, a kernel image, and a root file system image for booting. These images must exist inside the system. For example, the embedded system may store the above-mentioned images in a NAND memory.

낸드 메모리는 데이터 영역 및 예비복구 영역(OOB; Out-Of-Band)을 포함한다. 데이터 영역은 전술한 이미지가 저장되는 영역이고, 예비복구 영역은 데이터 영역에 포함된 이미지를 복구하는 알고리즘 데이터가 저장된 영역이다. 따라서, 데이터 영역에 저장된 이미지가 손상된 경우 이미지 복구 알고리즘 데이터가 이용되어 이미지의 복구가 수행될 수 있다.A NAND memory includes a data area and an out-of-band (OOB) area. The data area is an area in which the aforementioned image is stored, and the preliminary recovery area is an area in which algorithm data for restoring an image included in the data area is stored. Accordingly, when the image stored in the data area is damaged, the image recovery algorithm data may be used to restore the image.

한편, 예비복구 영역에 오류가 발생한 경우 정상적인 부팅이 수행되지 못할 수 있다. 예를 들어, 이미지 복구 알고리즘 데이터가 손상된 경우 이미지 복구가 수행되지 못하고, 결과적으로 정상적인 부팅이 수행되지 못할 수 있는 것이다.On the other hand, if an error occurs in the preliminary recovery area, normal booting may not be performed. For example, if the image recovery algorithm data is damaged, image recovery may not be performed, and as a result, normal booting may not be performed.

따라서, 예비복구 영역에 오류가 발생한 경우에도 정상적인 부팅이 수행될 수 있도록 하는 발명의 등장이 요구된다.Accordingly, there is a need for an invention that enables normal booting to be performed even when an error occurs in the preliminary recovery area.

일본 공개특허공보 특개2012-174061호 (2012.09.10)Japanese Patent Laid-Open No. 2012-174061 (2012.09.10)

본 발명이 해결하고자 하는 과제는 메모리의 예비복구 영역에 오류가 발생한 경우 네트워크를 통해 시스템을 복구하여 시스템에 대한 부팅을 수행하는 것이다.The problem to be solved by the present invention is to restore the system through a network and boot the system when an error occurs in the preliminary recovery area of the memory.

본 발명의 과제들은 이상에서 언급한 과제로 제한되지 않으며, 언급되지 않은 또 다른 목적들은 아래의 기재로부터 당업자에게 명확하게 이해될 수 있을 것이다.The tasks of the present invention are not limited to the tasks mentioned above, and other objects not mentioned will be clearly understood by those skilled in the art from the following description.

상기 과제를 달성하기 위하여, 본 발명의 실시예에 따른 시스템 부팅 장치는 데이터 메모리에 저장된 부팅 데이터 및 상기 부팅 데이터에 대한 복구 알고리즘 데이터를 판독하는 판독부와, 상기 부팅 데이터 및 상기 복구 알고리즘 데이터에 오류가 존재하는지 여부를 판단하는 오류 판단부와, 상기 부팅 데이터 및 상기 복구 알고리즘 데이터에 오류가 존재하는 경우 네트워크를 통하여 수신된 복구 데이터를 이용하여 상기 복구 알고리즘 데이터를 복원하고, 상기 복원된 복구 알고리즘 데이터를 이용하여 상기 부팅 데이터를 복원하는 복원부, 및 상기 복원된 부팅 데이터를 부팅 메모리에 저장하는 저장 관리부를 포함한다.In order to achieve the above object, a system booting device according to an embodiment of the present invention includes a reading unit for reading booting data stored in a data memory and recovery algorithm data for the booting data, and errors in the booting data and the recovery algorithm data an error determining unit for determining whether or not there is an error, and if there is an error in the booting data and the recovery algorithm data, the recovery algorithm data is restored using the recovery data received through the network, and the restored recovery algorithm data and a restoration unit that restores the booting data using

상기 과제를 달성하기 위하여, 본 발명의 실시예에 따른 시스템 부팅 방법은 데이터 메모리에 저장된 부팅 데이터 및 상기 부팅 데이터에 대한 복구 알고리즘 데이터를 판독하는 단계와, 상기 부팅 데이터 및 상기 복구 알고리즘 데이터에 오류가 존재하는지 여부를 판단하는 단계와, 상기 부팅 데이터 및 상기 복구 알고리즘 데이터에 오류가 존재하는 경우 네트워크를 통하여 수신된 복구 데이터를 이용하여 상기 복구 알고리즘 데이터를 복원하는 단계와, 상기 복원된 복구 알고리즘 데이터를 이용하여 상기 부팅 데이터를 복원하는 단계, 및 상기 복원된 부팅 데이터를 부팅 메모리에 저장하는 단계를 포함한다.In order to achieve the above object, a system booting method according to an embodiment of the present invention includes the steps of reading booting data stored in a data memory and recovery algorithm data for the booting data, and errors in the booting data and the recovery algorithm data Determining whether or not there is an error in the booting data and the recovery algorithm data, restoring the recovery algorithm data using the recovery data received through a network, and the restored recovery algorithm data and restoring the booting data using the method, and storing the restored booting data in a booting memory.

기타 실시예들의 구체적인 사항들은 상세한 설명 및 도면들에 포함되어 있다.The details of other embodiments are included in the detailed description and drawings.

상기한 바와 같은 본 발명의 시스템 부팅 장치 및 방법에 따르면 메모리의 예비복구 영역에 오류가 발생한 경우 네트워크를 통해 시스템을 복구함으로써 임베디드 시스템이 정상적인 부팅이 수행될 수 있도록 하는 장점이 있다.According to the system booting apparatus and method of the present invention as described above, when an error occurs in the preliminary recovery area of the memory, there is an advantage in that the embedded system can be normally booted by restoring the system through the network.

도 1은 본 발명의 실시예에 따른 데이터 복원 시스템을 나타낸 도면이다.
도 2는 본 발명의 실시예에 따른 임베디드 시스템 장치를 나타낸 도면이다.
도 3은 본 발명의 실시예에 따른 시스템 부팅 장치를 나타낸 블록도이다.
도 4는 도 3에 도시된 부팅 관리부의 세부 구성을 나타낸 도면이다.
도 5는 본 발명의 실시예에 따른 데이터 메모리를 나타낸 도면이다.
도 6은 본 발명의 실시예에 따른 시스템 부팅 방법을 나타낸 흐름도이다.
1 is a diagram illustrating a data restoration system according to an embodiment of the present invention.
2 is a diagram illustrating an embedded system device according to an embodiment of the present invention.
3 is a block diagram illustrating a system booting apparatus according to an embodiment of the present invention.
FIG. 4 is a diagram illustrating a detailed configuration of the booting management unit shown in FIG. 3 .
5 is a diagram illustrating a data memory according to an embodiment of the present invention.
6 is a flowchart illustrating a system booting method according to an embodiment of the present invention.

이하, 첨부된 도면을 참조하여 본 발명의 바람직한 실시예를 상세히 설명한다. 본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시 예들을 참조하면 명확해질 것이다. 그러나 본 발명은 이하에서 게시되는 실시 예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 본 실시 예들은 본 발명의 게시가 완전하도록 하고, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다. 명세서 전체에 걸쳐 동일 참조 부호는 동일 구성 요소를 지칭한다.Hereinafter, preferred embodiments of the present invention will be described in detail with reference to the accompanying drawings. Advantages and features of the present invention, and a method for achieving them will become apparent with reference to the embodiments described below in detail in conjunction with the accompanying drawings. However, the present invention is not limited to the embodiments published below, but may be implemented in various different forms, and only these embodiments allow the publication of the present invention to be complete, and common knowledge in the technical field to which the present invention pertains It is provided to fully inform the possessor of the scope of the invention, and the present invention is only defined by the scope of the claims. Like reference numerals refer to like elements throughout.

다른 정의가 없다면, 본 명세서에서 사용되는 모든 용어(기술 및 과학적 용어를 포함)는 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 공통적으로 이해될 수 있는 의미로 사용될 수 있을 것이다. 또 일반적으로 사용되는 사전에 정의되어 있는 용어들은 명백하게 특별히 정의되어 있지 않는 한 이상적으로 또는 과도하게 해석되지 않는다.Unless otherwise defined, all terms (including technical and scientific terms) used herein may be used with the meaning commonly understood by those of ordinary skill in the art to which the present invention belongs. In addition, terms defined in a commonly used dictionary are not to be interpreted ideally or excessively unless clearly defined in particular.

도 1은 본 발명의 실시예에 따른 데이터 복원 시스템을 나타낸 도면이다.1 is a diagram illustrating a data restoration system according to an embodiment of the present invention.

도 1을 참조하면, 데이터 복원 시스템(10)은 관리 서버(100) 및 임베디드 시스템 장치(200)를 포함하여 구성된다.Referring to FIG. 1 , the data restoration system 10 includes a management server 100 and an embedded system device 200 .

본 발명에서 임베디드 시스템 장치(200)는 부팅을 수행한 이후에 고유한 동작을 수행하는 장치를 포함한다. 예를 들어, 디지털 카메라, NVR(Network Video Recorder) 또는 DVR(Digital Video Recorder) 등이 임베디드 시스템 장치(200)에 포함될 수 있다. 그러나, 본 발명의 임베디드 시스템 장치(200)가 이에 한정되는 것은 아니며, 부팅을 수행하는 다양한 장치가 본 발명의 임베디드 시스템 장치(200)에 포함될 수 있다.In the present invention, the embedded system device 200 includes a device that performs a unique operation after booting. For example, a digital camera, a network video recorder (NVR), or a digital video recorder (DVR) may be included in the embedded system device 200 . However, the embedded system device 200 of the present invention is not limited thereto, and various devices for performing booting may be included in the embedded system device 200 of the present invention.

임베디드 시스템 장치(200)는 부팅 이미지를 저장할 수 있다. 그리하여, 부팅 이미지에 포함된 부팅 데이터를 메모리에 저장함으로써 부팅을 수행할 수 있다.The embedded system device 200 may store a boot image. Thus, booting can be performed by storing the booting data included in the booting image in the memory.

한편, 저장된 부팅 이미지에 오류가 포함될 수 있다. 예를 들어, 부팅 이미지는 복수의 부팅 데이터를 포함할 수 있는데, 복수의 부팅 데이터 중 일부가 손상될 수 있는 것이다. 손상된 부팅 데이터를 복원하기 위하여 임베디드 시스템 장치(200)는 복구 알고리즘 데이터를 보유할 수 있다.On the other hand, an error may be included in the stored boot image. For example, the boot image may include a plurality of boot data, and some of the plurality of boot data may be damaged. In order to restore damaged boot data, the embedded system device 200 may retain recovery algorithm data.

복구 알고리즘 데이터는 부팅 데이터를 복원하는데 필요한 알고리즘을 포함할 수 있다. 이에, 부팅 데이터가 손상된 경우 임베디드 시스템 장치(200)는 복구 알고리즘 데이터를 이용하여 손상된 부팅 데이터를 복원하고, 복원된 부팅 데이터를 메모리에 저장함으로써 부팅을 수행할 수 있다.The recovery algorithm data may include algorithms necessary to restore boot data. Accordingly, when the booting data is damaged, the embedded system device 200 may perform booting by restoring the damaged booting data using the recovery algorithm data and storing the restored booting data in a memory.

한편, 복구 알고리즘 데이터에 오류가 포함될 수도 있다. 부팅 데이터와 함께 복구 알고리즘 데이터가 손상된 경우 정상적인 부팅이 수행되지 못할 수 있다. 이러한 경우 본 발명의 실시예에 따른 임베디드 시스템 장치(200)는 관리 서버(100)로부터 복구 데이터를 수신하고, 수신된 복구 데이터를 이용하여 복구 알고리즘 데이터를 복원할 수 있다. 그리고, 임베디드 시스템 장치(200)는 복원된 복구 알고리즘 데이터를 이용하여 부팅 데이터를 복원한 이후에 부팅을 지속할 수 있다.On the other hand, an error may be included in the recovery algorithm data. If the recovery algorithm data along with the boot data is corrupted, normal booting may not be performed. In this case, the embedded system device 200 according to an embodiment of the present invention may receive recovery data from the management server 100 and restore recovery algorithm data using the received recovery data. In addition, the embedded system device 200 may continue booting after restoring booting data using the restored recovery algorithm data.

복구 알고리즘 데이터에 오류가 포함된 것이 발견된 경우 임베디드 시스템 장치(200)는 데이터 요청 메시지를 관리 서버(100)에게 송신할 수 있다. 그리고, 관리 서버(100)는 데이터 요청 메시지의 수신에 대한 응답으로 복구 데이터를 송신할 수 있다.When it is found that the recovery algorithm data contains an error, the embedded system device 200 may transmit a data request message to the management server 100 . And, the management server 100 may transmit recovery data in response to the reception of the data request message.

본 발명의 실시예에 따른 데이터 복원 시스템(10)은 복수의 임베디드 시스템 장치(200)를 포함할 수 있다. 이 때, 각 임베디드 시스템 장치(200)에서 사용되는 복구 알고리즘 데이터는 서로 상이할 수 있다. 이에, 관리 서버(100)는 각 임베디드 시스템 장치(200)별 복구 데이터를 구비할 수 있다. 그리하여, 특정 임베디드 시스템 장치(200)의 복구 알고리즘 데이터가 손상된 경우 관리 서버(100)는 대응하는 복구 데이터를 추출하여 송신할 수 있다. 예를 들어, 데이터 요청 메시지에는 임베디드 시스템 장치(200)의 식별 정보 또는 복구 알고리즘 데이터의 식별 정보가 포함될 수 있다. 관리 서버(100)는 데이터 요청 메시지에 포함된 임베디드 시스템 장치(200)의 식별 정보 또는 복구 알고리즘 데이터의 식별 정보를 참조하여 대응하는 복구 데이터를 추출하여 송신할 수 있는 것이다.The data restoration system 10 according to an embodiment of the present invention may include a plurality of embedded system devices 200 . In this case, the recovery algorithm data used in each embedded system device 200 may be different from each other. Accordingly, the management server 100 may have recovery data for each embedded system device 200 . Thus, when the recovery algorithm data of the specific embedded system device 200 is damaged, the management server 100 may extract and transmit the corresponding recovery data. For example, the data request message may include identification information of the embedded system device 200 or identification information of recovery algorithm data. The management server 100 may extract and transmit the corresponding recovery data with reference to the identification information of the embedded system device 200 or the identification information of the recovery algorithm data included in the data request message.

도 2는 본 발명의 실시예에 따른 임베디드 시스템 장치를 나타낸 도면이다.2 is a diagram illustrating an embedded system device according to an embodiment of the present invention.

도 2를 참조하면, 임베디드 시스템 장치(200)는 시스템 부팅 장치(210), 데이터 메모리(220), 부팅 메모리(230) 및 동작 제어부(240)를 포함하여 구성될 수 있다.Referring to FIG. 2 , the embedded system device 200 may include a system boot device 210 , a data memory 220 , a boot memory 230 , and an operation controller 240 .

시스템 부팅 장치(210)는 임베디드 시스템 장치(200)의 시스템을 부팅하는 역할을 수행한다. 전술한 바와 같이, 임베디드 시스템 장치(200)는 고유한 동작을 수행하기 위하여 부팅을 수반할 수 있다. 부팅은 임베디드 시스템 장치(200)에 의한 고유한 동작이 수행되도록 하는데 필요한 데이터 즉, 부팅 데이터를 부팅 메모리(230)에 저장하는 과정을 포함할 수 있다. 본 발명에서 부팅 메모리(230)는 DDR RAM(Double Data Rate RAM)과 같은 휘발성 메모리일 수 있다.The system booting device 210 serves to boot the system of the embedded system device 200 . As described above, the embedded system device 200 may involve booting in order to perform a unique operation. Booting may include a process of storing data necessary to perform a unique operation by the embedded system device 200 , ie, booting data, in the booting memory 230 . In the present invention, the boot memory 230 may be a volatile memory such as a double data rate RAM (DDR RAM).

데이터 메모리(220)는 부팅 데이터를 저장할 수 있다. 시스템 부팅 장치(210)는 데이터 메모리(220)에 저장된 부팅 데이터를 추출하여 부팅 메모리(230)에 저장하는 것으로 부팅을 수행할 수 있다. 데이터 메모리(220)는 복수의 부팅 데이터를 포함할 수 있다. 복수의 부팅 데이터는 이미지의 형태로 데이터 메모리(220)에 저장될 수 있다. 이하, 복수의 부팅 데이터가 포함된 이미지를 부팅 이미지라 한다. 시스템 부팅 장치(210)는 부팅 이미지에서 복수의 부팅 데이터를 추출하여 부팅 메모리(230)에 저장할 수 있다.The data memory 220 may store booting data. The system booting device 210 may perform booting by extracting the booting data stored in the data memory 220 and storing the extracted booting data in the booting memory 230 . The data memory 220 may include a plurality of booting data. A plurality of booting data may be stored in the data memory 220 in the form of an image. Hereinafter, an image including a plurality of booting data is referred to as a booting image. The system booting device 210 may extract a plurality of booting data from the booting image and store it in the booting memory 230 .

본 발명의 데이터 메모리(220)는 플래시 메모리(Flash Memory)와 같은 비휘발성 메모리일 수 있다. 즉, 데이터 메모리(220)로의 전원 공급이 중단되더라도 데이터 메모리(220)에 저장된 데이터는 유실되지 않고 그대로 유지될 수 있는 것이다. 데이터 메모리(220)는 낸드 플래시 메모리(Nand Flash Memory)일 수 있으며, 노아 플래시 메모리(Nor Flash Memory)일 수도 있다.The data memory 220 of the present invention may be a non-volatile memory such as a flash memory. That is, even if power supply to the data memory 220 is interrupted, the data stored in the data memory 220 may be maintained without being lost. The data memory 220 may be a NAND flash memory or a Nor Flash memory.

한편, 데이터 메모리(220)에 저장된 부팅 데이터가 손상될 수 있다. 예를 들어, 데이터 메모리(220)를 구성하는 셀(cell) 중 일부의 비트(bit)가 외부 요인에 의하여 변경될 수 있는 것이다. 이러한 경우 올바른 부팅 데이터가 부팅 메모리(230)에 저장되지 않음으로 인하여 임베디드 시스템 장치(200)가 정상적인 동작을 수행하지 못할 수 있다. 이를 방지하기 위하여, 시스템 부팅 장치(210)는 부팅 데이터의 손상 여부를 판단하고, 올바른 부팅 데이터가 부팅 메모리(230)에 저장되도록 할 수 있다. 즉, 부팅 데이터가 손상된 경우 시스템 부팅 장치(210)는 복구 알고리즘 데이터를 이용하여 부팅 데이터를 복원하고, 복원된 부팅 데이터를 부팅 메모리(230)에 저장하는 것이다. 여기서, 복구 알고리즘 데이터는 데이터 메모리(220)에 저장된 것일 수 있다.Meanwhile, boot data stored in the data memory 220 may be damaged. For example, some bits of cells constituting the data memory 220 may be changed by external factors. In this case, the embedded system device 200 may not perform a normal operation because correct boot data is not stored in the boot memory 230 . To prevent this, the system booting device 210 may determine whether the booting data is corrupted, and store the correct booting data in the booting memory 230 . That is, when the booting data is damaged, the system booting device 210 restores the booting data by using the recovery algorithm data, and stores the restored booting data in the booting memory 230 . Here, the recovery algorithm data may be stored in the data memory 220 .

전술한 바와 같이, 복수의 부팅 데이터가 부팅 이미지에 포함될 수 있다. 이에, 복수의 부팅 데이터에 대응하는 복수의 복구 알고리즘 데이터가 데이터 메모리(220)에 저장될 수 있다. 특정 부팅 데이터가 손상된 경우 시스템 부팅 장치(210)는 대응하는 복구 알고리즘 데이터를 이용하여 부팅 데이터를 복원할 수 있다.As described above, a plurality of boot data may be included in the boot image. Accordingly, a plurality of recovery algorithm data corresponding to the plurality of booting data may be stored in the data memory 220 . When specific booting data is damaged, the system booting device 210 may restore the booting data by using the corresponding recovery algorithm data.

한편, 데이터 메모리(220)에 저장된 복구 알고리즘 데이터가 손상될 수도 있다. 즉, 데이터 메모리(220)의 영역 중 복구 알고리즘 데이터를 저장하고 있는 영역에 포함된 셀(cell)의 비트(bit) 중 적어도 일부가 외부 요인에 의하여 변경될 수 있는 것이다. 이러한 경우 복구 알고리즘 데이터를 이용한 부팅 데이터의 복원이 정상적으로 수행되지 못할 수 있다.Meanwhile, the recovery algorithm data stored in the data memory 220 may be damaged. That is, at least some of the bits of the cell included in the area storing the recovery algorithm data among the area of the data memory 220 may be changed by an external factor. In this case, restoration of boot data using the recovery algorithm data may not be normally performed.

복구 알고리즘 데이터가 손상된 경우 시스템 부팅 장치(210)는 관리 서버(100)로부터 수신된 복구 데이터를 이용하여 복구 알고리즘 데이터를 복원할 수 있다. 예를 들어, 시스템 부팅 장치(210)는 손상된 복구 알고리즘 데이터를 복구 데이터에 포함된 복구 알고리즘 데이터로 교체함으로써 복구 알고리즘 데이터의 복원을 수행할 수 있다.When the recovery algorithm data is damaged, the system booting device 210 may restore the recovery algorithm data using the recovery data received from the management server 100 . For example, the system booting device 210 may restore the recovery algorithm data by replacing the damaged recovery algorithm data with the recovery algorithm data included in the recovery data.

복구 알고리즘 데이터의 복원이 완료되면 시스템 부팅 장치(210)는 복구 알고리즘 데이터를 이용하여 손상된 부팅 데이터를 복원할 수 있다. 그리고, 시스템 부팅 장치(210)는 복원된 부팅 데이터를 부팅 메모리(230)에 저장함으로써 부팅 작업을 지속할 수 있다.When the restoration of the recovery algorithm data is completed, the system booting device 210 may restore the damaged booting data using the recovery algorithm data. In addition, the system booting device 210 may continue the booting operation by storing the restored booting data in the booting memory 230 .

시스템 부팅 장치(210)에 대한 자세한 설명은 도 3 및 도 4를 통하여 후술하기로 한다.A detailed description of the system booting device 210 will be described later with reference to FIGS. 3 and 4 .

동작 제어부(240)는 부팅 메모리(230)에 저장된 부팅 데이터를 이용하여 임베디드 시스템 장치(200)의 고유한 동작을 제어하는 역할을 수행한다. 예를 들어, 임베디드 시스템 장치(200)가 NVR인 경우 동작 제어부(240)는 네트워크를 통한 통신, 비디오 데이터 수신 및 비디오 데이터 저장 등의 동작을 제어할 수 있다.The operation control unit 240 serves to control a unique operation of the embedded system device 200 using the booting data stored in the booting memory 230 . For example, when the embedded system device 200 is an NVR, the operation controller 240 may control operations such as communication through a network, video data reception, and video data storage.

도 3은 본 발명의 실시예에 따른 시스템 부팅 장치를 나타낸 블록도이고, 도 4는 도 3에 도시된 부팅 관리부의 세부 구성을 나타낸 도면이다.3 is a block diagram illustrating a system booting apparatus according to an embodiment of the present invention, and FIG. 4 is a diagram illustrating a detailed configuration of the booting management unit shown in FIG. 3 .

도 3을 참조하면, 시스템 부팅 장치(210)는 메모리 인터페이스부(310), 부팅 관리부(320), 제어부(330) 및 통신부(340)를 포함하여 구성된다.Referring to FIG. 3 , the system booting device 210 includes a memory interface unit 310 , a booting management unit 320 , a control unit 330 , and a communication unit 340 .

메모리 인터페이스부(310)는 메모리와의 데이터 통신을 수행한다. 즉, 메모리 인터페이스부(310)는 데이터 메모리(220) 및 부팅 메모리(230)에 접속하여 데이터 수신 및 데이터 송신을 수행할 수 있는 것이다.The memory interface unit 310 performs data communication with the memory. That is, the memory interface unit 310 may perform data reception and data transmission by accessing the data memory 220 and the booting memory 230 .

부팅 관리부(320)는 임베디드 시스템 장치(200)의 부팅을 수행할 수 있다. 부팅 관리부(320)는 데이터 메모리(220)에 저장된 부팅 데이터를 부팅 메모리(230)에 저장하여 부팅을 수행할 수 있다.The boot management unit 320 may boot the embedded system device 200 . The booting manager 320 may perform booting by storing the booting data stored in the data memory 220 in the booting memory 230 .

도 4를 참조하면, 부팅 관리부(320)는 판독부(321), 오류 판단부(322), 저장 관리부(323) 및 복원부(324)를 포함하여 구성될 수 있다.Referring to FIG. 4 , the boot management unit 320 may include a reading unit 321 , an error determining unit 322 , a storage management unit 323 , and a restoration unit 324 .

판독부(321)는 데이터 메모리(220)에 저장된 부팅 데이터 및 복구 알고리즘 데이터를 판독하는 역할을 수행한다. 판독부(321)는 메모리 인터페이스를 통하여 데이터 메모리(220)에 접근하고, 데이터 메모리(220)에 저장된 부팅 데이터 및 복구 알고리즘 데이터를 판독할 수 있다. 데이터 메모리(220)는 부팅 데이터를 저장하는 영역 및 복구 알고리즘 데이터를 저장하는 영역이 별도로 구비될 수 있다. 또한, 데이터 메모리(220)는 복수의 부팅 데이터 및 복수의 복구 알고리즘 데이터를 구비할 수 있으며, 각 부팅 데이터에 대한 복구 알고리즘 데이터가 별도로 구비될 수 있다. 판독부(321)는 특정 부팅 데이터 및 해당 부팅 데이터에 대한 복구 알고리즘 데이터를 일괄적으로 판독할 수 있다.The reading unit 321 reads booting data and recovery algorithm data stored in the data memory 220 . The reading unit 321 may access the data memory 220 through the memory interface and read boot data and recovery algorithm data stored in the data memory 220 . The data memory 220 may separately include an area for storing booting data and an area for storing recovery algorithm data. In addition, the data memory 220 may include a plurality of booting data and a plurality of recovery algorithm data, and recovery algorithm data for each booting data may be separately provided. The reading unit 321 may collectively read specific boot data and recovery algorithm data for the boot data.

오류 판단부(322)는 판독부(321)에 의하여 판독된 부팅 데이터 및 복구 알고리즘 데이터에 오류가 존재하는지 여부를 판단하는 역할을 수행한다. 오류 판단부(322)는 데이터 메모리(220)의 영역 중 부팅 데이터를 저장하고 있는 영역에 포함된 셀(cell)의 비트(bit)가 변경되었는지 여부를 참조하여 부팅 데이터에 오류가 존재하는지 여부를 판단할 수 있다. 이와 마찬가지로, 오류 판단부(322)는 데이터 메모리(220)의 영역 중 복구 알고리즘 데이터를 저장하고 있는 영역에 포함된 셀(cell)의 비트(bit)가 변경되었는지 여부를 참조하여 복구 알고리즘 데이터에 오류가 존재하는지 여부를 판단할 수 있다.The error determining unit 322 serves to determine whether an error exists in the boot data and the recovery algorithm data read by the reading unit 321 . The error determining unit 322 determines whether an error exists in the booting data by referring to whether a bit of a cell included in an area storing booting data among the data memory 220 is changed. can judge Similarly, the error determining unit 322 may cause an error in the recovery algorithm data by referring to whether or not bits of a cell included in an area storing the recovery algorithm data among the areas of the data memory 220 have been changed. It can be determined whether or not

그리하여, 부팅 데이터 및 복구 알고리즘 데이터 중 적어도 하나에 오류가 존재하는 경우 오류 판단부(322)는 예외(exception)가 발생되도록 할 수 있다.Thus, when an error exists in at least one of the booting data and the recovery algorithm data, the error determining unit 322 may cause an exception to be generated.

오류 판단부(322)의 판단 결과에 따라 부팅 데이터에 오류가 존재하지 않는 것으로 판단되는 경우 저장 관리부(323)는 부팅 데이터를 부팅 메모리(230)에 저장할 수 있다. 복구 알고리즘 데이터에 오류가 존재하더라도 부팅 데이터에 오류가 존재하지 않는 경우 저장 관리부(323)는 부팅 데이터를 부팅 메모리(230)에 저장할 수 있다.When it is determined that there is no error in the booting data according to the determination result of the error determining unit 322 , the storage management unit 323 may store the booting data in the booting memory 230 . Even if there is an error in the recovery algorithm data, if there is no error in the booting data, the storage management unit 323 may store the booting data in the booting memory 230 .

오류 판단부(322)의 판단 결과에 따라 부팅 데이터에 오류가 존재하는 것으로 판단되는 경우 복원부(324)는 복구 알고리즘 데이터를 이용하여 부팅 데이터를 복원할 수 있다. 한편, 부팅 데이터 및 복구 알고리즘 데이터 모두에 오류가 존재하는 경우 복원부(324)는 네트워크를 통하여 수신된 복구 데이터를 이용하여 복구 알고리즘 데이터를 복원하고, 복원된 복구 알고리즘 데이터를 이용하여 부팅 데이터를 복원할 수 있다.When it is determined that there is an error in the booting data according to the determination result of the error determining unit 322 , the restoring unit 324 may restore the booting data by using the recovery algorithm data. On the other hand, if an error exists in both the booting data and the recovery algorithm data, the recovery unit 324 restores the recovery algorithm data using the recovery data received through the network, and restores the booting data using the restored recovery algorithm data. can do.

부팅 데이터의 복원이 완료되면 저장 관리부(323)는 복원된 부팅 데이터를 부팅 메모리(230)에 저장할 수 있다.When the restoration of the booting data is completed, the storage management unit 323 may store the restored booting data in the booting memory 230 .

본 발명에서 부팅 데이터는 이미지의 형태로 데이터 메모리(220)에 저장될 수 있다. 즉, 데이터 메모리(220)는 전술한 부팅 이미지를 저장하는 것이다. 데이터 메모리(220)에 저장되는 부팅 이미지는 유니버설 부트 이미지(Universal Boot Image), 커널 이미지(Kernel Image) 및 루트 파일 시스템 이미지(Root File System Image)를 포함할 수 있다.In the present invention, booting data may be stored in the data memory 220 in the form of an image. That is, the data memory 220 stores the above-described booting image. The boot image stored in the data memory 220 may include a universal boot image, a kernel image, and a root file system image.

부팅이 개시되면 유니버설 부트 이미지가 파싱되어 유니버설 부트 이미지에 포함된 부팅 데이터(이하, 유니버설 부트 데이터라 한다)가 판독된다. 그리고, 판독부(321)는 유니버설 부트 데이터를 이용하여 데이터 메모리(220)에 저장된 커널 이미지를 파싱하여 커널 이미지에 포함된 부팅 데이터(이하, 커널 데이터라 한다)를 판독한다. 저장 관리부(323)는 유니버설 부트 데이터를 이용하여 커널 데이터를 부팅 데이터에 저장한다.When booting is started, the universal boot image is parsed, and boot data (hereinafter referred to as universal boot data) included in the universal boot image is read. Then, the reading unit 321 parses the kernel image stored in the data memory 220 using the universal boot data to read boot data (hereinafter, referred to as kernel data) included in the kernel image. The storage management unit 323 stores kernel data in boot data using the universal boot data.

커널 데이터의 저장이 완료되면 판독부(321)는 커널 데이터를 이용하여 데이터 메모리(220)에 저장된 루트 파일 시스템 이미지를 파싱하여 루트 파일 시스템 이미지에 포함된 부팅 데이터(이하, 루트 파일 시스템 데이터라 한다)를 판독한다. 그리고, 저장 관리부(323)는 커널 데이터를 이용하여 루트 파일 시스템 데이터를 부팅 데이터에 저장한다.When the storage of the kernel data is completed, the reading unit 321 parses the root file system image stored in the data memory 220 using the kernel data to parse boot data (hereinafter, referred to as root file system data) included in the root file system image. ) is read. Then, the storage management unit 323 stores the root file system data in boot data using the kernel data.

이와 같이, 커널 데이터 및 루트 파일 시스템 데이터를 부팅 데이터에 저장하는 과정을 통하여 부팅이 수행될 수 있다. 부팅이 수행되는 과정 중 부팅 데이터 및 복구 알고리즘 데이터에 오류가 존재하는 경우 저장 관리부(323) 및 복원부(324)는 예외 처리를 위한 동작을 수행할 수 있다. 즉, 저장 관리부(323)는 오류가 존재하는 부팅 데이터의 저장을 중단하고, 복원부(324)는 전술한 바와 같이 부팅 데이터의 복원을 수행하며, 저장 관리부(323)는 복원된 부팅 데이터를 부팅 메모리(230)에 저장하는 것이다.As described above, booting may be performed through the process of storing kernel data and root file system data in boot data. When an error exists in the booting data and the recovery algorithm data during the booting process, the storage management unit 323 and the restoration unit 324 may perform an operation for handling an exception. That is, the storage management unit 323 stops the storage of booting data in which an error exists, the restoration unit 324 restores the booting data as described above, and the storage management unit 323 boots the restored booting data. It is to be stored in the memory (230).

여기서, 복원부(324)에 의하여 복원되는 부팅 데이터는 커널 데이터 및 루트 파일 시스템 데이터 중 적어도 하나를 포함할 수 있다. 즉, 복원부(324)는 유니버설 부트 데이터를 이용하여 커널 데이터에 대한 복구 알고리즘 데이터를 구동시킴으로써 커널 데이터를 복원할 수 있다. 또한, 복원부(324)는 커널 데이터를 이용하여 루트 파일 시스템 데이터에 대한 복구 알고리즘 데이터를 구동시킴으로써 루트 파일 시스템 데이터를 복원할 수 있다.Here, the boot data restored by the restoration unit 324 may include at least one of kernel data and root file system data. That is, the restoration unit 324 may restore the kernel data by driving the recovery algorithm data for the kernel data using the universal boot data. Also, the restoration unit 324 may restore the root file system data by driving recovery algorithm data for the root file system data using the kernel data.

다시 도 3을 참조하면, 통신부(340)는 관리 서버(100)로부터 복구 데이터를 수신하는 역할을 수행한다. 통신부(340)는 유선 또는 무선으로 관리 서버(100)와 통신을 수행할 수 있다. 통신부(340)가 관리 서버(100)로 데이터 요청 메시지를 송신하면 관리 서버(100)는 데이터 요청 메시지의 수신에 대한 응답으로 복구 데이터를 송신할 수 있다.Referring back to FIG. 3 , the communication unit 340 serves to receive recovery data from the management server 100 . The communication unit 340 may communicate with the management server 100 by wire or wirelessly. When the communication unit 340 transmits the data request message to the management server 100 , the management server 100 may transmit recovery data in response to the reception of the data request message.

데이터 요청 메시지는 제어부(330)에 의하여 생성될 수 있다. 오류 판단부(322)에 의하여 복구 알고리즘 데이터에 오류가 존재하는 것으로 판단되는 경우 제어부(330)는 데이터 요청 메시지를 생성할 수 있다. 데이터 요청 메시지는 복구 알고리즘 데이터에 대한 식별 정보를 포함할 수 있다. 관리 서버(100)는 복구 알고리즘 데이터에 대한 식별 정보를 참조하여 대응하는 복구 데이터를 송신하게 된다.The data request message may be generated by the controller 330 . When it is determined by the error determination unit 322 that there is an error in the recovery algorithm data, the control unit 330 may generate a data request message. The data request message may include identification information for the recovery algorithm data. The management server 100 transmits the corresponding recovery data with reference to the identification information for the recovery algorithm data.

데이터 요청 메시지의 생성뿐만 아니라 제어부(330)는 메모리 인터페이스부(310), 부팅 관리부(320) 및 통신부(340)에 대한 전반적인 제어를 수행한다.In addition to generating the data request message, the control unit 330 performs overall control of the memory interface unit 310 , the booting management unit 320 , and the communication unit 340 .

도 5는 본 발명의 실시예에 따른 데이터 메모리를 나타낸 도면이다.5 is a diagram illustrating a data memory according to an embodiment of the present invention.

도 5를 참조하면, 데이터 메모리(220)는 복수의 페이지(400)를 포함하여 구성된다. 각 페이지(400)는 데이터 영역(410) 및 예비복구 영역(420)을 포함할 수 있다.Referring to FIG. 5 , the data memory 220 includes a plurality of pages 400 . Each page 400 may include a data area 410 and a preliminary recovery area 420 .

데이터 영역(410)에는 부팅 데이터가 저장될 수 있다. 부팅 데이터는 이미지의 형태로 데이터 영역(410)에 저장될 수 있다. 예비복구 영역(OOB; Out-Of-Band)(420)에는 복구 알고리즘 데이터가 저장될 수 있다.Booting data may be stored in the data area 410 . Boot data may be stored in the data area 410 in the form of an image. Recovery algorithm data may be stored in an out-of-band (OOB) 420 .

하나의 데이터 영역(410)에 하나의 부팅 데이터가 저장될 수 있고, 복수의 데이터 영역(410)에 걸쳐 하나의 부팅 데이터가 저장될 수도 있다.One booting data may be stored in one data area 410 , and one booting data may be stored across a plurality of data areas 410 .

전술한 바와 같이, 복구 알고리즘 데이터는 부팅 데이터를 복원하는데 이용될 수 있다. 여기서, 부팅 데이터와 해당 부팅 데이터의 복원에 이용되는 복구 알고리즘 데이터는 페이지 단위로 구비될 수 있다. 즉, 하나의 페이지에 포함된 복구 알고리즘 데이터는 해당 페이지에 포함된 부팅 데이터의 복원에 이용될 수 있는 것이다.As mentioned above, the recovery algorithm data can be used to restore boot data. Here, the boot data and recovery algorithm data used to restore the boot data may be provided in units of pages. That is, the recovery algorithm data included in one page can be used to restore boot data included in the corresponding page.

또는, 전술한 바와 같이 복수의 데이터 영역(410)에 걸쳐 하나의 부팅 데이터(이하, 부팅 데이터 A라 한다)가 저장될 수 있다. 이러한 경우 복수의 데이터 영역(410)에 대응하는 복수의 예비복구 영역(420)에 걸쳐 하나의 복구 알고리즘 데이터(이하, 복구 알고리즘 데이터 B라 한다)가 저장될 수 있다. 그리하여, 부팅 데이터 A에 오류가 존재하는 경우 부팅 데이터 A를 복원함에 있어서 복구 알고리즘 데이터 B가 이용될 수 있다.Alternatively, as described above, one booting data (hereinafter, referred to as booting data A) may be stored across the plurality of data areas 410 . In this case, one recovery algorithm data (hereinafter, referred to as recovery algorithm data B) may be stored across a plurality of preliminary recovery areas 420 corresponding to the plurality of data areas 410 . Thus, when there is an error in the boot data A, the recovery algorithm data B can be used to restore the boot data A.

도 6은 본 발명의 실시예에 따른 시스템 부팅 방법을 나타낸 흐름도이다.6 is a flowchart illustrating a system booting method according to an embodiment of the present invention.

전원이 입력되거나 부팅 개시 명령이 입력됨에 따라 시스템 부팅 장치(210)에 의한 부팅이 개시된다.When power is input or a booting start command is input, booting by the system booting device 210 is started.

부팅이 개시되면 판독부(321)는 데이터 메모리(220)에 저장된 유니버설 부트 이미지를 파싱하여 유니버설 부트 데이터를 판독하고(S501), 저장 관리부(323)는 유니버설 부트 데이터를 부팅 메모리(230)에 저장한다(S502). 이어서, 판독부(321)는 유니버설 부트 데이터를 이용하여 유니버설 부트를 실행하고, 데이터 메모리(220)에 저장된 커널 데이터 및 복구 알고리즘 데이터를 판독한다(S503).When booting is started, the reading unit 321 parses the universal boot image stored in the data memory 220 to read the universal boot data ( S501 ), and the storage management unit 323 stores the universal boot data in the booting memory 230 . do (S502). Next, the reading unit 321 executes the universal boot using the universal boot data, and reads the kernel data and the recovery algorithm data stored in the data memory 220 (S503).

오류 판단부(322)는 커널 데이터 및 복구 알고리즘 데이터에 오류가 존재하는지 판단한다(S504). 오류 판단부(322)의 판단 결과에 따라 커널 데이터 및 복구 알고리즘 데이터에 오류가 존재하지 않는 경우 저장 관리부(323)는 커널 데이터를 부팅 메모리(230)에 저장한다(S505). 여기서, 복구 알고리즘 데이터에 오류가 존재하더라도 커널 데이터에 오류가 존재하지 않는 경우 저장 관리부(323)는 커널 데이터를 부팅 메모리(230)에 저장할 수 있다.The error determination unit 322 determines whether an error exists in the kernel data and the recovery algorithm data (S504). When there is no error in the kernel data and the recovery algorithm data according to the determination result of the error determination unit 322 , the storage management unit 323 stores the kernel data in the booting memory 230 ( S505 ). Here, even if an error exists in the recovery algorithm data, when there is no error in the kernel data, the storage management unit 323 may store the kernel data in the boot memory 230 .

오류 판단부(322)의 판단 결과에 따라 커널 데이터 및 복구 알고리즘 데이터에 오류가 존재하는 경우 복원부(324)는 통신부(340)가 관리 서버(100)로부터 수신한 복구 데이터를 이용하여 복구 알고리즘 데이터를 복원한다(S506). 그리고, 복원부(324)는 복원된 복구 알고리즘 데이터를 이용하여 커널 데이터를 복원한다(S507). 저장 관리부(323)는 복원된 커널 데이터를 부팅 메모리(230)에 저장한다(508).When an error exists in the kernel data and the recovery algorithm data according to the determination result of the error determination unit 322 , the recovery unit 324 uses the recovery data received by the communication unit 340 from the management server 100 to restore algorithm data. to restore (S506). Then, the restoration unit 324 restores the kernel data by using the restored restoration algorithm data (S507). The storage management unit 323 stores the restored kernel data in the boot memory 230 ( 508 ).

커널 데이터의 저장이 완료되면, 판독부(321)는 데이터 메모리(220)에 저장된 루트 파일 시스템 데이터 데이터 및 복구 알고리즘 데이터를 판독한다(S509).When the storage of the kernel data is completed, the reading unit 321 reads the root file system data data and the recovery algorithm data stored in the data memory 220 (S509).

오류 판단부(322)는 루트 파일 시스템 데이터 및 복구 알고리즘 데이터에 오류가 존재하는지 판단한다(S510). 오류 판단부(322)의 판단 결과에 따라 루트 파일 시스템 데이터 및 복구 알고리즘 데이터에 오류가 존재하지 않는 경우 저장 관리부(323)는 루트 파일 시스템 데이터를 부팅 메모리(230)에 저장한다(S511). 여기서, 복구 알고리즘 데이터에 오류가 존재하더라도 루트 파일 시스템 데이터에 오류가 존재하지 않는 경우 저장 관리부(323)는 루트 파일 시스템 데이터를 부팅 메모리(230)에 저장할 수 있다.The error determining unit 322 determines whether errors exist in the root file system data and the recovery algorithm data (S510). When there is no error in the root file system data and the recovery algorithm data according to the determination result of the error determination unit 322 , the storage management unit 323 stores the root file system data in the booting memory 230 ( S511 ). Here, even if there is an error in the recovery algorithm data, if there is no error in the root file system data, the storage management unit 323 may store the root file system data in the booting memory 230 .

오류 판단부(322)의 판단 결과에 따라 루트 파일 시스템 데이터 및 복구 알고리즘 데이터에 오류가 존재하는 경우 복원부(324)는 통신부(340)가 관리 서버(100)로부터 수신한 복구 데이터를 이용하여 복구 알고리즘 데이터를 복원한다(S512). 그리고, 복원부(324)는 복원된 복구 알고리즘 데이터를 이용하여 루트 파일 시스템 데이터를 복원한다(S513). 저장 관리부(323)는 복원된 루트 파일 시스템 데이터를 부팅 메모리(230)에 저장한다(S514).If there is an error in the root file system data and the recovery algorithm data according to the determination result of the error determination unit 322 , the restoration unit 324 recovers it using the recovery data received by the communication unit 340 from the management server 100 . The algorithm data is restored (S512). Then, the restoration unit 324 restores the root file system data using the restored restoration algorithm data (S513). The storage management unit 323 stores the restored root file system data in the boot memory 230 (S514).

커널 데이터 및 루트 파일 시스템 데이터가 모두 부팅 메모리(230)에 저장됨에 따라 부팅이 완료될 수 있다.As both the kernel data and the root file system data are stored in the boot memory 230 , booting may be completed.

이상과 첨부된 도면을 참조하여 본 발명의 실시예를 설명하였지만, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자는 본 발명이 그 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 실시될 수 있다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다.Although embodiments of the present invention have been described with reference to the above and the accompanying drawings, those of ordinary skill in the art to which the present invention pertains can practice the present invention in other specific forms without changing its technical spirit or essential features. You will understand that there is Therefore, it should be understood that the embodiments described above are illustrative in all respects and not restrictive.

100: 관리 서버
200: 임베디드 시스템 장치
210: 시스템 부팅 장치
220: 데이터 메모리
230: 부팅 메모리
240: 동작 제어부
310: 메모리 인터페이스부
320: 부팅 관리부
321: 판독부
322: 오류 판단부
323: 저장 관리부
324: 복원부
330: 제어부
340: 통신부
100: management server
200: embedded system device
210: system boot device
220: data memory
230: boot memory
240: motion control
310: memory interface unit
320: boot management unit
321: reading unit
322: error judgment unit
323: storage management unit
324: restoration unit
330: control unit
340: communication unit

Claims (6)

데이터 메모리에 저장된 부팅 데이터 및 상기 부팅 데이터에 대한 복구 알고리즘 데이터를 판독하는 판독부;
상기 부팅 데이터 및 상기 복구 알고리즘 데이터에 오류가 존재하는지 여부를 판단하는 오류 판단부;
상기 부팅 데이터 및 상기 복구 알고리즘 데이터에 오류가 존재하는 경우 네트워크를 통하여 수신된 복구 데이터를 이용하여 상기 복구 알고리즘 데이터를 복원하고, 상기 복원된 복구 알고리즘 데이터를 이용하여 상기 부팅 데이터를 복원하는 복원부; 및
상기 복원된 부팅 데이터를 부팅 메모리에 저장하는 저장 관리부를 포함하되,
상기 데이터 메모리는 복수의 페이지를 포함하고,
상기 복수의 페이지 각각은,
부팅 데이터를 저장하는 데이터 영역; 및
상기 데이터 영역에 저장된 부팅 데이터의 복원에 이용되는 복구 알고리즘을 저장하는 예비복구 영역을 포함하며,
상기 데이터 영역에 저장된 부팅 데이터와 해당 부팅 데이터의 복원에 이용되는 복구 알고리즘 데이터는 페이지 단위로 구비되는 시스템 부팅 장치.
a reading unit for reading booting data stored in the data memory and recovery algorithm data for the booting data;
an error determination unit for determining whether an error exists in the booting data and the recovery algorithm data;
a restoration unit that restores the recovery algorithm data using the recovery data received through a network when there is an error in the booting data and the recovery algorithm data, and restores the booting data using the restored recovery algorithm data; and
A storage management unit for storing the restored booting data in a booting memory,
The data memory includes a plurality of pages,
Each of the plurality of pages,
a data area for storing boot data; and
and a preliminary recovery area for storing a recovery algorithm used to restore the boot data stored in the data area,
The booting data stored in the data area and the recovery algorithm data used to restore the booting data are provided in units of pages.
삭제delete 제 1항에 있어서,
상기 복원부에 의하여 복원되는 부팅 데이터는 커널 이미지(Kernel Image)에 포함된 커널 데이터 및 루트 파일 시스템 이미지(Root File System Image)에 포함된 루트 파일 시스템 데이터 중 적어도 하나를 포함하는 시스템 부팅 장치.
The method of claim 1,
The booting data restored by the restoration unit includes at least one of kernel data included in a kernel image and root file system data included in a root file system image.
제 1항에 있어서,
네트워크를 통하여 상기 복구 데이터를 수신하는 통신부를 더 포함하는 시스템 부팅 장치.
The method of claim 1,
The system booting device further comprising a communication unit for receiving the recovery data through a network.
데이터 메모리에 저장된 부팅 데이터 및 상기 부팅 데이터에 대한 복구 알고리즘 데이터를 판독하는 단계;
상기 부팅 데이터 및 상기 복구 알고리즘 데이터에 오류가 존재하는지 여부를 판단하는 단계;
상기 부팅 데이터 및 상기 복구 알고리즘 데이터에 오류가 존재하는 경우 네트워크를 통하여 수신된 복구 데이터를 이용하여 상기 복구 알고리즘 데이터를 복원하는 단계;
상기 복원된 복구 알고리즘 데이터를 이용하여 상기 부팅 데이터를 복원하는 단계; 및
상기 복원된 부팅 데이터를 부팅 메모리에 저장하는 단계를 포함하되,
상기 데이터 메모리는 복수의 페이지를 포함하고,
상기 복수의 페이지 각각은,
부팅 데이터를 저장하는 데이터 영역; 및
상기 데이터 영역에 저장된 부팅 데이터의 복원에 이용되는 복구 알고리즘을 저장하는 예비복구 영역을 포함하며,
상기 데이터 영역에 저장된 부팅 데이터와 해당 부팅 데이터의 복원에 이용되는 복구 알고리즘 데이터는 페이지 단위로 구비되는 시스템 부팅 방법.
reading boot data stored in a data memory and recovery algorithm data for the boot data;
determining whether an error exists in the booting data and the recovery algorithm data;
restoring the recovery algorithm data using the recovery data received through a network when there is an error in the booting data and the recovery algorithm data;
restoring the booting data using the restored recovery algorithm data; and
Storing the restored booting data in a booting memory,
The data memory includes a plurality of pages,
Each of the plurality of pages,
a data area for storing boot data; and
and a preliminary recovery area for storing a recovery algorithm used to restore the boot data stored in the data area,
The booting data stored in the data area and the recovery algorithm data used to restore the booting data are provided in units of pages.
삭제delete
KR1020160015138A 2016-02-05 2016-02-05 Apparatus and method for booting system KR102417317B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020160015138A KR102417317B1 (en) 2016-02-05 2016-02-05 Apparatus and method for booting system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020160015138A KR102417317B1 (en) 2016-02-05 2016-02-05 Apparatus and method for booting system

Publications (2)

Publication Number Publication Date
KR20170093567A KR20170093567A (en) 2017-08-16
KR102417317B1 true KR102417317B1 (en) 2022-07-05

Family

ID=59752493

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020160015138A KR102417317B1 (en) 2016-02-05 2016-02-05 Apparatus and method for booting system

Country Status (1)

Country Link
KR (1) KR102417317B1 (en)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100853941B1 (en) * 2006-12-27 2008-08-25 (주)아이디스 Multimedia storage device and data recovering method of the device
KR101461650B1 (en) 2012-09-05 2014-11-21 주식회사 팬택 Apparatus and method for managing file system of a computing device

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20060082225A (en) * 2005-01-11 2006-07-18 주식회사 팬택 Method for recovering a poor memory through using a duplicated memory in a mobile communication terminal
JP2012174061A (en) 2011-02-22 2012-09-10 Canon Electronics Inc Information processing device, information processing method, scanner device, and control method of scanner device
KR102247599B1 (en) * 2014-07-09 2021-05-03 한화테크윈 주식회사 Booting image restoration system and restoration method thereof

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100853941B1 (en) * 2006-12-27 2008-08-25 (주)아이디스 Multimedia storage device and data recovering method of the device
KR101461650B1 (en) 2012-09-05 2014-11-21 주식회사 팬택 Apparatus and method for managing file system of a computing device

Also Published As

Publication number Publication date
KR20170093567A (en) 2017-08-16

Similar Documents

Publication Publication Date Title
US10664355B2 (en) Data storage device performing recovery operation after sudden power-off and operating method thereof
US10860447B2 (en) Database cluster architecture based on dual port solid state disk
US9632714B2 (en) Solid-state drive device
US10061655B2 (en) Volatile cache reconstruction after power failure
KR102347418B1 (en) Data processing device and operating method thereof
CN108958643B (en) Data storage device and operation method thereof
US20190227710A1 (en) Incremental data restoration method and apparatus
US20100306586A1 (en) Storage apparatus and method of data processing
CN101796495A (en) Memory device and file system
US8583959B2 (en) System and method for recovering data of complementary metal-oxide semiconductor
US20170206032A1 (en) Data storage device and operating method thereof
CN102799406A (en) Startup LOGO display method, apparatus and embedded device
US20150309902A1 (en) Storage control device and data recovery method
US20160037119A1 (en) Video recording apparatus, and video recording method when temporary network failure occurs
KR102417317B1 (en) Apparatus and method for booting system
CN102325171B (en) Data storage method in monitoring system and system
CN108874318B (en) Data recovery method of solid state disk and solid state disk
US20150253990A1 (en) Method for improving performance of a few data access on a large area in non-volatile storage device
US11586509B2 (en) Operating system repairs via electronic devices
US20170322742A1 (en) Method for backing up and restoring data of a secure element
JP2006285976A (en) Nonvolatile storage system, nonvolatile storage device, and data reading method and program
WO2016136014A1 (en) Monitoring recorder
US20130160077A1 (en) Information processing apparatus, method for releasing restriction on use of storage device, and storage medium
US20180218001A1 (en) Adaptive data recording method in vehicle image recording device
CN113485874B (en) Data processing method and distributed storage system

Legal Events

Date Code Title Description
N231 Notification of change of applicant
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant