KR101759451B1 - 펌웨어 복원 방법, 장치, 단말기, 프로그램 및 기록매체 - Google Patents

펌웨어 복원 방법, 장치, 단말기, 프로그램 및 기록매체 Download PDF

Info

Publication number
KR101759451B1
KR101759451B1 KR1020167000001A KR20167000001A KR101759451B1 KR 101759451 B1 KR101759451 B1 KR 101759451B1 KR 1020167000001 A KR1020167000001 A KR 1020167000001A KR 20167000001 A KR20167000001 A KR 20167000001A KR 101759451 B1 KR101759451 B1 KR 101759451B1
Authority
KR
South Korea
Prior art keywords
storage area
firmware
memory address
terminal
stored
Prior art date
Application number
KR1020167000001A
Other languages
English (en)
Other versions
KR20160089329A (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 시아오미 아이엔씨.
Publication of KR20160089329A publication Critical patent/KR20160089329A/ko
Application granted granted Critical
Publication of KR101759451B1 publication Critical patent/KR101759451B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1415Saving, restoring, recovering or retrying at system level
    • G06F11/1417Boot up procedures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1415Saving, restoring, recovering or retrying at system level
    • G06F11/1433Saving, restoring, recovering or retrying at system level during software upgrading
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1458Management of the backup or restore process
    • G06F11/1469Backup restoration techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1448Management of the data involved in backup or backup restore
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/0292User address space allocation, e.g. contiguous or non contiguous base addressing using tables or multilevel address translation means
    • 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0614Improving the reliability of storage systems
    • G06F3/0619Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
    • 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/0644Management of space entities, e.g. partitions, extents, pools
    • 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • G06F3/065Replication mechanisms
    • 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/067Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/1666Error detection or correction of the data by redundancy in hardware where the redundant component is memory or memory area
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Quality & Reliability (AREA)
  • Computer Security & Cryptography (AREA)
  • Stored Programmes (AREA)
  • Software Systems (AREA)
  • Retry When Errors Occur (AREA)

Abstract

본 발명은 펌웨어 복원 방법, 장치, 단말기, 프로그램 및 기록매체에 관한 것이며, 전자 기기 기술 분야에 속한다. 상기 방법은, 활성화된 제1저장 영역 및 비활성화 상태인 제2저장 영역을 포함하며, 상기 제 1 저장 영역에 저장되어 있는 펌웨어는 상기 단말기가 최근에 실행한 펌웨어이고, 상기 제 2 저장 영역에 저장되어 있는 펌웨어는 백업용 펌웨어인 단말기에 적용되는 펌웨어 복원 방법으로서, 상기 단말기중의 펌웨어를 복원하기 위한 복원 신호를 수신하는 단계와, 상기 제 1 저장 영역을 비활성화하고 상기 제 2 저장 영역을 활성화하는 단계와, 활성화 상태인 상기 제 2 저장 영역에 저장되어 있는 펌웨어를 로드하는 단계를 포함한다. 이로써, 종래 기술에서 펌웨어를 복원하려면 리프레시 툴의 이용이 필수가 되었던 과제를 해결하고, 하나의 키만으로 펌웨어의 복원을 실현할 수 있어 유저의 사용상의 편리성을 향상하는 효과를 얻을 수 있다.

Description

펌웨어 복원 방법, 장치, 단말기, 프로그램 및 기록매체{METHOD, DEVICE AND TERMINAL, PROGRAM AND RECORDING MEDIUM FOR RESTORING FIRMWARE PROGRAM}
본 발명은, 전자 기기 기술 분야에 관한 것이며, 특히 펌웨어 복원 방법, 장치, 단말기, 프로그램 및 기록매체에 관한 것이다.
본 출원은, 출원 번호가 CN201410806750. 8이며, 출원일이 2014년 12월 22일인 중국 특허 출원을 기초로 우선권을 주장하고, 해당 중국 특허 출원의 전체 내용을 본원 발명에 원용한다.
펌웨어는, 전자 기기에서 가장 기초적인 작업을 담당하는 소프트웨어이며, 전자 기기의 정상적인 작동을 보증하기 위한 것이다. 따라서, 전자 기기중의 펌웨어에 문제가 발생했을 경우, 통상적으로 펌웨어를 복원해야 한다.
전자 기기중의 펌웨어를 복원해야 할 경우, 통상적으로 유저는 전자 기기를 업데이트 툴(update tool)에 접속시킨 다음 업데이트 툴을 개입시켜 전자 기기에 새로운 펌웨어를 기록함으로써 펌웨어의 복원을 실현한다.
본 발명은, 펌웨어 복원 방법, 장치, 단말기, 프로그램 및 기록매체를 제공한다.
본 발명의 실시 예의 제1양태에 의하면,
활성화된 제1저장 영역 및 비활성화 상태인 제2저장 영역을 포함하며,
제1저장 영역에 저장되어 있는 펌웨어는 단말기가 최근에 실행한 펌웨어이고,
제2저장 영역에 저장되어 있는 펌웨어는 백업용 펌웨어인
단말기에 적용되는 펌웨어 복원 방법에 있어서,
단말기중의 펌웨어를 복원하기 위한 복원 신호를 수신하는 단계와,
제1저장 영역을 비활성화하고 한편 제2저장 영역을 활성화하는 단계와,
활성화 상태인 제2저장 영역에 저장되어 있는 펌웨어를 로드하는 단계
를 포함하는 펌웨어 복원 방법을 제공한다.
상기 제 1 저장 영역을 비활성화하고 상기 제2저장 영역을 활성화하는 단계는,
제1저장 영역의 제1메모리 어드레스 및 제2저장 영역의 제2메모리 어드레스를 취득하는 단계와,
제1메모리 어드레스에 대응하는 저장 영역을 비활성화하는 단계와,
제2메모리 어드레스에 대응하는 저장 영역을 활성화하는 단계
를 포함할 수 있다.
상기 제 1 저장 영역의 제1메모리 어드레스 및 제2저장 영역의 제2메모리 어드레스를 취득하는 단계는,
각 저장 영역의 메모리 어드레스가 저장되어 있는 파티션 테이블을 판독하는 단계와,
파티션 테이블에 기초하여 제1메모리 어드레스 및 제2메모리 어드레스를 결정하는 단계
를 포함할 수 있다.
상기 제 2 메모리 어드레스에 대응하는 저장 영역을 활성화하는 단계는,
제2메모리 어드레스가 2개 이상 존재할 경우, 미리 설정된 조건에 기초하여 1개의 제2메모리 어드레스를 선택하는 단계와,
선택된 제2메모리 어드레스에 대응하는 제2저장 영역을 활성화하는 단계를 포함하며,
상기 미리 설정된 조건은, 각 제2메모리 어드레스에 대응하는 제2저장 영역간의 우선순위, 각 제2저장 영역에 저장되어 있는 펌웨어의 파손 여부에 관한 정보 및 각 제2저장 영역에 저장되어 있는 펌웨어의 버전 번호중의 적어도 하나를 포함할 수 있다.
해당 방법은,
단말기의 업데이트 펌웨어의 취득을 요구하기 위한 취득 요구를 서버에 송신하는 단계와,
서버에서 리턴하는 업데이트 펌웨어를 수신하는 단계와,
제1저장 영역과 제2저장 영역 상태를 확인하는 단계와,
제1저장 영역이 활성화 상태이고 제2저장 영역이 비활성화 상태일 경우, 업데이트 펌웨어에 기초하여 비활성화 상태인 제2저장 영역에 저장되어 있는 펌웨어를 업데이트하며, 제1저장 영역을 비활성화하고 제2저장 영역을 활성화하는 단계와,
제2저장 영역이 활성화 상태이고 제1저장 영역이 비활성화 상태일 경우, 업데이트 펌웨어에 기초하여 비활성화 상태인 제1저장 영역에 저장되어 있는 펌웨어를 업데이트하며, 제2저장 영역을 비활성화하고 제1저장 영역을 활성화하는 단계
를 더 포함할 수 있다.
해당 방법은,
비활성화된 후의 제1저장 영역에 저장되어 있는 펌웨어를 삭제하는 단계와,
활성화된 후의 제2저장 영역에 저장되어 있는 펌웨어를 비활성화된 후의 제1저장 영역에 기록 하는 단계
를 더 포함할 수 있다.
해당 방법은,
활성화 상태인 제2저장 영역에 저장되어 있는 펌웨어를 로드한 후, 미리 단말기에 저장된 유저 설정 및 구성 데이터중의 적어도 하나를 로드하는 단계를 더 포함할 수 있다.
본 발명의 실시 예의 제2 양태에 의하면,
활성화된 제1저장 영역 및 비활성화 상태인 제2저장 영역을 포함하며,
제1저장 영역에 저장되어 있는 펌웨어는 단말기가 최근에 실행한 펌웨어이고,
제2저장 영역에 저장되어 있는 펌웨어는 백업용 펌웨어인
단말기에 적용되는 펌웨어 복원 장치에 있어서,
단말기중의 펌웨어를 복원하기 위한 복원 신호를 수신하도록 구성되는 신호 수신 모듈과,
제1저장 영역을 비활성화하고 제2저장 영역을 활성화하도록 구성되는 제1처리 모듈과,
활성화 상태인 제2저장 영역에 저장되어 있는 펌웨어를 로드하도록 구성되는 펌웨어 로드 모듈
을 포함한 펌웨어 복원 장치를 제공한다.
상기 제 1 처리 모듈은,
제1저장 영역의 제1메모리 어드레스 및 제2저장 영역의 제2메모리 어드레스를 취득하도록 구성되는 주소 취득 서브 모듈과,
제1메모리 어드레스에 대응하는 저장 영역을 비활성화하도록 구성되는 비활성화서브 모듈과,
제2메모리 어드레스에 대응하는 저장 영역을 활성화하도록 구성되는 활성화서브 모듈
을 포함할 수 있다.
상기 주소 취득 서브 모듈은,
각 저장 영역의 메모리 어드레스가 저장되어 있는 파티션 테이블을 판독하고,
파티션 테이블에 기초하여 제1메모리 어드레스 및 제2메모리 어드레스를 결정하도록 구성될 수 있다.
상기 활성화서브 모듈은,
제2메모리 어드레스가 2개 이상 존재할 경우, 미리 설정된 조건에 기초하여 1개의 제2메모리 어드레스를 선택하고,
선택된 제2메모리 어드레스에 대응하는 제2저장 영역을 활성화하도록 구성되며,
상기 미리 설정된 조건은, 각 제2메모리 어드레스에 대응하는 제2저장 영역의 우선순위, 각 제2저장 영역에 저장되어 있는 펌웨어의 파손 여부에 관한 정보 및 각 제2저장 영역에 저장되어 있는 펌웨어의 버전 번호중의 적어도 하나를 포함할 수 있다.
해당 장치는,
단말기의 업데이트 펌웨어의 취득을 요구하기 위한 취득 요구를 서버에 송신하도록 구성되는 요구 송신 모듈과,
서버에서 리턴하는 업데이트 펌웨어를 수신하도록 구성되는 펌웨어 수신 모듈과,
상기 제 1 저장 영역과 상기 제 2 저장 영역 상태를 확인하도록 구성되는 상태 확인 모듈과,
상기 제 1 저장 영역이 활성화 상태이고 상기 제 2 저장 영역이 비활성화 상태일 경우, 상기 업데이트 펌웨어에 기초하여 비활성화 상태인 상기 제 2 저장 영역에 저장되어 있는 펌웨어를 업데이트하며, 상기 제 1 저장 영역을 비활성화하고 상기 제 2 저장 영역을 활성화하도록 구성되는 제1업데이트 모듈과,
상기 제 2 저장 영역이 활성화 상태이고 상기 제 1 저장 영역이 비활성화상태일 경우, 상기 업데이트 펌웨어에 기초하여 비활성화 상태인 상기 제 1 저장 영역에 저장되어 있는 펌웨어를 업데이트하며, 상기 제 2 저장 영역을 비활성화하고 상기 제 1 저장 영역을 활성화하도록 구성되는 제2업데이트 모듈
을 더 포함할 수 있다.
해당 장치는,
비활성화된 후의 제1저장 영역에 저장되어 있는 펌웨어를 삭제하도록 구성되는 펌웨어 삭제 모듈과,
활성화된 후의 제2저장 영역에 저장되어 있는 펌웨어를 비활성화된 후의 제1저장 영역에 기록 하도록 구성되는 펌웨어 기록 모듈
을 더 포함할 수 있다.
해당 장치는,
활성화 상태인 제2저장 영역에 저장되어 있는 펌웨어를 로드한 후, 미리 단말기에 저장된 유저 설정 및 구성 데이터중의 적어도 하나를 로드하는 데이터 로드 모듈을 더 포함할 수 있다.
본 발명의 실시 예의 제3 양태에 의하면,
활성화된 제1저장 영역 및 비활성화 상태인 제2저장 영역을 포함하며,
제1저장 영역에 저장되어 있는 펌웨어는 단말기가 최근에 실행한 펌웨어이고,
제2저장 영역에 저장되어 있는 펌웨어는 백업용 펌웨어인
단말기에 있어서,
프로세서와,
프로세서에 의해 실행 가능한 인스트럭션을 저장하기 위한 메모리
를 구비하고,
상기 프로세서는,
단말기중의 펌웨어를 복원하기 위한 복원 신호를 수신하며,
제 1 저장 영역을 비활성화하고 제 2 저장 영역을 활성화하며,
활성화 상태인 제 2 저장 영역에 저장되어 있는 펌웨어를 로드하도록 구성되는 단말기를 제공한다.
본 발명의 실시 예의 제4 양태에 의하면,
활성화된 제1저장 영역 및 비활성화 상태인 제2저장 영역을 포함하며,
제 1 저장 영역에 저장되어 있는 펌웨어는 단말기가 최근에 실행한 펌웨어이고,
제 2 저장 영역에 저장되어 있는 펌웨어는 백업용 펌웨어인
단말기에 적용되는 펌웨어 복원 장치에 있어서,
프로세서와,
프로세서에 의해 실행 가능한 인스트럭션을 저장하기 위한 메모리
를 구비하고,
프로세서는,
단말기중의 펌웨어를 복원하기 위한 복원 신호를 수신하며,
제 1 저장 영역을 비활성화하고 제 2 저장 영역을 활성화하며,
활성화 상태인 제 2 저장 영역에 저장되어 있는 펌웨어를 로드하도록 구성되는 펌웨어 복원 장치를 제공한다.
본 발명의 실시예의 제 5양태에 의하면,
프로세서에 의해 실행되는 것을 통하여 상기 제1 양태에 따르는 상기 펌웨어 복원 방법을 실현하는 컴퓨터 판독 가능한 기록매체에 저장된 프로그램을 제공한다.
본 발명의 실시예에 따르는 제 6양태에 의하면,
상기 제 5양태에 따르는 상기 프로그램이 기록되어 있는 컴퓨터 판독 가능한 기록매체를 제공한다.
본 발명의 실시예에 의해 제공된 기술안에 의하면, 이하와 같이 유익한 효과를 얻을 수 있다.
단말기에 활성화된 제1저장 영역 및 비활성화 상태인 제2저장 영역을 설정하여, 제1저장 영역에 단말기가 최근에 실행한 펌웨어를 저장하고, 제2저장 영역에 백업용 펌웨어 저장함으로써, 단말기에 대하여 펌웨어의 복원을 실시할 필요가 있을 경우, 직접 제 1 저장 영역을 비활성화하는 한편 제2저장 영역을 활성화하여, 활성화된 제2저장 영역에 저장된 백업용 펌웨어를 로드하는 방법으로 펌웨어의 복원을 실현한다. 이로써, 종래 기술에서 펌웨어를 복원하려면 리프레시 툴의 이용이 필수가 되었던 과제를 해결하고, 하나의 키만으로 펌웨어의 복원을 실현할 수 있어 유저의 사용상의 편리성을 향상하는 효과를 얻을 수 있다.
이상의 일반적인 설명과 이하의 세부적인 설명은 예시적인 것으로서 본 발명에 대한 한정으로서 이해하여서는 아니 된다.
여기에 도시된 도면은, 명세서에 포함되어 명세서의 일부분을 구성하며 본 발명의 실시예에 대한 설명에 사용됨과 함께 본 발명의 원리를 해석하기 위하여 사용된다.
도 1은 예시적인 일부 실시예에 따른 펌웨어 복원 방법에 관련되는 실시 환경의 모식도이다.
도 2는 예시적인 일 실시예에 따른 단말기의 블럭도이다.
도 3은 예시적인 일 실시예에 따른 펌웨어 복원 방법의 흐름도이다.
도 4a는 다른 예시적인 일 실시예에 따른 펌웨어 복원 방법의 흐름도이다.
도 4b는 다른 예시적인 일 실시예에 따른, 단말기에 의해 제1메모리 어드레스 및 제2메모리 어드레스를 취득하는 방법의 흐름도이다.
도 4c는 다른 예시적인 일 실시예에 따른, 단말기에 의해 제2저장 영역을 활성화하는 흐름도이다.
도 4d는 다른 예시적인 일 실시예에 따른, 단말기에 의해 펌웨어를 업데이트하는 흐름도이다.
도 4e는 다른 예시적인 일 실시예에 따른 펌웨어 복원 방법의 다른 흐름도이다.
도 4f는 다른 예시적인 일 실시예에 따른 펌웨어 복원 방법의 또 다른 흐름도이다.
도 5는 예시적인 일 실시예에 따른 펌웨어 복원 장치의 블럭도이다.
도 6은 다른 예시적인 일 실시예에 따른 펌웨어 복원 장치의 블럭도이다.
도 7은 예시적인 일 실시예에 따른, 펌웨어 복원에 적용되는 장치의 블럭도이다.
이하, 도면을 참조하여 예시적인 실시예에 대하여 상세하게 설명하기로 한다. 이하의 도면에 관한 설명에 있어서, 별도의 설명이 없는 한, 서로 다른 도면상의 동일한 부호는 동일 또는 유사한 요소를 표시한다. 이하의 예시적 실시예중의 실시 형태는 본 발명과 일치한 모든 실시 형태를 표시하는 것은 아니다. 이와 반대로, 이들은 첨부된 특허 청구의 범위에 기재되는 본 발명의 일부 양태와 일치한 장치 및 방법의 예에 지나지 않는다.
도 1을 참조하면, 도 1은 본 발명의 각 실시예에 관한 실시 환경의 모식도이다. 도 1에 도시된 바와 같이, 해당 실시 환경은 단말기(110) 및 서버(120)을 포함한다.
단말기(110)는, 휴대 전화, 태블렛, 전자 서적 리더, 데스크탑 컴퓨터, 노트북 컴퓨터, 디지탈카메라, 라우터, 전화교환기, 프린터, 메인보드(Motherboard) 및 게임기(Game console)와 같은 단말기이다. 단말기(110)는 유선 또는 무선 네트워크를 경유하여 서버(120)에 접속할 수 있다.
서버(120)은 1개 또는 복수의 고기능 컴퓨터 또는 클라우드 컴퓨팅 센터(Cloud Computing Center)를 포함할 수 있다. 서버(120)는 단말기(110)에 서비스를 제공하기 위한 것이다.
도 2에 도시된 바와 같이, 단말기(110)는 활성화된 제1저장 영역(210) 및 비활성화 상태인 제2저장 영역(220)을 포함할 수 있다. 제1저장 영역(210)에 저장되는 펌웨어는 단말기가 최근에 실행한 펌웨어이며, 제2저장 영역(220)에 저장되는 펌웨어는 백업용 펌웨어이다.
제1저장 영역(210) 및 제2저장 영역(220)은 단말기의 내장 메모리중의 2개의 저장 영역일 수 있다. 예를 들면, 제1저장 영역(210) 및 제2저장 영역(220)은, 플래쉬 메모리중의 2개의 저장 영역일 수 있다.
제1저장 영역(210)에 저장되는 펌웨어의 버전과 제2저장 영역(220)에 저장되는 백업용 펌웨어의 버전은 같을 수 도 있고 다를 수도 있다.
예를 들면, 제1저장 영역(210)에 저장되는 펌웨어는 버전 3.2이고, 제2저장 영역(220)에 저장되는 백업용 펌웨어는 버전 3.1과 같은 종래의 버전이다. 물론, 제1저장 영역(210) 및 제2저장 영역(220)에는 동시에 같은 버전이 저장될 수 있다. 예를 들면, 동시에 버전 3.2가 저장될 수 있다. 본 실시예에서는 이에 대해 한정하지 않는다.
제1저장 영역(210)의 용량과 제2저장 영역(220)의 용량은 같을 수도 있고 다를 수도 있다. 제1저장 영역(210)의 용량 및 제2저장 영역(220)의 용량은 통상적으로 같게 구성될 수 있다.
제2저장 영역(220)은 1개일 수도 있고 2개 이상일 수도 있다. 본 실시예에서는 이에 대해 한정하지 않는다. 단말기의 스토리지 자원을 절약하고 단말기의 자원 사용율을 향상시키기 위하여 제2저장 영역(220)은 통상적으로 1개이다.
도 3은, 예시적인 일 실시예에 따른 펌웨어 복원 방법의 흐름도이다. 도 3에 도시된 바와 같이, 본 실시예에서는, 해당 펌웨어 복원 방법을 도 1에 도시된 단말기(110)에 적용하는 경우를 예로 하여 설명한다. 해당 펌웨어 복원 방법은 다음과 같은 단계를 포함할 수 있다.
단계301에서, 단말기중의 펌웨어를 복원하기 위한 복원 신호를 수신한다.
단계302에서, 제1저장 영역을 비활성화하고 제2저장 영역을 활성화한다.
단계303에서, 활성화 상태인 제2저장 영역에 저장되어 있는 펌웨어를 로드한다.
요컨대, 본 발명의 실시예에서 제공된 펌웨어 복원 방법에 의하면, 단말기에 활성화된 제1저장 영역 및 비활성화 상태인 제2저장 영역을 설정하여, 제1저장 영역에 단말기가 최근에 실행한 펌웨어를 저장하고, 제2저장 영역에 백업용 펌웨어를 저장함으로써, 단말기에 대해 펌웨어의 복원을 실시할 필요가 있을 경우, 직접 제 1 저장 영역을 비활성화하고 제2저장 영역을 활성화할 수 있으며, 추가로, 활성화된 제2저장 영역에 저장된 백업용 펌웨어를 로드하는 방법으로 펌웨어의 복원을 실현한다. 이로써, 종래 기술에서 펌웨어를 복원하려면 리프레시 툴의 이용이 필수가 되었던 과제를 해결하고, 하나의 키만으로 펌웨어의 복원을 실현할 수 있어 유저의 사용상의 편리성을 향상하는 효과를 얻을 수 있다.
도 4는, 예시적인 일 실시예에 따른 펌웨어 복원 방법의 흐름도이다. 도 4에 도시된 바와 같이, 본 실시예에서는 해당 펌웨어 복원 방법을 도 1에 도시된 단말기(110)에 적용하는 경우를 예로 하여 설명한다. 해당 펌웨어 복원 방법은 다음과 같은 단계를 포함할 수 있다.
단계401에서, 단말기중의 펌웨어를 복원하기 위한 복원 신호를 수신한다.
유저는 단말기를 트리거하여 펌웨어의 복원을 실시할 수 있으며 단말기는 상응하게 단말기중의 펌웨어를 복원하기 위한 복원 신호를 수신한다. 단말기에는 복원 키를 설치할 수 있으며 유저는 해당 복원 키를 선택하는 방법으로 복원 신호를 입력한다. 본 실시예에서는 이에 대해 한정하지 않는다.
단말기중의 펌웨어가 고장났을 경우, 유저는 단말기를 트리거하여 펌웨어를 복원할 수 있다.
유저는 단말기중의 펌웨어의 현재의 버전이 맘에 안들어 펌웨어를 이전의 버전으로 복원할 것을 바라는 경우, 단말기를 트리거하여 펌웨어의 복원을 실시할 수 있다.
단계402에서, 제1저장 영역의 제1메모리 어드레스 및 제2저장 영역의 제2메모리 어드레스를 취득한다.
도 4 b를 참조하면, 본단계는 다음과 같은 단계를 포함할 수 있다.
단계402a에서, 각 저장 영역의 메모리 어드레스가 저장되어 있는 파티션 테이블(Partition Table)을 판독한다.
단말기는 복원 신호를 수신한 후, 미리 저장된 파티션 테이블을 읽을 수 있으며 해당 파티션 테이블에는 각 저장 영역의 메모리 어드레스가 저장되어 있다.
단계402b에서, 파티션 테이블에 기초하여 제1메모리 어드레스 및 제2메모리 어드레스를 결정한다.
단말기는 파티션 테이블을 분석하여 제1저장 영역에 대응하는 제1메모리 어드레스 및 제2저장 영역에 대응하는 제2메모리 어드레스를 취득한다.
제2저장 영역이 2개 이상 존재할 경우, 단말기는 분석에 의하여 각 제2저장 영역에 대응하는 2개 이상의 제2메모리 어드레스를 취득할 수 있다. 본 실시예에서는 이에 대해 한정하지 않는다.
단계403에서, 제1메모리 어드레스에 대응하는 저장 영역을 비활성화한다.
단말기는 복원 신호를 수신한 후, 제1메모리 어드레스에 대응하는 저장 영역을 비활성화할 수 있다.
단말기는 각 저장 영역에 대해 상태 마크를 설정할 수 있으며, 제1메모리 어드레스에 대응하는 저장 영역의 마크를 수정할 수 있다. 예를 들면, 단말기는 활성화된 저장 영역에 대해 마크 '1'을 설정하고 비활성화된 저장 영역에 대해 마크 '0'을 설정할 경우, 단말기는 제1메모리 어드레스에 대응하는 저장 영역의 마크를 '0'으로 수정할 수 있다.
단말기는 활성화 상태인 저장 영역에만 대해 마크를 설정하고 비활성화 상태인 저장 영역에 대해서는 마크를 설정하지 않을 수 있다. 이 경우, 단말기는 제1메모리 어드레스에 대응하는 저장 영역의 마크를 삭제할 수 있다.
단말기는 비활성화 상태인 저장 영역에만 대해 마크를 설정하고 활성화 상태인 저장 영역에 대해서는 마크를 설정하지 않을 수 있다. 이 경우, 단말기는 제1메모리 어드레스에 대응하는 저장 영역에 대해 마크를 설정할 수 있다.
본 실시예에서는, 단말기가 상기의 몇개의 방법에 의해 제1메모리 어드레스에 대응하는 저장 영역을 비활성화하는 경우만을 예로 하여 설명했지만, 단말기는 기타 방법에 의해 제1메모리 어드레스에 대응하는 저장 영역을 비활성화할 수 있다. 본 실시예에서는 이에 대해 한정하지 않는다.
단계404에서, 제2메모리 어드레스에 대응하는 저장 영역을 활성화한다.
단말기는 복원 신호를 수신한 후, 제2메모리 어드레스에 대응하는 저장 영역을 활성화할 수 있다
단말기는 각 저장 영역에 대해 상태 마크를 설정할 수 있으며, 제1메모리 어드레스에 대응하는 저장 영역의 마크를 수정할 수 있다. 예를 들면, 단말기는 활성화된 저장 영역에 대해 마크'1'을 설정하고 비활성화저장 영역에 대해 마크'0'을 설정할 경우, 단말기는 제2메모리 어드레스에 대응하는 저장 영역의 마크를'1'로 수정할 수 있다.
단말기는 활성화 상태인 저장 영역에만 대해 마크를 설정하고 비활성화 상태인 저장 영역에 대해 마크를 설정하지 않을 수 있다. 이 경우, 단말기는 제2메모리 어드레스에 대응하는 저장 영역의 마크를 설정할 수 있다.
단말기는 비활성화 상태인 저장 영역에만 대해 마크를 설정하고 활성화 상태인 저장 영역에 대해 마크를 설정하지 않을 수 있다. 이 경우, 단말기는 제2메모리 어드레스에 대응하는 저장 영역에 대해 마크를 삭제할 수 있다.
본 실시예에서는, 단말기가 상기 몇개의 방식에 의해 제2메모리 어드레스에 대응하는 저장 영역을 활성화하는 경우만을 예로 하여 설명했지만, 단말기는 기타 방식에 의해 제2메모리 어드레스에 대응하는 저장 영역을 활성화할 수 있다. 본 실시예에서는 이에 대해 한정하지 않는다.
도 4c를 참조하면, 제2저장 영역이 2개 이상 존재할 경우, 즉, 취득한 제2저장 영역에 대응하는 제2메모리 어드레스가 2개 이상 존재할 경우, 본단계는 다음과 같은 단계를 포함할 수 있다.
단계404a에서, 미리 설정된 조건에 기초하여 1개의 제2메모리 어드레스를 선택하고, 상기 미리 설정된 조건은, 각 제2메모리 어드레스에 대응하는 제2저장 영역간의 우선순위, 각 제2저장 영역에 저장되어 있는 펌웨어의 파손 여부에 관한 정보 및 각 제2저장 영역에 저장되어 있는 펌웨어의 버전 번호중의 적어도 하나를 포함한다.
단말기는 미리 설정된 조건에 기초하여 각 제2메모리 어드레스로부터 1개의 제2메모리 어드레스를 선택한다.
단말기는, 각 제2저장 영역에 대해 복원 우선순위를 설정할 수 있다. 해당 복원 우선순위는 각 제2저장 영역의 펌웨어 복원시의 우선순위를 나타내기 위한 것이다. 단말기는 각 제2메모리 어드레스중에서 우선순위가 높은 제2메모리 어드레스를 선택할 수 있다. 예를 들면, 3개의 제2메모리 어드레스 A, B 및 C가 존재하고 상기 3개의 주소의 복원 우선순위가 B, A 및 C인 경우, 단말기는 제2메모리 어드레스 B를 선택할 수 있다.
단말기는 각 제2메모리 어드레스에 대응하는 저장 영역에 저장되어 있는 펌웨어에 대하여 체크 코드를 설정할 수 있다. 단말기는 해당 체크 코드에 기초하여 해당 제 2 메모리 어드레스에 대응하는 저장 영역에 저장된 펌웨어의 파손 여부를 판단하고, 그 중에서 펌웨어가 파손 되지 않은 제2메모리 어드레스를 선택한다. 단말기가 선택한 펌웨어가 파손 되지 않은 제2메모리 어드레스가 여전히 2개 이상 존재할 경우, 단말기는 랜덤으로 1개의 제2메모리 어드레스를 선택하거나, 또는 다른 2개의 조건을 결합하여 선택할 수 있다. 본 실시예에서는 이에 대해 한정하지 않는다.
단말기는, 각 제2메모리 어드레스에 대응하는 저장 영역에 저장되어 있는 펌웨어의 버전 번호를 분선하여 그 중에서 버전이 비교적 높은 저장 영역에 대응하는 제2메모리 어드레스를 선택할 수 있다.
이상, 미리 설정된 조건이 1개의 조건만을 포함할 경우를 예로 하였지만, 미리 설정된 조건은 동시에 상술한 3개의 조건중의 2개 또는 3개를 포함할 수 있다. 본 실시예에서는 이에 대해 한정하지 않는다. 상기 실시예에서는 미리 설정된 조건이 상술한 3개의 조건일 경우를 예로 하였지만, 미리 설정된 조건은 다른 조건을 포함할 수도 있다. 본 실시예에서는 이에 대하여서도 한정하지 않는다.
단계404b에서, 선택된 제2메모리 어드레스에 대응하는 제2저장 영역을 활성화한다.
단말기는 2개 이상의 제2메모리 어드레스중에서 1개의 제2메모리 어드레스를 선택한 후, 선택된 제2메모리 어드레스에 대응하는 제2저장 영역을 활성화할 수 있다.
단말기는 상술한 활성화방법과 유사한 방법을 이용하여, 선택된 제2메모리 어드레스에 대응하는 제2저장 영역을 활성화할 수 있다. 본 실시예에서는 이에 대해 한정하지 않는다.
단계405에서, 활성화 상태인 제2저장 영역에 저장되어 있는 펌웨어를 로드한다.
단말기는 활성화 상태인 제2저장 영역에 저장되어 있는 펌웨어를 로드할 수 있다.
단말기는 재기동 과정에서 활성화 상태인 제2저장 영역에 저장되어 있는 펌웨어를 로드할 수 있다.
단말기는 제1저장 영역을 비활성화하고 제2저장 영역을 활성화한 후, 자동적으로 재기동 할 수 있으며, 재기동 과정에서 활성화 상태인 제2저장 영역에 저장되어 있는 펌웨어를 로드할 수 있다.
단말기는, 제1저장 영역을 비활성화하고 제2저장 영역을 활성화한 후, 유저에게 재기동을 프롬프트 하기 위한 프롬프트 정보를 표시하여 유저의 트리거에 의해서 재기동을 실시할 수 있으며, 재기동 과정에서 활성화 상태인 제2저장 영역에 저장되어 있는 펌웨어를 로드할 수 있다.
요컨대, 본 발명의 실시예에서 제공된 펌웨어 복원 방법에 의하면, 단말기에 활성화된 제1저장 영역 및 비활성화 상태인 제2저장 영역을 설정하여, 제1저장 영역에 단말기가 최근에 실행한 펌웨어를 저장하고, 제2저장 영역에 백업용 펌웨어를 저장함으로써, 단말기에 대해 펌웨어의 복원을 실시할 필요가 있을 경우, 직접 제 1 저장 영역을 비활성화하고 제2저장 영역을 활성화할 수 있으며, 진일보로, 활성화된 제2저장 영역에 저장된 백업용 펌웨어를 로드하는 방법으로 펌웨어의 복원을 실현한다. 이로써, 종래 기술에서 펌웨어를 복원하려면 리프레시 툴의 이용이 필수가 되었던 과제를 해결하고, 하나의 키만으로 펌웨어의 복원을 실현할 수 있어 유저의 사용상의 편리성을 향상하는 효과를 얻을 수 있다.
본 실시예에서, 유저는 단말기중의 펌웨어를 하나의 키로 복원할 수 있으므로 펌웨어의 복원에 필요한 시간을 절약할 수 있다.
추가 설명해야 할 점은, 유저는 트리거에 의하여 단말기에 저장되어 있는 펌웨어를 업데이트할 수 있다. 도 4d를 참조하면, 단말기가 펌웨어를 업데이트 하는 방법은 다음과 같은 단계를 포함한다.
단계406에서, 단말기의 업데이트 펌웨어의 취득을 요구하기 위한 취득 요구를 서버에 송신한다.
유저는 웹 사이트에서 자기가 필요로 하는 버전의 펌웨어를 찾고 단말기를 조작하여 해당 업데이트 펌웨어를 다운로드할 수 있다. 단말기는 업데이트 펌웨어의 취득을 요구하기 위한 취득 요구를 서버에 송신할 수 있다.
단계407에서, 서버에서 리턴하는 업데이트 펌웨어를 수신한다.
단계408에서, 제1저장 영역 및 제2저장 영역 상태를 확인한다.
단말기는 제1저장 영역 및 제2저장 영역 상태 마크를 읽어, 상태 마크에 기초하여 제1저장 영역 및 제2저장 영역 상태를 확인할 수 있다.
단계409에서, 제1저장 영역이 활성화 상태이고 제2저장 영역이 비활성화 상태일 경우, 업데이트 펌웨어에 기초하여 비활성화 상태인 제2저장 영역에 저장되어 있는 펌웨어를 업데이트하며, 제1저장 영역을 비활성화하고 제2저장 영역을 활성화한다.
제1저장 영역이 활성화 상태이고 제2저장 영역이 비활성화 상태에 있다고 결정했을 경우, 단말기는 업데이트 펌웨어에 기초하여 제2저장 영역에 저장되어 있는 펌웨어를 업데이트할 수 있다. 단말기는 제2저장 영역에 저장되어 있는 펌웨어를 삭제하고 수신한 업데이트 펌웨어를 제2저장 영역에 기록할 수 있다.
단말기가 업데이트 후의 펌웨어를 실행할 수 있도록 하기 위하여, 단말기는 제1저장 영역을 비활성화하고 제2저장 영역을 활성화할 수 있다. 단말기의 비활성화 및 활성화 방법에 대하여는, 단계402~단계404를 참조하며 본 실시예에서는 그에 대한 설명을 생략 한다.
단말기는 제2저장 영역을 활성화한 후, 활성화 상태인 제2저장 영역에 저장되어 있는 펌웨어를 로드할 수 있다.
단계410에서, 제2저장 영역이 활성화 상태이고 제1저장 영역이 비활성화 상태일 경우, 업데이트 펌웨어에 기초하여 비활성화 상태인 제1저장 영역에 저장되어 있는 펌웨어를 업데이트하며, 제2저장 영역을 비활성화하고 제1저장 영역을 활성화한다.
제2저장 영역이 활성화 상태이고 제1저장 영역이 비활성화 상태에 있다고 결정했을 경우, 단말기는 업데이트 펌웨어에 기초하여 비활성화 상태인 제1저장 영역에 저장되어 있는 펌웨어를 업데이트할 수 있다. 또한, 제2저장 영역을 비활성화하고 제1저장 영역을 활성화한다. 이는 단계409에 유사하므로 여기에서는 그에 대한 설명을 생략 한다.
설명해야 할 점은, 본 실시예에서는 단말기가 비활성화된 저장 영역에 저장되어 있는 펌웨어만을 업데이트하는 경우를 예로 했지만, 단말기는 동시에 2개의 저장 영역에 저장되어 있는 펌웨어를 업데이트할 수 있다. 본 실시예에서는 이에 대해 한정하지 않는다. 본 실시예에서는 펌웨어의 업데이트 과정에서 단말기가 계속하여 정상적으로 작동할 수 있는 것을 보증함을 고려하여, 비활성화된 저장 영역에 저장되어 있는 펌웨어만을 업데이트하지만, 그 실제 실현에 있어서는 이에 한정되지 않는다.
추가 설명해야 할 점은, 도 4e를 참조하면, 해당 펌웨어 복원 방법은 다음과 같은 단계를 더 포함한다.
단계411에서, 비활성화된 후의 제1저장 영역에 저장되어 있는 펌웨어를 삭제한다.
단말기가 펌웨어의 복원을 진행할 경우, 통상적으로 최근에 실행한 펌웨어에 이상이 나타났기 때문이다. 즉, 제1저장 영역에 저장되어 있는 펌웨어가 파손 되었기 때문이다. 따라서, 단말기는 제1저장 영역을 비활성화한 후, 비활성화된 후의 제1저장 영역에 저장되어 있는 펌웨어, 즉 파손된 펌웨어를 삭제할 수 있다.
단계412에서, 활성화된 후의 제2저장 영역에 저장되어 있는 펌웨어를 비활성화된 후의 제1저장 영역에 기록 한다.
비활성화된 후의 제1저장 영역에 저장되어 있는 파손된 펌웨어를 복원하기 위하여, 단말기는 활성화된 후의 제2저장 영역에 저장되어 있는 펌웨어를 비활성화된 후의 제1저장 영역에 기록할 수 있다.
단말기는 유저에게 제2저장 영역에 저장되어 있는 펌웨어를 제1저장 영역에 백업 하는 것을 프롬프트 하기 위한 프롬프트 정보를 표시할 수 있다. 유저는 해당 프롬프트 정보를 본 후, 백업을 트리거 한다.
단말기는 제1저장 영역을 비활성화하고 제2저장 영역을 활성화한 후, 자동적으로 활성화된 제2저장 영역에 저장되어 있는 펌웨어를 비활성화된 후의 제1저장 영역에 기록 할 수 있다. 이로써, 활성화된 후의 제2저장 영역중의 펌웨어가 뒤이어 고장이 발생해도, 유저는 여전히 비활성화된 후의 제1저장 영역에 백업된 펌웨어에 기초하여 펌웨어의 복원을 실시할 수 있다. 본 실시예에서는 이에 대해 한정하지 않는다.
추가 설명해야 할 점은, 본 실시예에서는 활성화된 제2저장 영역에 저장되어 있는 펌웨어를 비활성화된 후의 제1저장 영역에 기록하는 경우만을 예로 하여 설명했지만, 유저는 단말기를 리프레시 툴 또는 U디스크에 접속하고, 추가로 리프레시 툴 또는 U디스크에 의하여 비활성화된 후의 제1저장 영역에 저장되어 있는, 파손된 펌웨어에 대하여 복원을 진행할 수 있다. 본 실시예에서는 이에 대해 한정하지 않는다. 단말기는 또한 서버에 접속되어 서버로부터 펌웨어를 다운로드하는 방법에 의하여 비활성화된 후의 제1저장 영역에 저장되어 있는 펌웨어에 대하여 복원을 진행할 수도 있다. 본 실시예에서는 이에 대해서도 한정하 지 않는다.
추가 설명해야 할 점은, 도 4f를 참조하면, 단계405를 실행한 후, 단말기는 다음과 같은 단계를 실행할 수 있다.
단계413에서, 미리 단말기에 저장된 유저 설정 및 구성 데이터중의 적어도 하나를 로드한다.
유저가 단말기를 사용하는 과정에서, 단말기는 유저 설정 또는 유저가 단말기에 설정한 구성 데이터 또는 동시에 전술한 양자를 저장할 수 있다. 단말기는, 예정한 시간 간격 마다 1회 저장할 수 있으며, 유저의 트리거 신호를 수신했을 경우 1회 저장할 수도 있다. 본 실시예에서는 이에 대해 한정하지 않는다.
단말기는 활성화된 제2저장 영역에 저장되어 있는 펌웨어를 로드한 후, 계속하여 저장된 유저 설정 또는 구성 데이터 또는 전술한 양자를 로드할 수 있다. 이로써, 단말기가 펌웨어의 복원을 진행한다 해도, 유저는 여전히 펌웨어가 복원되기 전의 유저 설정을 계속하여 이용할 수 있으며 다시 복잡한 설정 조작을 실시할 필요가 없으므로 유저의 조작 복잡 정도를 저하시킴과 동시에 펌웨어 복원시의 단말기중의 구성 데이터의 시큐러티를 보증할 수 있다.
하기의 본 발명의 장치 실시예는 본 발명의 방법 실시예를 실행하는데 이용할 수 있다. 본 발명의 장치 실시예에서 상세하게 기재하지 않은 내용에 대하여는, 본 발명의 방법 실시예를 참조한다.
도 5는, 예시적인 일 실시예에 따른 펌웨어 복원 장치의 블럭도이다. 도 5에 도시된 바와 같이, 해당 펌웨어 복원 장치는 도 1에 도시된 실시 환경중의 단말기(110)에 적용된다. 해당 펌웨어 복원 장치는 신호 수신 모듈(501), 제1처리 모듈(502) 및 펌웨어 로드 모듈(503)을 구비하지만 이에 한정되지 않는다.
신호 수신 모듈(501)은 단말기중의 펌웨어를 복원하기 위한 복원 신호를 수신하도록 구성된다.
제1처리 모듈(502)은 제1저장 영역을 비활성화하고 제2저장 영역을 활성화하도록 구성된다.
펌웨어 로드 모듈(503)은 활성화상태인 제2저장 영역에 저장되어 있는 펌웨어를 로드하도록 구성된다.
요컨대, 본 발명의 실시예에서 제공된 펌웨어 복원 방법에 의하면, 단말기에 활성화된 제1저장 영역 및 비활성화상태인 제2저장 영역을 설정하여, 제1저장 영역에 단말기가 최근에 실행한 펌웨어를 저장하고, 제2저장 영역에 백업용 펌웨어를 저장함으로써, 단말기에 대해 펌웨어의 복원을 실시할 필요가 있을 경우, 직접 제 1 저장 영역을 비활성화하고 제2저장 영역을 활성화할 수 있으며, 추가로, 활성화된 제2저장 영역에 저장된 백업용 펌웨어를 로드하는 방법으로 펌웨어의 복원을 실현한다. 이로써, 종래 기술에서 펌웨어를 복원하려면 리프레시 툴의 이용이 필수가 되었던 과제를 해결하고, 하나의 키만으로 펌웨어의 복원을 실현할 수 있어 유저의 사용상의 편리성을 향상하는 효과를 얻을 수 있다.
도 6은, 예시적인 일 실시예에 따른 펌웨어 복원 장치의 블럭도이다. 도 6에 도시된 바와 같이, 해당 펌웨어 복원 장치는, 도 1에 도시된 실시 환경중의 단말기(110)에 적용된다. 해당 펌웨어 복원 장치는 신호 수신 모듈(601), 제1처리 모듈(602) 및 펌웨어 로드 모듈(603)을 구비하지만 이에 한정되지 않는다.
신호 수신 모듈(601)은 단말기중의 펌웨어를 복원하기 위한 복원 신호를 수신하도록 구성된다.
제1처리 모듈(602)은 제1저장 영역을 비활성화하고 제2저장 영역을 활성화하도록 구성된다.
펌웨어 로드 모듈(603)은, 활성화상태인 제2저장 영역에 저장되어 있는 펌웨어를 로드하도록 구성된다.
해당 제 1 처리 모듈(602)은,
제1저장 영역의 제1메모리 어드레스 및 제2저장 영역의 제2메모리 어드레스를 취득하도록 구성되는 주소 취득 서브 모듈(602a)과,
제1메모리 어드레스에 대응하는 저장 영역을 비활성화하도록 구성되는 비활성화서브 모듈(602b)과,
제2메모리 어드레스에 대응하는 저장 영역을 활성화하도록 구성되는 활성화서브 모듈(602c)을 구비할 수 있다.
상기 주소 취득 서브 모듈(602a)은,
각 저장 영역의 메모리 어드레스가 저장되어 있는 파티션 테이블을 판독하고,
파티션 테이블에 기초하여 제1메모리 어드레스 및 제2메모리 어드레스를 결정하도록 구성될 수 있다.
상기 활성화서브 모듈(602c)은,
제2메모리 어드레스가 2개 이상 존재할 경우, 미리 설정된 조건에 기초하여 1개의 제2메모리 어드레스를 선택하고,
선택된 제2메모리 어드레스에 대응하는 제2저장 영역을 활성화하도록 구성될 수 있다.
상기 미리 설정된 조건에는, 각 제2메모리 어드레스에 대응하는 제2저장 영역간의 우선순위, 각 제2저장 영역에 저장되어 있는 펌웨어 파손 여부에 관한 정보 및 각 제2저장 영역에 저장되어 있는 펌웨어의 버전 번호중의 적어도 하나가 포함된다.
해당 장치는,
단말기의 업데이트 펌웨어의 취득을 요구하기 위한 취득 요구를 서버에 송신하도록 구성되는 요구 송신 모듈(604)과,
서버에서 리턴하는 업데이트 펌웨어를 수신하도록 구성되는 펌웨어 수신 모듈(605)과,
제1저장 영역 및 제2저장 영역 상태를 확인하도록 구성되는 상태 확인 모듈(606)과,
제1저장 영역이 활성화상태이고 제2저장 영역이 비활성화상태일 경우, 펌웨어 수신 모듈이 수신한 업데이트 펌웨어에 기초하여 비활성화상태인 제2저장 영역에 저장되어 있는 펌웨어를 업데이트하며, 제1저장 영역을 비활성화하고 제2저장 영역을 활성화하도록 구성되는 제1업데이트 모듈(607)과,
제2저장 영역이 활성화상태이고 제1저장 영역이 비활성화상태일 경우, 업데이트 펌웨어에 기초하여 비활성화상태인 제1저장 영역에 저장되어 있는 펌웨어를 업데이트하며, 제2저장 영역을 비활성화하고 제1저장 영역 활성화하도록 구성되는 제2업데이트 모듈(608)
을 더 구비할 수 있다.
해당 장치는,
비활성화된 후의 제1저장 영역에 저장되어 있는 펌웨어를 삭제하도록 구성되는 펌웨어 삭제 모듈(609)과
활성화된 후의 제2저장 영역에 저장되어 있는 펌웨어를 비활성화된 후의 제1저장 영역에 기록하도록 구성되는 펌웨어 기록 모듈(610)
을 더 구비할 수 있다.
해당 장치는,
활성화 상태인 제2저장 영역에 저장되어 있는 펌웨어를 로드한 후, 미리 단말기에 저장된 유저 설정 및 구성 데이터중의 적어도 하나를 로드하도록 구성되는 데이터 로드 모듈(611)을 더 구비할 수 있다.
요컨대, 본 발명의 실시예에서 제공된 펌웨어 복원 방법에 의하면, 단말기에 활성화된 제1저장 영역 및 비활성화 상태인 제2저장 영역을 설정하여, 제1저장 영역에 단말기가 최근에 실행한 펌웨어를 저장하고, 제2저장 영역에 백업용 펌웨어를 저장함으로써, 단말기에 대해 펌웨어의 복원을 실시할 필요가 있을 경우, 직접 제 1 저장 영역을 비활성화하고 제2저장 영역을 활성화할 수 있으며, 추가로, 활성화된 제2저장 영역에 저장된 백업용 펌웨어를 로드하는 방법으로 펌웨어의 복원을 실현한다. 이로써, 종래 기술에서 펌웨어를 복원하려면 리프레시 툴의 이용이 필수가 되었던 과제를 해결하고, 하나의 키만으로 펌웨어의 복원을 실현할 수 있어 유저의 사용상의 편리성을 향상하는 효과를 얻을 수 있다.
본 실시예에 의하면, 업데이트 펌웨어를 이용하여 제2저장 영역에 저장되어 있는 펌웨어를 업데이트할 수 있으므로 단말기중의 펌웨어를 업데이트하는 효과를 얻을 수 있다. 또한, 본 실시예에 의하면, 제2저장 영역에 저장되어 있는 펌웨어만을 업데이트하고 현재 실행중인 제1저장 영역에 저장되어 있는 펌웨어를 업데이트하지 않으므로써 펌웨어의 업데이트 과정에서 단말기가 정상적으로 작동할 수 있게끔 보증한다.
또한, 본 실시에 의하면, 활성화된 후의 제2저장 영역에 저장되어 있는 펌웨어를, 비활성화된 후의 제1저장 영역에 기록함으로, 활성화된 후의 제2저장 영역중의 펌웨어가 뒷이어 고장이 발생해도, 유저는 여전히 비활성화된 후의 제1저장 영역에 백업된 펌웨어에 기초하여 펌웨어를 복원할 수 있다.
상술한 실시예에 따른 장치에 있어서, 각 모듈이 동작을 실행하는 구체적인 형태에 관하여서는, 그에 해당하는 방법 실시예에서 이미 상세한 설명을 진행하였기에, 여기서는 그 상세한 설명을 생략하기로 한다.
단말기는 활성화된 제2저장 영역에 저장되어 있는 펌웨어를 로드한 후, 계속하여 단말기에 저장된 유저 설정, 구성 데이터중의 적어도 하나를 로드할 수 있다. 이로써, 펌웨어를 복원한 후, 유저가 복잡한 설정을 할 필요가 없게 함으로써 유저의 조작 복잡도를 저하시킴과 동시에 펌웨어 복원시의 단말기중의 구성 데이터의 시큐러티를 보증할 수 있다.
도 7은 예시적인 일 실시예에 따른, 펌웨어 복원에 적용되는 장치(700)의 블럭도이다. 예를 들면, 장치(700)는, 휴대 전화, 컴퓨터, 디지털 방송 단말기, 메시지 송수신기, 게임기, 태블렛 디바이스, 의료기기, 피트니스 설비, PDA(Personal Digital Assistant) 등일 수 있다.
도 13에 도시된 바와 같이, 장치(700)는, 처리 어셈블리(702), 메모리(704), 전원 어셈블리(706), 멀티미디어 어셈블리(708), 오디오 어셈블리(710), 입력/출력(I/O) 인터페이스(712), 센서 어셈블리(714) 및 통신 어셈블리(716) 중의 적어도 하나 이상을 포함할 수 있다.
처리 어셈블리(702)는 일반적으로 장치(700)의 전반 조작 예를 들어 표시, 전화호출, 데이터 통신, 카메라 조작 및 기록 조작에 관련된 조작을 제어할 수 있다. 처리 어셈블리(702)는 적어도 하나 이상의 프로세서(718)를 포함하여 인스트럭션을 실행함으로써 상기 방법의 일부 또는 전부의 단계를 완성할 수 있다. 또한, 처리 어셈블리(702)는, 다른 어셈블리와의 인터랙션의 편의상, 적어도 하나 이상의 모듈을 포함할 수 있다. 예를 들면, 처리 어셈블리(702)는 멀티미디어 어셈블리(708)와의 인터랙션의 편리를 도모하기 위하여 멀티미디어 모듈을 포함할 수 있다.
메모리(704)는 장치(700)의 조작을 지원하기 위하여 각종 데이터를 저장하도록 구성된다. 이러한 데이터는 예를 들어 장치(700)에 있어서 작동하는 어느 하나의 애플리케이션 또는 방법에 관한 인스트럭션, 연락처 데이터, 전화번호부 데이터, 메시지, 사진, 동영상 등을 포함할 수 있다. 메모리(704)는 임의의 유형의 휘발성 또는 비휘발성 메모리 예를 들어 SRAM(Static Random Access Memory), EEPROM(Electrically Erasable Programmable Read-Only Memory), EPROM(Erasable Programmable Read Only Memory), PROM(Programmable ROM), ROM(Read Only Member), 자기 메모리, 플래쉬 메모리, 자기 디스크 또는 광 디스크 또는 이들의 조합에 의해 실현될 수 있다.
전원 어셈블리(706)는 장치(700)의 각 어셈블리에 전력을 공급하기 위한 것이며, 전원 관리 시스템, 적어도 하나 이상의 전원 및 장치(700)를 위한 전력의 생성, 관리 및 분배에 관련되는 다른 기타 어셈블리를 포함할 수 있다.
멀티미디어 어셈블리(708)는 장치(700)와 유저 사이에 출력 인터페이스를 제공하기 위한 스크린을 포함할 수 있다. 일부 실시예에 있어서, 스크린은 액정 디스플레이(LCD) 또는 터치 패널(TP)을 포함할 수 있다. 스크린은, 터치 패널을 포함할 경우, 유저로부터의 입력 신호를 수신할 수 있는 터치 스크린의 형식으로 실현될 수 있다. 또한, 터치 패널은 터치, 슬라이딩 및 터치 패널위에서의 제스처(gesture)를 감지하도록 적어도 하나의 터치 센서를 포함할 수 있다. 상기 터치 센서는 터치나 슬라이딩 동작의 경계위치를 감지할 수 있을 뿐만 아니라, 터치나 슬라이딩 조작에 관련되는 지속 시간이나 압력도 감지할 수 있다. 일부 실시예에 있어서, 멀티미디어 어셈블리(708)는 프론트 카메라 및/또는 리어 카메라를 포함할 수 있다. 장치(700)가 예를 들어 촬영 모드나 동영상 모드와 같은 조작 모드에 설정되는 경우, 프론트 카메라 및/또는 리어 카메라는 외부로부터의 멀티미디어 데이터를 수신할 수 있다. 프론트 카메라 및 리어 카메라는 각각 고정된 광학 렌즈 시스템을 구비할 수 있고, 가변 초첨 거리 및 광학 줌 기능을 구비할 수 있다.
오디오 어셈블리(710)는 오디오 신호를 출력 및/또는 입력하도록 구성된다. 예를 들면, 오디오 어셈블리(710)는 마이크(MIC)를 포함할 수 있다. 장치(700)가 예를 들어 호출 모드, 기록 모드 또는 음성인식 모드와 같은 조작 모드에 설정되어 있는 경우, 마이크는 외부의 오디오 신호를 수신하도록 구성된다. 수신된 오디오 신호는 메모리(704)에 저장되거나 또는 통신 어셈블리(716)를 통하여 송신될 수 있다. 일부 실시예에 있어서, 오디오 어셈블리(710)는 오디오 신호를 출력하기 위한 스피커를 더 포함할 수 있다.
I/O인터페이스(712)는 처리 어셈블리(702)와 주변 인터페이스 모듈 사이에 인터페이스를 제공하기 위한 것이다. 상기 주변 인터페이스 모듈은 키보드, 클릭 휠, 버튼 등일 수 있다. 이러한 버튼은 홈 버튼, 음량 버튼, 시작 버튼, 잠금 버튼일 수 있지만, 이에 한정되지는 않는다.
센서 어셈블리(714)는 장치(700)를 위하여 각 방면의 상태 평가를 제공하기 위한 적어도 하나 이상의 센서를 포함할 수 있다. 예를 들면, 센서 어셈블리(714)는 장치(700)의 온/오프 상태나 또는 어셈블리의 상대적인 위치를 검출할 수 있다. 예를 들면, 상기 어셈블리가 장치(700)의 디스플레이 및 키패드인 경우, 센서 어셈블리(714) 는 장치(700) 또는 장치(700)의 일 어셈블리의 위치 변화, 유저와 장치(700) 사이의 접촉의 유무, 장치(700)의 방위 또는 가속/감속, 또는 장치(700)의 온도 변화를 검출할 수 있다. 센서 어셈블리(714) 는 아무 물리적 접촉도 없는 상황에서 부근의 물체의 유무를 검출할 수 있도록 구성되는 근접 센서를 포함할 수 있다. 센서 어셈블리(714)는 화상 표시 기술 분야에 이용되는 광 센서 예를 들어 CMOS 또는 CCD 이미지 센서를 더 포함할 수 있다. 일부 실시예에 있어서, 해당 센서 어셈블리(714) 는 가속도 센서, 자이로 스코프 센서, 자기 센서, 압력 센서 또는 온도 센서를 더 포함할 수 있다.
통신 어셈블리(716)는 장치(700)와 기타 다른 설비 사이의 무선 또는 유선 통신이 편리하도록 구성된다. 장치(700)는 통신 표준에 기반하는 무선 네트워크 예를 들어 WiFi, 2G 또는 3G 또는 이들의 조합에 액세스할 수 있다. 예시적인 일 실시예에 있어서, 통신 어셈블리(716)는 브로드캐스트 채널을 통하여 외부의 브로드캐스트 관리 시스템으로부터의 브로드캐스트 신호 또는 브로드캐스트에 관한 정보를 수신할 수 있다. 예시적인 일 실시예에 있어서, 상기 통신 어셈블리(716)는 근거리 통신을 촉진하기 위한 근거리 무선 통신(NFC) 모듈을 포함할 수 있다. NFC 모듈은, 예를 들어 RFID(Radio Frequency IDentification) 기술, IrDA(Infrared Data Association) 기술, UWB(Ultra Wide Band) 기술, BT(Bluetooth) 기술 및 기타 다른 기술에 의해 실현될 수도 있다.
예시적인 실시예에 있어서, 장치(700)는 상술한 방법을 실행하기 위하여 적어도 하나 이상의ASIC( Application Specific Integrated Circuit), DSP( Digital Signal Processor) , DSPD( Digital Signal Processing Device), PLD(Programmable Logic Device), FPGA(Field-Programmable Gate Array), 컨트롤러, 마이크로 컨트롤러, 마이크로 프로세서, 또는 기타 전자 소자에 의해 실현될 수 있다.
예시적인 실시예에 있어서, 장치(700)의 프로세서(718)에 의해 실행되는 것을 통하여 상술한 방법을 실현할 수 있는 인스트럭션이 저장되고 또한 컴퓨터가 판독 가능한 비휘발성 기록 매체, 예를 들어 인스트럭션이 저장되어 있는 메모리(704)를 더 제공한다. 상기 컴퓨터가 판독 가능한 비휘발성 기록 매체는, 예를 들어 ROM, RAM, CD-ROM, 자기 테이프, 플로피(등록상표) 디스크 및 광 데이터 메모리 등일 수 있다.
본 발명은, 상술한 설명 및 도면에 의해 구현되는 특정의 구성에 한정되지 않으며, 그 범위를 이탈하지 않는 범위에서의 다양한 보정 및 변경을 실시할 수 있는 것을 이해하여야 한다. 본 발명의 범위는 첨부되는 특허 청구의 범위에 의하여서만 한정된다.

Claims (18)

  1. 단말기에 적용되는 펌웨어 복원 방법에 있어서- 상기 단말기는 활성화된 제 1 저장 영역 및 비활성화상태인 제 2 저장 영역을 포함하며, 상기 제 1 저장 영역에 저장되어 있는 펌웨어는 상기 단말기가 최근에 실행한 펌웨어이고, 상기 제 2 저장 영역에 저장되어 있는 펌웨어는 백업용 펌웨어임-,
    상기 단말기중의 펌웨어를 복원하기 위한 복원 신호를 수신하는 단계와,
    상기 제 1 저장 영역을 비활성화하고 상기 제 2 저장 영역을 활성화하는 단계와,
    활성화상태인 상기 제 2 저장 영역에 저장되어 있는 펌웨어를 로드하는 단계와,
    활성화상태인 상기 제 2 저장 영역에 저장되어 있는 펌웨어를 로드한 후, 미리 상기 단말기에 저장된 유저 설정 및 구성 데이터중의 적어도 하나를 로드하는 단계를 포함하되,
    상기 제 1 저장 영역을 비활성화하고 상기 제 2 저장 영역을 활성화하는 단계는,
    상기 제 1 저장 영역의 제 1 메모리 어드레스 및 상기 제 2 저장 영역의 제 2 메모리 어드레스를 취득하는 단계와,
    상기 제 1 메모리 어드레스에 대응하는 저장 영역을 비활성화하는 단계와,
    상기 제 2 메모리 어드레스에 대응하는 저장 영역을 활성화하는 단계를 포함하고,
    상기 제 2 메모리 어드레스에 대응하는 저장 영역을 활성화하는 단계는,
    상기 제 2 메모리 어드레스가 2개 이상 존재할 경우, 미리 설정된 조건에 기초하여 1개의 제 2 메모리 어드레스를 선택하는 단계와,
    선택된 상기 제 2 메모리 어드레스에 대응하는 제 2 저장 영역을 활성화하는 단계를 포함하며,
    상기 미리 설정된 조건은, 각 제 2 메모리 어드레스에 대응하는 제 2 저장 영역간의 우선순위, 각 제 2 저장 영역에 저장되어 있는 펌웨어의 파손 여부에 관한 정보 및 각 제 2 저장 영역에 저장되어 있는 펌웨어의 버전 번호중의 적어도 하나를 포함하고,
    상기 단말기는 각 제 2 메모리 어드레스에 대응하는 저장 영역에 저장되어 있는 펌웨어에 대하여 체크 코드를 설정하고, 상기 단말기는 상기 체크 코드에 기초하여 상기 제 2 메모리 어드레스에 대응하는 저장 영역에 저장된 펌웨어의 파손 여부를 판단하고, 그 중에서 펌웨어가 파손되지 않는 제 2 메모리 어드레스를 선택하는 것을 특징으로 하는
    펌웨어 복원 방법.
  2. 삭제
  3. 제1항에 있어서,
    상기 제 1 저장 영역의 제 1 메모리 어드레스 및 상기 제 2 저장 영역의 제 2 메모리 어드레스를 취득하는 단계는,
    각 저장 영역의 메모리 어드레스가 저장되어 있는 파티션 테이블을 판독하는 단계와,
    상기 파티션 테이블에 기초하여 상기 제 1 메모리 어드레스 및 상기 제 2 메모리 어드레스를 결정하는 단계
    를 포함하는 것을 특징으로 하는
    펌웨어 복원 방법.
  4. 삭제
  5. 제1항 또는 제3항에 있어서,
    상기 단말기의 업데이트 펌웨어의 취득을 요구하기 위한 취득 요구를 서버에 송신하는 단계와,
    상기 서버에서 리턴하는 상기 업데이트 펌웨어를 수신하는 단계와,
    상기 제 1 저장 영역과 상기 제 2 저장 영역 상태를 확인하는 단계와,
    상기 제 1 저장 영역이 활성화 상태이고 상기 제 2 저장 영역이 비활성화상태일 경우, 상기 업데이트 펌웨어에 기초하여 비활성화 상태인 상기 제 2 저장 영역에 저장되어 있는 펌웨어를 업데이트하며, 상기 제 1 저장 영역을 비활성화하고 상기 제 2 저장 영역을 활성화하는 단계와,
    상기 제 2 저장 영역이 활성화 상태이고 상기 제 1 저장 영역이 비활성화 상태일 경우, 상기 업데이트 펌웨어에 기초하여 비활성화상태인 상기 제 1 저장 영역에 저장되어 있는 펌웨어를 업데이트하며, 상기 제 2 저장 영역을 비활성화하고 상기 제 1 저장 영역을 활성화하는 단계
    를 더 포함하는 것을 특징으로 하는
    펌웨어 복원 방법.
  6. 제1항 또는 제3항에 있어서,
    비활성화된 후의 상기 제 1 저장 영역에 저장되어 있는 펌웨어를 삭제하는 단계와,
    활성화된 후의 상기 제 2 저장 영역에 저장되어 있는 펌웨어를 비활성화된 후의 상기 제 1 저장 영역에 기록하는 단계
    를 더 포함하는 것을 특징으로 하는
    펌웨어 복원 방법.
  7. 삭제
  8. 단말기에 적용되는 펌웨어 복원 장치에 있어서- 상기 단말기는 활성화된 제 1 저장 영역 및 비활성화상태인 제 2 저장 영역을 포함하며, 상기 제 1 저장 영역에 저장되어 있는 펌웨어는 상기 단말기가 최근에 실행한 펌웨어이고, 상기 제 2 저장 영역에 저장되어 있는 펌웨어는 백업용 펌웨어임-,
    상기 단말기중의 펌웨어를 복원하기 위한 복원 신호를 수신하도록 구성되는 신호 수신 모듈과,
    상기 제 1 저장 영역을 비활성화하고 상기 제 2 저장 영역을 활성화하도록 구성되는 제 1 처리 모듈과,
    활성화상태인 상기 제 2 저장 영역에 저장되어 있는 펌웨어를 로드하도록 구성되는 펌웨어 로드 모듈과,
    활성화상태인 상기 제 2 저장 영역에 저장되어 있는 펌웨어를 로드한 후, 미리 상기 단말기에 저장된 유저 설정 및 구성 데이터중의 적어도 하나를 로드하도록 구성되는 데이터 로드 모듈을 포함하되,
    상기 제 1 처리 모듈은,
    상기 제 1 저장 영역의 제 1 메모리 어드레스 및 상기 제 2 저장 영역의 제 2 메모리 어드레스를 취득하도록 구성되는 주소 취득 서브 모듈과,
    상기 제 1 메모리 어드레스에 대응하는 저장 영역을 비활성화하도록 구성되는 비활성화서브 모듈과,
    상기 제 2 메모리 어드레스에 대응하는 저장 영역을 활성화하도록 구성되는 활성화서브 모듈을 포함하며,
    상기 활성화서브 모듈은,
    상기 제 2 메모리 어드레스가 2개 이상 존재할 경우, 미리 설정된 조건에 기초하여 1개의 제 2 메모리 어드레스를 선택하고,
    선택된 상기 제 2 메모리 어드레스에 대응하는 제 2 저장 영역을 활성화하도록 구성되며,
    상기 미리 설정된 조건은, 각 제 2 메모리 어드레스에 대응하는 제 2 저장 영역간의 우선순위, 각 제 2 저장 영역에 저장되어 있는 펌웨어의 파손 여부에 관한 정보 및 각 제 2 저장 영역에 저장되어 있는 펌웨어의 버전 번호중의 적어도 하나를 포함하고,
    상기 단말기는 각 제 2 메모리 어드레스에 대응하는 저장 영역에 저장되어 있는 펌웨어에 대하여 체크 코드를 설정하고, 상기 단말기는 상기 체크 코드에 기초하여 상기 제 2 메모리 어드레스에 대응하는 저장 영역에 저장된 펌웨어의 파손 여부를 판단하고, 그 중에서 펌웨어가 파손되지 않는 제 2 메모리 어드레스를 선택하는 것을 특징으로 하는
    펌웨어 복원 장치.
  9. 삭제
  10. 제8항에 있어서,
    상기 주소 취득 서브 모듈은,
    각 저장 영역의 메모리 어드레스가 저장되어 있는 파티션 테이블을 판독하고,
    상기 파티션 테이블에 기초하여 상기 제 1 메모리 어드레스 및 상기 제 2 메모리 어드레스를 결정하도록 구성되는 것을 특징으로 하는
    펌웨어 복원 장치.
  11. 삭제
  12. 제8항 또는 제10항에 있어서,
    상기 단말기의 업데이트 펌웨어의 취득을 요구하기 위한 취득 요구를 서버에 송신하도록 구성되는 요구 송신 모듈과,
    상기 서버에서 리턴하는 상기 업데이트 펌웨어를 수신하도록 구성되는 펌웨어 수신 모듈과,
    상기 제 1 저장 영역과 상기 제 2 저장 영역 상태를 확인하도록 구성되는 상태 확인 모듈과,
    상기 제 1 저장 영역이 활성화 상태이고 상기 제 2 저장 영역이 비활성화 상태일 경우, 상기 업데이트 펌웨어에 기초하여 비활성화 상태인 상기 제 2 저장 영역에 저장되어 있는 펌웨어를 업데이트하며, 상기 제 1 저장 영역을 비활성화하고 상기 제 2 저장 영역을 활성화하도록 구성되는 제1업데이트 모듈과,
    상기 제 2 저장 영역이 활성화 상태이고 상기 제 1 저장 영역이 비활성화 상태일 경우, 상기 업데이트 펌웨어에 기초하여 비활성화 상태인 상기 제 1 저장 영역에 저장되어 있는 펌웨어를 업데이트하며, 상기 제 2 저장 영역을 비활성화하고 상기 제 1 저장 영역을 활성화하도록 구성되는 제2업데이트 모듈
    을 더 포함하는 것을 특징으로 하는
    펌웨어 복원 장치.
  13. 제8항 또는 제10항에 있어서,
    비활성화된 후의 상기 제 1 저장 영역에 저장되어 있는 펌웨어를 삭제하도록 구성되는 펌웨어 삭제 모듈과,
    활성화된 후의 상기 제 2 저장 영역에 저장되어 있는 펌웨어를 비활성화된 후의 상기 제 1 저장 영역에 기록하도록 구성되는 펌웨어 기록 모듈
    을 더 포함하는 것을 특징으로 하는
    펌웨어 복원 장치.
  14. 삭제
  15. 활성화된 제 1 저장 영역 및 비활성화상태인 제 2 저장 영역을 포함하며,
    상기 제 1 저장 영역에 저장되어 있는 펌웨어는 단말기가 최근에 실행한 펌웨어이고,
    상기 제 2 저장 영역에 저장되어 있는 펌웨어는 백업용 펌웨어인 단말기에 있어서,
    프로세서와,
    상기 프로세서에 의해 실행 가능한 인스트럭션을 저장하기 위한 메모리
    를 구비하고,
    상기 프로세서는,
    상기 단말기중의 펌웨어를 복원하기 위한 복원 신호를 수신하며,
    상기 제 1 저장 영역을 비활성화하고 상기 제 2 저장 영역을 활성화하며,
    활성화상태인 상기 제 2 저장 영역에 저장되어 있는 펌웨어를 로드하고,
    활성화상태인 상기 제 2 저장 영역에 저장되어 있는 펌웨어를 로드한 후, 미리 상기 단말기에 저장된 유저 설정 및 구성 데이터중의 적어도 하나를 로드하되,
    상기 제 1 저장 영역을 비활성화하고 상기 제 2 저장 영역을 활성화하기 위하여,
    상기 제 1 저장 영역의 제 1 메모리 어드레스 및 상기 제 2 저장 영역의 제 2 메모리 어드레스를 취득하고,
    상기 제 1 메모리 어드레스에 대응하는 저장 영역을 비활성화하며,
    상기 제 2 메모리 어드레스에 대응하는 저장 영역을 활성화하되,
    상기 제 2 메모리 어드레스에 대응하는 저장 영역을 활성화하기 위하여,
    상기 제 2 메모리 어드레스가 2개 이상 존재할 경우, 미리 설정된 조건에 기초하여 1개의 제 2 메모리 어드레스를 선택하고,
    선택된 상기 제 2 메모리 어드레스에 대응하는 제 2 저장 영역을 활성화하며,
    상기 미리 설정된 조건은, 각 제 2 메모리 어드레스에 대응하는 제 2 저장 영역간의 우선순위, 각 제 2 저장 영역에 저장되어 있는 펌웨어의 파손 여부에 관한 정보 및 각 제 2 저장 영역에 저장되어 있는 펌웨어의 버전 번호중의 적어도 하나를 포함하고,
    각 제 2 메모리 어드레스에 대응하는 저장 영역에 저장되어 있는 펌웨어에 대하여 체크 코드를 설정하고, 상기 체크 코드에 기초하여 상기 제 2 메모리 어드레스에 대응하는 저장 영역에 저장된 펌웨어의 파손 여부를 판단하고, 그 중에서 펌웨어가 파손되지 않는 제 2 메모리 어드레스를 선택하도록 구성되는 것을 특징으로 하는
    단말기.
  16. 단말기에 적용되는 펌웨어 복원 장치에 있어서-상기 단말기는 활성화된 제 1 저장 영역 및 비활성화상태인 제 2 저장 영역을 포함하며, 상기 제 1 저장 영역에 저장되어 있는 펌웨어는 상기 단말기가 최근에 실행한 펌웨어이고, 상기 제 2 저장 영역에 저장되어 있는 펌웨어는 백업용 펌웨어임-,
    프로세서와,
    상기 프로세서에 의해 실행 가능한 인스트럭션을 저장하기 위한 메모리
    를 구비하고,
    상기 프로세서는,
    상기 단말기중의 펌웨어를 복원하기 위한 복원 신호를 수신하며,
    상기 제 1 저장 영역을 비활성화하고 상기 제 2 저장 영역을 활성화하며,
    활성화상태인 상기 제 2 저장 영역에 저장되어 있는 펌웨어를 로드하고,
    활성화상태인 상기 제 2 저장 영역에 저장되어 있는 펌웨어를 로드한 후, 미리 상기 단말기에 저장된 유저 설정 및 구성 데이터중의 적어도 하나를 로드하되,
    상기 제 1 저장 영역을 비활성화하고 상기 제 2 저장 영역을 활성화하기 위하여,
    상기 제 1 저장 영역의 제 1 메모리 어드레스 및 상기 제 2 저장 영역의 제 2 메모리 어드레스를 취득하고,
    상기 제 1 메모리 어드레스에 대응하는 저장 영역을 비활성화하며,
    상기 제 2 메모리 어드레스에 대응하는 저장 영역을 활성화하되,
    상기 제 2 메모리 어드레스에 대응하는 저장 영역을 활성화하기 위하여,
    상기 제 2 메모리 어드레스가 2개 이상 존재할 경우, 미리 설정된 조건에 기초하여 1개의 제 2 메모리 어드레스를 선택하고,
    선택된 상기 제 2 메모리 어드레스에 대응하는 제 2 저장 영역을 활성화하며,
    상기 미리 설정된 조건은, 각 제 2 메모리 어드레스에 대응하는 제 2 저장 영역간의 우선순위, 각 제 2 저장 영역에 저장되어 있는 펌웨어의 파손 여부에 관한 정보 및 각 제 2 저장 영역에 저장되어 있는 펌웨어의 버전 번호중의 적어도 하나를 포함하고,
    각 제 2 메모리 어드레스에 대응하는 저장 영역에 저장되어 있는 펌웨어에 대하여 체크 코드를 설정하고, 상기 체크 코드에 기초하여 상기 제 2 메모리 어드레스에 대응하는 저장 영역에 저장된 펌웨어의 파손 여부를 판단하고, 그 중에서 펌웨어가 파손되지 않는 제 2 메모리 어드레스를 선택하도록 구성되는 것을 특징으로 하는
    펌웨어 복원 장치.
  17. 프로세서에 의해 실행되는 것을 통하여 제 1항 또는 제 3항에 기재된 펌웨어 복원 방법을 실현하는 것을 특징으로 하는 컴퓨터 판독 가능한 기록매체에 저장된 프로그램.
  18. 제 17항에 기재된 프로그램이 기록된 컴퓨터 판독 가능한 기록매체.
KR1020167000001A 2014-12-22 2015-11-05 펌웨어 복원 방법, 장치, 단말기, 프로그램 및 기록매체 KR101759451B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
CN201410806750.8A CN104536848B (zh) 2014-12-22 2014-12-22 固件恢复方法、装置和终端
CN201410806750.8 2014-12-22
PCT/CN2015/093856 WO2016101712A1 (zh) 2014-12-22 2015-11-05 固件恢复方法、装置和终端

Publications (2)

Publication Number Publication Date
KR20160089329A KR20160089329A (ko) 2016-07-27
KR101759451B1 true KR101759451B1 (ko) 2017-07-18

Family

ID=52852378

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020167000001A KR101759451B1 (ko) 2014-12-22 2015-11-05 펌웨어 복원 방법, 장치, 단말기, 프로그램 및 기록매체

Country Status (8)

Country Link
US (1) US10528434B2 (ko)
EP (1) EP3073379B1 (ko)
JP (1) JP6348989B2 (ko)
KR (1) KR101759451B1 (ko)
CN (1) CN104536848B (ko)
MX (1) MX367240B (ko)
RU (1) RU2636671C2 (ko)
WO (1) WO2016101712A1 (ko)

Families Citing this family (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104536848B (zh) 2014-12-22 2018-05-08 小米科技有限责任公司 固件恢复方法、装置和终端
CN104834575B (zh) * 2015-05-07 2018-04-06 紫光华山信息技术有限公司 一种固件恢复方法及装置
JP6912163B2 (ja) * 2016-03-17 2021-07-28 日本電気株式会社 ファームウェア起動装置、ファームウェア起動方法、およびファームウェア起動プログラム
CN105912346A (zh) * 2016-05-09 2016-08-31 合肥联宝信息技术有限公司 固件版本恢复方法、装置及终端
CN106021023B (zh) * 2016-05-20 2020-04-07 北京世界星辉科技有限责任公司 应用程序恢复的方法、装置及终端
CN108170368B (zh) * 2016-12-07 2024-01-23 北京忆恒创源科技股份有限公司 在线升级固件的方法及系统
EP3376391A1 (en) * 2017-03-17 2018-09-19 Ricoh Company Ltd. Information processing apparatus, updating method, and carrier means
CN107168818B (zh) * 2017-03-30 2021-05-04 努比亚技术有限公司 终端及刷机失败恢复方法
TWI722269B (zh) * 2018-01-26 2021-03-21 和碩聯合科技股份有限公司 韌體更新方法及使用此方法的電子裝置
US11100228B2 (en) * 2018-10-25 2021-08-24 Dell Products, L.P. System and method to recover FPGA firmware over a sideband interface
CN109491607B (zh) * 2018-11-02 2022-02-18 郑州云海信息技术有限公司 批量刷写重置双模ssd开放通道模式容量的方法及系统
KR20200076886A (ko) * 2018-12-20 2020-06-30 에스케이하이닉스 주식회사 저장 장치 및 그 동작 방법
CN110780931A (zh) * 2019-09-25 2020-02-11 芯创智(北京)微电子有限公司 一种自适应型固件启动方法及系统
CN110704008B (zh) * 2019-09-30 2021-07-16 联想(北京)有限公司 一种数据读写方法及装置
US10809944B1 (en) * 2020-01-22 2020-10-20 Cypress Semiconductor Corporation Memory device resilient to cyber-attacks and malfunction
TWI722852B (zh) * 2020-03-30 2021-03-21 技嘉科技股份有限公司 固態硬碟以及啟動方法
CN113238772B (zh) * 2021-04-29 2024-02-23 联合汽车电子有限公司 程序更新方法、域控制器以及存储介质
CN114047958B (zh) * 2021-10-31 2023-07-14 山东云海国创云计算装备产业创新中心有限公司 一种服务器的基板管理控制器的启动方法、设备及介质
CN117435141B (zh) * 2023-11-17 2024-08-02 荣耀终端有限公司 一种存储器激活方法、电子设备及存储介质

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000039993A (ja) * 1998-07-23 2000-02-08 Nec Corp ファームウエアの入れ替え装置及び入れ替え方法

Family Cites Families (34)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4805093A (en) * 1986-10-14 1989-02-14 Ward Calvin B Content addressable memory
US5446788A (en) * 1992-09-29 1995-08-29 Unex Corporation Adjustable telephone headset
US6167532A (en) * 1998-02-05 2000-12-26 Compaq Computer Corporation Automatic system recovery
US6907602B2 (en) 2000-08-10 2005-06-14 Mustek Systems Inc. Method for updating firmware of computer device
US6957328B2 (en) * 2001-01-05 2005-10-18 International Business Machines Corporation System and method using a first counter and a second counter to select a code image during a reboot routine
KR20040029089A (ko) * 2001-09-03 2004-04-03 코닌클리케 필립스 일렉트로닉스 엔.브이. 네트워크 환경에서 사용하기 위한 디바이스
CA2380762A1 (en) * 2002-04-04 2003-10-04 Intrinsyc Software, Inc. Internet-enabled device provisioning, upgrade and recovery mechanism
DE60328332D1 (de) * 2002-05-22 2009-08-27 Yazaki Corp Unterstützungssystem für die Entwicklung von Kabelsträngen
TW591395B (en) * 2003-02-27 2004-06-11 Acer Inc Recovery method of multi-functional operating system and system thereof
US7171606B2 (en) * 2003-03-25 2007-01-30 Wegener Communications, Inc. Software download control system, apparatus and method
TW200713037A (en) 2005-09-06 2007-04-01 Benq Corp System and method for updating firmware
JP2007264870A (ja) * 2006-03-28 2007-10-11 Sony Corp 情報処理装置、および情報処理方法、並びにコンピュータ・プログラム
US7652464B2 (en) * 2006-05-05 2010-01-26 Viasat, Inc. RF power sensor with chopping amplifier
US8495415B2 (en) 2006-05-12 2013-07-23 International Business Machines Corporation Method and system for maintaining backup copies of firmware
JP2008077249A (ja) * 2006-09-19 2008-04-03 Fujitsu Ltd システム環境復元方法
US7676503B2 (en) * 2006-11-27 2010-03-09 Microsoft Corporation Hybrid computer restore using network service
CN101308470A (zh) * 2007-05-17 2008-11-19 华硕电脑股份有限公司 主动恢复、备份及更新bios的电脑系统
CN101571807A (zh) 2008-04-28 2009-11-04 鸿富锦精密工业(深圳)有限公司 具有固件的系统及其启动方法
TW201027324A (en) * 2009-01-14 2010-07-16 Giga Byte Tech Co Ltd Embedded electronic device free from being stuck in update failure and method of making the same
US8856776B2 (en) 2009-02-05 2014-10-07 International Business Machines Corporation Updating firmware without disrupting service
CN101866269A (zh) 2009-04-16 2010-10-20 鸿富锦精密工业(深圳)有限公司 存储装置、存储系统及存储装置的控制方法
CN102455950A (zh) * 2010-10-28 2012-05-16 鸿富锦精密工业(深圳)有限公司 基板管理控制器的韧体恢复系统及方法
CN102830984B (zh) 2011-06-14 2016-07-06 联想(北京)有限公司 固件更新的方法、芯片以及通信终端
CN103019833A (zh) * 2011-09-20 2013-04-03 联想(北京)有限公司 终端设备以及使终端设备支持操作系统快速切换的方法
CN103116501A (zh) * 2011-11-16 2013-05-22 周增涛 嵌入式控制器固件更新方法
JP2012198929A (ja) * 2012-06-18 2012-10-18 Toyota Motor Corp 情報処理装置
US20140008268A1 (en) * 2012-07-09 2014-01-09 Marathon Petroleum Company Lp Integrating An Atmospheric Fractionator With A Diluent Recovery Unit And A Resid Hydrocracker
US20140028169A1 (en) * 2012-07-27 2014-01-30 Jack Lin Toolbox
CN103853638B (zh) 2012-12-04 2017-07-21 联想(北京)有限公司 一种刷新固件的方法及电子设备
US9223665B2 (en) * 2013-03-15 2015-12-29 Micron Technology, Inc. Apparatuses and methods for memory testing and repair
RU130429U1 (ru) * 2013-04-01 2013-07-20 Общество с ограниченной ответственностью "Инновационно-производственный центр "Нейтральные компьютерные системы" Терминал и защищенная компьютерная система, включающая терминал
KR101515198B1 (ko) 2013-04-10 2015-05-11 주식회사 팬택 모바일 단말의 펌웨어 업그레이드 장치 및 방법
CN103533024A (zh) 2013-09-17 2014-01-22 福州瑞芯微电子有限公司 一种移动设备上同步固件的方法
CN104536848B (zh) * 2014-12-22 2018-05-08 小米科技有限责任公司 固件恢复方法、装置和终端

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000039993A (ja) * 1998-07-23 2000-02-08 Nec Corp ファームウエアの入れ替え装置及び入れ替え方法

Also Published As

Publication number Publication date
JP6348989B2 (ja) 2018-06-27
CN104536848A (zh) 2015-04-22
EP3073379A1 (en) 2016-09-28
CN104536848B (zh) 2018-05-08
KR20160089329A (ko) 2016-07-27
EP3073379A4 (en) 2016-12-28
RU2016114090A (ru) 2017-10-18
WO2016101712A1 (zh) 2016-06-30
MX367240B (es) 2019-08-09
JP2017510008A (ja) 2017-04-06
US20160335014A1 (en) 2016-11-17
RU2636671C2 (ru) 2017-11-27
MX2016003971A (es) 2016-08-29
EP3073379B1 (en) 2019-05-08
US10528434B2 (en) 2020-01-07

Similar Documents

Publication Publication Date Title
KR101759451B1 (ko) 펌웨어 복원 방법, 장치, 단말기, 프로그램 및 기록매체
US11500744B2 (en) Method for primary-backup server switching, and control server
EP3086539B1 (en) Method and device for deleting smart scene
KR102318877B1 (ko) 전자 기기의 사용자 인터페이스 표시 방법 및 장치
EP3032412B1 (en) Method and device for upgrading firmware
JP6096992B2 (ja) 記憶空間を節約するための方法、装置、プログラム及び記憶媒体
JP6420916B2 (ja) システムパーティションファイルを監視する方法及び装置
RU2613028C2 (ru) Способ и устройство для резервного копирования файла
KR102475230B1 (ko) 통신망 연결 제어 방법, 저장 매체 및 이를 위한 전자 장치
KR102496058B1 (ko) 근거리 무선 통신 네트워크에서 스캔 방법 및 이를 구현하는 전자 장치
CN108090345B (zh) linux系统外部命令执行方法及装置
KR20120005325A (ko) 데이터 동기화 방법 및 이를 이용하는 이동 단말기
CN106598488A (zh) 分布式数据读取方法及装置
US20220255639A1 (en) Radio frequency parameter processing method and device, and mobile terminal and storage medium
CN107463372B (zh) 一种数据驱动的页面更新方法和装置
US20120179729A1 (en) 3-file information system management system and method
CN108153488B (zh) 数据自增方法及装置
CN107733674B (zh) 组件升级方法及终端
CN115357277A (zh) 热更新方法、装置、电子设备、存储介质及程序产品
WO2022021534A1 (zh) 数据读取方法、存储介质及移动终端
CN110865850A (zh) 一种双桌面终端的桌面配置方法及终端
CN113934452B (zh) 一种数据处理方法、装置、电子设备及存储介质
CN114356623A (zh) 硬盘组件启动方法、装置、电子设备及存储介质
CN117271922A (zh) 浏览器内核替换方法、装置、设备、存储介质和程序产品
CN115794318A (zh) 一种容器更新方法、装置、电子设备及存储介质

Legal Events

Date Code Title Description
A201 Request for examination
AMND Amendment
E902 Notification of reason for refusal
AMND Amendment
E601 Decision to refuse application
AMND Amendment
X701 Decision to grant (after re-examination)
GRNT Written decision to grant