KR101130875B1 - 펌웨어 업그레이드 경우의 자동 백업 저장 - Google Patents

펌웨어 업그레이드 경우의 자동 백업 저장 Download PDF

Info

Publication number
KR101130875B1
KR101130875B1 KR1020067021022A KR20067021022A KR101130875B1 KR 101130875 B1 KR101130875 B1 KR 101130875B1 KR 1020067021022 A KR1020067021022 A KR 1020067021022A KR 20067021022 A KR20067021022 A KR 20067021022A KR 101130875 B1 KR101130875 B1 KR 101130875B1
Authority
KR
South Korea
Prior art keywords
memory block
block
memory
software
version
Prior art date
Application number
KR1020067021022A
Other languages
English (en)
Other versions
KR20070006831A (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
Priority claimed from EP04005700A external-priority patent/EP1574952B1/en
Application filed by 소니 에릭슨 모빌 커뮤니케이션즈 에이비 filed Critical 소니 에릭슨 모빌 커뮤니케이션즈 에이비
Publication of KR20070006831A publication Critical patent/KR20070006831A/ko
Application granted granted Critical
Publication of KR101130875B1 publication Critical patent/KR101130875B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • G06F8/658Incremental updates; Differential updates
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1223Dedicated interfaces to print systems specifically adapted to use a particular technique
    • G06F3/1229Printer resources management or printer maintenance, e.g. device status, power levels
    • G06F3/123Software or firmware update, e.g. device firmware management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/10Programming or data input circuits
    • G11C16/102External programming circuits, e.g. EPROM programmers; In-circuit programming or reprogramming; EPROM emulators
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/10Programming or data input circuits
    • G11C16/102External programming circuits, e.g. EPROM programmers; In-circuit programming or reprogramming; EPROM emulators
    • G11C16/105Circuits or methods for updating contents of nonvolatile memory, especially with 'security' features to ensure reliable replacement, i.e. preventing that old data is lost before new data is reliably written
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Abstract

제1 버전(V1)에서 제2 버전(V2)으로 업그레이드하는 델타 파일(D12)을 수용하여 실행함으로써 장치(40)에서 제1 버전으로 존재하는 소프트웨어를 업데이트하는 방법으로서, 소프트웨어가 장치의 물리적인 메모리(48)의 어드레스 공간(211)에 한정된 다수의 메모리 블록으로 나뉘어 저장되는, 업데이트 방법은: 상기 다수의 메모리 블록에 관련된 여분의 메모리 블록을 한정하는 단계, 여분의 메모리 블록 공간을 한정하기 위해서 상기 여분의 메모리 블록을 삭제하는 단계, 제1 상기 다수의 메모리 블록에 대해 업데이트된 데이터를 상기 델타 파일에 의해 결정된 바와 같이 상기 여분의 메모리 블록 상에 기록하는 단계, 상기 제1 메모리 블록을 삭제함으로써, 상기 여분의 메모리 블록 공간을 하나의 블록으로 이동시키는 단계, 및 제2 상기 다수의 메모리 블록에 대해 업데이트된 데이터를 상기 델타 파일에 의해 결정된 바와 같이 상기 제1 메모리 블록 상에 기록하는 단계를 포함한다.
델타 파일, 메모리 블록, 여분의 메모리 블록, 어드레스 공간

Description

펌웨어 업그레이드 경우의 자동 백업 저장{AUTOMATIC BACKUP STORE IN FIRMWARE UPGRADES}
본 발명은 타겟 업그레이드(targer upgrade)용 델타 파일을 수용하여 실행함으로써 소프트웨어를 업그레이드하는 마이크로프로세서 시스템 및 컴퓨터에서 사용하는 방법에 관한 것이다. 특히, 본 발명은 타겟 업그레이드 동안 잠재적인 전력 손실을 함께 복사하는 개선된 해결책에 관한 것이다.
현재 소프트웨어 버전 및 업데이트된 소프트웨어 버전 사이의 차이점만을 전송함으로써 소프트웨어 바이너리의 업그레이드를 가능하게 하는 여러 기술이 존재한다. 소프트웨어의 특정 부분에 대한 새로운 버전에 있어서의 차이는 통상적으로 소스 바이너리의 거의 1-10%이다. 일반적으로 델타 파일로 나타내지는 여러 파일을 사용하는 절차는 특히 업데이트가 GPRS(범용 패킷 무선 서비스)와 같이, 낮은 대역폭 장벽을 거쳐 전송될 때 이점이 있다. 이런 기술은 Firmware Upgrade Over the Air라 칭해지고, OMA 내에서 널리 표준화된다. 업그레이드의 이런 유형이 행해지는 방법의 한 예는 다음과 같이 약술될 수 있다:
업그레이드하기 위한 마이크로프로세서로 제어되는 장치인 이동 전화는 현재 소프트웨어(V1)를 갖는다. 목적은 최신 릴리스 버전(release version)(V2)으로 소 프트웨어를 업데이트하는 것이다. 다음의 절차는 이동 전화에서 소프트웨어를 업데이트하기 위해서 수행된다:
1. 타겟 소프트웨어를 컴파일하여 링크, V2;
2. V1로부터 V2로의 바이너리의 차이(D12)를 평가. D12는 V2를 V1로부터 생성하는데 필요로 되는 모든 정보를 포함;
3. D12를 타겟으로, 예컨대, GPRS를 통해 트랜스포트;
4. 타겟 상에 V2를 생성하기 위해서 현재 바이너리(V1,D12)를 사용하여 타겟 장치가 자신을 리플래시, 즉 업그레이드시킴.
이제 타겟 장치는 다지 작은 업데이트 패키지(D12)를 장치로 전송하여 V2로 업데이트된다.
상기 업데이트 프로세스에서 중요한 단계는 타겟 업그레이드이다. 예컨대, RTOS(실시간 동작 시스템) 및 애플리케이션과 같은 타겟 소프트웨어가 리플래시된다는 사실로 인해서, 전력 손실이 장치에 치명적이다. 업데이트 프로세스는 100% 장애 회복 안전성이 있어야만 하고, 이는 기대되지 않는 전력 오류(power failure) 이후에 업데이트 프로세스가 계속될 수 있어야만 한다는 것을 의미한다. 오류 안정 능력(fail safe capability)을 구현하는데 사용되는 종래 방법의 상태는 2 위상 커미트(2 phase commit)라 칭해지는데, 이는 이미 데이터베이스와 같은 다수의 애플리케이션에 사용되어 왔다. 개념은 업데이트 동안에 낡은 정보의 사본을 유지하는 것이다. 업데이트가 완료되어야만 낡은 정보가 제거된다. 이런 방법으로, 업데이트 동안에 업데이트가 존재한다면, 최근 상태로 되돌아가는 것이 항상 가능하다.
NOR 플래시를 사용하는 장치에 대해서, 메모리는 64kB의 동일한 크기로된 블록으로 나뉘는 것이 전형적이다. NOR 장치에 기록할 때 특별한 제약이 있다. 단지 전체 블록은 블록의 모드 비트가 1로 설정되는 동시에 삭제될 수 있다. 기록은 바이트 레벨로 수행될 수 있지만 단지 1에서 0으로 비트 상태를 바꿀 수 있다. NOR 장치 상에서의 업그레이드는 블록마다 수행된다. 오류 회복을 가능하게 하기 위해서 업데이트된 블록이 원래 블록에 기록되기 전에 각각의 블록은 특정 백업으로 먼저 복사된다. 종래 절차의 이런 상태는 이제 도1을 참조하여 설명될 것이다.
특정 장치 소프트웨어는 4개의 메모리 블록(101-104)에 저장된 네 개의 소프트웨어 블록(1-4)으로 구성된다. 메모리 블록(101-104)은 장치의 물리적인 메모리의 메모리 공간(111) 내에서 한정된다. 메모리 블록(101-104)은 업데이트 프로세스 동안에 특정 상태(106-110)에서 실제로 나타내지는 바와 같이 도시된다. 각각의 컬럼(column)은 업데이트 프로세스에서 새로운 상태를 나타내는데, 이는 도면에서 화살표로 나타내는 바와 같이 왼쪽에서 오른쪽으로 동작한다. 프로세스는 또한 델타 패키지, 상태 정보 및 업데이트 애플리케이션에 연관되지만 그러한 것으로 전체 프로세스를 명확하게 하기 위해서는 도시되지 않는다. 업데이트 프로세스 동안에 두 개의 소프트웨어 블록(1,2)이 이미 업데이트되었는데, 이는 컬럼(106)에서 도시되는 상태이다. 블록(3)은 다음에 업데이트될 것이다. 잠재적인 전력 손실을 회복하기 위해서 정보가 지속적으로 저장될 필요가 있다. 상태에 대한 정보는 이런 블록의 트랙이 프로세싱되고 있는 것을 유지하는데 사용되는데, 당신이 현재 존재하는 업데이트 상태이다. 게다가, 낡은 블록은 새로운 블록이 생성될 때까지 유지되어야 만 한다. 블록(3)을 업데이트하는 프로세스는 백업 블록(105)을 먼저 삭제함으로써 성취되는데, 또한 상태(107)로의 단계에서, 메모리 공간(111)에 한정된다. 그 후에 블록(3)의 데이터는 상태(108)로의 단계에서, 블록(103)으로부터 백업 블록(105)으로 복사된다. 이어서 블록(103)은 상태(109)로의 단계에서 삭제되어 빈 블록을 남긴다. 마침내 기록 프로세스는 상태(110)로의 단계에서 블록(103)에서 수행되어 그의 데이터를 새로운 블록(3)에 업그레이드한다. 대안으로 낡은 블록(3)을 백업 블록(105)에 복사하는 새로운 블록(3)은 백업 블록(105)에 생성한다.
백업 블록(105)이 사용되지 않았다면, 블록 삭제 이후 및 새로운 블록이 완전히 기록되기 전에 전력 손실을 회복할 수 없는데, 소스 블록이나 목적지 블록이 유용하지 않을 것이기 때문이다. 상기 절차를 사용함으로써, 항상 업데이트를 처리할 수 있는데, 여기서 이는 최근 블록을 재기록함으로써 종료되고 업데이트와 함께 계속한다.
종래 절차에 대해서, 이런 상태에 대한 문제점은 플래시 업데이트 동안에 기록 시간이 두 배라는 것인데, 이는 각 블록이 전력 손실 회복을 지원하기 위해서 각 블록에 대해 두 번 기록되어야만 하기 때문이다. NOR 플래시에 대해서, 기록 속도는 거의 200kB/s인 것이 전형적이다. 그래서 모든 블록이 업데이트될 필요가 있는 경우에, 하나의 16MB 이미지 업데이트시에 블록에 기록하는 시간은 거의 16MB*2/0.2=160초이다. 업데이트 동안 장치는 전혀 사용할 수 없으므로 가능한 이런 시간을 작게 유지하는 것이 중요하다. 코드 변화가 새로운 2진 이미지로 분할되는 방법 및 업데이트 크기에 따라, 업데이트될 블록의 수가 달라질 수 있다. 경험 은 최상의 업데이트가 모든 사용 가능한 블록의 대부분이 업데이트되는 것을 필요로한다는 것을 나타낸다. 이미지의 더 작은 부분들에 집중되는 방법으로 2진 이미지로 구성됨으로써 업데이트될 필요가 있는 블록의 수를 감소시키는 방법이 존재한다. 그러나 이런 기술은 매우 복잡하다.
본 발명의 일반적인 목적은 소프트웨어 업데이트 프로세스가 예컨대, 전력 손실로 인한 방해 이후에 회복되는 것을 보장하기 위한 개선된 해결책을 제공하는 것이다. 특히, 델타 파일을 사용하여 소프트웨어 바이너리를 업그레이드하는 해결책을 제공하는 것이 목적인데, 이는 타겟 업데이트 시간을 최소화시킨다.
본 발명의 제1 양상에 따르면, 이런 목적은 제1 버전에서 제2 버전으로 업데이트하는 델타 파일을 수용하여 실행함으로써 장치에서 제1 버전으로 존재하는 소프트웨어를 업데이트하는 방법을 이행하는 것인데, 상기 소프트웨어가 장치의 물리적인 메모리의 어드레스 공간에 한정된 다수의 메모리 블록으로 나뉘어 저장되는, 상기 방법은 다음 단계를 포함한다:
- 상기 다수의 메모리 블록에 관련된 여분의 메모리 블록을 한정하는 단계;
- 여분의 메모리 블록 공간을 한정하기 위해서 상기 여분의 메모리 블록을 삭제하는 단계;
- 제1 상기 다수의 메모리 블록에 대해 업데이트된 데이터를 상기 델타 파일에 의해 결정된 바와 같이 상기 여분의 메모리 블록 상에 기록하는 단계;
- 상기 제1 메모리 블록을 삭제함으로써, 상기 여분의 메모리 블록 공간을 하나의 블록으로 이동시키는 단계; 및
- 제2 상기 다수의 메모리 블록에 대해 업데이트된 데이터를 상기 델타 파일에 의해 결정된 바와 같이 상기 제1 메모리 블록 상에 기록하는 단계.
바람직한 실시예에서, 상기 여분의 메모리 블록은 상기 어드레스 공간의 상기 제1 메모리 블록에 근접하게 위치된 메모리 블록으로 한정된다.
유리하게, 방법은 모든 상기 다수의 메모리 블록이 어드레스 공간에서 하나의 단계가 이동될 때까지 상기 델타 파일에 의해 결정된 바와 같이 업그레이드하는 동안에, 상기 어드레스 공간의 다음 메모리 블록으로부터 상기 다수의 메모리 블록 중 하나에 데이터를 기록함으로써 상기 여분의 메모리 블록으로부터 상기 다수의 메모리 블록의 전체를 하나씩 프로세싱하는 단계를 포함한다.
하나의 실시예에서, 방법은 어드레스 공간의 메모리 블록에 기록하는 명령을 제1 버전에서 제2 버전으로의 상기 업그레이드를 상기 제2 버전에서 제3 버전으로의 제2 업그레이드로 전환하는 단계를 포함한다.
상기 방법은 다음의 단계를 포함하는 것이 바람직하다:
- 제1 델타 파일이 어드레스 공간의 한 명령으로 상기 메모리 블록에 존재하는 소프트웨어를 업그레이드하는데 적응되고, 제2 델타 파일은 어드레스 공간의 전환된 명령으로 상기 메모리 블록에 존재하는 소프트웨어를 업그레이드하는데 적응되는 델타 파일을 상기 장치가 수용하여 실행하기 전에 상기 어드레스 공간의 상기 여분의 블록에 대한 현재 위치에 따라 서버와 연결되는 단계, 어떤 유형의 델타 파일이 상기 소프트웨어를 업그레이드하는데 사용될 수 있는지 결정하는 현재 어드레스 공간 상태에 관련된 정보를 전하는 단계;
- 사용 가능한 델타 파일 유형의 델타 파일을 상기 서버에서 상기 장치로 다운로드하는 단계; 및
- 상기 소프트웨어를 사용 가능한 델타 파일을 사용하여 업데이트하는 단계.
한 실시예에서, 방법은 상기 델타 파일에 의해 결정된 바와 같은 기록 동안에 상기 메모리 블록 사이의 데이터 움직임에 따라, 상기 소프트웨어에 대한 부트 코드(boot code)로 상기 어드레스 공간의 시작 어드레스를 수정하는 단계를 포함한다.
본 발명의 제2 양상에 따르면, 상술된 목적은 장치의 제1 버전으로 존재하는 소프트웨어를 업데이트하는 컴퓨터로 제어되는 일렉트로닉 장치(electronic device)에 사용하는 컴퓨터 프로그램 프로덕트에 의해 해결되는데, 상기 장치는 상기 제1 버전을 제2 버전으로 업그레이드하는 델타 파일을 수용하여 실행하는 수단을 포함하고, 상기 소프트웨어는 장치의 물리적인 메모리의 어드레스 공간에 한정된 다수의 메모리 블록으로 나뉘어 저장되며, 상기 컴퓨터 프로그램 프로덕트는 장치가 다음 단계를 수행하기 위해서 발명된 실행 가능한 컴퓨터 프로그램 프로덕트를 포함한다:
- 상기 다수의 메모리 블록에 관련된 여분의 메모리 블록을 한정하는 단계;
- 여분의 메모리 블록 공간을 한정하기 위해서 상기 여분의 메모리 블록을 삭제하는 단계;
- 제1 상기 다수의 메모리 블록에 대해 업데이트된 데이터를 상기 델타 파일에 의해 결정된 바와 같이 상기 여분의 메모리 블록 상에 기록하는 단계;
- 제1 상기 메모리 블록을 삭제함으로써, 상기 여분의 메모리 블록 공간을 하나의 블록으로 이동시키는 단계; 및
- 제2 상기 다수의 메모리 블록에 대해 업데이트된 데이터를 상기 델타 파일에 의해 결정된 바와 같이 상기 제1 메모리 블록 상에 기록하는 단계.
한 실시예에서, 컴퓨터 프로그램 프로덕트은 장치가 상기 방법의 단계들에 대한 단계들을 수행하도록 발명된 실행 가능한 컴퓨터 프로그램 코드를 포함한다.
본 발명의 제3 양상에 따르면, 상술된 목적은 무선 통신 단말기에 의해 해결되는데, 이는 단말기에서 제1 버전으로 존재하는 소프트웨어를 업데이트하는 컴퓨터 코드에 연관된 컴퓨터 시스템 및 상기 제1 버전을 제2 버전으로 업그레이드하는 델타 파일을 수용하여 실행하는 수단을 포함하는데, 상기 소프트웨어는 단말기의 물리적인 메모리의 어드레스 공간에 한정된 다수의 메모리 블록으로 나뉘어 저장되고, 상기 다수의 메모리 블록과 연관된 여분의 메모리 블록은 상기 어드레스 공간에 한정되며, 상기 단말기는 여분의 메모리 블록 공간을 한정하는 상기 여분의 메모리 블록을 삭제하는 수단; 제1 상기 다수의 메모리 블록에 대해 업데이트된 데이터를 상기 델타 파일에 의해 결정된 바와 같이 상기 여분의 메모리 블록에 기록하는 데이터 기록 수단; 상기 여분의 메모리 블록 공간을 하나의 블록으로 이동시키는 상기 제1 메모리 블록을 삭제하는 데이터 삭제 수단을 더 포함하는데, 여기서 상기 데이터 기록 수단은 제2 상기 다수의 메모리 블록에 대해 업데이트된 데이터를 상기 델타 파일에 의해서 결정된 바와 같이, 상기 제1 메모리 블록에 기록하기 위해서 발명된다.
한 실시예에서, 상기 여분의 메모리 블록은 상기 어드레스 공간의 상기 제1 메모리 블록에 근접하게 위치된다.
바람직하게, 상기 데이터 기록 수단은 모든 상기 다수의 메모리 블록이 어드레스 공간에서 하나의 단계가 이동될 때까지, 상기 델타 파일에 의해 결정되는 바와 같이 업그레이드하는 동안에, 상기 어드레스 공간의 다음 블록으로부터 상기 다수의 메모리 블록 중 하나에 데이터를 기록함으로써 상기 여분의 메모리 블록으로부터 상기 다수의 메모리 블록의 전체를 하나씩 프로세싱하도록 발명된다.
유리하게, 무선 통신 단말기는 어드레스 공간의 메모리 블록에 기록하는 명령을 제1 버전에서 제2 버전으로의 상기 업그레이드를 상기 제2 버전에서 제3 버전으로의 제2 업그레이드로 전환하는 수단을 포함한다.
바람직한 실시예에서, 제1 델타 파일의 유형은 어드레스 공간의 한 명령으로 상기 메모리 블록에 존재하는 소프트웨어를 업그레이드하는데 적응되고, 제 2 델타 파일은 어드레스 공간의 전환된 명령으로 상기 메모리 블록에 존재하는 소프트웨어를 업그레이드하는데 적응되는 델타 파일을 상기 장치가 수용하여 실행하기 전에 상기 어드레스 공간의 상기 여분의 블록에 대한 현재 위치에 따라 어느 유형의 델타 파일이 상기 소프트웨어를 업그레이드하는데 사용할 수 있는지 결정하는 현재 어드레스 공간 상태에 관련된 정보를 전달하기 위해서 서버에 연결되도록 배열되고, 상기 단말기는 사용 가능한 델타 파일 유형의 델타 파일을 상기 서버에서 상기 장치로 다운로드하는 수단, 및 상기 소프트웨어를 상기 사용 가능한 델타 파일을 사용하여 업그레이드하는 수단을 포함한다.
바람직하게, 무선 통신 단말기는 상기 델타 파일에 의해 결정된 바와 같은 기록 시간 동안에 상기 메모리 블록 사이의 데이터 움직임에 따라, 상기 소프트웨어에 대한 부트 코드로 상기 어드레스 공간의 시작 어드레스를 수정하는 수단을 포함한다.
본 발명의 특징 및 이점은 첨부된 도면을 참조하여 바람직한 실시예에 대한 다음의 설명으로부터 더 명백해질 것이다.
도1은 타겟 업그레드에 의해서 소프트웨어를 업데이트하는 종래 기술 프로세스의 개략도.
도2는 타겟 업그레이드에 의해서 소프트웨어를 업데이트하는, 본 발명의 실시예에 따르는 프로세스의 개략도.
도3은 도2의 전체 프로세스의 두 가지 버전의 개략도.
도4는 본 발명의 프로세스 단계를 실행하는 컴퓨터 프로그램 프로덕트을 구현하는 예시적인 무선 통신 단말기의 개략도.
도5는 단말기에서 타겟 업그레이드용 업데이트 델타 파일을 수용하는 기지국과 통신하는 동안, 자신에게 내장된 컴퓨터 시스템을 갖는 도4의 단말기의 개략도.
본 설명은 델타 파일 및 타겟 업그레이드를 사용하여 소프트웨어의 펌웨어 업그레이드에 사용하는 수단 및 방법에 관한 것이다. 본 발명은 특히 상대적으로 낮은 전송 대역폭을 갖는 시스템에서 사용하는 것이 유리하지만 이런 범위에 한정되지 않는다. 이하 설명되는 바람직한 실시예는 이동 전화의 분야에 관한 것이고 특히 무선 통신 단말기에서 구현되는 것에 관한 것이다. 어휘 무선 통신 단말기는 이동국과 무선 통신을 위해 발명된 모든 이동 전화 통신 장비를 포함하는데, 상기 이동국은 또한 이동 전화 단말기 또는 예컨대 고정 기지국일 수 있다. 그 결과, 어휘 무선 단말기는 이동 전화, 통신기(communicator), 전자 오거나이저, 스마트폰, PDA:s(개인 휴대용 정보 단말기), 자동차에 고정된 무선 통신 장치 등뿐만 아니라 예컨대 WLAN(무선 로컬 에어리어 네트워크)에서 무선 통신하기 위해 발명된 휴대용 랩톱 컴퓨터를 포함한다. 게다가, 어휘 포함하는(comprising) 또는 포함하다(comprise)는 포함된 특징, 요소 또는 단계를 나타내기 위해서 첨부된 청구항 및 이런 설명에서 사용될 때, 명백히 언급된 것들 외에 다른 특징, 요소 또는 단계의 존재를 제외하고 나타내는 방법이 아니다.
다음의 설명은 본 발명의 바람직한 실시예에 관한 것인데, 여기서 어드레스 공간은 네 개의 메모리 블록을 포함한다. 그러나 본 발명이 어떤 수의 메모리 블록을 포함하는 어드레스 공간에서 사용할 수 있다는 것을 주의해야만 한다.
도2는 펌웨어 업그레이드시에 자동 백업 저장에 대한 본 발명의 방법에 대한 전략의 바람직한 실시예를 도시한다. 이런 업데이트 전략을 사용함으로써, 그것이 업데이트되지 전에 각각의 블록을 백업할 필요성을 제거할 수 있다. 도2의 예시적인 실시예에서, 장치는 네 개의 메모리 블록(201-204)을 포함하는 어드레스 공간(211) 또는 메모리를 포함하는데, 이런 각각의 블록은 각각 하나의 소프트웨어 블록(1-4)을 갖는다. 컬럼에서 도시된 상태에서, 어떠한 블록도 아직 업데이트되지 않았고, 소프트웨어는 제1 버전으로 존재한다. 상술된 종래 기술의 상태에 관한 한은, 메모리 공간(211)이 네 개의 블록(201-204)보다 적어도 하나의 블록을 포함한다. 그러나 특정 백업 블록을 사용하는 대신, 바이너리 이미지가 블록(201-204)으로 표현되기 전에 어드레스 공간(211)에서 앞뒤로 여분의 블록이 소프트웨어의 전체 이미지를 한 블록으로 이동시키는데 사용된다. 대안적인 실시예에서, 하나 이상의, 예컨대 두 개의 여분의 블록이 사용될 수 있다.
소프트웨어가 업데이트될 때, 어드레스 공간(211)에 관련된 물리적인 메모리를 갖는 장치는 제1 버전에서 제2 버전으로 소프트웨어를 업데이트할 필요가 있는 모든 정보를 포함하는 델타 또는 다른 파일을 수용한다. 상태(206)로부터 상태(207)로의 단계에서, 여분의 블록(212)은 삭제된다. 소프트웨어 블록(1)은 그 후에 현재 소프트웨어에 관련된 델타 파일에 따라 업데이트된다. 이런 전략을 사용함으로써, 낡은 블록 전에 업데이트된 블록이 항상 바로 기록되기 때문에 각각의 블록을 백업할 필요가 없다. 낡은 블록은 업데이트된 블록의 기록이 행해질 때까지 겹쳐서 기록되지 않는다. 두 개의 삭제/기록 동작 대신, 단지 하나의 삭제/기록 동작이 필요로 된다.
제안된 해결책은 확실한 이점을 갖지만, 극복해야할 문제를 가져올 수 있다. 하나를 업데이트를 할 때, 전체 이미지가 어드레스 공간에서 이동되기 때문에, 이미지의 초반부에서 하나의 여분의 블록이 더 이상 존재하지 않는다. 그러나, 본 발명의 바람직한 실시예는 이런 문제에 대한 해결책을 제공한다. 제1 업데이트 동작 이후에, 이미지의 단부에서 하나의 여분의 블록 대신, 도2의 실시예에서 블록(204)이 존재할 것이다. 그러나, 업데이트 프로세스를 변환함으로써, 즉, 역방향 명령에서 블록에 기록함으로써, 다음 업데이트에서, 동일한 알고리즘을 사용할 수 있다. 다른 문제는 실제 바이너리 코드가 어떤 기준 어드레스로 링크된다는 것이다. 기준 어드레스가 이동되는 경우에, 바이너리 이미지 내에 위치된 절대 주소가 잘못된 어드레스를 가리킬 것이기 때문에 코드는 동작하지 않을 것이다. 이런 방법 또는 다른 방법에서, 이미지에 사용되는 절대 주소는 업데이트 이후에 한 블록으로 이동되어야만 한다. 한 실시예에 따르면, 이런 문제는 도3에 개략적으로 도시된 바와 같이, 각각의 업데이트를 위해 두 개의 델타 파일을 생성함으로써 해결된다.
도3에서, D12(UP)는 컬럼(306)에 도시된 바와 같이 소프트웨어 버전(V1) 유형(A)으로부터 컬럼(307)에 도시된 바와 같이 소프트웨어 버전(V2) 유형(B)으로 변형시키는 제1 델타 파일을 나타낸다. 유형(A) 이미지는 그 결과 블록(1-4) 이후에 위치된 여분의 블록을 갖는 한정된 어드레스 공간이고, 유형(B) 이미지는 블록(1-4) 전에 위치된 여분의 블록을 갖는 한정된 어드레스 공간이다. D12(DOWN)는 컬럼(308)에 도시된 바와 같이 소프트웨어 버전(V1) 유형(B)으로부터 컬럼(309)에 도시된 소프트웨어 버전(V2) 유형(A)으로 변형시키는 제2 델타 파일을 나타낸다. 바람직하게 두 개의 델타 파일은 실제 델타 파일을 생성하기 전에 유형(A,B)의 이미지를 만들어내는 링크 프로세스를 수정함으로써 생성된다. 마침내, 부트 코드에 위치된 개시 어드레스가 정확한 개시 어드레스를 가리키도록 수정될 필요가 있어서, 소프트웨어의 실행이 의도된 바와 같이 프로세싱될 것이다. 이는 업데이트 절차의 최종 단계로 행해질 수 있다.
업데이트 시간은 본 발명에 의해 제공되는 새로운 백업 전략으로 반감된 최상의 경우이다. 이는 모든 블록이 업데이트 될 때이다. 제안된 솔루션으로 모든 블록은 한번 재기록될 필요가 있다. 현재 해결책으로 단지 변화된 블록은 업데이트 될 필요가 있지만 그들은 두 번 기록될 필요가 있다. 변화된 블록의 반 이상을 업데이트하기 위해서, 새로운 해결책이 더 빠르다. 전형적으로 대부분의 블록은 업데이트 동안에 변할 필요가 있다.
바람직한 실시예에서, 본 발명은 전파를 통한 펌웨어 업그레이드에 사용되고, 특히, 타겟 장치로서 무선 통신 단말기를 갖는 필드 이동 전화 무선 통신에 적용된다. 도4는 본 발명이 사용되는 장치에 대한 예로서, 셀룰러 이동 전화(40)의 실시예에서 무선 통신 단말기를 도시한다. 단말기(40)는 새시(chassis) 또는 하우징(45)을 포함하여, 마이크로폰(41)의 형태로 사용자 오디오 입력 및 확성기(42) 또는 귀에 대는 부분으로의 연결자(도시되지 않음)의 형태로 사용자 오디오 출력을 수행한다. 세트의 키, 버튼 등은 예컨대, 설정된 종래 기술에 따라 다이얼링하는데 사용할 수 있는 데이터 입력 인터페이스(43)를 구성한다. 디스플레이(44)를 포함하는 데이터 출력 인터페이스는 당업자에게 널리 공지된 방법으로 디스플레이 통신 정보, 어드레스 리스트 등을 위해서 발명되어 더 포함된다. 무선 통신 단말기(40)는 무선 전송 및 수신 일렉트로닉스(도시되지 않음)를 포함하고, 하우징(45)의 내부에 내장형 안테나(46)와 함께 발명되고, 이런 안테나는 원래 편평한 물체로서 점선으로 도시되어 나타내진다. 도5는 간략화된 방법으로 도4의 단말기(40)를 도시한 다. 단말기(40)는 자신의 안테나(46)에 의해서 널리 공지된 방법으로 무선 통신 네트워크에 포함된 기지국(50)에 통신으로 연결될 수 있다. 단말기(40)는 관련된 물리적인 메모리(48)를 갖는 마이크로 프로세서 제어기(47)를 포함하는 컴퓨터 시스템을 더 포함한다. 기지국(50)과의 통신에 의해서, 단말기(40)는 본 발명에 따라 메모리(48)에 존재하는 소프트웨어를 업그레이드하는 델타 파일, 특히, 소프트웨어 바이너리를 수용할 수 있다. 게다가 프로세서(47)를 포함하는 컴퓨터 시스템은 도2 및 도3에서 한정된 바와 같이 어드레스 공간을 사용하여, 메모리(48)에 저장되는 소프트웨어를 저장하여 액세스하도록 발명되고, 상기 도2 및 도3에 관련되어 한정된 프로세스 단계를 실행하도록 발명된다. 특히, 프로세서(47)에 의해서 제어되는 컴퓨터 시스템은 상기 소프트웨어를 업데이트하는, 델타 파일의 콘텐츠에 의해서 결정되는 바와 같이 메모리 블록 상에서 삭제하여 기록하는 수단을 포함함으로써, 업데이트되거나 되지 않은 메모리 블록의 콘텐츠를 어드레스 공간의 한 블록 단계로 이동시킨다.
앞에서는 원리, 바람직한 실시예, 및 본 발명의 동작 모드를 설명해왔다. 그러나 첨부된 청구항에 한정된 바와 같이 본 발명의 범위를 벗어나지 않고 당업자에 의해서 이런 실시예에서 변화를 행할 수 있다는 것이 명백해야만 한다.

Claims (14)

  1. 제1 버전(V1)에서 제2 버전으로 업그레이드하는 델타 파일(D12)을 수용하여 수신함으로써, 장치(40)에서 상기 제1 버전으로 존재하는 소프트웨어를 업데이트하는 방법으로서, 상기 소프트웨어는 상기 장치의 물리적인 메모리(48)의 어드레스 공간(211)에 한정된 다수의 메모리 블록(201-204)으로 나뉘어 저장되는, 소프트웨어 업데이트 방법에 있어서,
    - 상기 메모리 공간의 한 단부에 위치된 제1 메모리 블록 전에 초기에 위치된 상기 다수의 메모리 블록에 관련된 여분의 메모리 블록(212)을 한정하는 단계;
    - 상기 여분의 메모리 블록을 삭제하는 단계;
    - 상기 여분의 메모리 블록 상에 상기 제1 메모리 블록에 대한 업데이트된 데이터를 기록하는 단계;
    - 상기 여분의 메모리 블록을 한 블록 앞으로 이동시키는 단계; 및
    - 상기 여분의 메모리 블록을 삭제하고, 상기 여분의 메모리 블록 상의 상기 여분의 메모리 블록에 근접하고 이들 다음인 상기 메모리 블록에 대해 업데이트된 데이터를 기록하고, 상기 여분의 메모리 블록을 동시에 한 블록 앞으로 이동시킴으로써 모든 상기 다수의 메모리 블록이 상기 어드레스 공간에서 하나의 단계가 이동될 때까지 모든 상기 다수의 메모리 블록을 하나씩 프로세싱하는 단계를 포함하는 것을 특징으로 하는 소프트웨어 업데이트 방법.
  2. 제 1항에 있어서,
    상기 어드레스 공간의 메모리 블록에 기록하는 명령을 제1 버전에서 제2 버전으로의 상기 업그레이드를 상기 제2 버전에서 제3 버전으로의 제2 업그레이드로 전환하는 단계를 포함하는 것을 특징으로 하는 소프트웨어 업그레이드 방법.
  3. 제 2항에 있어서,
    - 상기 장치가, 델타 파일을 수용하여 실행하기 전에, 상기 어드레스 공간의 상기 여분의 블록에 대한 현재 위치에 따라 서버와 연결되고, 어떤 유형의 델타 파일이 상기 소프트웨어를 업그레이드하는데 사용될 수 있는지 결정하는 현재 어드레스 공간 상태에 관련된 정보를 전하는 단계로서, 제1 델타 파일 유형이 상기 어드레스 공간의 한 명령으로 상기 메모리 블록에 존재하는 소프트웨어를 업그레이드하는데 적응되고, 제2 델타 파일이 상기 어드레스 공간의 전환된 명령으로 상기 메모리 블록에 존재하는 상기 소프트웨어를 업그레이드하는데 적응되는, 서버 연결 및 정보 전달 단계;
    - 사용 가능한 델타 파일 유형의 델타 파일을 상기 서버에서 상기 장치로 다운로드하는 단계; 및
    - 상기 소프트웨어를 상기 사용 가능한 델타 파일을 사용하여 업그레이드하는 단계를 포함하는 것을 특징으로 하는 소프트웨어 업데이트 방법.
  4. 제 1항 내지 제 3항 중 어느 한 항에 있어서,
    상기 메모리 블록 사이의 데이터 움직임에 따라, 상기 소프트웨어에 대한 부트 코드로 상기 어드레스 공간의 시작 어드레스를 수정하는 단계를 포함하는 것을 특징으로 하는 소프트웨어 업데이트 방법.
  5. 장치에서 제1 버전(V1)으로 존재하는 소프트웨어를 업데이트하는 컴퓨터로 제어되는 일렉트로닉 장치(40)에 사용하는 컴퓨터 프로그램으로서, 상기 장치는 상기 제1 버전에서 제2 버전(V2)으로 업그레이드하는 델타 파일(D12)을 수용하여 실행하는 수단을 포함하고, 상기 소프트웨어는 상기 장치에서 물리적인 메모리(48)의 어드레스 공간(211)에 한정된 다수의 메모리 블록(201-204)으로 나뉘어 저장되는, 컴퓨터 프로그램에 있어서,
    - 처음에 상기 메모리 공간의 한 단부에 위치된 제1 메모리 블록 전에 위치된 상기 다수의 메모리 블록에 관련된 여분의 메모리 블록(212)을 한정하는 단계;
    - 여분의 메모리 블록 공간을 한정하기 위해서 상기 여분의 메모리 블록을 삭제하는 단계;
    - 상기 제1 메모리 블록에 대해 업데이트된 데이터를 상기 여분의 메모리 블록 상에 기록하는 단계;
    - 상기 여분의 메모리 블록을 한 블록 앞으로 이동시키는 단계; 및
    - 상기 여분의 메모리 블록을 삭제하고, 상기 여분의 메모리 블록 상의 상기 여분의 메모리 블록에 근접하고 이들 다음인 상기 메모리 블록에 대해 업데이트된 데이터를 기록하고, 상기 여분의 메모리 블록을 동시에 한 블록 앞으로 이동시킴으로써 모든 상기 다수의 메모리 블록이 상기 어드레스 공간에서 하나의 단계가 이동될 때까지 모든 상기 다수의 메모리 블록을 하나씩 프로세싱하는 단계를 포함하여 컴퓨터로 제어되는 일렉트로닉 장치에 사용되는 컴퓨터 프로그램이 저장되어 있는 저장매체.
  6. 제 5항에 있어서,
    제 2항 또는 제 3항에 따른 소프트웨어 업데이트 방법을 상기 일렉트로닉 장치에 수행하는 컴퓨터 프로그램이 저장되어 있는 것을 특징으로 하는 저장매체.
  7. 단말기에서 제 1 버전(V1)으로 존재하는 소프트웨어를 업데이트하는 컴퓨터 코드에 관련된 컴퓨터 시스템(47) 및 상기 제 1 버전에서 제 2 버전(V2)으로 업그레이드하는 델타 파일(D12)을 수용하여 실행하는 수단(46)을 포함하는 무선 통신 단말기(40)로서, 상기 소프트웨어는 상기 단말기의 물리적인 메모리(48)의 어드레스 공간(211)에 한정된 다수의 메모리 블록(201-204)으로 분리되어 저장되는, 무선 통신 단말기에 있어서,
    상기 다수의 메모리 블록과 연관된 여분의 메모리 블록은 처음에 상기 메모리 공간의 한 단부에 위치된 제1 메모리 블록 전에 위치된 상기 어드레스 공간에 한정되며, 상기 단말기는 상기 여분의 메모리 블록을 삭제하는 수단; 제1 메모리 블록에 대해 업데이트된 데이터를 상기 여분의 메모리 블록에 기록하는 데이터 기록 수단; 상기 여분의 메모리 블록을 한 블록 앞으로 이동시키는 수단; 및 상기 여분의 메모리 블록을 삭제하고, 상기 여분의 메모리 블록 상의 상기 여분의 메모리 블록에 근접하고 이들 다음인 상기 메모리 블록에 대해 업데이트된 데이터를 기록하고, 상기 여분의 메모리 블록을 동시에 한 블록 앞으로 이동시킴으로써 모든 상기 다수의 메모리 블록이 상기 어드레스 공간에서 하나의 단계가 이동될 때까지 모든 상기 다수의 메모리 블록을 하나씩 프로세싱하는 수단을 포함하는 것을 특징으로 하는 무선 통신 단말기.
  8. 제 7항에 있어서,
    상기 어드레스 공간의 메모리 블록에 기록하는 명령을 제1 버전에서 제2 버전으로의 상기 업그레이드를 상기 제2 버전에서 제3 버전으로의 제2 업그레이드로 전환하는 수단을 포함하는 것을 특징으로 하는 무선 통신 단말기.
  9. 제 8항에 있어서,
    제1 델타 파일의 유형은 어드레스 공간의 한 명령으로 상기 메모리 블록에 존재하는 소프트웨어를 업그레이드하는데 적응되고, 제 2 델타 파일은 어드레스 공간의 전환된 명령으로 상기 메모리 블록에 존재하는 소프트웨어를 업그레이드하는데 적응되는 델타 파일을 상기 무선통신단말기가 수용하여 실행하기 전에 상기 어드레스 공간의 상기 여분의 블록에 대한 현재 위치에 따라 어느 유형의 델타 파일이 상기 소프트웨어를 업그레이드하는데 사용할 수 있는지 결정하는 현재 어드레스 공간 상태에 관련된 정보를 전달하기 위해서 서버에 연결되도록 배열되고, 상기 무선통신단말기는 사용 가능한 델타 파일 유형의 델타 파일을 상기 서버에서 무선통신단말기로 다운로드하는 수단, 및 상기 소프트웨어를 상기 사용 가능한 델타 파일을 사용하여 업그레이드하는 수단을 포함하는 것을 특징으로 하는 무선 통신 단말기.
  10. 제 7항 내지 제 9항 중 어느 한 항에 있어서,
    상기 델타 파일에 의해 결정된 바와 같은 기록 시간 동안에 상기 메모리 블록 사이의 데이터 움직임에 따라, 상기 소프트웨어에 대한 부트 코드로 상기 어드레스 공간의 시작 어드레스를 수정하는 수단을 포함하는 것을 특징으로 하는 무선 통신 단말기.
  11. 삭제
  12. 삭제
  13. 삭제
  14. 삭제
KR1020067021022A 2004-03-10 2005-02-17 펌웨어 업그레이드 경우의 자동 백업 저장 KR101130875B1 (ko)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
EP04005700A EP1574952B1 (en) 2004-03-10 2004-03-10 Automatic backup store in firmware upgrades
EP04005700.2 2004-03-10
US55368704P 2004-03-16 2004-03-16
US60/553,687 2004-03-16
PCT/EP2005/050701 WO2005085997A2 (en) 2004-03-10 2005-02-17 Automatic backup store in firmware upgrades

Publications (2)

Publication Number Publication Date
KR20070006831A KR20070006831A (ko) 2007-01-11
KR101130875B1 true KR101130875B1 (ko) 2012-03-28

Family

ID=34921306

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020067021022A KR101130875B1 (ko) 2004-03-10 2005-02-17 펌웨어 업그레이드 경우의 자동 백업 저장

Country Status (3)

Country Link
KR (1) KR101130875B1 (ko)
RU (1) RU2375769C2 (ko)
WO (1) WO2005085997A2 (ko)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100750169B1 (ko) * 2006-03-08 2007-08-21 삼성전자주식회사 델타 파일 생성 방법 및 이를 이용한 소프트웨어 업데이트방법
WO2007148900A1 (en) * 2006-06-19 2007-12-27 Samsung Electronics Co., Ltd. Program upgrade system and method for ota-capable portable device
EP2162821A1 (fr) * 2007-06-29 2010-03-17 France Telecom Procede de stockage
US10430176B2 (en) 2014-11-17 2019-10-01 Hitachi Automotive Systems, Ltd. In-vehicle control device, program update system, and program update software
US11222121B2 (en) * 2019-04-02 2022-01-11 Motional Ad Llc Secure boot of vehicular processors
CN113590155B (zh) * 2021-07-29 2023-06-20 深圳锦弘霖科技有限公司 远程增量式更新自研rtos的方法

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6327597B1 (en) 1999-08-06 2001-12-04 International Business Machines Corporation Method, memory system, and computer program product for implementing lock based delayed space recycle control

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0398545A1 (en) * 1989-05-19 1990-11-22 Delco Electronics Corporation Method and apparatus for storing data in a non-volatile memory
DE19520030C1 (de) * 1995-05-31 1996-05-15 Siemens Ag Verfahren zur Aktualisierung der Programmstruktur einer modularen Kommunikationsanlage
US5960445A (en) * 1996-04-24 1999-09-28 Sony Corporation Information processor, method of updating a program and information processing system
DE19652628A1 (de) * 1996-12-18 1998-06-25 Philips Patentverwaltung Kommunikationssystem
JP2001209543A (ja) * 2000-01-28 2001-08-03 Nec Ic Microcomput Syst Ltd フラッシュ・マイコンにおけるプログラム書き換え方法
US7100011B2 (en) * 2002-03-01 2006-08-29 Arris International, Inc. Method and system for reducing storage requirements for program code in a communication device
US6938140B2 (en) * 2002-08-29 2005-08-30 Micron Technology, Inc. System and method for linear object reallocation in place

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6327597B1 (en) 1999-08-06 2001-12-04 International Business Machines Corporation Method, memory system, and computer program product for implementing lock based delayed space recycle control

Also Published As

Publication number Publication date
WO2005085997A3 (en) 2006-06-29
KR20070006831A (ko) 2007-01-11
RU2006135632A (ru) 2008-04-20
WO2005085997A2 (en) 2005-09-15
RU2375769C2 (ru) 2009-12-10

Similar Documents

Publication Publication Date Title
US7502813B2 (en) Software update process using an extra memory block
EP2229625B1 (en) Updating firmware of an electronic device
US8453138B2 (en) Method and apparatus for generating an update package
JP6568947B2 (ja) 車載制御装置、プログラム更新システム、及び、プログラム更新ソフトウェア
JP5057519B2 (ja) 記憶装置に記憶されたコンテンツをインプレース更新するための方法およびシステム
US7971199B1 (en) Mobile device with a self-updating update agent in a wireless network
KR100774857B1 (ko) 통신단말의 소프트웨어 갱신 방법, 통신단말 및소프트웨어 갱신 시스템
US7210010B2 (en) Efficient system and method for updating a memory device
KR101130875B1 (ko) 펌웨어 업그레이드 경우의 자동 백업 저장
JP2007219883A (ja) 移動端末装置およびソフトウェア更新方法
KR20130138635A (ko) 단일 백업 블록 기록을 이용하는 결함 내성 포타 업데이트를 위한 방법 및 장치
WO2007023497A1 (en) Method and system for in-place updating content stored in a storage device
JP4153324B2 (ja) 差分データ生成装置及び方法、更新後データ復元装置及び方法、並びにプログラム
JPH113224A (ja) 携帯型情報端末機器のプログラム更新方法
JP4859465B2 (ja) ソフトウェア更新方法および移動端末装置
JP2009009391A (ja) 更新処理ソフトウェア自己更新方法および携帯端末装置
KR101085681B1 (ko) 이동통신 단말기의 데이터 복구 시스템 및 방법
JP2005215841A (ja) ソフトウエア修正機能付き携帯電話端末装置
JP2008217202A (ja) ディスクアレイ装置及びファームウェア更新方法
KR20020006165A (ko) 휴대폰의 프로그램 업그레이드 방법
KR20010011952A (ko) 모듈별 업데이트 장치 및 그 방법
KR100622816B1 (ko) 이동 단말장치의 시스템 소프트웨어 업데이트 방법 및시스템
CN117909132A (zh) 一种应用软件升级方法、装置及计算机可读存储介质
KR101175825B1 (ko) 휴대용 운영체제를 설치하는 방법 및 그를 이용하는휴대용정보기기
CN115586911A (zh) 数据更新方法、装置、电子设备及计算机存储介质

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
LAPS Lapse due to unpaid annual fee