KR20070082894A - 이동 단말기 장치 및 소프트 웨어 갱신 방법 - Google Patents
이동 단말기 장치 및 소프트 웨어 갱신 방법 Download PDFInfo
- Publication number
- KR20070082894A KR20070082894A KR1020070016580A KR20070016580A KR20070082894A KR 20070082894 A KR20070082894 A KR 20070082894A KR 1020070016580 A KR1020070016580 A KR 1020070016580A KR 20070016580 A KR20070016580 A KR 20070016580A KR 20070082894 A KR20070082894 A KR 20070082894A
- Authority
- KR
- South Korea
- Prior art keywords
- update
- unit area
- area
- memory
- software
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W8/00—Network data management
- H04W8/22—Processing or transfer of terminal data, e.g. status or physical capabilities
- H04W8/24—Transfer of terminal data
- H04W8/245—Transfer of terminal data from a network towards a terminal
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/23—Updating
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
- G06F8/658—Incremental updates; Differential updates
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/22—Microcontrol or microprogram arrangements
- G06F9/24—Loading of the microprogram
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04B—TRANSMISSION
- H04B1/00—Details of transmission systems, not covered by a single one of groups H04B3/00 - H04B13/00; Details of transmission systems not characterised by the medium used for transmission
- H04B1/38—Transceivers, i.e. devices in which transmitter and receiver form a structural unit and in which at least one part is used for functions of transmitting and receiving
- H04B1/40—Circuits
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04M—TELEPHONIC COMMUNICATION
- H04M1/00—Substation equipment, e.g. for use by subscribers
- H04M1/72—Mobile telephones; Cordless telephones, i.e. devices for establishing wireless links to base stations without route selection
- H04M1/724—User interfaces specially adapted for cordless or mobile telephones
- H04M1/72403—User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality
- H04M1/72406—User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality by software upgrading or downloading
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W88/00—Devices specially adapted for wireless communication networks, e.g. terminals, base stations or access point devices
- H04W88/02—Terminal devices
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- Computer Security & Cryptography (AREA)
- Human Computer Interaction (AREA)
- Data Mining & Analysis (AREA)
- Stored Programmes (AREA)
- Telephone Function (AREA)
- Telephonic Communication Services (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
본 발명은 이동 단말기 장치 및 소프트 웨어 갱신 방법에 관한 것으로서, 소프트 웨어를 외부에 옮겨놓지 않고도 비교적 적은 메모리 용량으로 갱신 처리를 행할 수 있어, 갱신 처리의 실패시에도, 단말기의 사용이 장시간 제한되지 않도록 할 수 있는 것으로서, 불휘발성 메모리에, 소프트 웨어 갱신을 위한 갱신 엔진을 포함하는 본체 프로그램을 저장하는 메모리 영역 및 이 메모리 영역 내의 단위 영역에 대한 대체 단위 영역을 형성한다. 소프트 웨어 갱신 시에는, 본체 프로그램의 신구 버전의 차분 데이터를 다운로드하고, 상기 메모리 영역 내의 갱신 엔진을 작업용 메모리 영역에 전개하고, 이 작업용 메모리 영역 내의 갱신 엔진을 실행하여, 상기 차분 데이터에 의해 단위 영역마다 본체 프로그램을 갱신한다. 갱신 시에 단위 영역의 불량이 검출되었을 때, 대체 단위 영역에 대하여 상기 단위 영역의 갱신을 행하여, 불량 단위 영역을 대체 단위 영역으로 치환한다.
이동 단말기 장치, 소프트 웨어 갱신 방법, 대체 단위 영역,갱신 엔진
Description
도 1은 본 발명의 실시예에 관한 휴대 전화기의 개략적인 하드웨어 구성을 나타낸 도면이다.
도 2는 도 1 내에 나타낸 제1 플래시 메모리의 메모리 구성을 나타낸 도면이다.
도 3은 본 발명의 실시예에 있어서의 갱신 실패시의 복구 동작을 실현하기 위한 메모리 구성을 나타낸 도면이다.
도 4는 본 발명의 실시예에 있어서의 소프트 갱신 엔진 부분의 설명도이다.
도 5는 본 발명의 실시예에 있어서 이용하는 메모리 관리 유닛(MMU)의 설명도이다.
도 6은 본 발명의 실시예에 있어서의 소프트 갱신 시의 개략의 처리 스텝을 나타낸 플로차트이다.
도 7은 도 6 내의 스텝 S14에서 실행되도록 한, 본 실시예에 있어서의 소프트 갱신 시의 처리 스텝을 나타낸 플로차트이다.
도 8은 본 발명의 실시예에 있어서 갱신 엔진에 전화기의 기본 기능을 실장한 구성을 나타낸 도면이다.
[도면의 주요부분에 대한 부호의 설명]
(10)…휴대 전화기, (11)…제어부, (12)…음성 처리부,
(13)…마이크, (14)…스피커, (15)…기억부,
(15a)…제1 플래시 메모리, (15b)…RAM, (15c)…제2 플래시 메모리,
(16)…통신부, (17)…안테나, (18)…조작부, (19)…표시부,
(21)…메모리 공간, (21a)…부트 영역, (21b)…영역,
(21c)…영역, (25)…갱신 엔진
[특허 문헌] 일본국 특개 2005-235110호 공보
본 발명은, 통신 기능을 가지는 이동 단말기 장치 및 그 소프트 웨어 갱신 방법에 관한 것이다.
현재, 이동 단말기 장치의 일종인 휴대 전화기는, 통화, 전자 메일, 웹 열람, 개인 정보 관리, 메모, 카메라 촬영 등 각종의 기능이 있으며, 많은 사용자들이 휴대하여 사용하고 있다. 또, 최근에는 라디오나 텔레비전의 방송 수신, 음악 재생 등의 기능을 탑재한 기종까지 출시되고 있다.
이와 같은 기능의 많고 적음에 상관없이, 모든 휴대 전화기는 컴퓨터 프로그램(광의적으로는 소프트 웨어)에 의해 제어되고 있다. 그와 같은 컴퓨터 프로그램 은, 휴대 전화기에 내장된 메모리 내에 불휘발성적으로 저장되어 있다.
소프트 웨어(이하, 단지 소프트라고도 함)는, 버그라는 문제를 수정하거나 기능의 추가나 개선을 행하거나 하기 위해 버전업을 하는 것이 일반적이다.
통상, 전자 기기의 소프트 웨어의 갱신은, 새로운 버전의 소프트 웨어를 기록한 매체로부터 상기 소프트 웨어를 전자 기기 내에 인스톨하거나, 내장된 ROM을 교환하거나 함으로써 행해지지만, 컴퓨터의 지식이 없는 사용자도 많이 있는 휴대 전화기에서는, 사용자에게 그와 같은 작업을 행하게 할 수는 없다.
그러므로, 최근에는, 휴대 전화기의 소프트 웨어를 OTA(Over The Air)로 재기록하는 기능이 탑재된 기종이 판매되고 있다. 「OTA로」란, 휴대 전화기의 통신 기능을 이용하여, 무선으로 라는 의미이다. 이로써, 사용자나 판매 가게 등에 특별한 부담을 주지 않고, 소프트 웨어의 갱신을 행할 수 있다. 구체적으로는, 소프트 웨어의 재기록은, 버전업 소프트와 휴대 전화기의 본체 프로그램의 차분(差分) 파일을 다운로드하고, 그 차분만 휴대 전화기 본체의 소프트를 갱신하는 방법으로 실현되고 있다.
종래, 소프트 갱신 기능의 실장에 있어서 각종의 문제점이 있었다. 예를 들면, 소프트 갱신 실행 개시 후에는, 본체 프로그램의 재기록이 실시되므로, 갱신이 성공한 경우에는 새로운 버전으로서 휴대 전화기는 기능한다. 그러나, 갱신에 실패한 경우 휴대 전화기는 전원 ON 할 수도 없게 된다. 즉, 메모리 디바이스 불량이나 기록 실패에 의해 소프트 갱신이 실패하면, 복구할 수 없게 된다. 복구하기 위해서는 종래의 시리얼 케이블을 경유하여 소프트 로드를 실행할 필요가 있어, 일 반 사용자에게서는 실행이 곤란해진다.
펌 웨어에 의해 동작을 제어 하는 전자 기기에 있어서는, 외부 접속 인터페이스를 통하여 수신한 펌 웨어의 갱신 데이터에 의해 프로그램을 갱신할 때, 갱신 처리 실패시에 파괴나 소실된 프로그램을 즉시 원래의 기능을 이용할 수 있는 상태로 복구시키기 위하여, 갱신 대상 프로그램 오브젝트를 외부 서버에 대피시키고, 갱신 처리 후에, 처리에 실패한 경우에, 대피시킨 갱신 전의 오브젝트를 외부 서버로부터 수신하고, ROM으로 되돌리는 기술이 제안되어 있다(상기 특허 문헌 참조).
상기 특허 문헌에 기재된 기술에서는, 갱신이 실패했을 때, 먼저 대피시킨 프로그램이 외부의 서버로부터 되돌려질 때까지는, 일시적으로 단말기 내에 정상적인 프로그램이 존재하지 않는 상태로 되어, 휴대 전화기와 같은 단말기 장치에 있어서는 바람직하지 않다.
이와 같은 문제점을 감안하여, 본원 출원인은 일본국 특허 출원 2006-3873에 있어서, 소프트 갱신에 실패한 경우의 복구책으로서 프로그램 저장 메모리 영역을 2면 준비하고, 한쪽이 소프트 갱신에 실패하여 사용 불가능으로 된 경우라도, 다른 일면의 프로그램을 기동시킴으로써 복구하는 방법을 제안하고 있다. 그러나, 이 방식에서는, 메모리 용량이 2배로 되어, 장치의 비용이 상승하게 된다.
본 발명은 이와 같은 배경에 있어서, 소프트 웨어를 외부에 대피시키지 않고 비교적 적은 메모리 용량으로 갱신 처리를 행할 수 있고, 갱신 처리의 실패시에도, 단말기의 사용이 장시간 제한되는 경우가 없는 이동 단말기 장치 및 소프트 웨어 갱신 방법을 제공하려고 하는 것이다.
본 발명에 의한 이동 단말기 장치는, 통신 기능을 가지는 이동 단말기 장치로서, 소프트 웨어 갱신을 위한 갱신 엔진을 포함하는 본체 프로그램을 저장하는 메모리 영역 및 이 메모리 영역 내의 단위 영역에 대한 대체 단위 영역을 가지는 불휘발성 메모리와, 작업용 메모리와, 상기 불휘발성 메모리 및 작업용 메모리에 액세스하는 제어 수단을 구비한다. 상기 제어 수단은, 소프트 웨어 갱신 시에, 본체 프로그램의 버전과 새로운 본체 프로그램의 버전의 차분 데이터를 다운로드하고, 상기 메모리 영역 내의 갱신 엔진을 작업용 메모리 영역에 전개하고, 상기 작업용 메모리 영역 내의 갱신 엔진을 실행하여, 상기 차분 데이터에 의해 단위 영역마다 상기 본체 프로그램을 갱신하고, 갱신이 성공했을 때 갱신 처리를 종료하고, 갱신 시에 단위 영역의 불량을 검출했을 때, 상기 대체 단위 영역에 대하여 상기 단위 영역의 갱신을 행하고, 불량 단위 영역을 대체 단위 영역으로 치환한다.
이로써, 소프트 웨어 갱신 시에 불휘발성 메모리의 갱신 대상 영역에 불량이 검출되어도, 대체 단위 영역을 이용함으로써 정상적으로 갱신 처리가 완료된다.
또, 불량이 검출된 단위 영역의 어드레스를 상기 대체 단위 영역의 어드레스로 변환하는 어드레스 변환 수단을 사용함으로써, 특정한 단위 영역의 물리 어드레스가 바뀌어도, 갱신 후의 이동 단말기 장치의 동작이 정상적으로 행해진다.
본 발명에 의한 소프트 웨어 갱신 방법은, 통신 기능을 가지는 이동 단말기 장치의 소프트 웨어 갱신 방법으로서, 불휘발성 메모리 내에, 소프트 웨어 갱신을 위한 갱신 엔진을 포함하는 본체 프로그램을 저장하는 메모리 영역 및 이 메모리 영역 내의 단위 영역에 대한 대체 단위 영역을 형성하고, 소프트 웨어 갱신 시에, 한쪽의 본체 프로그램의 버전과 새로운 본체 프로그램의 버전의 차분 데이터를 다운로드하고, 상기 메모리 영역 내의 갱신 엔진을 작업용 메모리 영역에 전개하고, 상기 작업용 메모리 영역 내의 갱신 엔진을 실행함으로써 상기 차분 데이터에 의해 단위 영역마다 상기 본체 프로그램을 갱신하고, 갱신이 성공했을 때 갱신 처리를 종료하고, 갱신 시에 단위 영역의 불량을 검출했을 때, 상기 대체 단위 영역에 대하여 상기 단위 영역의 갱신을 행하여, 불량 단위 영역을 대체 단위 영역으로 치환한다.
이하, 본 발명의 바람직한 실시예에 대하여 도면을 참조하면서 상세하게 설명한다. 여기서는, 이동 단말기 장치의 일례로서 휴대 전화기를 예로 든다.
도 1은, 본 발명에 의한 실시예에 관한 휴대 전화기의 개략의 하드웨어 구성을 나타내고 있다. 휴대 전화기(10)는, 제어부(11), 음성 처리부(12), 마이크(13), 스피커(14), 기억부(15), 통신부(16), 안테나(17), 조작부(18), 표시부(19)를 구비한다.
제어부(11)는, CPU(Central Processing Unit)나 DSP(Digital Signal Processor) 등의 프로세서를 가지고, 휴대 전화기(10)의 각 부의 제어를 맡는다. 음성 처리부(12)는 제어부(11)의 제어 하에 통화나 음악 재생 등의 음성 처리를 행하고, 마이크(13)로부터의 음성 입력, 스피커(14)로의 음성 출력을 행한다. 기억부(15)는, 프로그램이나 데이터를 기억하는 부위이며, 본 실시예에서는 제1 플래 시(Flash)메모리(15a), RAM(15b), 제2 플래시 메모리(15c)를 가진다. 제1 플래시 메모리(15a)는, 제어부(11)가 실행하는 프로그램을 저장하는 재기록 가능한 불휘발성 메모리이다. 여기서는 제1 플래시 메모리(15a)로서 NOR형 플래시 메모리를 사용하고 있다. RAM(15b)는 프로그램이나 데이터를 일시적으로 저장하고, 제어부(11)에 의해 사용되는 메모리이다. 본 실시예에서는 RAM(15b)은, 후술하는 바와 같이 제1 플래시 메모리(15a) 내의 프로그램의 갱신 시에, 제1 플래시 메모리(15a) 내의 갱신 프로그램을 RAM(15b) 내에 카피하여 이것을 실행하기 위해 이용된다. 제2 플래시 메모리(15c)는, 전화번호부, 전자 메일, 웹 컨텐츠, 음악, 화상, 등의 각종의 데이터를 저장하는 재기록 가능한 불휘발성 메모리이다. 여기서는 제2 플래시 메모리(15c)로서 NAND형 플래시 메모리를 사용하고 있다. 본 실시예에서는, 갱신용 파일은 이 제2 플래시 메모리(15c)에 다운로드된다.
통신부(16)는, 제어부(11)의 제어 하에, 안테나(17)을 통하여 기지국(도시하지 않음)과 무선에 의한 송수신을 행하는 부위이다. 조작부(18)은, 숫자 패드나 각종의 제어 키, 죠그 다이얼 등을 가지고, 사용자에 의한 지시나 정보를 제어부(11)에 입력하는 기능을 가진다. 표시부(19)는, 예를 들면, LCD, 유기 EL 등의 표시 디바이스를 가지고, 사용자에 대하여 텍스트, 화상(정지화상, 동영상) 등의 가시 정보를 표시하는 기능을 가진다.
도 2에, 제1 플래시 메모리(15a)의 메모리 구성을 나타낸다 휴대 전화기에 실장되는 프로그램은 이 제1 플래시 메모리(15a)에 저장된다. 이 제1 플래시 메모리(15a)가 할당된 메모리 공간(21) 내의 메모리 어드레스의 선두의 부트 영역(Boot Area)(21a)에는 부트(Boot)라 하는 전원 투입시(기동시)에 처리되는 코드가 저장된다. 또, 부트 영역(21a)에 계속되는 영역(21b)에는 본체 프로그램이 저장된다. 플래시 메모리(15a)에는, 영역(21b)에 계속되는 예비의 영역(21c)이 있어도 된다(단, 이후의 도면에서는 특히 도시하지 않지만, 마찬가지이다). 통상, Boot 처리로부터 본체 프로그램에 처리가 분기되어 휴대 전화기의 동작이 개시된다. 소프트 갱신에서는 본체 프로그램의 부분이 갱신(재기록)대상으로 된다. 「본체 프로그램」이란, 본 실시예에서는, 휴대 전화기의 출하시에 내장 메모리 내에 미리 저장하고 있는 프로그램이다.
또, 소프트 갱신에 있어서의, 본체 프로그램의 재기록은 블록 단위로 행한다. 그 때, 어느 블록에 디바이스 불량이나, 기록 실패라는 현상이 발생한 경우, 본체 프로그램 자체가 갱신 도중에 있는 블록이 존재하고, 실행 불가능한 상태에 빠진다. 예를 들면, 도 2의 예에서는, 블록 1, 블록 2는 정상적으로 갱신이 완료되었으나, 블록 3에서 재기록이 실패한 경우를 나타내고 있다. 이 때, 본체 프로그램은 블록 3의 실행 중에 폭주하게 된다.
이하, 본 실시예에 있어서의 갱신 실패시의 복구 동작에 대하여 설명한다. 전술한 2면의 메모리를 확보하는 데는, 대용량의 메모리가 필요해 지므로, 비용적으로 불리하다. 그래서, 프로그램 영역을 2면 가지지 않고, 최소한의 메모리로 구성하여, 갱신 실패시의 복구 동작을 실현하는 방법을 제안한다. 이를 위한 메모리 구성을 도 3의 메모리 공간(21)에 의해 설명한다. 도 3에서는 복구 영역의 메모리 영역을, 갱신 대상의 메모리 영역과는 별도로 확보하고 있다. 이 메모리 영역은 비갱신 대상 영역이며, 갱신 실패 등이 없으면, 소프트 갱신에는 이용되지 않는다.
도 4에 나타낸 바와 같이, 소프트 갱신 엔진(25)은 본체 프로그램의 일부로서 실장되어 있다. 즉, 소프트 갱신에 앞서, 플래시 메모리 내의 본체 프로그램의 일부인 갱신 소프트로서의 갱신 엔진(25)을, 일단, RAM(15b) 내에 전개(카피)하고, 이 RAM 내의 영역 내의 갱신 엔진(25)을 실행함으로써 소프트 갱신을 실현한다. 예를 들면, 버전 V 1.0으로부터 V 1.2로의 갱신을 실행하는 경우에는, V 1.0→ V 1.2로의 차분 파일을 제2 플래시 메모리(15c)에 다운로드하고, 갱신 엔진(25)을 RAM(15b) 상에 전개하여, 이 갱신 엔진을 기동함으로써 소프트 갱신을 실행한다. 그리고, 메모리 상의 어느 영역을 갱신 대상으로 할 것인가에 관해서는, 갱신용 엔진(25)에 의해 정의할 수 있다.
갱신 대상 영역 내의 SectorN에 의해 메모리 불량 등에 의해 갱신이 실패한 경우, 갱신 대상을 복구 영역의 섹터 B의 어드레스(물리 어드레스 A')로 이행하여 갱신을 계속한다.
본 실시예에 있어서 제1 플래시 메모리로서 사용하고 있는 NOR형 플래시 메모리에서는, 소프트 갱신(메모리 기록)은 단위 영역으로서의 섹터 단위로 실시되므로, 섹터 영역(예를 들면 64Kbyte)을 복구 영역으로 하여 몇개인가 준비함으로써 갱신 실패시의 대책이 가능해진다.
도 3에 나타낸 예에서는 복구 영역을 4개(4섹터) 확보하고 있다. 이 상태에서는 파괴된 섹터의 개수가 4개까지이면 갱신이 정상적으로 완료하게 된다. 단, 복구 영역의 섹터는 4개에 한정되지 않고, 적어도 1개이면 본 발명을 실시 가능하 다.
도 3의 구성에 있어서, 본체 소프트의 메모리 영역에 불량이 있었다고 해도 복구 영역에 의해 정상적인 소프트 갱신이 가능해진다. 그러나, 실제의 프로그램은 프로그램 개시 어드레스로부터 실행되기 때문에, 물리 어드레스가 상이한 소프트는 정상적으로 기동시킬 수 없다. 이것을 가능하게 하기 위하여, 제어부(11)의 내부에 구비된 물리 어드레스로부터 논리 어드레스로의 변환 기능을 사용한다. 즉, 섹터 갱신의 실패에 의해 사용 불가능하게 된 물리 어드레스 A를 논리 어드레스로서 사용하고, 이것을 물리 어드레스 A'에 할당하여 바로 잡는다. 이 조작은, 도 5에 나타낸 바와 같이 제어부(11) 내의 메모리 관리 유닛(MMU)(11b)의 설정에 의해 가능하다. 그 결과, 본체 프로그램이 불연속인 물리 어드레스에 걸쳐 저장되어 있어도, 프로세서에는 연속 어드레스로 보이게 된다.
도 6에, 본 실시예에 있어서의 소프트 갱신 시의 개략의 처리 스텝을 나타낸 플로차트를 나타낸다.
소프트 갱신을 개시하고(S11), 갱신 대상 영역의 섹터 N(물리 어드레스 A)에 의해 메모리 불량 등에 의해 갱신이 실패한 경우(S12), 섹터 N 불량 정보를 기록한다(S 13). 그 다음에, 섹터 N에 대한 갱신을 섹터 B(물리 어드레스 A')에 대하여 실행한다(S 14). 갱신 완료 후에, 리부트(ReBoot) 처리를 실행한다(S 15). 이 리부트 처리에 있어서, 상기 기록된 불량 정보에 따라 섹터 N의 불량을 인식하면, 어드레스 A를 어드레스 A'로 변환하도록 논리ㆍ물리 어드레스 변환의 설정을 행한다(S 16). 그래서, 갱신 후의 소프트 기동을 행한다(S 17).
그리고, 소프트 갱신의 계기는, 통신 사업자 등으로부터 휴대 전화기로의 소프트 갱신의 통지 또는 사용자 조작에 의한 휴대 전화기로부터 통신 사업자 등으로의 문의에 의해 소프트 갱신 있음의 대답이 있던 경우이다. 전자의 경우, 자동적으로 또는 사용자의 확인을 조건으로 하여, 소프트 갱신 처리가 기동된다. 또, 후자의 경우에는, 사용자의 지시에 따라 소프트 갱신 처리가 기동된다.
도 7에, 도 6 내의 스텝 S14에서 실행되도록 한, 본 실시예에 있어서의 소프트 갱신 시의 처리 스텝을 나타낸다.
먼저, 통신부(16)에 의해 소정의 네트워크 상의 서버에 접속한다(S 21). 다음에, 이 서버로부터 갱신용 차분 데이터를 다운로드한다(S 22). 이 경우, 휴대 전화기에 현재 저장되어 있는 본체 프로그램의 버전 정보를 서버에 보내고, 이 버전으로부터 갱신 전의 버전으로의 차분 데이터를 특정한다.
이 다운로드가 끝나면, 휴대 전화기를 일단 리셋하고, 그 다음에, 부트 처리에 의해 갱신용 파일(상기 차분 데이터)이 존재하는지를 확인한다(S 23). 이것은, 갱신 파일 그 자체의 존재의 체크, 플래그의 설정 및 체크 등에 의해 행할 수 있다.
갱신용 파일이 존재하는 경우에는, 제1 플래시 메모리(15a) 내의 본체 프로그램 내의 갱신 처리 엔진(25)을 RAM(15b) 상에 전개한다(S 24). 그래서, 제어를 본체 프로그램으로부터 RAM(15b) 상의 갱신 처리 엔진으로 이행하여, RAM 상에서 갱신 처리를 기동하고(S 25), 소프트 갱신 처리를 실행한다(S 26).
휴대 전화기의 본체 프로그램은, 문제 등의 수정이 필요할 때마다 버전업되 어 간다. 본 실시예에서는, 서버에는 소프트 갱신용으로 차분 파일만이 놓여진다. 이와 같이 차분 파일의 갱신을 실행함으로써 다운로드하는 파일 사이즈가 작아지고져, 그 결과, 다운로드 시간 및 소프트 갱신 시간이 짧아져 버린다. 예를 들면, 파일 사이즈의 기준으로서는 본체 프로그램 32M 바이트에 대하여, 차분 파일 512K 바이트 정도로 본체 프로그램의 갱신이 가능해진다.
여기서, 예를 들면, 본체 프로그램이 V 1.0으로부터, V 1.1로, 또한 V 1.2로 버전업되어 있는 것으로 가정한다. 이 경우, 서버에는 하기 3개의 파일이 놓여진다.
V 1.0→V 1.1로의 차분 파일(1)
V 1.0→V 1.2로의 차분 파일(2)
V 1.1→V 1.2로의 차분 파일(3)
휴대 전화기의 출하 소프트 버전이 V 1.0이며, 휴대 전화기에 유지되고 있는 본체 프로그램의 버전도 V 1.0였던 경우, 휴대 전화기는 최신 소프트인 V 1.2로의 차분 파일(3)을 다운로드하여 소프트 갱신을 실행한다.
다음에, 소프트 웨어 V 1.3이 릴리스된 경우를 고려한다. 이 경우, 서버에는 이하의 파일이 놓여지게 된다.
V 1.0→V 1.1로의 차분 파일(1)
V 1.0→V 1.2로의 차분 파일(2)
V 1.1→V 1.2로의 차분 파일(3)
V 1.0→V 1.3으로의 차분 파일(4)
V 1.1→V 1.3으로의 차분 파일(5)
V 1.2→V 1.3으로의 차분 파일(6)
이 때, 휴대 전화기는 소프트 갱신 시에는, 현재 유지하고 있는 본체 프로그램의 버전으로부터 최신 버전으로의 차분 파일(예를 들면, V 1.2로부터 V 1.3으로의 차분 파일(6))을 다운로드하여 소프트 갱신을 실행한다.
그리고, 재기록 실행 중에는 소프트 갱신 처리만이 실행되기 때문에, 소프트 갱신이 완료될 때까지는 일체 전화 기능은 사용 불가능하게 된다. 갱신 시간은 차분 데이터가 어느 정도 있는지에 의존하지만, 통상 2 ~ 5분은 필요하고, 그 시간에서의 착신이나 발신이 일체 불가능으로 되므로, 사용자는 기회 손실의 가능성을 가진다.
그러나, 휴대 전화기의 본체 메모리는 비교적 대용량이 필요하였으나, 전화 기능만이라면 그다지 크지 않아도 된다. 휴대 전화기의 본체 프로그램은 현 상태 32M 바이트 정도로 되어 있지만, 전화기로서의 기본 기능 실현을 위해서라면 1M 바이트 정도의 용량에 의해 실현이 가능하다. 그래서, 갱신 엔진(25)에 발신ㆍ착신을 포함하는 기본 전화 기능을 포함함으로써, 소프트 갱신 중이라도 기본 전화 기능이 동작 가능해지고, 사용자는 갱신 시간을 의식할 필요가 없어진다. 소프트 갱신 중의 전화 기본 기능의 실행은, 소프트 갱신 처리를 일시적으로 정지시키거나, 또는 시분할로 양 처리를 병렬로 실행한다.
그러므로, 도 8에 나타낸 바와 같이, 갱신 엔진(25)에 전화기의 기본 기능을 실장함으로써, 소프트 재기록 중에도 기본적 기능 동작이 실현되게 할 수 있다. 소프트 갱신의 메인 처리는 플래시 메모리에의 기록이며, 전화기 기본 기능과 공존하여 실행된다.
본 실시예에 의하면, 다음과 같은 효과가 얻어진다.
(1) 차분 데이터에 의한 소프트 갱신을 행하므로, 다운로드를 위한 통신 시간 및 갱신 처리 시간이 짧아지게 된다.
(2) 소프트 웨어 갱신을 위한 갱신 엔진을 포함하는 본체 프로그램을 저장하는 메모리 영역 내의 단위 영역에 대한 대체 단위 영역을 이용함으로써, 비교적 소용량의 불휘발성 메모리로, 단말기에 있어서 소프트 갱신 실패시의 복구를 행할 수 있다.
(3) 갱신 엔진에 기본 전화 기능을 포함함으로써, 소프트 갱신 중이라도, 전화기의 기본 기능을 사용할 수 있다.
이상, 본 발명의 바람직한 실시예에 대하여 설명하였으나, 상기에서 언급한 이외에도 각종의 변형, 변경을 행할 수 있다.
본 발명에 의하면, 소프트 웨어 갱신 대상의 본체 프로그램을 저장하는 메모리 영역의 단위 영역에 대한 대체 단위 영역을 준비해 두고, 소프트 웨어 갱신 시의 불량 검출시에 상기 대체 단위 영역을 이용하는 구성으로 함으로써, 필요한 메모리 용량을 최소한으로 억제하면서, 소프트 웨어 갱신 실패시의 복구 기능이 실현된다. 이것은, 차분 데이터의 다운로드와 함께, 소프트 웨어 갱신 시에 단말기의 사용이 장시간 제한되는 것을 방지하는 효과를 얻을 수 있다.
Claims (4)
- 통신 기능을 가지는 이동 단말기 장치로서,소프트 웨어 갱신을 위한 갱신 엔진을 포함하는 본체 프로그램을 저장하는 메모리 영역 및 상기 메모리 영역 내의 단위 영역에 대한 대체 단위 영역을 가지는 불휘발성 메모리와,작업용 메모리와,상기 불휘발성 메모리 및 작업용 메모리에 액세스하는 제어 수단을 구비하고,상기 제어 수단은, 소프트 웨어 갱신 시에 본체 프로그램의 버전과 새로운 본체 프로그램의 버전의 차분(差分) 데이터를 다운로드하고, 상기 메모리 영역 내의 갱신 엔진을 작업용 메모리 영역에 전개하고, 상기 작업용 메모리 영역 내의 갱신 엔진을 실행하여, 상기 차분 데이터에 의해 단위 영역마다 상기 본체 프로그램을 갱신하고, 갱신이 성공했을 때 갱신 처리를 종료하고, 갱신 시에 단위 영역의 불량을 검출했을 때, 상기 대체 단위 영역에 대하여 상기 단위 영역의 갱신을 행하여, 불량 단위 영역을 대체 단위 영역으로 치환하는 것을 특징으로 하는 이동 단말기 장치.
- 제1항에 있어서,불량이 검출된 단위 영역의 어드레스를 상기 대체 단위 영역의 어드레스로 변환하는 어드레스 변환 수단을 추가로 구비한 것을 특징으로 하는 이동 단말기 장치.
- 제1항 또는 제2항에 있어서,상기 갱신 엔진에 발신·착신을 포함하는 기본 전화 기능을 추가로 구비한 것을 특징으로 하는 이동 단말기 장치.
- 통신 기능을 가지는 이동 단말기 장치의 소프트 웨어 갱신 방법으로서,불휘발성 메모리 내에 소프트 웨어 갱신을 위한 갱신 엔진을 포함하는 본체 프로그램을 저장하는 메모리 영역 및 이 메모리 영역 내의 단위 영역에 대한 대체 단위 영역을 형성하고,소프트 웨어 갱신 시에 한쪽의 본체 프로그램의 버전과 새로운 본체 프로그램의 버전의 차분 데이터를 다운로드하고,상기 메모리 영역 내의 갱신 엔진을 작업용 메모리 영역에 전개하고,상기 작업용 메모리 영역 내의 갱신 엔진을 실행함으로써 상기 차분 데이터에 의해 단위 영역마다 상기 본체 프로그램을 갱신하고,갱신이 성공했을 때 갱신 처리를 종료하고,갱신 시에 단위 영역의 불량을 검출했을 때, 상기 대체 단위 영역에 대하여 상기 단위 영역의 갱신을 행하여, 불량 단위 영역을 대체 단위 영역으로 치환하는 스텝을 포함하는, 소프트 웨어 갱신 방법.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JPJP-P-2006-00040359 | 2006-02-17 | ||
JP2006040359A JP2007219883A (ja) | 2006-02-17 | 2006-02-17 | 移動端末装置およびソフトウェア更新方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
KR20070082894A true KR20070082894A (ko) | 2007-08-22 |
Family
ID=38042999
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020070016580A KR20070082894A (ko) | 2006-02-17 | 2007-02-16 | 이동 단말기 장치 및 소프트 웨어 갱신 방법 |
Country Status (5)
Country | Link |
---|---|
US (1) | US7584379B2 (ko) |
EP (1) | EP1821506A3 (ko) |
JP (1) | JP2007219883A (ko) |
KR (1) | KR20070082894A (ko) |
CN (1) | CN101026848B (ko) |
Families Citing this family (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090019435A1 (en) * | 2007-07-12 | 2009-01-15 | Sauer-Danfoss Inc. | System and method for over the air programming |
US8161474B2 (en) * | 2007-12-14 | 2012-04-17 | Sharp Laboratories Of America, Inc. | Diagnostic information preservation during installations of over the air update of wireless handset software |
JP2010044574A (ja) * | 2008-08-12 | 2010-02-25 | Sony Ericsson Mobilecommunications Japan Inc | 携帯端末、携帯端末制御方法、及び携帯端末制御プログラム |
EP2407895A1 (en) * | 2010-07-16 | 2012-01-18 | Research In Motion Limited | Persisting file system information on mobile devices |
JP5559001B2 (ja) * | 2010-10-15 | 2014-07-23 | 株式会社日立ソリューションズ | 組込プログラム更新方法、組込プログラム更新プログラム、電子機器、ネットワークシステム |
US8504004B2 (en) * | 2011-06-03 | 2013-08-06 | At&T Mobility Ii Llc | Automatic control of rate of notifications for UMTS and other simultaneous voice/data networks |
CN102612023A (zh) * | 2012-03-16 | 2012-07-25 | 北京掌汇天下科技有限公司 | 一种移动终端更新应用的方法、服务器以及移动终端 |
CN102625290B (zh) * | 2012-04-10 | 2015-02-18 | 青岛海信移动通信技术股份有限公司 | 一种资源下载的方法、装置和系统及终端 |
JP5921358B2 (ja) * | 2012-06-21 | 2016-05-24 | キヤノン株式会社 | 情報処理装置、プログラム更新方法及びプログラム |
CN102869005B (zh) * | 2012-09-12 | 2015-02-18 | 青岛海信移动通信技术股份有限公司 | 一种移动终端对归属地数据进行处理的方法及移动终端 |
US10268471B2 (en) * | 2015-03-24 | 2019-04-23 | Huawei Technologies Co., Ltd. | Method for upgrading terminal system, terminal, and system |
US9755922B2 (en) * | 2015-03-26 | 2017-09-05 | Ca, Inc. | Minimized installation of point of presence software agents by use of pre-installed browser |
US12001825B2 (en) | 2016-02-19 | 2024-06-04 | Ford Global Technologies, Llc | Method and apparatus for vehicle software update installation |
JP6609199B2 (ja) * | 2016-03-01 | 2019-11-20 | ルネサスエレクトロニクス株式会社 | 組込み機器 |
KR101886176B1 (ko) * | 2016-10-25 | 2018-08-08 | 시큐리티플랫폼 주식회사 | 소유자만 기록 가능한 부트영역을 포함하는 저장장치 |
GB2569340A (en) * | 2017-12-14 | 2019-06-19 | Airbus Operations Ltd | System installed on an aircraft |
JP7013918B2 (ja) * | 2018-02-16 | 2022-02-01 | トヨタ自動車株式会社 | 車両制御装置、プログラム更新方法およびプログラム |
JP7484096B2 (ja) * | 2018-08-10 | 2024-05-16 | 株式会社デンソー | 電子制御装置、書換えの実行制御方法及び書換えの実行制御プログラム |
CN110505289B (zh) * | 2019-08-07 | 2022-04-26 | Oppo广东移动通信有限公司 | 文件下载方法及装置、计算机可读介质、无线通信设备 |
CN111399888B (zh) * | 2020-03-11 | 2023-06-16 | 北京百度网讯科技有限公司 | 音频处理芯片的处理方法、装置及电子设备 |
CN113676496B (zh) * | 2021-10-21 | 2022-04-08 | 江铃汽车股份有限公司 | 数据传递方法、系统、可读存储介质及计算机设备 |
Family Cites Families (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2000207190A (ja) * | 1999-01-14 | 2000-07-28 | Nec Shizuoka Ltd | ファ―ムウェアプログラム書き換え方式及びその方法 |
JP2000330779A (ja) * | 1999-05-18 | 2000-11-30 | Nec Corp | ファームウエアプログラム遠隔更新システム及び方法 |
JP4857462B2 (ja) * | 2000-11-07 | 2012-01-18 | パナソニック株式会社 | デジタル放送受信機 |
US7082549B2 (en) * | 2000-11-17 | 2006-07-25 | Bitfone Corporation | Method for fault tolerant updating of an electronic device |
JP3651886B2 (ja) * | 2001-03-06 | 2005-05-25 | 船井電機株式会社 | 電子システム |
US7123556B2 (en) * | 2002-01-22 | 2006-10-17 | Matsushita Electric Industrial Co., Ltd. | Multi-layered information recording medium with spare defect management areas |
JP2003229974A (ja) * | 2002-02-05 | 2003-08-15 | Nec Soft Ltd | 携帯電話端末既存ソフトウェア更新システムおよび方法 |
JP4013040B2 (ja) * | 2002-03-07 | 2007-11-28 | 富士ゼロックス株式会社 | ダウンロード装置及びダウンロード方法 |
US7047448B2 (en) * | 2002-11-21 | 2006-05-16 | Bitfone Corporation | Software self-repair toolkit for electronic devices |
JP4110000B2 (ja) * | 2003-01-28 | 2008-07-02 | 株式会社ルネサステクノロジ | 記憶装置 |
KR100739674B1 (ko) * | 2003-05-01 | 2007-07-13 | 삼성전자주식회사 | 결함 관리 방법, 그 장치 및 그 디스크 |
US20050010576A1 (en) * | 2003-07-09 | 2005-01-13 | Liwei Ren | File differencing and updating engines |
US7873956B2 (en) * | 2003-09-25 | 2011-01-18 | Pantech & Curitel Communications, Inc. | Communication terminal and communication network for partially updating software, software update method, and software creation device and method therefor |
US20050085222A1 (en) * | 2003-10-17 | 2005-04-21 | Nokia Corporation | Software updating process for mobile devices |
JP2005157657A (ja) * | 2003-11-25 | 2005-06-16 | Nec Corp | 携帯端末におけるアプリケーションデータ管理方法及び携帯端末 |
CN100484288C (zh) * | 2003-12-22 | 2009-04-29 | 艾利森电话股份有限公司 | 通过空中传送来下载和升级无线设备的终端软件 |
CN1556474A (zh) * | 2003-12-30 | 2004-12-22 | 浙江中控技术股份有限公司 | 软件的在线升级方法及装置 |
US7516451B2 (en) * | 2004-08-31 | 2009-04-07 | Innopath Software, Inc. | Maintaining mobile device electronic files including using difference files when upgrading |
US20060077941A1 (en) * | 2004-09-20 | 2006-04-13 | Meyyappan Alagappan | User interface system and method for implementation on multiple types of clients |
US20070050678A1 (en) * | 2005-08-25 | 2007-03-01 | Motorola, Inc. | Apparatus for self-diagnosis and treatment of critical software flaws |
-
2006
- 2006-02-17 JP JP2006040359A patent/JP2007219883A/ja active Pending
-
2007
- 2007-02-01 US US11/669,974 patent/US7584379B2/en not_active Expired - Fee Related
- 2007-02-15 EP EP07102461.6A patent/EP1821506A3/en not_active Withdrawn
- 2007-02-16 CN CN200710084916XA patent/CN101026848B/zh not_active Expired - Fee Related
- 2007-02-16 KR KR1020070016580A patent/KR20070082894A/ko not_active Application Discontinuation
Also Published As
Publication number | Publication date |
---|---|
US20070226334A1 (en) | 2007-09-27 |
CN101026848A (zh) | 2007-08-29 |
EP1821506A3 (en) | 2015-04-15 |
US7584379B2 (en) | 2009-09-01 |
JP2007219883A (ja) | 2007-08-30 |
EP1821506A2 (en) | 2007-08-22 |
CN101026848B (zh) | 2010-06-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR20070082894A (ko) | 이동 단말기 장치 및 소프트 웨어 갱신 방법 | |
US8726259B2 (en) | System and method for preserving device parameters during a FOTA upgrade | |
JP4944686B2 (ja) | ソフトウェア更新方法および携帯端末装置 | |
US8364942B2 (en) | Electronic device having an alterable configuration and methods of manufacturing and configuring the same | |
US7698698B2 (en) | Method for over-the-air firmware update of NAND flash memory based mobile devices | |
JP4859465B2 (ja) | ソフトウェア更新方法および移動端末装置 | |
US20060200815A1 (en) | Electronic Device and Method for Updating Related Programs | |
EP2229625A2 (en) | Updating firmware of an electronic device | |
GB2465193A (en) | Detecting updated files in a firmware over the air update using CRC values | |
KR100700578B1 (ko) | 휴대폰의 펌웨어 업그레이드 방법 | |
CN107643898A (zh) | 终端升级方法及装置 | |
JP2009009391A (ja) | 更新処理ソフトウェア自己更新方法および携帯端末装置 | |
KR20050088193A (ko) | 고장 허용 갱신 에이전트를 구비한 모바일 핸드세트 | |
KR101085681B1 (ko) | 이동통신 단말기의 데이터 복구 시스템 및 방법 | |
CA2539897C (en) | An electronic device having an alterable configuration and methods of manufacturing and configuring the same | |
US7761679B2 (en) | Method for recovering from download failure of program and portable terminal employing the method | |
KR100628176B1 (ko) | 정보 단말기의 저장 프로그램 갱신 방법 | |
KR100545095B1 (ko) | 무선통신단말기 소프트웨어 업그레이드 방법 | |
JP5275103B2 (ja) | 電子機器 | |
JP5474588B2 (ja) | 電子機器 | |
JP2003259000A (ja) | Ip−pbxにおけるip電話機サービス機能のバージョンアップ方式および方法 | |
KR100698187B1 (ko) | 디지털 수신기의 소프트웨어 업그레이드 방법 및 장치 | |
JP2006011589A (ja) | 移動体通信装置およびその装置を制御するためのプログラム | |
KR20050060494A (ko) | 이동 통신 단말기의 실행 코드 업그레이드 장치 및 방법 | |
KR20060136006A (ko) | 디지털 수신기의 소프트웨어 업그레이드 방법 및 장치 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
WITN | Application deemed withdrawn, e.g. because no request for examination was filed or no examination fee was paid |