KR20090055074A - 이동통신단말기의 트랜잭션 단위 펌웨어 업그레이드 방법및 이를 이용한 펌웨어 업그레이드 시스템 - Google Patents

이동통신단말기의 트랜잭션 단위 펌웨어 업그레이드 방법및 이를 이용한 펌웨어 업그레이드 시스템 Download PDF

Info

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

Links

Images

Landscapes

  • Stored Programmes (AREA)

Abstract

이동통신단말기에 탑재된 구 펌웨어의 버전을 확인하는 단계, 이동통신단말기에 탑재될 신 펌웨어의 버전을 확인하는 단계, 구 펌웨어를 신 펌웨어로 갱신하기 위하여 필요한 N개의 펌웨어 패치 세그먼트에 대한 정보를 포함한 패치 패키지를 확인하여 수신하는 단계 및 패치 패키지에 대응하여 N개의 펌웨어 패치 세그먼트를 순차적으로 이동통신단말기로 송신하고, 이동통신단말기에서 순차적으로 N개의 펌웨어 패치 세그먼트를 수신하여 이동통신단말기의 비휘발성 메모리에 기록하는 단계를 포함하여 이동통신단말기의 트랜잭션 단위 펌웨어 업그레이드 방법을 구성한다. 따라서, 펌웨어 갱신에 소요되는 시간을 줄여서 생산성을 향상시킬 수 있을 뿐 아니라, 이동통신단말기 내에 펌웨어 갱신을 위하여 필요로 하는 소요 메모리를 최소화시켜 대용량의 펌웨어를 갱신하는 것이 가능해진다.
펌웨어, 업그레이드, 이동통신단말기

Description

이동통신단말기의 트랜잭션 단위 펌웨어 업그레이드 방법 및 이를 이용한 펌웨어 업그레이드 시스템{METHOD OF TRANSACTION-BASED FIRMWARE UPGRADE IN MOBILE TELEPHONE AND FIRMWARE UPGRADE SYSTEM THEREOF}
본 발명은 이동통신단말기의 펌웨어 업그레이드 방법 및 업그레이드 시스템에 관한 것으로, 더욱 상세하게는 이동통신단말기를 펌웨어 업그레이드를 수행하기 위한 컴퓨터 장치와 연결하여 신 버전 펌웨어와 구 버전 펌웨어의 블록 단위로 차이점을 추출한 패치 파일을 트랜잭션 단위로 수신하여 펌웨어를 업그레이드할 수 있는 방법 및 펌웨어 업그레이드 시스템에 관한 것이다.
최근의 이동통신단말기는 사용자의 요구를 반영하는 다양한 기능들을 수용하고 있다. 특히, 최근의 이동통신단말기는 제품 출시 단계에서 모든 개발이 완료되는 것이 아니라, 제품의 최초 출시 이후에도 끊임없이 탑재된 소프트웨어의 진화를 추구하고 있다. 또한, 이동통신단말기에는 콜-프로세싱(call-processing) 등의 이동통신단말기의 본연적인 기능뿐만 아니라, 다양한 부가기능들이 탑재되어 있는데, 이러한 기능들은 점차적으로 복잡화되어 가고 있을 뿐 아니라 탑재된 어플리케이션들의 크기 역시도 증가되어 가고 있는 추세이다. 통상적으로 이동통신단말기 소프 트웨어는 펌웨어(firmware)로서 이동통신단말기 내부의 비휘발성 메모리(non-volatile memory) 소자에 저장된다.
따라서, 이동통신단말기의 개발 및 생산 업체의 경우에는 제품 최초 출시 이후 단계에서도 출시된 제품에 탑재된 펌웨어의 수정, 보완 작업을 지속적으로 진행한다. 이동통신단말기와 같이 라이프사이클(life-cycle)이 극도로 짧은 제품의 경우나, 끊임없이 개선하고 보완하여야 하는 소프트웨어의 관점에서는 핵심적인 기능들의 완전성이 담보된다면 시장에 출시를 하고, 세부적인 문제점들은 지속적인 수정, 보완 작업으로 해결해나가는 것이 필요할 수 있기 때문이다. 이러한 수정, 보완 작업의 대상은 제품 출시 이후에 발견된 이동통신단말기의 기능적 장애 사항을 해결하기 위한 것일 수도 있으며, 보다 완벽한 제품을 위한 기능 추가나 사용자의 요구사항들을 반영한 기능 보완 및 수정일 수 있다.
특히, 이동통신단말기의 양산 과정에 있어서는, 이동통신단말기의 조립 공정에 소요되는 시간 및 부품 재고 부담을 줄이고 시장에 대한 즉각적인 출시를 가능하도록 하기 위해서 소프트웨어에 대한 보완 및 수정 작업이 계속되는 상태에서도, 생산을 시작하여 일정량의 양산 물량을 미리 완성하는 경우가 많다. 예컨대, 일단 출시 상태의 펌웨어 버전을 확정하고 모델별로 생산 라인에서 생산을 하게 되는 것이다. 따라서, 생산 라인에서 초기 버전의 펌웨어를 탑재하게 된 이후에도 실제 출시단계에서는 아주 작은 펌웨어의 변경이 반영되어 이미 탑재된 펌웨어를 갱신할 필요성이 생기게 된다.
통상적으로 이동통신단말기에 탑재되는 비휘발성 메모리로는 NAND 플래시 메 모리 또는 NOR 플래시 메모리가 이용되는데, 현재 이동통신단말기의 소프트웨어는 다양한 기능을 수용하기 위하여 그 용량이 지속적으로 증가하고 있는 추세이다. 예컨대, 최근의 이동통신단말기의 경우에는 32메가바이트(megabyte) 이상의 비휘발성 메모리에 소프트웨어가 탑재되는 경우가 많아지고 있으며, 이 용량 또한 증가되고 있는 추세이다.
이 경우, 이동통신단말기에 탑재된 메모리에 소프트웨어를 업그레이드시키기 위하여서는 비휘발성 메모리에 탑재된 전체 메모리의 내용을 지우고(erase), 새로운 버전의 소프트웨어를 기록하게 되는 방식이 주로 이용된다. 따라서, 이동통신단말기 1대당 약 3~4분(NOR 플래시 메모리, 32메가바이트 기준)에서 10분(NAND 플래시 메모리, 32메가바이트 기준)이 소요된다. 이는 생산 라인에 있어서, 상당한 부담으로 작용되어 생산성 향상에 지장을 주게 된다. 실제 탑재되는 펌웨어의 변경은 전체 펌웨어의 크기 대비 1~2% 이하의 차이만을 가져오는 경우가 대부분이지만 전면적인 펌웨어의 갱신에 소모되는 시간은 생산성에 나쁜 영향을 주게 되는 것이다.
특히, 이동통신단말기의 펌웨어 업그레이드를 위해서는, 이동통신단말기와 이동통신단말기의 펌웨어를 업그레이드할 수 있는 컴퓨터 장치를 소정의 인터페이스 방식으로 연결하여 이동통신단말기의 비휘발성 메모리를 지우고 새로운 버전의 소프트웨어를 기록하는 공정이 이루어지는데, 전체 생산 공정에서 상당한 병목(bottle neck)으로 작용될 수 있다. 이를 위한 해결로서, 새로운 버전의 펌웨어 전체 또는 구 버전과 신 버전의 펌웨어의 차이점만을 포함한 파일을 이동통신단말기에 다운로드하고 이동통신단말기 자체적으로 펌웨어를 갱신하는 방식이 이용될 수 있다. 즉, 펌웨어 갱신을 위하여 이동통신단말기와 펌웨어 업그레이드를 위한 컴퓨터 장치가 펌웨어 갱신 공정 동안 지속적으로 연결되어있어야 하는 문제를 해결하기 위한 것이다.
그러나, 이 경우의 문제점은 새로운 버전의 펌웨어 전체를 수용할 수 있는 메모리 공간이 이동통신단말기 내에 확보되어 있어야 하며, 구 버전과 신 버전의 펌웨어의 차이점만을 포함한 파일을 이용할 경우에도 구 버전과 신 버전의 펌웨어의 전체 차이점을 포함한 파일을 수용할 수 있는 메모리 공간이 이동통신단말기 내에 확보되어 있어야 한다는 점이다. 상술한 바와 같이, 이동통신단말기의 소프트웨어 용량이 지속적으로 증대되고 있는 추세이므로 전자의 경우나 후자의 경우나 이동통신단말기 내에 충분한 여유 메모리 공간을 마련하기는 어렵다는 문제점이 있다.
상기와 같은 문제점을 해결하기 위한 본 발명의 목적은 이동통신단말기에 탑재되는 펌웨어를 신속하게 갱신하기 위하여, 이동통신단말기에 탑재되어 있는 구 버전의 펌웨어와 갱신 대상이 되는 신 버전의 펌웨어의 차이점을 블록 단위로 분할, 비교하여 생성된 패치파일을 이용하여 패치파일 단위로 이동통신단말기의 펌웨어를 갱신할 수 있도록 하는 이동통신단말기의 펌웨어 업그레이드 방법을 제공하는데 있다.
상기와 같은 문제점을 해결하기 위한 본 발명의 다른 목적은 이동통신단말기에 탑재되는 펌웨어를 신속하게 갱신하기 위하여, 이동통신단말기에 탑재되어 있는 구 버전의 펌웨어와 갱신 대상이 되는 신 버전의 펌웨어의 차이점을 블록 단위로 분할, 비교하여 생성된 패치파일을 이용하여 패치파일 단위로 이동통신단말기의 펌웨어를 갱신할 수 있도록 하는 이동통신단말기의 펌웨어 업그레이드 시스템을 제공하는데 있다.
상기 목적을 달성하기 위한 본 발명은, 이동통신단말기의 펌웨어를 업그레이드시키기 위한 컴퓨터 장치와 이동통신단말기를 소정의 인터페이스 방식으로 연결하여 상기 이동통신단말기의 펌웨어를 업그레이드하는 방법에 있어서, 상기 이동통신단말기에 탑재된 구 펌웨어의 버전을 확인하는 구 펌웨어 버전 확인 단계, 상기 이동통신단말기에 탑재될 신 펌웨어의 버전을 확인하는 신 펌웨어 버전 확인 단계, 상기 구 펌웨어를 상기 신 펌웨어로 갱신하기 위하여 필요한 N개의 펌웨어 패치 세그먼트에 대한 정보를 포함한 패치 패키지를 확인하여 수신하는 패치 패키지 확인 및 수신 단계와 상기 패치 패키지에 대응하여 상기 N개의 펌웨어 패치 세그먼트를 순차적으로 상기 이동통신단말기로 송신하고, 상기 이동통신단말기에서 순차적으로 상기 N개의 펌웨어 패치 세그먼트를 수신하여 상기 이동통신단말기의 비휘발성 메모리에 기록하는 펌웨어 세그먼트 패치 단계를 포함한 이동통신단말기의 트랜잭션 단위 펌웨어 업그레이드 방법을 제공한다.
여기에서, 상기 N개의 펌웨어 패치 세그먼트는 상기 구 펌웨어와 상기 신 펌웨어를 대응되는 블록단위로 분할하고 비교하여 생성된 차이점을 포함한 패치 데이터, 상기 패치 데이터가 기록되어야 할 상기 비휘발성 메모리내의 위치 정보 및 상기 패치 데이터의 길이 정보를 포함하여 구성될 수 있다. 이때, 상기 패치 데이터의 단위 크기는 상기 비휘발성 메모리를 구성하는 섹터(sector)의 크기로 구성되는 것이 바람직하다.
여기에서, 상기 패치 패키지는 상기 구 펌웨어의 버전과 상기 신 펌웨어의 버전을 식별값으로 하여 인식되며, 상기 펌웨어 패치 세그먼트에는 각각 소정의 식별값이 부여되며, 상기 패치 패키지는 상기 구 펌웨어를 상기 신 펌웨어로 갱신하기 위하여 필요한 N개의 펌웨어 패치 세그먼트의 식별값들을 포함하여 구성될 수 있다.
상기 다른 목적을 달성하기 위한 본 발명은, 이동통신단말기의 펌웨어를 업그레이드시키기 위한 패치 컴퓨터 장치와 이동통신단말기를 소정의 인터페이스 방 식으로 연결하여 상기 이동통신단말기의 펌웨어를 업그레이드하는 시스템에 있어서, 상기 이동통신단말기에 탑재된 구 펌웨어의 버전과 탑재될 신 펌웨어의 버전에 대응된 N개의 펌웨어 패치 세그먼트들 및 상기 N개의 펌웨어 패치 세그먼트들에 대한 정보를 포함한 패치 패키지를 저장하고 있는 패치 패키지 서버, 상기 이동통신단말기에 탑재된 구 펌웨어 버전을 수신하여, 상기 패치 패키지 서버로 전송하고, 상기 패치 패키지 서버로부터 상기 구 펌웨어 버전에 대응되는 패치 패키지를 수신하여, 상기 패치 패키지에 의하여 상기 N개의 펌웨어 패치 세그먼트를 상기 패치 패키지 서버로부터 수신하여 순차적으로 상기 이동통신단말기에 전송하는 패치 컴퓨터 장치 및 상기 N개의 펌웨어 패치 세그먼트를 상기 패치 컴퓨터 장치로부터 순차적으로 수신하여 비휘발성 메모리에 기록하는 이동통신단말기를 포함한 트랜잭션 단위 펌웨어 업그레이드 시스템을 제공한다.
여기에서, 상기 소정의 인터페이스 방식은 직렬 또는 병렬 유선 인터페이스가 이용될 수 있다.
여기에서, 상기 패치 패키지 서버와 상기 패치 컴퓨터 장치는 로컬 에이리어 네트워크(LAN)를 통하여 연결될 수 있다.
여기에서, 상기 패치 패키지 서버는 복수개의 패치 패키지를 저장하고 있는 패치 패키지 데이터베이스 및 복수개의 펌웨어 패치 세그먼트를 저장하고 있는 펌웨어 패치 세그먼트 데이터베이스를 포함하여 구성될 수 있다.
여기에서, 상기 N개의 펌웨어 패치 세그먼트는 상기 구 펌웨어와 상기 신 펌웨어를 대응되는 블록단위로 분할하고 비교하여 생성된 차이점을 포함한 패치 데이 터, 상기 패치 데이터가 기록되어야 할 상기 이동통신단말기의 비휘발성 메모리내의 위치 정보 및 상기 패치 데이터의 길이 정보를 포함하여 구성될 수 있다. 이때, 상기 패치 데이터의 단위 크기는 상기 비휘발성 메모리를 구성하는 섹터(sector)의 크기로 구성되는 것이 바람직하다.
여기에서, 상기 패치 패키지 정보는 상기 구 펌웨어의 버전과 상기 신 펌웨어의 버전을 식별값으로 하여 인식되며, 상기 펌웨어 패치 세그먼트는 소정의 일련번호가 부여되며, 상기 패치 패키지 정보는 상기 구 펌웨어를 상기 신 펌웨어로 갱신하기 위하여 필요한 N개의 펌웨어 패치 세그먼트의 일련번호들을 포함하여 구성될 수 있다.
상기와 같은 본 발명의 이동통신단말기의 펌웨어 업그레이드 방법에 따르면, 전체적인 펌웨어의 갱신이 아니라, 구 펌웨어와 신 펌웨어의 차이점만을 추출한 패치 데이터를 통하여 펌웨어 갱신을 수행함으로써, 펌웨어 갱신에 소요되는 시간을 줄여서 생산성을 향상시킬 수 있다. 특히, 이동통신단말기에 탑재된 펌웨어의 용량이 점차적으로 대용량화되어 가는 관계로 펌웨어 갱신으로 인하여 생산라인에서 지체되는 시간을 줄일 수 있다는 점에서 의의가 있다.
또한, 트랜잭션 단위로 분할된 펌웨어 패치 세그먼트를 순차적으로 수신하여 비휘발성 메모리에 기록하는 절차로 수행하는 것에 의하여 이동통신단말기 내에 펌웨어 갱신을 위하여 필요한 소요 메모리를 최소화시켜 대용량의 펌웨어를 갱신하는 것이 가능해진다.
이하 본 발명에 따른 이동통신단말기로 광고정보를 전달하는 광고 장치의 바람직한 실시예를 첨부된 도면을 참조하여 상세하게 설명한다.
도 1은 본 발명에 따른 트랜잭션 단위 펌웨어 업그레이드 방법의 일 실시예를 보여주는 순서도이다.
먼저, 본 발명에 따른 트랜잭션 단위 펌웨어 업그레이드 방법은 이동통신단말기의 펌웨어를 업그레이드시키기 위한 컴퓨터 장치와 이동통신단말기를 소정의 인터페이스 방식으로 연결하여 상기 이동통신단말기의 펌웨어를 업그레이드하는 시스템에서 수행되는 것을 기본으로 한다.
도 1을 참조하면, 본 발명에 따른 트랜잭션 단위 펌웨어 업그레이드 방법은 구 펌웨어 버전 확인 단계(S110), 신 펌웨어 버전 확인 단계(S120), 패치 패키지 정보 확인 및 수신 단계(S130) 및 펌웨어 세그먼트 패치 단계(S140)를 포함하여 구성될 수 있다.
구 펌웨어 버전 확인 단계(S110)는 이동통신단말기에 탑재된 현재 펌웨어(즉, 구 펌웨어)의 버전을 확인하는 단계이다. 통상적으로 이동통신단말기에 장착된 비휘발성 메모리의 미리 지정된 특정 위치에 기록된 펌웨어의 버전을 읽어오거나, 소정의 커맨드를 이동통신단말기를 전송하고, 소정의 커맨드에 대한 답변으로 현재 탑재된 펌웨어의 버전을 수신하는 방식으로 동작될 수 있다.
신 펌웨어 버전 확인 단계(S120)는 상기 이동통신단말기에 탑재될 신 펌웨어 의 버전을 확인하는 단계이다. 신 펌웨어 버전 확인 단계(S130)에서는 앞선 구 펌웨어 버전 확인 단계(S110)에서 확인한 구 펌웨어의 버전에 대응하여 새롭게 갱신되어야 할 신 펌웨어의 버전을 확인하기 위한 절차이다. 미리 지정된 펌웨어 업그레이드 정책(policy)에 의하여서 또는 생산 시방에 의하여 구 펌웨어 버전에 대하여 갱신되어야할 신 펌웨어의 버전이 결정될 수 있다.
패치 패키지 확인 및 수신 단계(S130)는 현재 탑재된 구 펌웨어의 버전과 탑재되어야할 신 펌웨어의 버전을 이용하여 업그레이드의 진행여부를 결정하고 상기 구 펌웨어를 상기 신 펌웨어로 갱신하기 위하여 패치 패키지(patch package)를 확인 및 수신하는 단계이다.
상기 구 펌웨어 버전 확인 단계(S110)에서 확인한 구 펌웨어의 버전에 따라서는 탑재되어야할 펌웨어가 이동통신단말기 상에 이미 탑재되어 있을 수가 있다. 만일, 이동통신단말기에 탑재되어 있는 현재 펌웨어의 버전이 탑재되어야할 신 펌웨어의 버전과 동일한지를 판단하여(S131) 동일한 경우에는 이후의 펌웨어 업그레이드 절차는 진행되지 아니한다. 한편, 여기에서 구 펌웨어와 신 펌웨어는 반드시 신 펌웨어가 구 펌웨어에 비하여 버전이 높은 것임을 의미하지는 않을 것이다. 왜냐하면, 이동통신단말기에 탑재된 현재 펌웨어의 버전이 탑재되어야할 펌웨어의 버전보다 높은 경우도 있을 수 있기 때문이다. 예컨대, 이동통신단말기에 탑재된 펌웨어의 버전이 탑재되어야할 펌웨어의 버전보다 높을지라도 필요에 따라서는 다운그레이드가 필요한 경우가 있을 수 있기 때문이다. 따라서, 여기에서 구 펌웨어(old firmware)와 신 펌웨어(new firmware)의 의미는 현재 탑재되어있는 펌웨어 (즉, 구 펌웨어)에 대응하여 탑재되어야할 펌웨어(즉, 신 펌웨어)로 정의될 것이다.
다음으로, 패치 패키지 정보 확인 및 수신 단계(S130)에서는 상기 구 펌웨어를 상기 신 펌웨어로 갱신하기 위하여 필요한 N개의 펌웨어 패치 세그먼트에 대한 정보를 포함한 패치 패키지 정보를 확인(S132)하고 수신(S133)하는 절차를 수행한다.
패치 패키지는 탑재되어 있는 구 펌웨어의 버전과 신 펌웨어의 버전을 식별값(identification)으로 하여 고유하게 인식되어 질 수 있다.
도 2는 본 발명에 따른 트랜잭션 단위 펌웨어 업그레이드 방법에서 이용될 수 있는 패치 패키지의 구성예를 보여주는 개념도이다.
도 2를 참조하면, 패치 패키지들(210, 220, 230)은 구 펌웨어의 버전(211, 221, 231)과 신 펌웨어의 버전(212, 222, 232)에 의하여 인식될 수 있다. 즉, 다수개의 패치 패키지가 대응되는 구 펌웨어의 버전과 신 펌웨어의 버전에 의하여 고유하게 정의되어질 수 있다.
예컨대, 패치 패키지 #1(210)은 버전(3.11)을 가지는 구 펌웨어를 버전(3.12)을 가지는 신 펌웨어로 갱신하기 위하여 필요한 패치 패키지이다. 패치 패키지 #2(220)는 펌웨어 버전(3.16)을 가지는 구 펌웨어를 버전(3.17)을 가지는 신 펌웨어로 갱신하기 위하여 필요한 패치 패키지이다. 마찬가지로 패치 패키지 #3(230)은 버전(4.01)을 가지는 구 펌웨어를 버전(4.00)을 가지는 신 펌웨어로 갱신하기 위하여 필요한 패치 패키지이다.
상술한 바와 같이, 패치 패키지#1과 패치 패키지#2는 각각 버전(3.11)과 버전(3.13)을 가지는 펌웨어를 버전(3.12)과 버전(3.17)을 가지는 펌웨어로 상향 업그레이드시키는 패치 패키지를 예시한 것이지만, 패치 패키지#3은 버전(4.01)을 가지는 펌웨어를 버전(4.00)을 가지는 펌웨어로 하향 다운그레이드(down-grade)시키는 패치 패키지를 예시한 것이라 할 수 있다. 따라서, 본 명세서에서 의미하는 ‘업그레이드’의 의미는 펌웨어의 버전을 상향하여 갱신한다는 의미보다는 펌웨어의 버전을 변경한다는 의미(renewal)로서 해석될 수 있다.
한편, 패치 패키지는 복수개의 펌웨어 패치 세그먼트(firmware patch segment)들을 직접 포함하거나 링크하고 있다. 예를 들면, 패치 패키지 #1(210)은 N개의 펌웨어 패치 세그먼트들을 포함하여 구성되며, 패치 패키지 #2(220)는 M개의 펌웨어 패치 세그먼트들을 포함하여 구성되는 것으로 예시되어 있다. 펌웨어 패치 세그먼트들에는 각각 고유한 식별값(ID)이 부여되며, 동일한 펌웨어 패치 세그먼트들이 여러 개의 패치 패키지에 포함되어 구성될 수 있다. 예컨대, 각 패치 패키지가 지향하는 구 펌웨어는 동일하고 신 펌웨어들 간에는 미소한 차이가 존재하는 경우에는 패치 패키지들에 포함되는 펌웨어 패치 세그먼트들은 대부분 동일하고, 일부에서만 차이가 있을 수 있다. 패치 패키지는 펌웨어 패치 세그먼트들을 직접적으로 포함할 필요는 없이, 대응되는 펌웨어 패치 세그먼트들의 식별값들만을 수록하여 펌웨어 패치 세그먼트 데이터베이스 내에 저장되어 있는 펌웨어 패치 세그먼트들을 링크(link)하고 있을 수 있다.
도 3은 본 발명에 따른 트랜잭션 단위 펌웨어 업그레이드 방법에서 이용될 수 있는 패치 패키지의 구성예를 보여주는 개념도이다.
도 3을 참조하면, 펌웨어 패치 세그먼트(firmware patch segment)는 구 펌웨어를 상기 신 펌웨어로 갱신하기 위하여 필요한 블록 단위의 패치 데이터(patch data; 302)와 상기 패치 데이터가 기록되어야 할 비휘발성 메모리내의 위치 정보(location information; 303) 및 패치 데이터의 길이 정보(length information; 304)를 포함하여 구성될 수 있다. 또한, 상술한 바와 같이, 패치 패키지가 포함되어야 할 펌웨어 패치 세그먼트들을 고유하게 식별할 수 있는 식별값(ID; 301)을 포함하여 구성될 수 있다.
펌웨어 패치 세그먼트에 포함되는 패치 데이터(301)는 현재 탑재되어 있는 버전의 펌웨어(즉, 구 펌웨어)와 상기 탑재되어야 할 버전의 펌웨어(즉, 신 펌웨어)를 바이너리 상태로 블록 단위로 분할 비교하여 차이가 있는 블록 단위를 추출하여 구성되는 데이터이다.
이때, 구 펌웨어와 신 펌웨어를 비교하여 패치 데이터를 생성하는 블록 단위는 비휘발성 메모리의 섹터(sector) 단위로 구성하는 것이 바람직하다. 왜냐하면, 비휘발성 메모리를 구성하는 플래시 메모리의 경우에는 읽기/쓰기가 플래시 메모리를 구성하는 섹터 단위로 이루어지므로 패치 데이터의 단위 크기를 비휘발성 메모리로 이용되는 플래시 메모리의 섹터 단위로 구성하는 것이 바람직하다.
마지막으로, 펌웨어 세그먼트 패치 단계(S140)는 패치 패키지 확인 및 수신 단계(S130)에서 확인하여 수신한 패치 패키지에 대응하여 패치 패키지가 지정하는 N개의 펌웨어 패치 세그먼트를 순차적으로 상기 이동통신단말기로 송신하고, 상기 이동통신단말기에서 순차적으로 상기 N개의 펌웨어 패치 세그먼트를 수신하여 상기 이동통신단말기의 비휘발성 메모리에 기록하는 단계이다.
탑재된 펌웨어의 버전과 탑재될 펌웨어의 버전을 식별값으로 하여 대응되는 패치 패키지를 확인하고 패치 패키지를 수신한 다음 패치 패키지에 따라서 N개의 펌웨어 패치 세그먼트를 순차적으로 이동통신단말기의 비휘발성 메모리에 기록할 수 있다.
즉, 하나의 펌웨어 패치 세그먼트를 수신하여 패치 데이터를 추출하고, 위치 정보와 길이 정보를 이용하여 비휘발성 메모리에 내용을 기록하는 트랜잭션들을 순차적으로 실행하도록 구성될 수 있다. 컴퓨터 장치에서는 첫 번째 펌웨어 패치 세그먼트부터 N번째 펌웨어 패치 세그먼트까지 순차적으로 이동통신단말기 측으로 송신하고, 이동통신단말기 측에서는 수신한 펌웨어 패치 세그먼트들을 순차적으로 비휘발성 메모리에 기록한다. 따라서, 이동통신단말기 측에서는 하나의 펌웨어 패치 세그먼트를 저장할 여유 공간만 있으면 펌웨어를 갱신할 수 있게 된다.
도 4는 본 발명에 따른 펌웨어 업그레이드 시스템의 일 실시예를 보여주는 블록도이다.
도 4를 참조하면, 본 발명에 따른 펌웨어 업그레이드 시스템(400)은 패치 패키지 서버(410), 패치 컴퓨터 장치(420) 및 펌웨어 업그레이드의 대상이 되는 이동통신단말기(430)를 포함하여 구성될 수 있다.
여기에서, 펌웨어 업그레이드 시스템(400)의 일부로서, 펌웨어 업그레이드의 대상이 되는 이동통신단말기(430)가 포함되는 이유는 트랜잭션 단위로 펌웨어 패치 세그먼트를 수신하여 펌웨어 업그레이드를 실시할 수 있는 소프트웨어 코드가 이동통신단말기의 특정영역에 저장되어 이동통신단말기에 포함된 프로세서 유닛에 의하여 실행되어야 하므로, 이동통신단말기는 펌웨어 업그레이드의 단순한 대상이 아니라 시스템의 일부로서도 기능하여야 하기 때문이다.
패치 패키지 서버(patch package server; 410)는 이동통신단말기(430)에 탑재된 구 펌웨어의 버전과 탑재될 신 펌웨어의 버전에 대응된 N개의 펌웨어 패치 세그먼트들 및 상기 N개의 펌웨어 패치 세그먼트들에 대한 정보를 포함한 패치 패키지를 저장하고 있는 구성요소이다.
따라서, 패치 패키지 서버(410)는 복수 개의 패치 패키지를 저장하고 있는 패치 패키지 데이터베이스(411) 및 복수 개의 펌웨어 패치 세그먼트들을 저장하고 있는 펌웨어 패치 세그먼트 데이터베이스(412)를 포함하여 구성될 수 있다.
패치 컴퓨터 장치(420)는 펌웨어 업그레이드 대상이 되는 이동통신단말기(430)와 소정의 인터페이스 방식(431)으로 직접적으로 연결되고, 패치 패키지 서버(410)와도 소정의 인터페이스 방식(421)으로 연결되는 구성요소이다.
패치 컴퓨터 장치(420)는 상기 인터페이스(431)를 통하여 이동통신단말기(430)에 탑재된 구 펌웨어 버전을 수신하여, 인터페이스(421)를 통하여 상기 패치 패키지 서버(410)로 전송하게 되며, 패치 패키지 서버(410)는 구 펌웨어 버전을 수신하여 해당되는 구 펌웨어 버전에 대응되는 패치 패키지를 패치 패키지 데이터베이스(411)로부터 검색하게 된다. 이후에, 패치 패키지 서버(410)는 검색된 구 펌웨어 버전에 대응되는 패치 패키지 정보를 패치 컴퓨터 장치(420)로 송신하게 된 다. 이동통신단말기(430)와 패치 컴퓨터 장치(420)를 연결하는 인터페이스(431)로는 직렬 또는 병렬 유선 인터페이스가 이용될 수 있다.
이때부터, 패치 컴퓨터 장치(420)는 수신된 패치 패키지 정보를 이용하여 N개의 펌웨어 패치 세그먼트를 패치 패키지 서버(410)로부터 수신하여 순차적으로 이동통신단말기(430)에 전송하게 된다. 이 경우에 있어서, 패치 컴퓨터 장치(420)와 패치 패키지 서버(410)를 연결하는 인터페이스(421)로는 로컬 에이리어 네트워크(LAN:Local Area Network) 또는 인터넷(internet)이 선택될 수 있다. 패치 컴퓨터 장치(420)는 패치 패키지가 지정하는 N개의 펌웨어 패치 세그먼트들을 한꺼번에 패치 패키지 서버(410)로부터 다운로드받을 수도 있으며, 순차적으로 패치 패키지 서버(410)로부터 다운로드 받을 수도 있다. 그러나, 신속하고 안정적인 동작을 위해서 패치 컴퓨터 장치(420)는 패치 패키지 서버(410)로부터 패치 패키지가 지정하는 펌웨어 패치 세그먼트들을 한꺼번에 다운로드 받아 저장한 상태에서 이동통신단말기에 대한 펌웨어 패치를 수행하는 것이 바람직할 것이다.
반면에, 이동통신단말기(430)는 상기 N개의 펌웨어 패치 세그먼트를 상기 패치 컴퓨터 장치(420)로부터 순차적으로 수신하여 비휘발성 메모리에 기록하도록 구성되어야 한다. 따라서, 이동통신단말기의 비휘발성 메모리의 특정 영역에는 상기와 같은 순차적인 펌웨어 패치 세그먼트의 수신과 수신된 패치 세그먼트에서 패치 데이터와 길이정보, 위치정보를 추출하여 비휘발성 메모리를 섹터 단위로 지우고 쓸 수 있는 프로그램 코드가 저장되어 있어야 한다. 상기 프로그램 코드는 이동통신단말기 내에 포함된 프로세서 유닛에 의하여 실행되도록 구성된다. 따라서, 상기 이동통신단말기의 트랜잭션 단위 펌웨어 업그레이드를 실행하는 프로그램 코드가 저장되는 특정 영역은 본 발명에 따른 펌웨어 업그레이드의 대상이 될 수 없음에 유의하여할 것이다.
상기에서는 본 발명의 바람직한 실시예를 참조하여 설명하였지만, 해당 기술 분야의 숙련된 당업자는 하기의 특허 청구의 범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다.
도 1은 본 발명에 따른 트랜잭션 단위 펌웨어 업그레이드 방법의 일 실시예를 보여주는 순서도이다.
도 2는 본 발명에 따른 트랜잭션 단위 펌웨어 업그레이드 방법에서 이용될 수 있는 패치 패키지의 구성예를 보여주는 개념도이다.
도 3은 본 발명에 따른 트랜잭션 단위 펌웨어 업그레이드 방법에서 이용될 수 있는 패치 패키지의 구성예를 보여주는 개념도이다.
도 4는 본 발명에 따른 펌웨어 업그레이드 시스템의 일 실시예를 보여주는 블록도이다
<도면의 주요 부분에 대한 부호의 설명>
400: 펌웨어 업그레이드 시스템
410: 패치 패키지 서버 420: 패치 컴퓨터 장치
430: 이동통신단말기

Claims (11)

  1. 이동통신단말기의 펌웨어를 업그레이드시키기 위한 컴퓨터 장치와 이동통신단말기를 소정의 인터페이스 방식으로 연결하여 상기 이동통신단말기의 펌웨어를 업그레이드하는 방법에 있어서,
    상기 이동통신단말기에 탑재된 구 펌웨어의 버전을 확인하는 구 펌웨어 버전 확인 단계;
    상기 이동통신단말기에 탑재될 신 펌웨어의 버전을 확인하는 신 펌웨어 버전 확인 단계;
    상기 구 펌웨어를 상기 신 펌웨어로 갱신하기 위하여 필요한 N개의 펌웨어 패치 세그먼트에 대한 정보를 포함한 패치 패키지를 확인하여 수신하는 패치 패키지 확인 및 수신 단계;
    상기 패치 패키지에 대응하여 상기 N개의 펌웨어 패치 세그먼트를 순차적으로 상기 이동통신단말기로 송신하고, 상기 이동통신단말기에서 순차적으로 상기 N개의 펌웨어 패치 세그먼트를 수신하여 상기 이동통신단말기의 비휘발성 메모리에 기록하는 펌웨어 세그먼트 패치 단계를 포함한 이동통신단말기의 트랜잭션 단위 펌웨어 업그레이드 방법.
  2. 제 1 항에 있어서,
    상기 N개의 펌웨어 패치 세그먼트는
    상기 구 펌웨어와 상기 신 펌웨어를 대응되는 블록단위로 분할하고 비교하여 생성된 차이점을 포함한 패치 데이터;
    상기 패치 데이터가 기록되어야 할 상기 비휘발성 메모리내의 위치 정보; 및
    상기 패치 데이터의 길이 정보를 포함하여 구성되는 것을 특징으로 하는 이동통신단말기의 트랜잭션 단위 펌웨어 업그레이드 방법.
  3. 제 2 항에 있어서,
    상기 패치 데이터의 단위 크기는 상기 비휘발성 메모리를 구성하는 섹터(sector)의 크기로 구성되는 것을 특징으로 하는 이동통신단말기의 트랜잭션 단위 펌웨어 업그레이드 방법.
  4. 제 1 항에 있어서,
    상기 패치 패키지는 상기 구 펌웨어의 버전과 상기 신 펌웨어의 버전을 식별값으로 하여 인식되며,
    상기 펌웨어 패치 세그먼트에는 각각 소정의 식별값이 부여되며, 상기 패치 패키지는 상기 구 펌웨어를 상기 신 펌웨어로 갱신하기 위하여 필요한 N개의 펌웨어 패치 세그먼트의 식별값들을 포함하고 있는 것을 특징으로 하는 이동통신단말기의 트랜잭션 단위 펌웨어 업그레이드 방법.
  5. 이동통신단말기의 펌웨어를 업그레이드시키기 위한 패치 컴퓨터 장치와 이동 통신단말기를 소정의 인터페이스 방식으로 연결하여 상기 이동통신단말기의 펌웨어를 업그레이드하는 시스템에 있어서,
    상기 이동통신단말기에 탑재된 구 펌웨어의 버전과 탑재될 신 펌웨어의 버전에 대응된 N개의 펌웨어 패치 세그먼트들 및 상기 N개의 펌웨어 패치 세그먼트들에 대한 정보를 포함한 패치 패키지를 저장하고 있는 패치 패키지 서버;
    상기 이동통신단말기에 탑재된 구 펌웨어 버전을 수신하여, 상기 패치 패키지 서버로 전송하고, 상기 패치 패키지 서버로부터 상기 구 펌웨어 버전에 대응되는 패치 패키지를 수신하여, 상기 패치 패키지에 의하여 상기 N개의 펌웨어 패치 세그먼트를 상기 패치 패키지 서버로부터 수신하여 순차적으로 상기 이동통신단말기에 전송하는 패치 컴퓨터 장치; 및
    상기 N개의 펌웨어 패치 세그먼트를 상기 패치 컴퓨터 장치로부터 순차적으로 수신하여 비휘발성 메모리에 기록하는 이동통신단말기를 포함한 트랜잭션 단위 펌웨어 업그레이드 시스템.
  6. 제 5 항에 있어서,
    상기 소정의 인터페이스 방식은 직렬 또는 병렬 유선 인터페이스인 것을 특징으로 하는 트랜잭션 단위 펌웨어 업그레이드 시스템.
  7. 제 5 항에 있어서,
    상기 패치 패키지 서버와 상기 패치 컴퓨터 장치는 로컬 에이리어 네트워 크(LAN)를 통하여 연결되는 것을 특징으로 하는 트랜잭션 단위 펌웨어 업그레이드 시스템.
  8. 제 5 항에 있어서,
    상기 패치 패키지 서버는
    복수 개의 패치 패키지를 저장하고 있는 패치 패키지 데이터베이스 및
    복수 개의 펌웨어 패치 세그먼트를 저장하고 있는 펌웨어 패치 세그먼트 데이터베이스를 포함하여 구성된 것을 특징으로 하는 트랜잭션 단위 펌웨어 업그레이드 시스템.
  9. 제 5 항에 있어서,
    상기 N개의 펌웨어 패치 세그먼트는
    상기 구 펌웨어와 상기 신 펌웨어를 대응되는 블록단위로 분할하고 비교하여 생성된 차이점을 포함한 패치 데이터;
    상기 패치 데이터가 기록되어야 할 상기 이동통신단말기의 비휘발성 메모리내의 위치 정보; 및
    상기 패치 데이터의 길이 정보를 포함하여 구성되는 것을 특징으로 하는 이동통신단말기의 트랜잭션 단위 펌웨어 업그레이드 시스템.
  10. 제 9 항에 있어서,
    상기 패치 데이터의 단위 크기는 상기 비휘발성 메모리를 구성하는 섹터(sector)의 크기로 구성되는 것을 특징으로 하는 이동통신단말기의 트랜잭션 단위 펌웨어 업그레이드 시스템.
  11. 제 5 항에 있어서,
    상기 패치 패키지 정보는 상기 구 펌웨어의 버전과 상기 신 펌웨어의 버전을 식별값으로 하여 인식되며,
    상기 펌웨어 패치 세그먼트는 소정의 일련번호가 부여되며, 상기 패치 패키지 정보는 상기 구 펌웨어를 상기 신 펌웨어로 갱신하기 위하여 필요한 N개의 펌웨어 패치 세그먼트의 일련번호들을 포함하고 있는 것을 특징으로 하는 이동통신단말기의 트랜잭션 단위 펌웨어 업그레이드 시스템.
KR1020070121803A 2007-11-28 2007-11-28 이동통신단말기의 트랜잭션 단위 펌웨어 업그레이드 방법및 이를 이용한 펌웨어 업그레이드 시스템 KR100927446B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020070121803A KR100927446B1 (ko) 2007-11-28 2007-11-28 이동통신단말기의 트랜잭션 단위 펌웨어 업그레이드 방법및 이를 이용한 펌웨어 업그레이드 시스템

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020070121803A KR100927446B1 (ko) 2007-11-28 2007-11-28 이동통신단말기의 트랜잭션 단위 펌웨어 업그레이드 방법및 이를 이용한 펌웨어 업그레이드 시스템

Publications (2)

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

Family

ID=40986793

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020070121803A KR100927446B1 (ko) 2007-11-28 2007-11-28 이동통신단말기의 트랜잭션 단위 펌웨어 업그레이드 방법및 이를 이용한 펌웨어 업그레이드 시스템

Country Status (1)

Country Link
KR (1) KR100927446B1 (ko)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2012020928A2 (en) * 2010-08-12 2012-02-16 Neowiz Games Co., Ltd. File patching method, server, recording medium, and terminal
WO2012023800A2 (ko) * 2010-08-17 2012-02-23 (주)에스와이리더 레이저 절단과 동시에 방향성을 갖는 기체를 분사하는 절단헤드
WO2013117039A1 (zh) * 2012-02-10 2013-08-15 中兴通讯股份有限公司 软件升级方法和装置
KR101327680B1 (ko) * 2011-11-07 2013-11-08 엘에스산전 주식회사 전력량계의 펌웨어 업그레이드 장치, 시스템 및 방법
KR101350211B1 (ko) * 2012-04-03 2014-01-24 도로교통공단 교통신호 제어기의 펌웨어 업그레이드 방법
KR20220019940A (ko) * 2020-08-11 2022-02-18 경북대학교 산학협력단 펌웨어 업데이트 장치 및 업데이트 방법

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102261815B1 (ko) 2014-10-30 2021-06-07 삼성전자주식회사 펌웨어 업데이트 시간을 줄일 수 있는 데이터 저장 장치, 및 이를 포함하는 데이터 처리 시스템
KR102391312B1 (ko) 2020-08-04 2022-04-28 경북대학교 산학협력단 세그먼트의 분리 저장을 위한 코드 삽입 모듈 및 방법

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100538627B1 (ko) * 2003-06-20 2005-12-22 주식회사 팬택앤큐리텔 무선통신단말기의 소프트웨어 부분 업그레이드 방법
EP1660996A2 (en) * 2003-09-03 2006-05-31 Bitfone Corporation Tri-phase boot process in electronic devices
KR100717110B1 (ko) * 2006-02-21 2007-05-10 삼성전자주식회사 롬 데이터 패치 회로, 이를 포함하는 임베디드 시스템 및롬 데이터 패치 방법

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2012020928A2 (en) * 2010-08-12 2012-02-16 Neowiz Games Co., Ltd. File patching method, server, recording medium, and terminal
WO2012020928A3 (en) * 2010-08-12 2012-06-07 Neowiz Games Co., Ltd. File patching method, server, recording medium, and terminal
WO2012023800A2 (ko) * 2010-08-17 2012-02-23 (주)에스와이리더 레이저 절단과 동시에 방향성을 갖는 기체를 분사하는 절단헤드
WO2012023800A3 (ko) * 2010-08-17 2012-06-07 (주)에스와이리더 레이저 절단과 동시에 방향성을 갖는 기체를 분사하는 절단헤드
KR101327680B1 (ko) * 2011-11-07 2013-11-08 엘에스산전 주식회사 전력량계의 펌웨어 업그레이드 장치, 시스템 및 방법
US9235405B2 (en) 2011-11-07 2016-01-12 Lsis Co., Ltd. Apparatus, system and method for upgrading firmware of energy metering device
WO2013117039A1 (zh) * 2012-02-10 2013-08-15 中兴通讯股份有限公司 软件升级方法和装置
KR101350211B1 (ko) * 2012-04-03 2014-01-24 도로교통공단 교통신호 제어기의 펌웨어 업그레이드 방법
KR20220019940A (ko) * 2020-08-11 2022-02-18 경북대학교 산학협력단 펌웨어 업데이트 장치 및 업데이트 방법

Also Published As

Publication number Publication date
KR100927446B1 (ko) 2009-11-19

Similar Documents

Publication Publication Date Title
KR100927446B1 (ko) 이동통신단말기의 트랜잭션 단위 펌웨어 업그레이드 방법및 이를 이용한 펌웨어 업그레이드 시스템
US9507581B2 (en) Systems and methods of device firmware delivery for pre-boot updates
CN106095620B (zh) 一种嵌入式Linux存储分区的开发方法
US7409685B2 (en) Initialization and update of software and/or firmware in electronic devices
US8423991B2 (en) Embedded network device and firmware upgrading method
US20110004871A1 (en) Embedded electronic device and firmware updating method thereof
EP2362312A1 (en) Firmware update system, and information apparatus, as well as program
CN107506219A (zh) 一种基于Android系统的通用版本升级方法
US8601464B2 (en) Memory online update system and method
CN111562934B (zh) 一种基于热补丁的软件系统升级方法、终端及存储介质
CN112463656B (zh) 固态硬盘异常掉电恢复方法、系统及存储介质
CN107797818A (zh) 应用程序升级方法及装置
CN113741944A (zh) 一种具备升级功能的机器程序系统及升级方法与应用
CN101957765A (zh) 一种实现设备固件更新的方法及系统、设备
CN102999349A (zh) 一种软件升级方法
EP1614034B1 (en) Initialization and update of software and/or firmware in electronic devices
CN109213510A (zh) 一种用于嵌入式设备的应用程序升级方法及存储介质
CN109947445A (zh) 一种固件升级方法及系统
CN107678770B (zh) 接口芯片升级方法、装置、存储介质和处理器
US20060026415A1 (en) Method of updating a portion BIOS
CN101131649A (zh) 设有闪存的装置的只读存储器升级速度改善方法
CN103336699A (zh) 嵌入式系统软件的升级方法和装置
US20070079279A1 (en) Embedded device with software registry
CN113010195B (zh) 一种系统升级方法、存储介质及终端设备
KR100876212B1 (ko) 이동통신단말기의 읽기 전용 파일 시스템 상에서의소프트웨어 업데이트 방법

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