KR100927446B1 - Transaction unit firmware upgrade method of mobile communication terminal and firmware upgrade system using same - Google Patents

Transaction unit firmware upgrade method of mobile communication terminal and firmware upgrade system using same Download PDF

Info

Publication number
KR100927446B1
KR100927446B1 KR1020070121803A KR20070121803A KR100927446B1 KR 100927446 B1 KR100927446 B1 KR 100927446B1 KR 1020070121803 A KR1020070121803 A KR 1020070121803A KR 20070121803 A KR20070121803 A KR 20070121803A KR 100927446 B1 KR100927446 B1 KR 100927446B1
Authority
KR
South Korea
Prior art keywords
firmware
patch
mobile communication
communication terminal
version
Prior art date
Application number
KR1020070121803A
Other languages
Korean (ko)
Other versions
KR20090055074A (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 KR1020070121803A priority Critical patent/KR100927446B1/en
Publication of KR20090055074A publication Critical patent/KR20090055074A/en
Application granted granted Critical
Publication of KR100927446B1 publication Critical patent/KR100927446B1/en

Links

Images

Landscapes

  • Stored Programmes (AREA)

Abstract

이동통신단말기에 탑재된 구 펌웨어의 버전을 확인하는 단계, 이동통신단말기에 탑재될 신 펌웨어의 버전을 확인하는 단계, 구 펌웨어를 신 펌웨어로 갱신하기 위하여 필요한 N개의 펌웨어 패치 세그먼트에 대한 정보를 포함한 패치 패키지를 확인하여 수신하는 단계 및 패치 패키지에 대응하여 N개의 펌웨어 패치 세그먼트를 순차적으로 이동통신단말기로 송신하고, 이동통신단말기에서 순차적으로 N개의 펌웨어 패치 세그먼트를 수신하여 이동통신단말기의 비휘발성 메모리에 기록하는 단계를 포함하여 이동통신단말기의 트랜잭션 단위 펌웨어 업그레이드 방법을 구성한다. 따라서, 펌웨어 갱신에 소요되는 시간을 줄여서 생산성을 향상시킬 수 있을 뿐 아니라, 이동통신단말기 내에 펌웨어 갱신을 위하여 필요로 하는 소요 메모리를 최소화시켜 대용량의 펌웨어를 갱신하는 것이 가능해진다.Checking the version of the old firmware on the mobile terminal, checking the version of the new firmware on the mobile terminal, and including information on the N firmware patch segments needed to update the old firmware to the new firmware. Identifying and receiving a patch package and sequentially transmitting N firmware patch segments to the mobile terminal in response to the patch package, and receiving N firmware patch segments sequentially from the mobile terminal, thereby receiving the nonvolatile memory of the mobile terminal. It comprises the step of recording in the transaction unit firmware configuration of the mobile communication terminal. Therefore, not only can it improve productivity by reducing the time required for firmware update, but also it is possible to update a large amount of firmware by minimizing required memory required for firmware update in a mobile communication terminal.

펌웨어, 업그레이드, 이동통신단말기 Firmware, Upgrade, Mobile Terminal

Description

이동통신단말기의 트랜잭션 단위 펌웨어 업그레이드 방법 및 이를 이용한 펌웨어 업그레이드 시스템{METHOD OF TRANSACTION-BASED FIRMWARE UPGRADE IN MOBILE TELEPHONE AND FIRMWARE UPGRADE SYSTEM THEREOF}Transaction unit firmware upgrade method of mobile communication terminal and firmware upgrade system using same {METHOD OF TRANSACTION-BASED FIRMWARE UPGRADE IN MOBILE TELEPHONE AND FIRMWARE UPGRADE SYSTEM THEREOF}

본 발명은 이동통신단말기의 펌웨어 업그레이드 방법 및 업그레이드 시스템에 관한 것으로, 더욱 상세하게는 이동통신단말기를 펌웨어 업그레이드를 수행하기 위한 컴퓨터 장치와 연결하여 신 버전 펌웨어와 구 버전 펌웨어의 블록 단위로 차이점을 추출한 패치 파일을 트랜잭션 단위로 수신하여 펌웨어를 업그레이드할 수 있는 방법 및 펌웨어 업그레이드 시스템에 관한 것이다.The present invention relates to a firmware upgrade method and an upgrade system of a mobile communication terminal, and more particularly, by connecting a mobile communication terminal with a computer device for performing a firmware upgrade, extracting differences in block units of a new version firmware and an old version firmware. The present invention relates to a method and a firmware upgrade system capable of upgrading firmware by receiving a patch file in a transaction unit.

최근의 이동통신단말기는 사용자의 요구를 반영하는 다양한 기능들을 수용하고 있다. 특히, 최근의 이동통신단말기는 제품 출시 단계에서 모든 개발이 완료되는 것이 아니라, 제품의 최초 출시 이후에도 끊임없이 탑재된 소프트웨어의 진화를 추구하고 있다. 또한, 이동통신단말기에는 콜-프로세싱(call-processing) 등의 이동통신단말기의 본연적인 기능뿐만 아니라, 다양한 부가기능들이 탑재되어 있는데, 이러한 기능들은 점차적으로 복잡화되어 가고 있을 뿐 아니라 탑재된 어플리케이션들의 크기 역시도 증가되어 가고 있는 추세이다. 통상적으로 이동통신단말기 소프 트웨어는 펌웨어(firmware)로서 이동통신단말기 내부의 비휘발성 메모리(non-volatile memory) 소자에 저장된다.Recently, a mobile communication terminal accommodates various functions reflecting user's needs. In particular, the recent mobile communication terminal is not all development is completed at the product release stage, but also pursues the evolution of software that is constantly loaded even after the initial release of the product. In addition, the mobile communication terminal is equipped with various additional functions as well as the inherent functions of the mobile communication terminal such as call-processing, and these functions are not only gradually becoming complicated, but also the size of the installed applications. It is also increasing. In general, the mobile communication terminal software is stored as a firmware in a non-volatile memory device inside the mobile communication terminal.

따라서, 이동통신단말기의 개발 및 생산 업체의 경우에는 제품 최초 출시 이후 단계에서도 출시된 제품에 탑재된 펌웨어의 수정, 보완 작업을 지속적으로 진행한다. 이동통신단말기와 같이 라이프사이클(life-cycle)이 극도로 짧은 제품의 경우나, 끊임없이 개선하고 보완하여야 하는 소프트웨어의 관점에서는 핵심적인 기능들의 완전성이 담보된다면 시장에 출시를 하고, 세부적인 문제점들은 지속적인 수정, 보완 작업으로 해결해나가는 것이 필요할 수 있기 때문이다. 이러한 수정, 보완 작업의 대상은 제품 출시 이후에 발견된 이동통신단말기의 기능적 장애 사항을 해결하기 위한 것일 수도 있으며, 보다 완벽한 제품을 위한 기능 추가나 사용자의 요구사항들을 반영한 기능 보완 및 수정일 수 있다.Therefore, the development and production companies of mobile communication terminals continue to modify and supplement firmware on the released products even after the initial release of the product. In the case of products with extremely short life-cycles, such as mobile communication terminals, or in terms of software that needs to be constantly improved and supplemented, if the integrity of the core functions is ensured, the market is released. It may be necessary to fix the problem by correcting or supplementing it. The target of such correction and supplementary work may be to solve functional obstacles of the mobile communication terminal discovered after the product is released, and may be the addition of a function for a more perfect product or the supplementation and correction reflecting user requirements.

특히, 이동통신단말기의 양산 과정에 있어서는, 이동통신단말기의 조립 공정에 소요되는 시간 및 부품 재고 부담을 줄이고 시장에 대한 즉각적인 출시를 가능하도록 하기 위해서 소프트웨어에 대한 보완 및 수정 작업이 계속되는 상태에서도, 생산을 시작하여 일정량의 양산 물량을 미리 완성하는 경우가 많다. 예컨대, 일단 출시 상태의 펌웨어 버전을 확정하고 모델별로 생산 라인에서 생산을 하게 되는 것이다. 따라서, 생산 라인에서 초기 버전의 펌웨어를 탑재하게 된 이후에도 실제 출시단계에서는 아주 작은 펌웨어의 변경이 반영되어 이미 탑재된 펌웨어를 갱신할 필요성이 생기게 된다. In particular, in the mass production process of the mobile communication terminal, even in the state of continuing to supplement and modify the software in order to reduce the time and parts inventory burden on the assembly process of the mobile communication terminal and enable the immediate release to the market. In many cases, a certain amount of mass production is completed in advance. For example, once a firmware version is released, it is produced on a production line by model. Therefore, even after the initial line of firmware is mounted on the production line, there is a need to update the firmware already installed in the actual release stage by reflecting a very small change of firmware.

통상적으로 이동통신단말기에 탑재되는 비휘발성 메모리로는 NAND 플래시 메 모리 또는 NOR 플래시 메모리가 이용되는데, 현재 이동통신단말기의 소프트웨어는 다양한 기능을 수용하기 위하여 그 용량이 지속적으로 증가하고 있는 추세이다. 예컨대, 최근의 이동통신단말기의 경우에는 32메가바이트(megabyte) 이상의 비휘발성 메모리에 소프트웨어가 탑재되는 경우가 많아지고 있으며, 이 용량 또한 증가되고 있는 추세이다.In general, NAND flash memory or NOR flash memory is used as a nonvolatile memory mounted in a mobile communication terminal. Currently, the capacity of the software of the mobile communication terminal is continuously increasing to accommodate various functions. For example, in recent mobile communication terminals, software is often installed in non-volatile memory of 32 megabytes or more, and this capacity is also increasing.

이 경우, 이동통신단말기에 탑재된 메모리에 소프트웨어를 업그레이드시키기 위하여서는 비휘발성 메모리에 탑재된 전체 메모리의 내용을 지우고(erase), 새로운 버전의 소프트웨어를 기록하게 되는 방식이 주로 이용된다. 따라서, 이동통신단말기 1대당 약 3~4분(NOR 플래시 메모리, 32메가바이트 기준)에서 10분(NAND 플래시 메모리, 32메가바이트 기준)이 소요된다. 이는 생산 라인에 있어서, 상당한 부담으로 작용되어 생산성 향상에 지장을 주게 된다. 실제 탑재되는 펌웨어의 변경은 전체 펌웨어의 크기 대비 1~2% 이하의 차이만을 가져오는 경우가 대부분이지만 전면적인 펌웨어의 갱신에 소모되는 시간은 생산성에 나쁜 영향을 주게 되는 것이다.In this case, in order to upgrade the software in the memory mounted in the mobile communication terminal, a method of erasing the contents of the entire memory mounted in the nonvolatile memory and recording a new version of the software is mainly used. Therefore, it takes about 3-4 minutes (NOR flash memory, 32 megabytes) to 10 minutes (NAND flash memory, 32 megabytes) per mobile communication terminal. This puts a significant burden on the production line, which hinders productivity improvement. Actually, the change of the firmware is usually only a difference of less than 1 ~ 2% compared to the size of the entire firmware, but the time spent for updating the firmware in general will adversely affect productivity.

특히, 이동통신단말기의 펌웨어 업그레이드를 위해서는, 이동통신단말기와 이동통신단말기의 펌웨어를 업그레이드할 수 있는 컴퓨터 장치를 소정의 인터페이스 방식으로 연결하여 이동통신단말기의 비휘발성 메모리를 지우고 새로운 버전의 소프트웨어를 기록하는 공정이 이루어지는데, 전체 생산 공정에서 상당한 병목(bottle neck)으로 작용될 수 있다. 이를 위한 해결로서, 새로운 버전의 펌웨어 전체 또는 구 버전과 신 버전의 펌웨어의 차이점만을 포함한 파일을 이동통신단말기에 다운로드하고 이동통신단말기 자체적으로 펌웨어를 갱신하는 방식이 이용될 수 있다. 즉, 펌웨어 갱신을 위하여 이동통신단말기와 펌웨어 업그레이드를 위한 컴퓨터 장치가 펌웨어 갱신 공정 동안 지속적으로 연결되어있어야 하는 문제를 해결하기 위한 것이다.In particular, in order to upgrade the firmware of the mobile communication terminal, the mobile communication terminal and a computer device capable of upgrading the firmware of the mobile communication terminal are connected by a predetermined interface method to erase the nonvolatile memory of the mobile communication terminal and record a new version of the software. This can be a significant bottle neck in the overall production process. As a solution for this, a method of downloading a file including only the whole new version of the firmware or a difference between the old version and the new version of the firmware to the mobile communication terminal and updating the firmware by the mobile communication terminal itself can be used. That is, to solve the problem that the mobile communication terminal and the computer device for the firmware upgrade must be continuously connected during the firmware update process for the firmware update.

그러나, 이 경우의 문제점은 새로운 버전의 펌웨어 전체를 수용할 수 있는 메모리 공간이 이동통신단말기 내에 확보되어 있어야 하며, 구 버전과 신 버전의 펌웨어의 차이점만을 포함한 파일을 이용할 경우에도 구 버전과 신 버전의 펌웨어의 전체 차이점을 포함한 파일을 수용할 수 있는 메모리 공간이 이동통신단말기 내에 확보되어 있어야 한다는 점이다. 상술한 바와 같이, 이동통신단말기의 소프트웨어 용량이 지속적으로 증대되고 있는 추세이므로 전자의 경우나 후자의 경우나 이동통신단말기 내에 충분한 여유 메모리 공간을 마련하기는 어렵다는 문제점이 있다.However, the problem in this case is that a memory space must be secured in the mobile communication terminal to accommodate the new version of the whole firmware, and even if a file including only the difference between the old and new versions of the firmware is used, In other words, it is necessary to have a memory space in the mobile communication terminal to accommodate the file including the overall difference of the firmware. As described above, since the software capacity of the mobile communication terminal is continuously increasing, it is difficult to provide sufficient free memory space in the former case, the latter case, or the mobile communication terminal.

상기와 같은 문제점을 해결하기 위한 본 발명의 목적은 이동통신단말기에 탑재되는 펌웨어를 신속하게 갱신하기 위하여, 이동통신단말기에 탑재되어 있는 구 버전의 펌웨어와 갱신 대상이 되는 신 버전의 펌웨어의 차이점을 블록 단위로 분할, 비교하여 생성된 패치파일을 이용하여 패치파일 단위로 이동통신단말기의 펌웨어를 갱신할 수 있도록 하는 이동통신단말기의 펌웨어 업그레이드 방법을 제공하는데 있다.An object of the present invention for solving the above problems is to solve the difference between the firmware of the old version and the new version of the firmware to be updated in order to quickly update the firmware mounted on the mobile communication terminal. The present invention provides a method of upgrading a firmware of a mobile communication terminal to update firmware of a mobile communication terminal by a patch file by using a patch file generated by dividing and comparing blocks.

상기와 같은 문제점을 해결하기 위한 본 발명의 다른 목적은 이동통신단말기에 탑재되는 펌웨어를 신속하게 갱신하기 위하여, 이동통신단말기에 탑재되어 있는 구 버전의 펌웨어와 갱신 대상이 되는 신 버전의 펌웨어의 차이점을 블록 단위로 분할, 비교하여 생성된 패치파일을 이용하여 패치파일 단위로 이동통신단말기의 펌웨어를 갱신할 수 있도록 하는 이동통신단말기의 펌웨어 업그레이드 시스템을 제공하는데 있다.Another object of the present invention for solving the above problems is to differentiate between the firmware of the old version and the new version of the firmware to be updated in order to quickly update the firmware mounted on the mobile communication terminal The present invention provides a firmware upgrade system for a mobile communication terminal that can update firmware of a mobile communication terminal by a patch file by using a patch file generated by dividing and comparing the data into blocks.

상기 목적을 달성하기 위한 본 발명은, 이동통신단말기의 펌웨어를 업그레이드시키기 위한 컴퓨터 장치와 이동통신단말기를 소정의 인터페이스 방식으로 연결하여 상기 이동통신단말기의 펌웨어를 업그레이드하는 방법에 있어서, 상기 이동통신단말기에 탑재된 구 펌웨어의 버전을 확인하는 구 펌웨어 버전 확인 단계, 상기 이동통신단말기에 탑재될 신 펌웨어의 버전을 확인하는 신 펌웨어 버전 확인 단계, 상기 구 펌웨어를 상기 신 펌웨어로 갱신하기 위하여 필요한 N개의 펌웨어 패치 세그먼트에 대한 정보를 포함한 패치 패키지를 확인하여 수신하는 패치 패키지 확인 및 수신 단계와 상기 패치 패키지에 대응하여 상기 N개의 펌웨어 패치 세그먼트를 순차적으로 상기 이동통신단말기로 송신하고, 상기 이동통신단말기에서 순차적으로 상기 N개의 펌웨어 패치 세그먼트를 수신하여 상기 이동통신단말기의 비휘발성 메모리에 기록하는 펌웨어 세그먼트 패치 단계를 포함한 이동통신단말기의 트랜잭션 단위 펌웨어 업그레이드 방법을 제공한다.In order to achieve the above object, the present invention provides a method for upgrading the firmware of the mobile communication terminal by connecting a computer device for upgrading the firmware of the mobile communication terminal and the mobile communication terminal in a predetermined interface method. Old firmware version checking step of checking the version of the old firmware mounted on, New firmware version checking step of checking the version of the new firmware to be mounted on the mobile communication terminal, N N necessary to update the old firmware to the new firmware A patch package checking and receiving step for checking and receiving a patch package including information on a firmware patch segment and sequentially transmitting the N firmware patch segments to the mobile communication terminal in response to the patch package, and at the mobile communication terminal The N sequentially A method of upgrading a transaction unit firmware of a mobile communication terminal including a firmware segment patch step of receiving a firmware patch segment and writing the firmware patch segment into a nonvolatile memory of the mobile communication terminal.

여기에서, 상기 N개의 펌웨어 패치 세그먼트는 상기 구 펌웨어와 상기 신 펌웨어를 대응되는 블록단위로 분할하고 비교하여 생성된 차이점을 포함한 패치 데이터, 상기 패치 데이터가 기록되어야 할 상기 비휘발성 메모리내의 위치 정보 및 상기 패치 데이터의 길이 정보를 포함하여 구성될 수 있다. 이때, 상기 패치 데이터의 단위 크기는 상기 비휘발성 메모리를 구성하는 섹터(sector)의 크기로 구성되는 것이 바람직하다.Here, the N firmware patch segments include patch data including a difference generated by dividing and comparing the old firmware and the new firmware in corresponding block units, location information in the nonvolatile memory in which the patch data is to be written, and It may be configured to include the length information of the patch data. In this case, the unit size of the patch data is preferably configured to be the size of a sector constituting the nonvolatile memory.

여기에서, 상기 패치 패키지는 상기 구 펌웨어의 버전과 상기 신 펌웨어의 버전을 식별값으로 하여 인식되며, 상기 펌웨어 패치 세그먼트에는 각각 소정의 식별값이 부여되며, 상기 패치 패키지는 상기 구 펌웨어를 상기 신 펌웨어로 갱신하기 위하여 필요한 N개의 펌웨어 패치 세그먼트의 식별값들을 포함하여 구성될 수 있다. Here, the patch package is recognized using the version of the old firmware and the version of the new firmware as identification values, and a predetermined identification value is given to the firmware patch segment, respectively, and the patch package is configured to install the old firmware. It may be configured to include identification values of the N firmware patch segments required for updating to the firmware.

상기 다른 목적을 달성하기 위한 본 발명은, 이동통신단말기의 펌웨어를 업그레이드시키기 위한 패치 컴퓨터 장치와 이동통신단말기를 소정의 인터페이스 방 식으로 연결하여 상기 이동통신단말기의 펌웨어를 업그레이드하는 시스템에 있어서, 상기 이동통신단말기에 탑재된 구 펌웨어의 버전과 탑재될 신 펌웨어의 버전에 대응된 N개의 펌웨어 패치 세그먼트들 및 상기 N개의 펌웨어 패치 세그먼트들에 대한 정보를 포함한 패치 패키지를 저장하고 있는 패치 패키지 서버, 상기 이동통신단말기에 탑재된 구 펌웨어 버전을 수신하여, 상기 패치 패키지 서버로 전송하고, 상기 패치 패키지 서버로부터 상기 구 펌웨어 버전에 대응되는 패치 패키지를 수신하여, 상기 패치 패키지에 의하여 상기 N개의 펌웨어 패치 세그먼트를 상기 패치 패키지 서버로부터 수신하여 순차적으로 상기 이동통신단말기에 전송하는 패치 컴퓨터 장치 및 상기 N개의 펌웨어 패치 세그먼트를 상기 패치 컴퓨터 장치로부터 순차적으로 수신하여 비휘발성 메모리에 기록하는 이동통신단말기를 포함한 트랜잭션 단위 펌웨어 업그레이드 시스템을 제공한다.In another aspect of the present invention, there is provided a system for upgrading firmware of a mobile communication terminal by connecting a patch computer device for upgrading firmware of a mobile communication terminal and a mobile communication terminal in a predetermined interface method. A patch package server storing a patch package including information on the N firmware patch segments and the N firmware patch segments corresponding to the version of the old firmware and the new firmware to be mounted on the mobile communication terminal, Receive the old firmware version mounted on the mobile communication terminal, transmit to the patch package server, receive a patch package corresponding to the old firmware version from the patch package server, and the N firmware patch segments by the patch package From the patch package server It provides a transaction-based firmware upgrade system including a patch computer device for receiving and sequentially transmitting to the mobile communication terminal and a mobile communication terminal for receiving the N firmware patch segments sequentially from the patch computer device to write to the non-volatile memory. .

여기에서, 상기 소정의 인터페이스 방식은 직렬 또는 병렬 유선 인터페이스가 이용될 수 있다.Here, the predetermined interface scheme may use a serial or parallel wired interface.

여기에서, 상기 패치 패키지 서버와 상기 패치 컴퓨터 장치는 로컬 에이리어 네트워크(LAN)를 통하여 연결될 수 있다. Here, the patch package server and the patch computer device may be connected through a local area network (LAN).

여기에서, 상기 패치 패키지 서버는 복수개의 패치 패키지를 저장하고 있는 패치 패키지 데이터베이스 및 복수개의 펌웨어 패치 세그먼트를 저장하고 있는 펌웨어 패치 세그먼트 데이터베이스를 포함하여 구성될 수 있다.Here, the patch package server may include a patch package database storing a plurality of patch packages and a firmware patch segment database storing a plurality of firmware patch segments.

여기에서, 상기 N개의 펌웨어 패치 세그먼트는 상기 구 펌웨어와 상기 신 펌웨어를 대응되는 블록단위로 분할하고 비교하여 생성된 차이점을 포함한 패치 데이 터, 상기 패치 데이터가 기록되어야 할 상기 이동통신단말기의 비휘발성 메모리내의 위치 정보 및 상기 패치 데이터의 길이 정보를 포함하여 구성될 수 있다. 이때, 상기 패치 데이터의 단위 크기는 상기 비휘발성 메모리를 구성하는 섹터(sector)의 크기로 구성되는 것이 바람직하다.Here, the N firmware patch segments are patch data including a difference generated by dividing and comparing the old firmware and the new firmware in corresponding block units, and the nonvolatileness of the mobile communication terminal in which the patch data is to be recorded. Location information in a memory and length information of the patch data. In this case, the unit size of the patch data is preferably configured to be the size of a sector constituting the nonvolatile memory.

여기에서, 상기 패치 패키지 정보는 상기 구 펌웨어의 버전과 상기 신 펌웨어의 버전을 식별값으로 하여 인식되며, 상기 펌웨어 패치 세그먼트는 소정의 일련번호가 부여되며, 상기 패치 패키지 정보는 상기 구 펌웨어를 상기 신 펌웨어로 갱신하기 위하여 필요한 N개의 펌웨어 패치 세그먼트의 일련번호들을 포함하여 구성될 수 있다.Here, the patch package information is recognized using the version of the old firmware and the version of the new firmware as identification values, the firmware patch segment is given a predetermined serial number, and the patch package information indicates the old firmware. It may be configured to include the serial numbers of the N firmware patch segments required to update to the new firmware.

상기와 같은 본 발명의 이동통신단말기의 펌웨어 업그레이드 방법에 따르면, 전체적인 펌웨어의 갱신이 아니라, 구 펌웨어와 신 펌웨어의 차이점만을 추출한 패치 데이터를 통하여 펌웨어 갱신을 수행함으로써, 펌웨어 갱신에 소요되는 시간을 줄여서 생산성을 향상시킬 수 있다. 특히, 이동통신단말기에 탑재된 펌웨어의 용량이 점차적으로 대용량화되어 가는 관계로 펌웨어 갱신으로 인하여 생산라인에서 지체되는 시간을 줄일 수 있다는 점에서 의의가 있다.According to the firmware upgrade method of the mobile communication terminal of the present invention as described above, by updating the firmware through the patch data extracted only the difference between the old firmware and the new firmware, instead of updating the overall firmware, the time required for the firmware update is reduced. Productivity can be improved. In particular, since the capacity of the firmware mounted in the mobile communication terminal is gradually increased in capacity, it is meaningful in that it can reduce the time delay in the production line due to the firmware update.

또한, 트랜잭션 단위로 분할된 펌웨어 패치 세그먼트를 순차적으로 수신하여 비휘발성 메모리에 기록하는 절차로 수행하는 것에 의하여 이동통신단말기 내에 펌웨어 갱신을 위하여 필요한 소요 메모리를 최소화시켜 대용량의 펌웨어를 갱신하는 것이 가능해진다.In addition, by performing a procedure of sequentially receiving a firmware patch segment divided by a transaction and writing it to a nonvolatile memory, it is possible to update a large amount of firmware by minimizing required memory for firmware update in a mobile communication terminal. .

이하 본 발명에 따른 이동통신단말기로 광고정보를 전달하는 광고 장치의 바람직한 실시예를 첨부된 도면을 참조하여 상세하게 설명한다. Hereinafter, a preferred embodiment of an advertisement device for delivering advertisement information to a mobile communication terminal according to the present invention will be described in detail with reference to the accompanying drawings.

도 1은 본 발명에 따른 트랜잭션 단위 펌웨어 업그레이드 방법의 일 실시예를 보여주는 순서도이다.1 is a flowchart illustrating an embodiment of a transactional firmware upgrade method according to the present invention.

먼저, 본 발명에 따른 트랜잭션 단위 펌웨어 업그레이드 방법은 이동통신단말기의 펌웨어를 업그레이드시키기 위한 컴퓨터 장치와 이동통신단말기를 소정의 인터페이스 방식으로 연결하여 상기 이동통신단말기의 펌웨어를 업그레이드하는 시스템에서 수행되는 것을 기본으로 한다.First, the transaction-based firmware upgrade method according to the present invention is basically performed in a system for upgrading the firmware of the mobile communication terminal by connecting the computer device for upgrading the firmware of the mobile communication terminal and the mobile communication terminal in a predetermined interface method. It is done.

도 1을 참조하면, 본 발명에 따른 트랜잭션 단위 펌웨어 업그레이드 방법은 구 펌웨어 버전 확인 단계(S110), 신 펌웨어 버전 확인 단계(S120), 패치 패키지 정보 확인 및 수신 단계(S130) 및 펌웨어 세그먼트 패치 단계(S140)를 포함하여 구성될 수 있다.Referring to Figure 1, the transaction unit firmware upgrade method according to the present invention is the old firmware version check step (S110), the new firmware version check step (S120), patch package information check and receive step (S130) and firmware segment patch step ( S140) may be configured to include.

구 펌웨어 버전 확인 단계(S110)는 이동통신단말기에 탑재된 현재 펌웨어(즉, 구 펌웨어)의 버전을 확인하는 단계이다. 통상적으로 이동통신단말기에 장착된 비휘발성 메모리의 미리 지정된 특정 위치에 기록된 펌웨어의 버전을 읽어오거나, 소정의 커맨드를 이동통신단말기를 전송하고, 소정의 커맨드에 대한 답변으로 현재 탑재된 펌웨어의 버전을 수신하는 방식으로 동작될 수 있다.Old firmware version check step (S110) is a step of checking the version of the current firmware (that is, the old firmware) mounted on the mobile communication terminal. Typically, a version of the firmware recorded in a predetermined specific location of a nonvolatile memory installed in the mobile communication terminal is read, or a predetermined command is transmitted, and the version of the firmware currently loaded in response to the predetermined command. It can be operated in such a way as to receive.

신 펌웨어 버전 확인 단계(S120)는 상기 이동통신단말기에 탑재될 신 펌웨어 의 버전을 확인하는 단계이다. 신 펌웨어 버전 확인 단계(S130)에서는 앞선 구 펌웨어 버전 확인 단계(S110)에서 확인한 구 펌웨어의 버전에 대응하여 새롭게 갱신되어야 할 신 펌웨어의 버전을 확인하기 위한 절차이다. 미리 지정된 펌웨어 업그레이드 정책(policy)에 의하여서 또는 생산 시방에 의하여 구 펌웨어 버전에 대하여 갱신되어야할 신 펌웨어의 버전이 결정될 수 있다.New firmware version check step (S120) is a step of checking the version of the new firmware to be mounted in the mobile communication terminal. The new firmware version check step (S130) is a procedure for checking the version of the new firmware to be newly updated corresponding to the old firmware version checked in the previous old firmware version check step (S110). The version of the new firmware to be updated for the old firmware version may be determined by a predefined firmware upgrade policy or by the production specification.

패치 패키지 확인 및 수신 단계(S130)는 현재 탑재된 구 펌웨어의 버전과 탑재되어야할 신 펌웨어의 버전을 이용하여 업그레이드의 진행여부를 결정하고 상기 구 펌웨어를 상기 신 펌웨어로 갱신하기 위하여 패치 패키지(patch package)를 확인 및 수신하는 단계이다.Checking and receiving the patch package step (S130) is a patch package (package) to determine whether to proceed with the upgrade using the version of the old firmware and the new firmware to be mounted and update the old firmware to the new firmware (S130) package).

상기 구 펌웨어 버전 확인 단계(S110)에서 확인한 구 펌웨어의 버전에 따라서는 탑재되어야할 펌웨어가 이동통신단말기 상에 이미 탑재되어 있을 수가 있다. 만일, 이동통신단말기에 탑재되어 있는 현재 펌웨어의 버전이 탑재되어야할 신 펌웨어의 버전과 동일한지를 판단하여(S131) 동일한 경우에는 이후의 펌웨어 업그레이드 절차는 진행되지 아니한다. 한편, 여기에서 구 펌웨어와 신 펌웨어는 반드시 신 펌웨어가 구 펌웨어에 비하여 버전이 높은 것임을 의미하지는 않을 것이다. 왜냐하면, 이동통신단말기에 탑재된 현재 펌웨어의 버전이 탑재되어야할 펌웨어의 버전보다 높은 경우도 있을 수 있기 때문이다. 예컨대, 이동통신단말기에 탑재된 펌웨어의 버전이 탑재되어야할 펌웨어의 버전보다 높을지라도 필요에 따라서는 다운그레이드가 필요한 경우가 있을 수 있기 때문이다. 따라서, 여기에서 구 펌웨어(old firmware)와 신 펌웨어(new firmware)의 의미는 현재 탑재되어있는 펌웨어 (즉, 구 펌웨어)에 대응하여 탑재되어야할 펌웨어(즉, 신 펌웨어)로 정의될 것이다.Depending on the version of the old firmware checked in the step S110 of checking the old firmware, the firmware to be mounted may already be mounted on the mobile communication terminal. If it is determined whether the version of the current firmware mounted on the mobile communication terminal is the same as the version of the new firmware to be mounted (S131), then the subsequent firmware upgrade procedure does not proceed. On the other hand, the old firmware and the new firmware here will not necessarily mean that the new firmware is a higher version than the old firmware. This is because the version of the current firmware mounted on the mobile communication terminal may be higher than the version of the firmware to be mounted. For example, even if the version of the firmware mounted on the mobile communication terminal is higher than the version of the firmware to be mounted, it may be necessary to downgrade if necessary. Thus, the meaning of old firmware and new firmware here will be defined as firmware (ie new firmware) to be loaded corresponding to the firmware currently mounted (ie, old firmware).

다음으로, 패치 패키지 정보 확인 및 수신 단계(S130)에서는 상기 구 펌웨어를 상기 신 펌웨어로 갱신하기 위하여 필요한 N개의 펌웨어 패치 세그먼트에 대한 정보를 포함한 패치 패키지 정보를 확인(S132)하고 수신(S133)하는 절차를 수행한다.Next, in the step of checking and receiving patch package information (S130), the patch package information including information on N firmware patch segments required for updating the old firmware to the new firmware is checked (S132) and received (S133). Perform the procedure.

패치 패키지는 탑재되어 있는 구 펌웨어의 버전과 신 펌웨어의 버전을 식별값(identification)으로 하여 고유하게 인식되어 질 수 있다.The patch package can be uniquely recognized by using the version of the old firmware and the version of the new firmware as identification.

도 2는 본 발명에 따른 트랜잭션 단위 펌웨어 업그레이드 방법에서 이용될 수 있는 패치 패키지의 구성예를 보여주는 개념도이다.2 is a conceptual diagram illustrating a configuration example of a patch package that may be used in a transactional firmware upgrade method according to the present invention.

도 2를 참조하면, 패치 패키지들(210, 220, 230)은 구 펌웨어의 버전(211, 221, 231)과 신 펌웨어의 버전(212, 222, 232)에 의하여 인식될 수 있다. 즉, 다수개의 패치 패키지가 대응되는 구 펌웨어의 버전과 신 펌웨어의 버전에 의하여 고유하게 정의되어질 수 있다.Referring to FIG. 2, the patch packages 210, 220, and 230 may be recognized by versions 211, 221, and 231 of the old firmware and versions 212, 222, and 232 of the new firmware. That is, a plurality of patch packages may be uniquely defined by the version of the old firmware and the version of the new firmware.

예컨대, 패치 패키지 #1(210)은 버전(3.11)을 가지는 구 펌웨어를 버전(3.12)을 가지는 신 펌웨어로 갱신하기 위하여 필요한 패치 패키지이다. 패치 패키지 #2(220)는 펌웨어 버전(3.16)을 가지는 구 펌웨어를 버전(3.17)을 가지는 신 펌웨어로 갱신하기 위하여 필요한 패치 패키지이다. 마찬가지로 패치 패키지 #3(230)은 버전(4.01)을 가지는 구 펌웨어를 버전(4.00)을 가지는 신 펌웨어로 갱신하기 위하여 필요한 패치 패키지이다.For example, patch package # 1 210 is a patch package necessary for updating an old firmware having a version (3.11) to a new firmware having a version (3.12). Patch package # 2 220 is a patch package required for updating an old firmware having a firmware version (3.16) to a new firmware having a version (3.17). Similarly, patch package # 3 230 is a patch package required for updating an old firmware having a version (4.01) to a new firmware having a version (4.00).

상술한 바와 같이, 패치 패키지#1과 패치 패키지#2는 각각 버전(3.11)과 버전(3.13)을 가지는 펌웨어를 버전(3.12)과 버전(3.17)을 가지는 펌웨어로 상향 업그레이드시키는 패치 패키지를 예시한 것이지만, 패치 패키지#3은 버전(4.01)을 가지는 펌웨어를 버전(4.00)을 가지는 펌웨어로 하향 다운그레이드(down-grade)시키는 패치 패키지를 예시한 것이라 할 수 있다. 따라서, 본 명세서에서 의미하는 ‘업그레이드’의 의미는 펌웨어의 버전을 상향하여 갱신한다는 의미보다는 펌웨어의 버전을 변경한다는 의미(renewal)로서 해석될 수 있다.As described above, patch package # 1 and patch package # 2 illustrate a patch package that upgrades firmware having a version (3.11) and a version (3.13) to firmware having a version (3.12) and a version (3.17), respectively. However, patch package # 3 may be exemplified as a patch package that down-grades firmware having a version (4.01) to firmware having a version (4.00). Therefore, the meaning of "upgrade" in the present specification may be interpreted as changing the version of firmware rather than updating the version of firmware upward.

한편, 패치 패키지는 복수개의 펌웨어 패치 세그먼트(firmware patch segment)들을 직접 포함하거나 링크하고 있다. 예를 들면, 패치 패키지 #1(210)은 N개의 펌웨어 패치 세그먼트들을 포함하여 구성되며, 패치 패키지 #2(220)는 M개의 펌웨어 패치 세그먼트들을 포함하여 구성되는 것으로 예시되어 있다. 펌웨어 패치 세그먼트들에는 각각 고유한 식별값(ID)이 부여되며, 동일한 펌웨어 패치 세그먼트들이 여러 개의 패치 패키지에 포함되어 구성될 수 있다. 예컨대, 각 패치 패키지가 지향하는 구 펌웨어는 동일하고 신 펌웨어들 간에는 미소한 차이가 존재하는 경우에는 패치 패키지들에 포함되는 펌웨어 패치 세그먼트들은 대부분 동일하고, 일부에서만 차이가 있을 수 있다. 패치 패키지는 펌웨어 패치 세그먼트들을 직접적으로 포함할 필요는 없이, 대응되는 펌웨어 패치 세그먼트들의 식별값들만을 수록하여 펌웨어 패치 세그먼트 데이터베이스 내에 저장되어 있는 펌웨어 패치 세그먼트들을 링크(link)하고 있을 수 있다.In the meantime, the patch package directly includes or links a plurality of firmware patch segments. For example, patch package # 1 210 is illustrated as including N firmware patch segments, and patch package # 2 220 is illustrated as including M firmware patch segments. Each firmware patch segment is assigned a unique identification value (ID), and the same firmware patch segments may be included in several patch packages. For example, when the old firmware to which each patch package is directed is the same and there is a slight difference between new firmwares, the firmware patch segments included in the patch packages are mostly the same, and only some may be different. The patch package does not need to directly include firmware patch segments, but may only link the firmware patch segments stored in the firmware patch segment database by including only identification values of corresponding firmware patch segments.

도 3은 본 발명에 따른 트랜잭션 단위 펌웨어 업그레이드 방법에서 이용될 수 있는 패치 패키지의 구성예를 보여주는 개념도이다.3 is a conceptual diagram illustrating a configuration example of a patch package that may be used in a transactional firmware upgrade method according to the present invention.

도 3을 참조하면, 펌웨어 패치 세그먼트(firmware patch segment)는 구 펌웨어를 상기 신 펌웨어로 갱신하기 위하여 필요한 블록 단위의 패치 데이터(patch data; 302)와 상기 패치 데이터가 기록되어야 할 비휘발성 메모리내의 위치 정보(location information; 303) 및 패치 데이터의 길이 정보(length information; 304)를 포함하여 구성될 수 있다. 또한, 상술한 바와 같이, 패치 패키지가 포함되어야 할 펌웨어 패치 세그먼트들을 고유하게 식별할 수 있는 식별값(ID; 301)을 포함하여 구성될 수 있다.Referring to FIG. 3, a firmware patch segment is a block data patch data 302 necessary for updating old firmware to the new firmware and a location in a nonvolatile memory in which the patch data is to be written. Location information 303 and length information 304 of patch data. In addition, as described above, it may be configured to include an identification value (ID) 301 that can uniquely identify the firmware patch segments that should be included in the patch package.

펌웨어 패치 세그먼트에 포함되는 패치 데이터(301)는 현재 탑재되어 있는 버전의 펌웨어(즉, 구 펌웨어)와 상기 탑재되어야 할 버전의 펌웨어(즉, 신 펌웨어)를 바이너리 상태로 블록 단위로 분할 비교하여 차이가 있는 블록 단위를 추출하여 구성되는 데이터이다. The patch data 301 included in the firmware patch segment differs by dividing the currently installed version of firmware (that is, the old firmware) and the firmware of the version to be mounted (ie, the new firmware) into a binary unit in block units. It is data composed by extracting the block unit with.

이때, 구 펌웨어와 신 펌웨어를 비교하여 패치 데이터를 생성하는 블록 단위는 비휘발성 메모리의 섹터(sector) 단위로 구성하는 것이 바람직하다. 왜냐하면, 비휘발성 메모리를 구성하는 플래시 메모리의 경우에는 읽기/쓰기가 플래시 메모리를 구성하는 섹터 단위로 이루어지므로 패치 데이터의 단위 크기를 비휘발성 메모리로 이용되는 플래시 메모리의 섹터 단위로 구성하는 것이 바람직하다.In this case, the block unit for generating the patch data by comparing the old firmware and the new firmware is preferably configured by a sector unit of the nonvolatile memory. In the case of the flash memory constituting the nonvolatile memory, since read / write is performed in sector units constituting the flash memory, it is preferable to configure the unit size of the patch data in sectors of the flash memory used as the nonvolatile memory. .

마지막으로, 펌웨어 세그먼트 패치 단계(S140)는 패치 패키지 확인 및 수신 단계(S130)에서 확인하여 수신한 패치 패키지에 대응하여 패치 패키지가 지정하는 N개의 펌웨어 패치 세그먼트를 순차적으로 상기 이동통신단말기로 송신하고, 상기 이동통신단말기에서 순차적으로 상기 N개의 펌웨어 패치 세그먼트를 수신하여 상기 이동통신단말기의 비휘발성 메모리에 기록하는 단계이다.Finally, the firmware segment patch step (S140) sequentially transmits N firmware patch segments designated by the patch package to the mobile communication terminal in correspondence with the patch package received in the step of checking and receiving the patch package (S130). And sequentially receiving the N firmware patch segments in the mobile communication terminal and writing them to a nonvolatile memory of the mobile communication terminal.

탑재된 펌웨어의 버전과 탑재될 펌웨어의 버전을 식별값으로 하여 대응되는 패치 패키지를 확인하고 패치 패키지를 수신한 다음 패치 패키지에 따라서 N개의 펌웨어 패치 세그먼트를 순차적으로 이동통신단말기의 비휘발성 메모리에 기록할 수 있다.Identify the corresponding patch package by using the installed firmware version and the version of the firmware to be installed as the identification value, receive the patch package, and sequentially record N firmware patch segments in the nonvolatile memory of the mobile terminal according to the patch package. can do.

즉, 하나의 펌웨어 패치 세그먼트를 수신하여 패치 데이터를 추출하고, 위치 정보와 길이 정보를 이용하여 비휘발성 메모리에 내용을 기록하는 트랜잭션들을 순차적으로 실행하도록 구성될 수 있다. 컴퓨터 장치에서는 첫 번째 펌웨어 패치 세그먼트부터 N번째 펌웨어 패치 세그먼트까지 순차적으로 이동통신단말기 측으로 송신하고, 이동통신단말기 측에서는 수신한 펌웨어 패치 세그먼트들을 순차적으로 비휘발성 메모리에 기록한다. 따라서, 이동통신단말기 측에서는 하나의 펌웨어 패치 세그먼트를 저장할 여유 공간만 있으면 펌웨어를 갱신할 수 있게 된다. That is, it may be configured to receive one firmware patch segment, extract patch data, and sequentially execute transactions for writing contents into a nonvolatile memory using location information and length information. The computer device sequentially transmits the first firmware patch segment to the Nth firmware patch segment to the mobile communication terminal, and the mobile communication terminal sequentially records the received firmware patch segments in the nonvolatile memory. Therefore, the mobile communication terminal can update the firmware if there is only a free space for storing one firmware patch segment.

도 4는 본 발명에 따른 펌웨어 업그레이드 시스템의 일 실시예를 보여주는 블록도이다.4 is a block diagram showing an embodiment of a firmware upgrade system according to the present invention.

도 4를 참조하면, 본 발명에 따른 펌웨어 업그레이드 시스템(400)은 패치 패키지 서버(410), 패치 컴퓨터 장치(420) 및 펌웨어 업그레이드의 대상이 되는 이동통신단말기(430)를 포함하여 구성될 수 있다.Referring to FIG. 4, the firmware upgrade system 400 according to the present invention may include a patch package server 410, a patch computer device 420, and a mobile communication terminal 430 targeted for firmware upgrade. .

여기에서, 펌웨어 업그레이드 시스템(400)의 일부로서, 펌웨어 업그레이드의 대상이 되는 이동통신단말기(430)가 포함되는 이유는 트랜잭션 단위로 펌웨어 패치 세그먼트를 수신하여 펌웨어 업그레이드를 실시할 수 있는 소프트웨어 코드가 이동통신단말기의 특정영역에 저장되어 이동통신단말기에 포함된 프로세서 유닛에 의하여 실행되어야 하므로, 이동통신단말기는 펌웨어 업그레이드의 단순한 대상이 아니라 시스템의 일부로서도 기능하여야 하기 때문이다.Here, as a part of the firmware upgrade system 400, the reason why the mobile terminal 430, which is the target of the firmware upgrade, is included is that the software code capable of receiving the firmware patch segment and performing the firmware upgrade is moved in units of transactions. This is because the mobile communication terminal must function as a part of the system, not just a firmware upgrade, because it must be stored in a specific area of the communication terminal and executed by the processor unit included in the mobile communication terminal.

패치 패키지 서버(patch package server; 410)는 이동통신단말기(430)에 탑재된 구 펌웨어의 버전과 탑재될 신 펌웨어의 버전에 대응된 N개의 펌웨어 패치 세그먼트들 및 상기 N개의 펌웨어 패치 세그먼트들에 대한 정보를 포함한 패치 패키지를 저장하고 있는 구성요소이다.The patch package server 410 is configured for N firmware patch segments corresponding to the version of the old firmware mounted on the mobile communication terminal 430 and the version of the new firmware to be mounted, and for the N firmware patch segments. A component that stores patch packages that contain information.

따라서, 패치 패키지 서버(410)는 복수 개의 패치 패키지를 저장하고 있는 패치 패키지 데이터베이스(411) 및 복수 개의 펌웨어 패치 세그먼트들을 저장하고 있는 펌웨어 패치 세그먼트 데이터베이스(412)를 포함하여 구성될 수 있다.Accordingly, the patch package server 410 may be configured to include a patch package database 411 that stores a plurality of patch packages and a firmware patch segment database 412 that stores a plurality of firmware patch segments.

패치 컴퓨터 장치(420)는 펌웨어 업그레이드 대상이 되는 이동통신단말기(430)와 소정의 인터페이스 방식(431)으로 직접적으로 연결되고, 패치 패키지 서버(410)와도 소정의 인터페이스 방식(421)으로 연결되는 구성요소이다.The patch computer device 420 is directly connected to the mobile communication terminal 430, which is a firmware upgrade target, by a predetermined interface method 431, and also connected to the patch package server 410 by a predetermined interface method 421. Element.

패치 컴퓨터 장치(420)는 상기 인터페이스(431)를 통하여 이동통신단말기(430)에 탑재된 구 펌웨어 버전을 수신하여, 인터페이스(421)를 통하여 상기 패치 패키지 서버(410)로 전송하게 되며, 패치 패키지 서버(410)는 구 펌웨어 버전을 수신하여 해당되는 구 펌웨어 버전에 대응되는 패치 패키지를 패치 패키지 데이터베이스(411)로부터 검색하게 된다. 이후에, 패치 패키지 서버(410)는 검색된 구 펌웨어 버전에 대응되는 패치 패키지 정보를 패치 컴퓨터 장치(420)로 송신하게 된 다. 이동통신단말기(430)와 패치 컴퓨터 장치(420)를 연결하는 인터페이스(431)로는 직렬 또는 병렬 유선 인터페이스가 이용될 수 있다.The patch computer device 420 receives the old firmware version mounted on the mobile communication terminal 430 through the interface 431, and transmits the patch firmware to the patch package server 410 through the interface 421. The server 410 receives the old firmware version and searches for a patch package corresponding to the corresponding old firmware version from the patch package database 411. Thereafter, the patch package server 410 transmits the patch package information corresponding to the retrieved old firmware version to the patch computer device 420. A serial or parallel wired interface may be used as the interface 431 connecting the mobile communication terminal 430 and the patch computer device 420.

이때부터, 패치 컴퓨터 장치(420)는 수신된 패치 패키지 정보를 이용하여 N개의 펌웨어 패치 세그먼트를 패치 패키지 서버(410)로부터 수신하여 순차적으로 이동통신단말기(430)에 전송하게 된다. 이 경우에 있어서, 패치 컴퓨터 장치(420)와 패치 패키지 서버(410)를 연결하는 인터페이스(421)로는 로컬 에이리어 네트워크(LAN:Local Area Network) 또는 인터넷(internet)이 선택될 수 있다. 패치 컴퓨터 장치(420)는 패치 패키지가 지정하는 N개의 펌웨어 패치 세그먼트들을 한꺼번에 패치 패키지 서버(410)로부터 다운로드받을 수도 있으며, 순차적으로 패치 패키지 서버(410)로부터 다운로드 받을 수도 있다. 그러나, 신속하고 안정적인 동작을 위해서 패치 컴퓨터 장치(420)는 패치 패키지 서버(410)로부터 패치 패키지가 지정하는 펌웨어 패치 세그먼트들을 한꺼번에 다운로드 받아 저장한 상태에서 이동통신단말기에 대한 펌웨어 패치를 수행하는 것이 바람직할 것이다.At this time, the patch computer device 420 receives the N firmware patch segments from the patch package server 410 using the received patch package information and sequentially transmits the N firmware patch segments to the mobile communication terminal 430. In this case, a local area network (LAN) or an internet may be selected as the interface 421 connecting the patch computer device 420 and the patch package server 410. The patch computer device 420 may download the N firmware patch segments designated by the patch package at a time from the patch package server 410 or may sequentially download the patch package server 410 from the patch package server 410. However, for fast and stable operation, the patch computer device 420 preferably performs the firmware patch for the mobile communication terminal while downloading and storing firmware patch segments designated by the patch package from the patch package server 410 at one time. something to do.

반면에, 이동통신단말기(430)는 상기 N개의 펌웨어 패치 세그먼트를 상기 패치 컴퓨터 장치(420)로부터 순차적으로 수신하여 비휘발성 메모리에 기록하도록 구성되어야 한다. 따라서, 이동통신단말기의 비휘발성 메모리의 특정 영역에는 상기와 같은 순차적인 펌웨어 패치 세그먼트의 수신과 수신된 패치 세그먼트에서 패치 데이터와 길이정보, 위치정보를 추출하여 비휘발성 메모리를 섹터 단위로 지우고 쓸 수 있는 프로그램 코드가 저장되어 있어야 한다. 상기 프로그램 코드는 이동통신단말기 내에 포함된 프로세서 유닛에 의하여 실행되도록 구성된다. 따라서, 상기 이동통신단말기의 트랜잭션 단위 펌웨어 업그레이드를 실행하는 프로그램 코드가 저장되는 특정 영역은 본 발명에 따른 펌웨어 업그레이드의 대상이 될 수 없음에 유의하여할 것이다.On the other hand, the mobile communication terminal 430 should be configured to sequentially receive the N firmware patch segments from the patch computer device 420 and write them to the nonvolatile memory. Therefore, in the specific area of the nonvolatile memory of the mobile communication terminal, the patch data, the length information, and the location information can be extracted from the received sequential firmware patch segments and the received patch segments, and the nonvolatile memory can be erased and written in sector units. Program code must be stored. The program code is configured to be executed by a processor unit included in the mobile communication terminal. Therefore, it should be noted that a specific area in which a program code for executing a transactional firmware upgrade of the mobile communication terminal is stored may not be a target of a firmware upgrade according to the present invention.

상기에서는 본 발명의 바람직한 실시예를 참조하여 설명하였지만, 해당 기술 분야의 숙련된 당업자는 하기의 특허 청구의 범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다. Although described above with reference to a preferred embodiment of the present invention, those skilled in the art will be variously modified and changed within the scope of the invention without departing from the spirit and scope of the invention described in the claims below I can understand that you can.

도 1은 본 발명에 따른 트랜잭션 단위 펌웨어 업그레이드 방법의 일 실시예를 보여주는 순서도이다.1 is a flowchart illustrating an embodiment of a transactional firmware upgrade method according to the present invention.

도 2는 본 발명에 따른 트랜잭션 단위 펌웨어 업그레이드 방법에서 이용될 수 있는 패치 패키지의 구성예를 보여주는 개념도이다.2 is a conceptual diagram illustrating a configuration example of a patch package that may be used in a transactional firmware upgrade method according to the present invention.

도 3은 본 발명에 따른 트랜잭션 단위 펌웨어 업그레이드 방법에서 이용될 수 있는 패치 패키지의 구성예를 보여주는 개념도이다.3 is a conceptual diagram illustrating a configuration example of a patch package that may be used in a transactional firmware upgrade method according to the present invention.

도 4는 본 발명에 따른 펌웨어 업그레이드 시스템의 일 실시예를 보여주는 블록도이다4 is a block diagram showing an embodiment of a firmware upgrade system according to the present invention.

<도면의 주요 부분에 대한 부호의 설명><Explanation of symbols for the main parts of the drawings>

400: 펌웨어 업그레이드 시스템400: firmware upgrade system

410: 패치 패키지 서버 420: 패치 컴퓨터 장치410: patch package server 420: patch computer device

430: 이동통신단말기430: mobile communication terminal

Claims (11)

이동통신단말기의 펌웨어를 업그레이드시키기 위한 컴퓨터 장치와 이동통신단말기를 소정의 인터페이스 방식으로 연결하여 상기 이동통신단말기의 펌웨어를 업그레이드하는 방법에 있어서,In the method of upgrading the firmware of the mobile communication terminal by connecting a computer device for upgrading the firmware of the mobile communication terminal and the mobile communication terminal in a predetermined interface method, 상기 이동통신단말기에 탑재된 구 펌웨어의 버전을 확인하는 구 펌웨어 버전 확인 단계;Old firmware version checking step of checking the version of the old firmware mounted on the mobile communication terminal; 상기 이동통신단말기에 탑재될 신 펌웨어의 버전을 확인하는 신 펌웨어 버전 확인 단계;A new firmware version checking step of checking a version of the new firmware to be mounted in the mobile communication terminal; 상기 구 펌웨어를 상기 신 펌웨어로 갱신하기 위하여 필요한 N개의 펌웨어 패치 세그먼트에 대한 정보를 포함한 패치 패키지를 확인하여 수신하는 패치 패키지 확인 및 수신 단계;A patch package checking and receiving step of checking and receiving a patch package including information on N firmware patch segments necessary for updating the old firmware with the new firmware; 상기 패치 패키지에 대응하여 상기 N개의 펌웨어 패치 세그먼트를 순차적으로 상기 이동통신단말기로 송신하고, 상기 이동통신단말기에서 순차적으로 상기 N개의 펌웨어 패치 세그먼트를 수신하여 상기 이동통신단말기의 비휘발성 메모리에 기록하는 펌웨어 세그먼트 패치 단계를 포함하며,The N firmware patch segments are sequentially transmitted to the mobile communication terminal in response to the patch package, and the N communication patch segments are sequentially received by the mobile communication terminal and recorded in the nonvolatile memory of the mobile communication terminal. Includes firmware segment patch steps, 상기 N개의 펌웨어 패치 세그먼트는The N firmware patch segments 상기 구 펌웨어와 상기 신 펌웨어를 대응되는 블록단위로 분할하고 비교하여 생성된 차이점을 포함한 패치 데이터;Patch data including a difference generated by dividing and comparing the old firmware and the new firmware into corresponding block units; 상기 패치 데이터가 기록되어야 할 상기 비휘발성 메모리내의 위치 정보; 및Location information in the nonvolatile memory in which the patch data is to be written; And 상기 패치 데이터의 길이 정보를 포함하여 구성되는 것을 특징으로 하는 이동통신단말기의 트랜잭션 단위 펌웨어 업그레이드 방법. Transaction unit firmware upgrade method of a mobile communication terminal, characterized in that comprising the length information of the patch data. 삭제delete 제 1 항에 있어서,The method of claim 1, 상기 패치 데이터의 단위 크기는 상기 비휘발성 메모리를 구성하는 섹터(sector)의 크기로 구성되는 것을 특징으로 하는 이동통신단말기의 트랜잭션 단위 펌웨어 업그레이드 방법. The unit size of the patch data is a transaction unit firmware upgrade method of a mobile communication terminal, characterized in that configured to the size of the sector (sector) constituting the nonvolatile memory. 제 1 항에 있어서,The method of claim 1, 상기 패치 패키지는 상기 구 펌웨어의 버전과 상기 신 펌웨어의 버전을 식별값으로 하여 인식되며, The patch package is recognized using the version of the old firmware and the version of the new firmware as identification values, 상기 펌웨어 패치 세그먼트에는 각각 소정의 식별값이 부여되며, 상기 패치 패키지는 상기 구 펌웨어를 상기 신 펌웨어로 갱신하기 위하여 필요한 N개의 펌웨어 패치 세그먼트의 식별값들을 포함하고 있는 것을 특징으로 하는 이동통신단말기의 트랜잭션 단위 펌웨어 업그레이드 방법. A predetermined identification value is assigned to each of the firmware patch segments, and the patch package includes identification values of N firmware patch segments necessary for updating the old firmware to the new firmware. How to upgrade transactional firmware. 이동통신단말기의 펌웨어를 업그레이드시키기 위한 패치 컴퓨터 장치와 이동통신단말기를 소정의 인터페이스 방식으로 연결하여 상기 이동통신단말기의 펌웨어를 업그레이드하는 시스템에 있어서,In the system for upgrading the firmware of the mobile communication terminal by connecting a patch computer device for upgrading the firmware of the mobile communication terminal and the mobile communication terminal by a predetermined interface method, 상기 이동통신단말기에 탑재된 구 펌웨어의 버전과 탑재될 신 펌웨어의 버전에 대응된 N개의 펌웨어 패치 세그먼트들 및 상기 N개의 펌웨어 패치 세그먼트들에 대한 정보를 포함한 패치 패키지를 저장하고 있는 패치 패키지 서버;A patch package server storing a patch package including information on the N firmware patch segments and the N firmware patch segments corresponding to the version of the old firmware mounted on the mobile communication terminal and the new firmware version to be loaded; 상기 이동통신단말기에 탑재된 구 펌웨어 버전을 수신하여, 상기 패치 패키지 서버로 전송하고, 상기 패치 패키지 서버로부터 상기 구 펌웨어 버전에 대응되는 패치 패키지를 수신하여, 상기 패치 패키지에 의하여 상기 N개의 펌웨어 패치 세그먼트를 상기 패치 패키지 서버로부터 수신하여 순차적으로 상기 이동통신단말기에 전송하는 패치 컴퓨터 장치; 및Receives the old firmware version mounted on the mobile communication terminal, transmits to the patch package server, receives a patch package corresponding to the old firmware version from the patch package server, and patches the N firmware by the patch package. A patch computer device for receiving a segment from the patch package server and sequentially transmitting the segment to the mobile communication terminal; And 상기 N개의 펌웨어 패치 세그먼트를 상기 패치 컴퓨터 장치로부터 순차적으로 수신하여 비휘발성 메모리에 기록하는 이동통신단말기를 포함하며,A mobile communication terminal that receives the N firmware patch segments sequentially from the patch computer device and writes them to a nonvolatile memory; 상기 N개의 펌웨어 패치 세그먼트는The N firmware patch segments 상기 구 펌웨어와 상기 신 펌웨어를 대응되는 블록단위로 분할하고 비교하여 생성된 차이점을 포함한 패치 데이터;Patch data including a difference generated by dividing and comparing the old firmware and the new firmware into corresponding block units; 상기 패치 데이터가 기록되어야 할 상기 이동통신단말기의 비휘발성 메모리내의 위치 정보; 및Location information in a nonvolatile memory of the mobile communication terminal in which the patch data is to be recorded; And 상기 패치 데이터의 길이 정보를 포함하여 구성되는 것을 특징으로 하는 트랜잭션 단위 펌웨어 업그레이드 시스템.Transaction unit firmware upgrade system comprising a length information of the patch data. 제 5 항에 있어서,The method of claim 5, wherein 상기 소정의 인터페이스 방식은 직렬 또는 병렬 유선 인터페이스인 것을 특징으로 하는 트랜잭션 단위 펌웨어 업그레이드 시스템.The predetermined interface scheme is a transactional unit firmware upgrade system, characterized in that the serial or parallel wired interface. 제 5 항에 있어서,The method of claim 5, wherein 상기 패치 패키지 서버와 상기 패치 컴퓨터 장치는 로컬 에이리어 네트워 크(LAN)를 통하여 연결되는 것을 특징으로 하는 트랜잭션 단위 펌웨어 업그레이드 시스템.And said patch package server and said patch computer device are connected through a local area network. 제 5 항에 있어서,The method of claim 5, wherein 상기 패치 패키지 서버는The patch package server 복수 개의 패치 패키지를 저장하고 있는 패치 패키지 데이터베이스 및A patch package database that stores multiple patch packages and 복수 개의 펌웨어 패치 세그먼트를 저장하고 있는 펌웨어 패치 세그먼트 데이터베이스를 포함하여 구성된 것을 특징으로 하는 트랜잭션 단위 펌웨어 업그레이드 시스템.Transaction firmware update system comprising a firmware patch segment database that stores a plurality of firmware patch segments. 삭제delete 제 5 항에 있어서,The method of claim 5, wherein 상기 패치 데이터의 단위 크기는 상기 비휘발성 메모리를 구성하는 섹터(sector)의 크기로 구성되는 것을 특징으로 하는 이동통신단말기의 트랜잭션 단위 펌웨어 업그레이드 시스템.The unit size of the patch data is a transaction unit firmware upgrade system of the mobile communication terminal, characterized in that configured to the size of the sector (sector) constituting the nonvolatile memory. 제 5 항에 있어서,The method of claim 5, wherein 상기 패치 패키지는 상기 구 펌웨어의 버전과 상기 신 펌웨어의 버전을 식별값으로 하여 인식되며, The patch package is recognized using the version of the old firmware and the version of the new firmware as identification values, 상기 펌웨어 패치 세그먼트는 소정의 일련번호가 부여되며, 상기 패치 패키지는 상기 구 펌웨어를 상기 신 펌웨어로 갱신하기 위하여 필요한 N개의 펌웨어 패치 세그먼트의 일련번호들을 포함하고 있는 것을 특징으로 하는 이동통신단말기의 트랜잭션 단위 펌웨어 업그레이드 시스템.The firmware patch segment is assigned a predetermined serial number, and the patch package includes serial numbers of N firmware patch segments necessary for updating the old firmware to the new firmware. Unit firmware upgrade system.
KR1020070121803A 2007-11-28 2007-11-28 Transaction unit firmware upgrade method of mobile communication terminal and firmware upgrade system using same KR100927446B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020070121803A KR100927446B1 (en) 2007-11-28 2007-11-28 Transaction unit firmware upgrade method of mobile communication terminal and firmware upgrade system using same

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020070121803A KR100927446B1 (en) 2007-11-28 2007-11-28 Transaction unit firmware upgrade method of mobile communication terminal and firmware upgrade system using same

Publications (2)

Publication Number Publication Date
KR20090055074A KR20090055074A (en) 2009-06-02
KR100927446B1 true KR100927446B1 (en) 2009-11-19

Family

ID=40986793

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020070121803A KR100927446B1 (en) 2007-11-28 2007-11-28 Transaction unit firmware upgrade method of mobile communication terminal and firmware upgrade system using same

Country Status (1)

Country Link
KR (1) KR100927446B1 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9817652B2 (en) 2014-10-30 2017-11-14 Samsung Electronics Co., Ltd. Data storage device and method for reducing firmware update time and data processing system including the device
KR20220017184A (en) 2020-08-04 2022-02-11 경북대학교 산학협력단 Code insertion module and method for dividing storage of firmware segment

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20120015681A (en) * 2010-08-12 2012-02-22 (주)네오위즈게임즈 Method, server, recording medium and terminal for file patch
KR20120016949A (en) * 2010-08-17 2012-02-27 (주)에스와이리더 Cutting head for jets to air has laser cuttin and directivity
KR101327680B1 (en) * 2011-11-07 2013-11-08 엘에스산전 주식회사 Apparatus, system and method for upgrading firmware of energy device
CN103246528A (en) * 2012-02-10 2013-08-14 中兴通讯股份有限公司 Software updating method and device
KR101350211B1 (en) * 2012-04-03 2014-01-24 도로교통공단 Firmware Upgrade method For Traffic Signal Controller
KR102375290B1 (en) * 2020-08-11 2022-03-17 경북대학교 산학협력단 Firmware Update Device and Update Method

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20040110648A (en) * 2003-06-20 2004-12-31 주식회사 팬택앤큐리텔 Method for partupgrading sofrware of wireless terminal
KR20060064660A (en) * 2003-09-03 2006-06-13 비트폰 코포레이션 Tri-phase boot process in electronic devices
KR100717110B1 (en) * 2006-02-21 2007-05-10 삼성전자주식회사 Rom data patch circuit, embedded system including the same and method of patching rom data

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20040110648A (en) * 2003-06-20 2004-12-31 주식회사 팬택앤큐리텔 Method for partupgrading sofrware of wireless terminal
KR20060064660A (en) * 2003-09-03 2006-06-13 비트폰 코포레이션 Tri-phase boot process in electronic devices
KR100717110B1 (en) * 2006-02-21 2007-05-10 삼성전자주식회사 Rom data patch circuit, embedded system including the same and method of patching rom data

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9817652B2 (en) 2014-10-30 2017-11-14 Samsung Electronics Co., Ltd. Data storage device and method for reducing firmware update time and data processing system including the device
US10866797B2 (en) 2014-10-30 2020-12-15 Samsung Electronics Co., Ltd. Data storage device and method for reducing firmware update time and data processing system including the device
KR20220017184A (en) 2020-08-04 2022-02-11 경북대학교 산학협력단 Code insertion module and method for dividing storage of firmware segment

Also Published As

Publication number Publication date
KR20090055074A (en) 2009-06-02

Similar Documents

Publication Publication Date Title
KR100927446B1 (en) Transaction unit firmware upgrade method of mobile communication terminal and firmware upgrade system using same
US9507581B2 (en) Systems and methods of device firmware delivery for pre-boot updates
US7409685B2 (en) Initialization and update of software and/or firmware in electronic devices
US7644406B2 (en) Update system capable of updating software across multiple FLASH chips
JP4310186B2 (en) System and method for compressing a software code section of a field updatable wireless communication device
EP2362312A1 (en) Firmware update system, and information apparatus, as well as program
US20110004871A1 (en) Embedded electronic device and firmware updating method thereof
JP2009054160A (en) System and method for management of on-site wireless communication device system software download
CN111562934B (en) Software system upgrading method based on hot patch, terminal and storage medium
US8601464B2 (en) Memory online update system and method
CN103154900A (en) Embedded program update method, embedded program update program, electronic apparatus, network system
EP1679599B1 (en) File update system and boot management system of mobile communication terminal, and corresponding methods
CN112463656B (en) Method and system for recovering abnormal power failure of solid state disk and storage medium
CN107797818A (en) Application program updating method and device
CN102999349A (en) Software upgrading method
CN113741944A (en) Machine program system with upgrading function, upgrading method and application
EP1614034B1 (en) Initialization and update of software and/or firmware in electronic devices
CN112182010A (en) Dirty page refreshing method and device, storage medium and electronic equipment
CN109947445A (en) A kind of firmware upgrade method and system
CN107678770B (en) Interface chip upgrading method and device, storage medium and processor
CN101131649A (en) Updating speed improving method for read-only memory of device with flash memory
US20070079279A1 (en) Embedded device with software registry
CN103336699A (en) Upgrade method and device for embedded system software
KR100876212B1 (en) Method of updating software on read-only file system in mobile telephone
US20060156297A1 (en) Method and device for modifying software in a control unit and corresponding control unit

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E90F Notification of reason for final refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20121109

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20131031

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20141106

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20151104

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20161111

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20171108

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20181105

Year of fee payment: 10

FPAY Annual fee payment

Payment date: 20191104

Year of fee payment: 11