KR20080066381A - Method for upgrading software - Google Patents

Method for upgrading software Download PDF

Info

Publication number
KR20080066381A
KR20080066381A KR1020070003769A KR20070003769A KR20080066381A KR 20080066381 A KR20080066381 A KR 20080066381A KR 1020070003769 A KR1020070003769 A KR 1020070003769A KR 20070003769 A KR20070003769 A KR 20070003769A KR 20080066381 A KR20080066381 A KR 20080066381A
Authority
KR
South Korea
Prior art keywords
upgrade
partition
software
storage medium
checkpoint
Prior art date
Application number
KR1020070003769A
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 KR1020070003769A priority Critical patent/KR20080066381A/en
Publication of KR20080066381A publication Critical patent/KR20080066381A/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1223Dedicated interfaces to print systems specifically adapted to use a particular technique
    • G06F3/1229Printer resources management or printer maintenance, e.g. device status, power levels
    • G06F3/123Software or firmware update, e.g. device firmware 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/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1415Saving, restoring, recovering or retrying at system level
    • G06F11/1433Saving, restoring, recovering or retrying at system level during software upgrading

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Human Computer Interaction (AREA)
  • Quality & Reliability (AREA)
  • Stored Programmes (AREA)

Abstract

A method for upgrading software is provided to implement a rollback function normally operating a device with the present software when error occurs during software upgrade by dividing a storage medium into basic and upgrade partitions, and using the upgrade partition when the software is upgraded. A storage medium is partitioned into a basic partition used for executing software stored in the basic partition and an upgrade partition used for upgrading the software stored in the basic partition(S100). A software upgrade process is performed by using the upgrade partition when a software upgrade command is received(S120). The upgrade partition is reallocated as the basic partition when the software upgrade process is completed(S140). The software is upgraded while recording a checkpoint to a memory at every time point completing a predetermined processing unit.

Description

소프트웨어의 업그레이드 방법{ Method for upgrading software }Upgrade method for software {Method for upgrading software}

도 1은 본 발명의 소프트웨어 업그레이드 방법에서 사용되는 저장 매체의 파티션 구조를 나타내는 도면.1 is a diagram showing a partition structure of a storage medium used in the software upgrade method of the present invention.

도 2는 본 발명의 저장 매체의 이중 파티션 구조를 이용한 소프트웨어 업그레이드 과정을 나타낸 도면.2 is a diagram illustrating a software upgrade process using a dual partition structure of a storage medium of the present invention.

도 3은 본 발명의 소프트웨어 업그레이드 방법의 일 실시예를 나타낸 순서도.Figure 3 is a flow chart showing one embodiment of a software upgrade method of the present invention.

도 4는 본 발명의 소프트웨어 업그레이드 방법의 다른 실시예를 나타낸 순서도.Figure 4 is a flow chart showing another embodiment of the software upgrade method of the present invention.

본 발명은 소프트웨어의 업그레이드 방법에 관한 것이다.The present invention relates to a method of upgrading software.

일반적으로, 소프트웨어(Software)는 하드웨어(Hardware) 장치를 통하여 실행되는 프로그램을 총칭하는 말이다.In general, software is a general term for a program executed through a hardware device.

소프트웨어는 보통 EEPROM(Electrically Erasable and Programmable ROM) 또는 플래쉬 롬(Flash ROM)과 같은 비휘발성 메모리(Non-Volatile Memory)에 이진 이 미지(Binary Image) 즉, 실행가능한 코드의 형태로 저장된다.Software is usually stored in the form of a binary image, or executable code, in non-volatile memory, such as electrically erasable and programmable ROM (EEPROM) or Flash ROM.

최근 디지털 텔레비전(Digital TV), 위성/케이블 셋톱박스, 인터넷 냉장고 등의 디지털 기기의 기능이 다양해지고 향상되면서 이러한 디지털 기기의 설정과 동작을 제어하는 소프트웨어의 복잡도가 예전보다 높아지고 있다.Recently, as the functions of digital devices such as digital televisions, satellite / cable set-top boxes, and Internet refrigerators have been diversified and improved, the complexity of software for controlling the setting and operation of such digital devices has increased.

상기 디지털 기기에 내장되는 소프트웨어는 사용자의 요구와 시장의 변화에 따라 소프트웨어의 기능을 보완하거나, 소프트웨어 개발 당시에는 미처 발견하지 못했던 결함을 출시 이후에라도 수정할 수 있어야한다.The software embedded in the digital device should be able to supplement the function of the software according to the needs of the user and the market, or to fix defects that were not found at the time of software development even after the release.

이를 위해, 많은 디지털 기기들은 소프트웨어 업그레이드(Software Upgrade) 기능 즉, 구 버전의 소프트웨어를 최신 버전의 소프트웨어로 대체하는 기능을 제공하고 있다.To this end, many digital devices provide a software upgrade function, that is, replace the old software with the latest software.

소프트웨어 업그레이드는 디지털 기기의 기능에 절대적인 영향을 주는 소프트웨어를 교체하는 작업이므로 안정성이 무엇보다 중요한데, 만일 소프트웨어 업그레이드 과정 중에 오류가 발생하면 제품이 제 기능을 발휘하지 못하는 상황이 될 수도 있기 때문이다.Software upgrade is an important task because it replaces software that has an absolute effect on the function of digital devices. If an error occurs during the software upgrade process, the product may not function properly.

따라서, 본 발명의 목적은 소프트웨어가 저장되는 저장 매체를 기본 파티션과 업그레이드 파티션으로 구별한 후, 소프트웨어를 실행시키는 경우는 기본 파티션을 이용하고, 소프트웨어의 업그레이드 수행시는 업그레이드 파티션을 이용함으로써, 소프트웨어 업그레이드 수행시 오류가 발생한 경우 기존 소프트웨어로 정상 동작할 수 있게 하는 롤백(Roll Back) 기능을 구현하는 소프트웨어의 업그레이드 방법을 제공하는 데 있다.Accordingly, an object of the present invention is to distinguish a storage medium in which software is stored into a primary partition and an upgrade partition, and to use the primary partition when executing the software, and to use the upgrade partition when performing the software upgrade. The present invention provides a method for upgrading software that implements a roll back function that enables a normal operation with existing software when an error occurs during execution.

본 발명의 다른 목적은 소프트웨어 업그레이드 수행시 특정 단위의 작업이 완료된 시점마다 체크 포인트(Check Point)를 기록하여 업그레이드 도중에 오류가 발생할 경우 가장 마지막에 기록된 체크 포인트 이후부터 업그레이드 과정을 수행할 수 있도록 함으로써, 업그레이드를 효율적으로 재개할 수 있도록 하는 소프트웨어의 업그레이드 방법을 제공하는 데 있다.Another object of the present invention is to record a check point every time a specific unit of work is completed when performing a software upgrade, so that if an error occurs during the upgrade, the upgrade process can be performed after the last recorded check point. It also provides a way to upgrade the software so that the upgrade can be resumed efficiently.

본 발명의 소프트웨어의 업그레이드 방법의 바람직한 일 실시예는, 저장 매체를 두 개의 파티션으로 구분한 후, 각각 기본 파티션과 업그레이드 파티션으로 지정하는 단계와, 상기 기본 파티션에 저장된 소프트웨어의 업그레이드 명령이 입력되면, 상기 업그레이드 파티션을 사용하여 상기 소프트웨어의 업그레이드 작업을 수행하는 단계와, 상기 소프트웨어의 업그레이드 작업이 완료되면, 상기 업그레이드 파티션을 기본 파티션으로 재지정하는 단계를 포함하여 이루어지는 것을 특징으로 한다.According to a preferred embodiment of the software upgrade method of the present invention, after dividing the storage medium into two partitions, respectively, designating the storage partition as a primary partition and an upgrade partition, and when an upgrade command of the software stored in the primary partition is input, And performing upgrade of the software using the upgrade partition, and reassigning the upgrade partition to the primary partition when the upgrade of the software is completed.

본 발명의 소프트웨어의 업그레이드 방법의 바람직한 다른 실시예는, 기본 파티션에 저장된 소프트웨어의 업그레이드 명령이 입력되면, 업그레이드 파티션을 사용하여 수행된 이전 업그레이드의 체크 포인트를 확인하는 단계와, 상기 확인된 체크 포인트에 따라 해당 체크 포인트 위치부터 업그레이드 작업을 수행하는 단계와, 상기 소프트웨어의 업그레이드 작업이 완료되면, 상기 업그레이드 파티션을 기본 파티션으로 지정하는 단계를 포함하여 이루어지는 것을 특징으로 한다.According to another preferred embodiment of the software upgrade method of the present invention, when the upgrade command of the software stored in the primary partition is input, confirming a checkpoint of a previous upgrade performed using the upgrade partition; And performing an upgrade operation from the corresponding checkpoint position, and designating the upgrade partition as a default partition when the upgrade operation of the software is completed.

이하, 도 1 내지 도 4를 참조하여 본 발명의 소프트웨어 업그레이드 방법을 상세히 설명한다. 본 발명을 설명함에 있어서, 본 발명과 관련된 공지기술에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략하기로 한다.Hereinafter, the software upgrade method of the present invention will be described in detail with reference to FIGS. 1 to 4. In describing the present invention, when it is determined that the detailed description of the known technology related to the present invention may unnecessarily obscure the subject matter of the present invention, the detailed description thereof will be omitted.

도 1은 본 발명의 소프트웨어 업그레이드 방법에서 사용되는 저장 매체의 파티션 구조를 나타내는 도면이다.1 is a diagram showing a partition structure of a storage medium used in the software upgrade method of the present invention.

이에 도시된 바와 같이, 본 발명의 소프트웨어 업그레이드 방법에서 사용되는 저장 매체(100)는 이중 파티션(Partition) 구조를 갖는다.As shown therein, the storage medium 100 used in the software upgrade method of the present invention has a dual partition structure.

이러한 이중 파티션 구조에서는 저장 매체(100)의 물리적 파티션이 두 개로 나뉘어지는데, 각각의 파티션 즉, 파티션 A와 파티션 B는 크기와 속성이 서로 동일하다.In such a dual partition structure, the physical partition of the storage medium 100 is divided into two. Each partition, that is, partition A and partition B, has the same size and attributes.

여기서, 저장 매체(100)의 두 개의 물리적 파티션 중에서 하나는 기본 파티션으로 지정되고, 나머지 하나는 업그레이드 파티션으로 지정된다.Here, one of two physical partitions of the storage medium 100 is designated as a primary partition, and the other is designated as an upgrade partition.

상기 기본 파티션은 소프트웨어를 실행하는 경우 사용되는 파티션으로, 상기 파티션에 저장된 소프트웨어가 디지털 기기의 구동시 사용된다.The basic partition is a partition used when executing software, and the software stored in the partition is used when driving a digital device.

상기 업그레이드 파티션은 소프트웨어의 업그레이드를 수행하는 경우 사용되는 파티션으로, 소프트웨어 업그레이드 수행 중에 업그레이드 작업 공간으로 사용 된다.The upgrade partition is a partition used when upgrading software and is used as an upgrade work space during a software upgrade.

도 2는 본 발명의 저장 매체의 이중 파티션 구조를 이용한 소프트웨어 업그레이드 과정을 나타낸 도면이다.2 is a diagram illustrating a software upgrade process using a dual partition structure of a storage medium of the present invention.

이에 도시된 바와 같이, 소프트웨어를 업그레이드하기 이전의 저장 매체의 물리적 파티션은 A와 B로 나뉘어져 있다.As shown here, the physical partition of the storage medium prior to upgrading the software is divided into A and B.

여기서, 저장 매체의 물리적 파티션 A가 디지털 기기의 구동시 사용되고, 물리적 파티션 B가 업그레이드 수행시 사용된다고 하면, 물리적 파티션 A는 논리적 파티션으로는 기본 파티션에 해당하고, 물리적 파티션 B는 논리적 파티션으로 업그레이드 파티션에 해당한다.Here, if physical partition A of the storage medium is used to drive the digital device, and physical partition B is used to perform the upgrade, physical partition A corresponds to a primary partition as a logical partition, and physical partition B is an upgrade partition to a logical partition. Corresponds to

따라서, 평상시에는 물리적 파티션 A에 저장되어 있는 소프트웨어를 이용하여 디지털 기기를 구동시킨다.Therefore, the digital device is usually driven by using the software stored in the physical partition A.

한편, 소프트웨어를 업그레이드하고자 하는 경우, 물리적 파티션 B를 업그레이드 파티션으로 하여 새로운 버전의 소프트웨어에 대한 업그레이드 과정이 이루어진다.On the other hand, if you want to upgrade the software, the upgrade process for a new version of the software is made using physical partition B as an upgrade partition.

물리적 파티션 B에 새로운 버전의 소프트웨어가 성공적으로 저장되면, 물리적 파티션 B가 기본 파티션이 되도록 설정한 후, 저장 매체를 리셋한다.If a new version of software is successfully stored in physical partition B, set physical partition B to be the primary partition, and then reset the storage medium.

즉, 소프트웨어의 업그레이드가 완료되면 물리적 파티션 B를 기본 파티션으로 재설정하는데, 이는 최신 버전의 소프트웨어가 저장된 물리적 파티션 B를 통해 디지털 기기를 구동하기 위해서이다.That is, when the software upgrade is completed, the physical partition B is reset to the primary partition, in order to drive the digital device through the physical partition B in which the latest version of the software is stored.

이와 같이, 저장 매체를 물리적 파티션 A와 B로 나눈 후, 하나를 기본 파티션으로 이용하고 나머지 하나를 업그레이드 파티션으로 이용하면, 소프트웨어의 업그레이드시 안정성을 높일 수 있다.In this way, by dividing the storage medium into physical partitions A and B, and using one as the primary partition and the other as the upgrade partition, it is possible to increase the stability when upgrading the software.

즉, 본 발명에 있어서 저장 매체의 이중 파티션 구조는 소프트웨어 업그레이드 수행 중에 오류가 발생하는 경우 롤백(Roll Back) 처리를 행함으로써, 소프트웨어의 업그레이드시 안정성을 높일 수 있게 된다.That is, in the present invention, the dual partition structure of the storage medium performs a roll back process when an error occurs during the software upgrade, thereby increasing the stability when upgrading the software.

본 발명에서 소프트웨어 업그레이드는 업그레이드 파티션에서 이루어지므로, 업그레이드를 진행하고 있는 중이라도 기존의 소프트웨어는 보존된 상태로 남아있다.In the present invention, since the software upgrade is performed in the upgrade partition, the existing software remains preserved even during the upgrade.

롤백은 기존의 소프트웨어를 그대로 이용하는 것으로써, 기존의 소프트웨어가 저장되어 있는 파티션을 기본 파티션으로 지정하는 것으로 구현할 수 있다.Rollback can be implemented by using existing software as it is, and designating a partition where existing software is stored as a default partition.

예를 들어, 소프트웨어의 업그레이드 수행 중 갑작스런 전원 차단이 발생하는 경우, 롤백을 실행하면 기존의 소프트웨어로 디지털 기기를 정상적으로 구동할 수 있다.For example, if a sudden power off occurs during the upgrade of the software, the rollback allows the digital device to run normally with the existing software.

그리고, 소프트웨어 업그레이드를 마친 후, 업그레이드 과정상의 문제로 인하여 새로운 버전의 소프트웨어로 디지털 기기를 구동시키지 못할 경우, 기존 소프트웨어를 통해 디지털 기기를 구동하도록 롤백을 실행할 수 있다.After completing the software upgrade, if the digital device cannot be driven by the new version of the software due to a problem in the upgrade process, the rollback may be executed to drive the digital device through the existing software.

또한, 소프트웨어 업그레이드가 완료되어 물리적 파티션 B를 기본 파티션으로 재설정하였으나 새로운 버전의 소프트웨어 자체에 오류가 있는 경우, 다시 물리 적 파티션 A를 기본 파티션으로 설정하면 물리적 파티션 A에 저장되어 있는 기존의 소프트웨어를 통해 디지털 기기를 구동할 수 있으므로, 소프트웨어의 업그레이드 수행시 안정성을 높일 수 있게 된다.In addition, if the software upgrade is complete and you reset physical partition B to its primary partition, but there is an error in the new version of the software itself, you can set the physical partition A back to the primary partition using the existing software stored on physical partition A. Since the digital device can be driven, the stability of the software can be improved.

한편, 본 발명의 소프트웨어 업그레이드 방법에서는 저장 매체를 두 개의 파티션으로 나눈 후 용도에 따라 구별하여 사용하기 때문에, 기본 파티션으로 디지털 기기를 구동하거나 업그레이드 파티션으로 업그레이드 작업을 수행하는 중에 서로 상대방의 파티션에 영향을 주지 않는다.On the other hand, in the software upgrade method of the present invention, since the storage medium is divided into two partitions and then used according to the purpose, the partitions of the other parties are affected while driving the digital device as the primary partition or performing the upgrade operation to the upgrade partition. Does not give.

즉, 디지털 기기를 구동할 때는 업그레이드 파티션과는 상관없이 기본 파티션에만 의존하여 이루어지고, 소프트웨어의 업그레이드 작업을 수행할 때는 기본 파티션과는 상관없이 업그레이드 파티션에만 의존하여 이루어진다.That is, when driving a digital device, only the primary partition is used regardless of the upgrade partition, and when the software is upgraded, only the upgrade partition is used regardless of the primary partition.

만약, 소프트웨어의 업그레이드 수행 중에 기본 파티션에 대한 접근이 필요한 경우에도 읽기 연산만 가능하게 하고, 쓰기 및 수정 등 내용을 변경시킬 가능성이 있는 연산은 금지하도록 한다.If access to the primary partition is required during the upgrade of the software, only read operations are allowed, and operations that may change the contents, such as writes and modifications, should be prohibited.

이와 같이, 저장 매체의 두 개의 파티션이 용도에 따라 구별되어 사용되기 때문에, 소프트웨어의 업그레이드 작업을 수행하더라도 디지털 기기의 구동에는 전혀 영향을 주지 않으며, 디지털 기기의 구동 중에도 소프트웨어의 업그레이드를 동시에 수행할 수 있게 된다.In this way, since two partitions of the storage medium are distinguished and used according to the use, even if the software is upgraded, the operation of the digital device is not affected at all, and the software can be upgraded simultaneously while the digital device is being driven. Will be.

도 3은 본 발명의 소프트웨어 업그레이드 방법의 일 실시예를 나타낸 순서도 이다.3 is a flowchart illustrating an embodiment of a software upgrade method of the present invention.

이에 도시된 바와 같이, 먼저 저장 매체를 두 개의 물리적 파티션으로 구분하고, 그 중 하나를 기본 파티션으로 지정한다(단계 S 100).As shown therein, the storage medium is first divided into two physical partitions, and one of them is designated as the primary partition (step S100).

예를 들어, 상기 기본 파티션의 지정은 저장 매체의 물리적 파티션 중에서 어느 하나를 'O'으로 나머지 하나를 '1'로 지정한 후, 상기 지정된 값을 별도의 메모리에 저장하여 두는 방식으로 행해질 수 있다.For example, the designation of the primary partition may be performed by designating one of the physical partitions of the storage medium as '0' and the other as '1', and storing the specified value in a separate memory.

상기 저장 매체의 물리적 파티션 중 어느 하나를 기본 파티션으로 지정하면, 나머지 하나는 업그레이드 파티션으로 사용되게 된다.If one of the physical partitions of the storage medium is designated as the primary partition, the other one is used as an upgrade partition.

상기 기본 파티션에는 소정 소프트웨어가 저장되며, 기본 파티션에 저장된 소프트웨어를 실행시켜 디지털 기기를 구동시킨다.A predetermined software is stored in the basic partition, and the digital device is driven by executing the software stored in the basic partition.

다음으로, 상기 기본 파티션에 저장된 소프트웨어의 업그레이드 명령이 입력되는지를 확인하여(단계 S 110), 업그레이드 명령이 입력되면 저장 매체의 업그레이드 파티션을 통해 업그레이드 작업을 수행한다(단계 S 120).Next, it is checked whether the upgrade command of the software stored in the basic partition is input (step S 110), and when the upgrade command is input, the upgrade operation is performed through the upgrade partition of the storage medium (step S 120).

여기서, 업그레이드 작업은 예를 들어 새로운 버전의 소프트웨어를 외부로부터 입력받아 별도의 저장 매체에 저장한 후 상기 업그레이드 파티션에 기록하거나, 외부로부터 새로운 버전을 입력받는 즉시 업그레이드 파티션에 기록하는 방식으로 행해질 수 있다.Here, the upgrade operation may be performed, for example, by receiving a new version of software from the outside and storing it in a separate storage medium and writing it to the upgrade partition, or writing the new version from the outside to the upgrade partition immediately. .

상기 업그레이드 작업 수행시, 특정 단위의 작업이 완료된 시점마다 체크 포인트를 기록하며, 상기 체크 포인트는 업그레이드 작업 수행시 언제든지 읽고 쓰는 것이 가능하도록 별도의 메모리에 기록한다.When performing the upgrade, a checkpoint is recorded every time a specific unit of work is completed, and the checkpoint is recorded in a separate memory so that the checkpoint can be read and written at any time.

이어서, 업그레이드 작업이 완료되는지를 확인하여(단계 S 130), 업그레이드 작업이 완료되면 상기 업그레이드 파티션을 기본 파티션으로 재지정한다(단계 S 140).Then, it is checked whether the upgrade operation is completed (step S 130), and when the upgrade operation is completed, the upgrade partition is reassigned to the primary partition (step S 140).

즉, 새로운 버전의 소프트웨어가 저장된 업그레이드 파티션을 기본 파티션으로 지정하여, 새로운 버전의 소프트웨어를 통해 디지털 기기가 구동되도록 한다. 이때, 기존 소프트웨어가 저장된 기본 파티션은 업그레이드 파티션으로 변경되어 이후 업그레이드 작업 수행시 사용된다.That is, the upgrade partition in which the new version of the software is stored is designated as the primary partition so that the digital device is driven through the new version of the software. At this time, the default partition where the existing software is stored is changed to an upgrade partition and used for the subsequent upgrade operation.

본 발명에서는 소프트웨어 업그레이드 도중에 오류가 발생하여 업그레이드가 중단된 경우, 보다 효율적으로 업그레이드를 재개할 수 있도록 업그레이드 과정 중에 특정 단위의 작업이 완료된 시점마다 체크 포인트(Check Point)를 기록한다.In the present invention, if an error occurs during a software upgrade and the upgrade is interrupted, a checkpoint is recorded every time a specific unit of work is completed during the upgrade process so that the upgrade can be resumed more efficiently.

이렇게 특정 단위의 작업이 완료된 시점마다 체크 포인트를 기록하면, 업그레이드가 중단된 경우에도 가장 마지막에 기록된 체크 포인트 이후부터 업그레이드 과정을 진행할 수 있다.If a checkpoint is recorded every time a specific unit of work is completed, the upgrade process can be performed after the last checkpoint recorded even when the upgrade is stopped.

여기서, 체크 포인트는 소프트웨어 업그레이드 과정 중에 특정 단위의 작업 즉, 트랜잭션(Transaction)이 완료되는 시점마다 기록하는 일종의 로그를 말한다.Here, the checkpoint refers to a kind of log that is recorded every time a certain unit of work, that is, a transaction, is completed during the software upgrade process.

상기 특정 단위란 작업 전체가 성공하지 않으면 실패로 처리되는 단위를 의미한다. The specific unit means a unit that is treated as a failure if the entire task does not succeed.

예를 들어, 업그레이드 과정 중에 특정 디렉토리의 내용을 업그레이드 파티션에 기록하는 과정을 하나의 트랜잭션으로 정의한다면, 이 과정이 성공적으로 끝 나면(즉, 디렉토리의 내용이 모두 성공적으로 기록되면) 트랜잭션 전체를 성공한 것으로 본다.For example, if you define a transaction that writes the contents of a particular directory to the upgrade partition during the upgrade process, then if the process completes successfully (that is, if the contents of the directory are all successfully written), then Seen to be.

그리고, 해당 디렉토리 중 일부의 내용을 기록하는데 오류가 발생하면 트랜잭션 전체를 실패한 것으로 본다.If an error occurs while recording the contents of some of the directories, the entire transaction is considered to have failed.

체크 포인트에 기록되는 내용은 체크 포인트가 기록되는 시점까지 진행된 업그레이드 상태 정보이다.The content recorded in the checkpoint is upgrade status information which has been progressed until the checkpoint is recorded.

예를 들어, 업그레이드 과정이 개념적으로 A, B, C, D의 네 가지 트랜잭션을 순서대로 수행하는 것과 동일하다고 할 때, 체크 포인트는 다음과 같이 기록할 수 있다.For example, suppose that the upgrade process is conceptually the same as performing four transactions A, B, C, and D in order. The checkpoint can be written as follows.

CO : A가 수행되기 전(업그레이드 전체 과정이 진행되기 전)CO: Before A is performed (before the whole upgrade process)

C1 : A가 성공적으로 종료되었고 B를 수행하기 전C1: A terminated successfully and before performing B

C2 : B가 성공적으로 종료되었고 C를 수행하기 전C2: B was terminated successfully and before running C

C3 : C가 성공적으로 종료되었고 D를 수행하기 전C3: C terminated successfully and before running D

C0 : D가 성공적으로 종료되었고 더 이상 수행할 작업이 없음(업그레이드 전체 과정이 종료됨)C0: D terminated successfully and there is nothing more to do (the upgrade process is complete)

만일, 가장 마지막에 기록된 체크 포인트가 C1이라면 이전 업그레이드 작업은 B를 수행하는 도중에 오류가 발생한 것이므로 다음 업그레이드 작업은 B부터 다시 시작하면 된다. If the last checkpoint recorded is C1, the previous upgrade operation is an error while performing B, and the next upgrade operation can be started again from B.

마찬가지로, 가장 마지막에 기록된 체크 포인트가 C3라면 다음 업그레이드 작업은 D부터 다시 시작하면 된다.Similarly, if the last checkpoint recorded is C3, the next upgrade will start again from D.

이전 업그레이드 과정 중, 가장 마지막에 기록된 체크 포인트가 C0인 경우, 이전 업그레이드는 성공적으로 종료되었음을 알 수 있고, 그렇지 않은 경우에는 도중에 오류가 발생했다고 판단할 수 있다.If the last checkpoint recorded during the previous upgrade process is C0, it can be known that the previous upgrade has been completed successfully. Otherwise, it can be determined that an error occurred along the way.

도 4는 본 발명의 소프트웨어 업그레이드 방법의 다른 실시예를 나타낸 순서도이다.4 is a flowchart illustrating another embodiment of the software upgrade method of the present invention.

이에 도시된 바와 같이, 먼저 소프트웨어의 업그레이드 명령이 입력되는지 확인하여(단계 S 200), 업그레이드 명령이 입력되면 이전 업그레이드 수행시 기록된 체크 포인트를 확인한다(단계 S 210).As shown in FIG. 1, first, check whether an upgrade command of the software is input (step S 200), and when the upgrade command is input, check points recorded when the previous upgrade is performed (step S 210).

즉, 소프트웨어의 업그레이드 명령이 입력되면, 이전 업그레이드 수행시 체크 포인트를 기록한 메모리에서 상기 소프트웨어의 업그레이드와 관련된 체크 포인트 정보를 읽어들인다.That is, when an upgrade command of the software is input, the checkpoint information related to the upgrade of the software is read from the memory in which the checkpoint was recorded during the previous upgrade.

다음으로, 상기 메모리에 기록된 체크 포인트가 기본 체크 포인트(C0)인지를 확인하여(단계 S 220), 기본 체크 포인트인 경우 처음부터 업그레이드 작업을 수행한다(단계 S 230). 이때, 특정 단위의 작업이 완료된 시점마다 체크 포인트를 기록한다.Next, it is checked whether the checkpoint recorded in the memory is the basic checkpoint C0 (step S220), and if the basic checkpoint is the upgrade operation from the beginning (step S230). At this time, a checkpoint is recorded every time a task of a specific unit is completed.

상기 단계 S 220의 확인 결과, 메모리에 기록된 체크 포인트가 기본 체크 포인트가 아닌 경우, 해당 체크 포인트 위치부터 업그레이드를 재개한다(단계 S 240).As a result of checking in step S220, if the checkpoint recorded in the memory is not the default checkpoint, the upgrade resumes from the corresponding checkpoint position (step S240).

이어서, 업그레이드 작업이 완료되는지를 확인하여(단계 S 250), 업그레이드 작업이 완료되면 상기 업그레이드 파티션을 기본 파티션으로 재지정한다(단계 S 260).Subsequently, it is checked whether the upgrade operation is completed (step S250), and when the upgrade operation is completed, the upgrade partition is reassigned to the primary partition (step S260).

즉, 새로운 버전의 소프트웨어가 저장된 업그레이드 파티션을 기본 파티션으로 지정하여, 새로운 버전의 소프트웨어를 통해 디지털 기기가 구동되도록 한다. 이때, 기존 소프트웨어가 저장된 기본 파티션은 업그레이드 파티션으로 변경되어 이후 업그레이드 작업 수행시 사용된다.That is, the upgrade partition in which the new version of the software is stored is designated as the primary partition so that the digital device is driven through the new version of the software. At this time, the default partition where the existing software is stored is changed to an upgrade partition and used for the subsequent upgrade operation.

이상에서 대표적인 실시예를 통하여 본 발명에 대하여 상세하게 설명하였으나, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자는 상술한 실시예에 대하여 본 발명의 범주에서 벗어나지 않는 한도 내에서 다양한 변형이 가능함을 이해할 것이다. Although the present invention has been described in detail with reference to exemplary embodiments above, those skilled in the art to which the present invention pertains can make various modifications to the above-described embodiments without departing from the scope of the present invention. I will understand.

그러므로 본 발명의 권리범위는 설명된 실시예에 국한되어 정해져서는 안 되며, 후술하는 특허청구범위 뿐만 아니라 이 특허청구범위와 균등한 것들에 의해 정해져야 한다. Therefore, the scope of the present invention should not be limited to the described embodiments, but should be defined by the claims below and equivalents thereof.

이상에서 살펴본 바와 같이, 본 발명에 의하면 저장 매체를 두 개의 파티션으로 나눈 후, 하나를 기본 파티션으로 이용하고 나머지 하나를 업그레이드 파티션으로 이용함으로써, 소프트웨어 업그레이드 수행 중에 오류가 발생하는 경우 롤백(Roll Back) 처리를 수행하여 소프트웨어의 업그레이드시 안정성을 높일 수 있게 된다.As described above, according to the present invention, after a storage medium is divided into two partitions, one is used as a primary partition and the other is used as an upgrade partition. The processing can be performed to improve the stability of the software upgrade.

그리고, 본 발명에서는 소프트웨어 업그레이드 과정 중에 특정 단위의 작업이 완료된 시점마다 체크 포인트(Check Point)를 기록함으로써, 업그레이드 과정 중 오류가 발생하여 업그레이드가 중단된 경우, 보다 효율적으로 업그레이드를 재개할 수 있다.In addition, the present invention records a checkpoint every time a specific unit of work is completed during the software upgrade process, and thus, when an error occurs during the upgrade process, the upgrade can be resumed more efficiently.

Claims (4)

저장 매체를 두 개의 파티션으로 구분한 후, 각각 기본 파티션과 업그레이드 파티션으로 지정하는 단계;Dividing the storage medium into two partitions and designating the storage medium as a primary partition and an upgrade partition, respectively; 상기 기본 파티션에 저장된 소프트웨어의 업그레이드 명령이 입력되면, 상기 업그레이드 파티션을 사용하여 상기 소프트웨어의 업그레이드 작업을 수행하는 단계; 및If an upgrade command of software stored in the basic partition is input, performing an upgrade operation of the software using the upgrade partition; And 상기 소프트웨어의 업그레이드 작업이 완료되면, 상기 업그레이드 파티션을 기본 파티션으로 재지정하는 단계를 포함하여 이루어지는 소프트웨어의 업그레이드 방법.And when the upgrade operation of the software is completed, reassigning the upgrade partition to the primary partition. 기본 파티션에 저장된 소프트웨어의 업그레이드 명령이 입력되면, 업그레이드 파티션을 사용하여 수행된 이전 업그레이드의 체크 포인트를 확인하는 단계;Identifying a checkpoint of a previous upgrade performed using the upgrade partition, when an upgrade command of the software stored in the primary partition is input; 상기 확인된 체크 포인트에 따라 해당 체크 포인트 위치부터 업그레이드 작업을 수행하는 단계; 및Performing an upgrade operation from a corresponding check point position according to the checked check point; And 상기 소프트웨어의 업그레이드 작업이 완료되면, 상기 업그레이드 파티션을 기본 파티션으로 지정하는 단계를 포함하여 이루어지는 소프트웨어의 업그레이드 방법.And when the upgrade operation of the software is completed, designating the upgrade partition as a primary partition. 제1항 또는 제2항에 있어서,The method according to claim 1 or 2, 상기 업그레이드 작업을 수행하는 단계는,The step of performing the upgrade operation, 일정 단위의 작업이 완료된 시점마다 체크 포인트를 메모리에 기록하는 것을 특징으로 하는 소프트웨어의 업그레이드 방법.A method of upgrading software, characterized in that a checkpoint is recorded in a memory every time a certain unit of work is completed. 제1항 또는 제2항에 있어서,The method according to claim 1 or 2, 상기 기본 파티션은 상기 기본 파티션에 저장된 소프트웨어를 실행시키는데만 사용되는 공간이고, 상기 업그레이드 파티션은 상기 기본 파티션에 저장된 소프트웨어를 업그레이드시키는데만 사용되는 공간인 것을 특징으로 하는 소프트웨어의 업그레이드 방법.The primary partition is a space used only for executing software stored in the primary partition, and the upgrade partition is a space used only for upgrading software stored in the primary partition.
KR1020070003769A 2007-01-12 2007-01-12 Method for upgrading software KR20080066381A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020070003769A KR20080066381A (en) 2007-01-12 2007-01-12 Method for upgrading software

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020070003769A KR20080066381A (en) 2007-01-12 2007-01-12 Method for upgrading software

Publications (1)

Publication Number Publication Date
KR20080066381A true KR20080066381A (en) 2008-07-16

Family

ID=39821261

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020070003769A KR20080066381A (en) 2007-01-12 2007-01-12 Method for upgrading software

Country Status (1)

Country Link
KR (1) KR20080066381A (en)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102385520A (en) * 2011-09-06 2012-03-21 四川金网通电子科技有限公司 USB (Universal Serial Bus) upgrading method based on partition name for digital television set-top box
CN102622280A (en) * 2011-01-06 2012-08-01 苏州科达科技有限公司 Control method and control device used for software version upgrade and based on dual file system
CN103440184A (en) * 2013-08-20 2013-12-11 浙江大学 Method for space-borne computer state rollback warm backup of pico-satellite
GB2532299A (en) * 2014-09-22 2016-05-18 Cambridge Silicon Radio Ltd Over-the-air updates for BLE devices
CN109240810A (en) * 2018-08-03 2019-01-18 腾讯科技(深圳)有限公司 task processing method, device and storage medium
CN110399156A (en) * 2019-07-26 2019-11-01 华东师范大学 In-orbit upgrade method towards Space Mission Software

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102622280A (en) * 2011-01-06 2012-08-01 苏州科达科技有限公司 Control method and control device used for software version upgrade and based on dual file system
CN102622280B (en) * 2011-01-06 2014-10-15 苏州科达科技股份有限公司 Control method and control device used for software version upgrade and based on dual file system
CN102385520A (en) * 2011-09-06 2012-03-21 四川金网通电子科技有限公司 USB (Universal Serial Bus) upgrading method based on partition name for digital television set-top box
CN103440184A (en) * 2013-08-20 2013-12-11 浙江大学 Method for space-borne computer state rollback warm backup of pico-satellite
CN103440184B (en) * 2013-08-20 2016-12-28 浙江大学 The method of one seed coat satellite carried computer state backrush warm spare
GB2532299A (en) * 2014-09-22 2016-05-18 Cambridge Silicon Radio Ltd Over-the-air updates for BLE devices
CN109240810A (en) * 2018-08-03 2019-01-18 腾讯科技(深圳)有限公司 task processing method, device and storage medium
CN109240810B (en) * 2018-08-03 2021-02-23 腾讯科技(深圳)有限公司 Task processing method and device and storage medium
CN110399156A (en) * 2019-07-26 2019-11-01 华东师范大学 In-orbit upgrade method towards Space Mission Software

Similar Documents

Publication Publication Date Title
US6601132B2 (en) Nonvolatile memory and method of writing data thereto
JP6431521B2 (en) Recovering an application from a snapshot
US20150186224A1 (en) Data storage device and flash memory control method
KR100415371B1 (en) Computer
US20060198202A1 (en) Flash memory backup system and method
JP2001209543A (en) Program rewriting method for flash microcomputer
TW200941217A (en) Data updating method, memory system and memory device
US8775758B2 (en) Memory device and method for performing a write-abort-safe firmware update
US20120151258A1 (en) System reset
US20090037648A1 (en) Input/output control method and apparatus optimized for flash memory
KR20040038712A (en) Power management block for use in a non-volatile memory system
JP2013520744A (en) Method and apparatus for generating minimum boot image
KR20080066381A (en) Method for upgrading software
US20160124845A1 (en) Data Storage Device and Flash Memory Control Method
EP2329368B1 (en) Updating content without using a mini operating system
WO2017000567A1 (en) Bootrom upgrading method and device
US10942811B2 (en) Data processing method for solid state drive
CN111158858A (en) Cloning method and device of virtual machine and computer readable storage medium
US6925522B2 (en) Device and method capable of changing codes of micro-controller
US20160124650A1 (en) Data Storage Device and Flash Memory Control Method
JP2009048557A (en) Data update device, data update method, and data update program
US9223697B2 (en) Computer reprogramming method, data storage medium and motor vehicle computer
CN115390880A (en) Firmware upgrading method and device, storage medium and electronic equipment
CN111694580A (en) Method and device for upgrading and initializing storage device and electronic device
US20070011394A1 (en) Access method and access circuit for flash memory in embedded system

Legal Events

Date Code Title Description
WITN Withdrawal due to no request for examination