KR20060065078A - 시스템의 펌웨어 업-데이트 방법 및 장치 - Google Patents

시스템의 펌웨어 업-데이트 방법 및 장치 Download PDF

Info

Publication number
KR20060065078A
KR20060065078A KR1020040103811A KR20040103811A KR20060065078A KR 20060065078 A KR20060065078 A KR 20060065078A KR 1020040103811 A KR1020040103811 A KR 1020040103811A KR 20040103811 A KR20040103811 A KR 20040103811A KR 20060065078 A KR20060065078 A KR 20060065078A
Authority
KR
South Korea
Prior art keywords
firmware
update
server
storing
new version
Prior art date
Application number
KR1020040103811A
Other languages
English (en)
Inventor
김종호
강병창
Original Assignee
삼성전자주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 삼성전자주식회사 filed Critical 삼성전자주식회사
Priority to KR1020040103811A priority Critical patent/KR20060065078A/ko
Publication of KR20060065078A publication Critical patent/KR20060065078A/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/1433Saving, restoring, recovering or retrying at system level during software upgrading
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • G06F8/654Updates using techniques specially adapted for alterable solid state memories, e.g. for EEPROM or flash memories

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Quality & Reliability (AREA)
  • Computer Security & Cryptography (AREA)
  • Stored Programmes (AREA)

Abstract

본 발명은 시스템의 펌웨어 업-데이트 방법 및 장치에 관한 것으로서, 본 발명의 방법은 펌웨어 및 그 펌웨어의 버전정보를 저장하는 과정과, 새로운 펌웨어 패키지를 저장/관리하는 서버에 신규 버전의 펌웨어가 있는 경우 펌웨어를 업데이트하는 과정과, 상기 업-데이트 과정이 비정상 종료되면 상기 백업된 펌웨어에 의거하여 시스템을 복구하는 과정을 포함한다. 또한 본 발명의 장치는 사용자 I/F와, 새로운 펌웨어 패키지를 저장/관리하는 외부 서버와의 인터페이싱을 수행하는 통신 I/F와, 백업 영역에 현재 동작 중인 펌웨어 및 그 펌웨어의 버전 정보를 저장하고 동작 영역에 현재 동작 중인 펌웨어를 저장하는 메모리부와, 서버로부터 전달된 신규 버전의 펌웨어를 상기 메모리로 전달하는 업데이트부와, 상기 업-데이트의 비정상 종료시 상기 메모리부에 저장된 펌웨어를 이용하여 시스템을 복구하도록 제어하는 제어부를 포함한다. 따라서 본 발명은 펌웨어를 업데이트하는 중 비정상 종료시 이를 감지 및 복구함으로써 시스템이 안정적으로 동작하도록 하는 장점이 있다.
펌웨어, 백업, 업-데이트, 네트워크

Description

시스템의 펌웨어 업-데이트 방법 및 장치{METHOD FOR UPDATE FIRMWARE OF SYSTEM AND APPARATUS THE SAME}
도 1은 본 발명의 일실시 예에 따른 펌웨어 업-데이트 방법에 대한 처리 흐름도,
도 2는 본 발명의 일실시 예에 따른 업-데이트 수행 과정에 대한 상세 흐름도,
도 3은 본 발명의 일실시 예에 따른 펌웨어 업-데이트 장치에 대한 개략적인 블록도,
도 4는 본 발명의 일실시 예에 따른 업-데이트 상태 모니터링 장치 및 방법을 설명하기 위한 도면.
<도면의 주요 부분에 대한 부호의 설명>
100: 펌웨어 업-데이트 장치 110: 사용자 I/F
120: 제어부 130: EEPROM
140: 업-데이트부 150: 통신 I/F
본 발명은 펌웨어(firmware) 업-데이트(update) 방법 및 장치에 관한 것으로서, 특히 시스템의 동작을 유지하면서 시스템의 펌웨어를 업-데이트할 수 있고 또한 업-데이트 실패시 백업된 펌웨어에 의해 시스템을 복구할 수 있는 업-데이트 방법 및 장치에 관한 것이다.
통상적으로 다양한 기능을 수행하는 시스템(예컨대, 네트워크 시스템 등)은 해당 기능을 수행하기 위한 펌웨어를 내장하고, 외부 요청에 의해 그 펌웨어를 업-데이트시킨다. 즉, 실제 필드에서 운용중인 시스템에 새로운 기능을 추가하거나 시스템의 성능을 높이기 위한 방안으로 외부 요청(예컨대, 사용자 요청 등)에 의해 상기 시스템에 기 저장된 펌웨어를 업-데이트 하거나 새로운 펌웨어를 해당 시스템에 추가한다.
종래에는 펌웨어의 성능 개선을 위해, 시스템 운영자 또는 시스템 개발자들이 해당 시스템을 개봉한 후 플래쉬 메모리(flash memory) 및 부트-롬(boot-ROM)을 교체하여야 했다. 즉 시스템 운영자 또는 시스템 개발자들이 해당 시스템을 다운시킨 후 그 시스템을 개봉하여 새로운 펌웨어 패키지가 저장된 플래쉬 메모리 및 부트-롬을 이전의 펌웨어 패키지가 저장된 플래쉬 메모리 및 부트-롬과 교체하여야 했다.
또는 종래에는 상기 시스템의 진단모드에서 tftp를 이용하여 새로운 펌웨어 패키지가 저장된 장치로부터 해당 패키지를 다운받는 방법을 사용하였다.
이러한 종래의 방법은 시간적 낭비 요소가 적지 않을 뿐 아니라 서비스를 제공하는 운영자 입장에서는 장시간 서비스를 제공하지 못하고 다운시켜야 하는 문제점이 있었다. 예를 들어 시스템 운영자 또는 시스템 개발자들이 해당 시스템을 개봉한 후 이전의 펌웨어 패키지가 저장된 메모리를 새로운 펌웨어 패키지가 저장된 메모리와 교체하도록 하는 종래의 방법은 시스템 개봉 및 메모리의 교체를 위해 적지 않은 시간을 소모해야 하는 단점이 있다. 또한 상기 방법을 다수의 시스템에 적용할 경우 더욱 많은 시간을 소모해야 한다.
한편 새로운 펌웨어 패키지를 다운 받는 방법의 경우도 시스템을 개봉한 후 메모리(예컨대, 플래쉬 메모리 및 부트-롬)를 교체하지는 않지만, 시스템의 진단 모드에서 네트워크를 통해 펌웨어를 업-데이트하기 위해 운용중인 시스템을 정지시켜야 하는 단점이 있다.
또한 이러한 종래의 방법들은 업그레이드가 정상적으로 이루어지지 못하고 해당 시스템이 다운되는 경우 기존 코드는 삭제된 상태에서 재부팅(rebooting)도 하지 못하는 상황으로 이어져 부트-롬 이나 플래쉬 메모리의 전면 교체라는 방법을 쓸 수밖에 없었다.
본 발명은 상기와 같은 문제점을 해결하기 위해 안출된 것으로서, 본 발명은 시스템의 동작을 유지하면서 시스템의 펌웨어를 업-데이트할 수 있는 방법 및 장치 에 관한 것이다.
또한 본 발명은 시스템의 펌웨어를 업-데이트하는 중 비정상 종료시(예컨대, 업-데이트 실패시) 이를 감지하고 복구하는 펌웨어 업-데이트 방법 및 장치를 제공하고자 한다.
상기 목적을 달성하기 위한 본 발명의 시스템의 펌웨어 업-데이트 방법은 시스템에 저장되어 동작중인 펌웨어를 백업하고, 그 펌웨어의 버전정보를 저장하는 과정과, 새로운 펌웨어 패키지를 저장/관리하고 외부 요청시 네트워크를 통해 대응된 펌웨어 패키지를 제공하는 서버에 주기적으로 접속하는 과정과, 상기 서버에 저장된 펌웨어 패키지들의 헤더를 검색하여 신규 버전의 펌웨어가 존재하는 지를 확인하는 과정과, 상기 확인 결과 상기 서버에 신규 버전의 펌웨어가 존재하면 상기 서버로부터 신규 버전의 펌웨어를 전달받아 펌웨어를 업데이트하는 과정과, 상기 업-데이트 과정이 비정상 종료되면 상기 백업된 펌웨어에 의거하여 시스템을 복구하는 과정을 포함함을 특징으로 한다.
이 때, 상기 방법은 상기 확인 결과 상기 서버에 신규 버전의 펌웨어가 존재하면 그 사실을 시스템 운영자에게 보고하고, 상기 운영자로부터 업데이트 요청 명령을 수신하는 과정 및 상기 업-데이트가 정상 종료되면 시스템 운용자의 지시에 따라 시스템을 재부팅하여 업-데이트된 펌웨어를 동작시키는 과정을 더 포함함이 바람직하다.
또한 상기 저장 과정은 상기 시스템 메모리의 백업 영역에 상기 펌웨어 및 그 펌웨어의 버전정보를 저장함이 바람직하다.
또한 상기 확인 과정은 상기 저장 과정에서 저장된 펌웨어의 버전정보와 상기 서버에 저장된 패키지들의 헤더에 저장된 버전 정보를 비교하여 신규 버전의 펌웨어가 존재하는 지의 여부를 확인함이 바람직하다.
또한 상기 업-데이트 과정은 펌웨어 업-데이트 상태 확인을 위해 업-데이트를 수행하는 업-데이트 프로세서와 주기적으로 통신하면서 신규버전의 펌웨어를 다운로드 하는 과정과, 상기 통신 결과 업-데이트 프로세서로부터 응답이 없는 경우 무응답 상태의 시간을 카운트하는 과정과, 상기 무응답 상태의 시간이 기 설정된 업-데이트 상태 판단 시간을 초과하는 경우 업-데이트가 비정상 종료된 것으로 판단하는 과정을 포함함이 바람직하다.
이 때 상기 카운트 과정은 RTC(Real Time Clock)의 틱을 이용함이 바람직하다.
또한 상기 복구 과정은 업-데이트 프로세스를 강제 종료하는 과정과, 상기 저장과정에서 백업된 펌웨어를 이용하여 시스템을 복구하는 과정을 포함함이 바람직하다.
한편 상기 목적을 달성하기 위한 본 발명의 시스템의 펌웨어 업-데이트 장치는 사용자와의 인터페이싱을 수행하는 사용자 인터페이스부와, 새로운 펌웨어 패키지를 저장/관리하고 외부 요청시 네트워크를 통해 대응된 펌웨어 패키지를 제공하는 외부 서버와의 인터페이싱을 수행하는 통신 인터페이스부와, 백업 영역에 현재 동작 중인 펌웨어 및 그 펌웨어의 버전 정보를 저장하고 동작 영역에 현재 동작 중인 펌웨어를 저장하는 메모리부와, 상기 통신 인터페이스부를 통해 전달된 신규 버전의 펌웨어를 상기 메모리로 전달하는 업-데이트부와, 사용자의 제어 명령 또는 기 설정된 주기에 의해 상기 서버에 접속하여 상기 서버로부터 신규 버전의 펌웨어를 업-데이트하도록 상기 통신 인터페이스부 및 상기 업-데이트부를 제어하는 제어부를 포함함을 특징으로 한다.
이 때 상기 제어부는 상기 서버에 저장된 패키지 헤더를 검색하여 상기 서버에 신규 버전의 펌웨어가 존재하는 지의 여부를 확인하고 상기 확인 결과에 의거하여 상기 서버에 신규 버전의 펌웨어가 존재하는 지의 여부를 판단함이 바람직하다.
또한 상기 제어부는 업-데이트 개시와 함께 업데이트 상태를 모니터링하기 위한 모니터링 태스크를 생성하여 업-데이트 과정을 모니터링함이 바람직하다.
또한 상기 모니터링 태스크는 업-데이트를 수행하는 동안 업-데이트 프로세스와 주기적으로 통신하여 상기 업-데이트로 프로세서로부터 응답이 있는지의 여부를 판단하고, 상기 업-데이트 프로세서로부터 응답이 없는 무응답 상태가 기 설정된 소정 시간을 초과하는 경우 업-데이트 과정이 정상적으로 동작하지 않는 것으로 판단하고 그 결과를 제어부로 전달함이 바람직하다.
또한 상기 제어부는 상기 모니터링 결과 상기 업-데이트 과정이 정상적으로 동작하지 않는 경우 업-데이트 프로세서를 강제 종료시킨 후 상기 메모리부에 백업된 펌웨어를 이용하여 시스템을 복구하도록 제어함이 바람직하다.
이하 첨부된 도면을 참조하여 본 발명의 일실시 예에 의한 구성 및 작용에 대해서 더욱 상세히 설명한다. 도면에서 동일한 구성요소들에 대해서는 비록 다른 도면에 표시되더라도 가능한 한 동일한 참조번호 및 부호로 나타내고 있음에 유의해야 한다. 또한, 본 발명을 설명함에 있어서, 관련된 공지기능 혹은 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우 그 상세한 설명은 생략한다.
도 1은 본 발명의 일실시 예에 따른 펌웨어 업-데이트 방법에 대한 처리 흐름도이다. 도 1을 참조하면 본 발명의 일실시 예에 따른 펌웨어 업-데이트 방법은 다음과 같다.
먼저 시스템은 해당 시스템에 저장되어 동작중인 펌웨어를 플래쉬 메모리(flash memory)(예컨대, Electrically Erasable and Programmable Read Only Memory, 이하 'EEPROM' 이라 칭함)에 백업하고 그 펌웨어의 버전정보를 저장한다(S110). 이 때 동작중인 펌웨어를 백업하는 것은 새로운 버전으로의 업-데이트 수행 중 비정상 종료시 상기 백업된 펌웨어를 이용하여 시스템을 복원할 수 있도록 하기 위함이다.
그리고 기 설정된 소정 시간 단위(예컨대, 업-데이트 주기 등) 마다 서버에 접속한다(S120). 이 때 '서버'는 새로운 펌웨어 패키지를 저장/관리하고 외부 요청 시 네트워크를 통해 대응된 펌웨어 패키지를 제공한다. 또한 상기 시간단위는 '일주일', '10일'등으로 설정함이 바람직하다. 예를 들어 상기 시스템은 상기 설정된 시간단위로 펌웨어 패키지를 저장/관리하는 특정 사이트에 접속함이 바람직하다.
상기 서버에 접속한 시스템은 그 서버에 저장된 펌웨어 패키지들의 헤더를 검색하여 신규 버전의 펌웨어가 존재하는지를 확인한다(S130). 예를 들어 상기 과정(S110)에서 EEPROM에 저장된 펌웨어의 버전정보와 상기 서버에 저장된 패키지들의 헤더에 저장된 버전 정보를 비교하여 신규 버전의 펌웨어가 존재하는지를 확인한다. 이는 통상적으로 소프트웨어(software) 패키지 작업시 그 소프트웨어의 버전 정보가 패키지 헤더에 저장되기 때문이다.
상기 확인(S130) 결과 신규 버전의 펌웨어가 존재하면 그 사실을 시스템 운영자에게 보고한다(S140). 이 때 시스템은 CLI(Command Line Interface)를 통해 시스템 운영자에게 보고함이 바람직하다. 그리고 상기 보고 내용을 확인한 시스템 운영자가 해당 펌웨어의 업-데이트를 요청하면(S150) 상기 신규 버전의 펌웨어를 업-데이트시키는 과정(S160)을 수행한다.
이와 같이 펌웨어 업-데이트가 정상적으로 종료하게 되면 시스템은 운용자의 지시에 따라 시스템의 재부팅을 수행하여 새로운 버전의 펌웨어가 동작 될 수 있도록 한다(미도시). 예를 들어 상기 시스템은 펌웨어 업-데이트가 정상적으로 종료하면 시스템 운용자에게 재부팅 여부를 확인하고, 운용자의 재부팅 선택에 의해 시스템을 재부팅한다. 그리고 재부팅이 끝난 뒤 플래쉬의 백업 영역으로 새 버전의 펌웨어(예컨대, 코드)를 복사한다. 이 때 시스템의 재부팅 시기는 운용자의 판단에 맡기는 것이 바람직하다. 이는 서비스에 영향을 적게 주기 위함이다.
하지만 해당 시스템이 다운되는 경우 등의 이유로 인하여 펌웨어 업-데이트가 비정상적으로 종료될 경우 상기 과정(S110)에서 백업된 펌웨어에 의거하여 시스템을 복구한다.
이러한 업-데이트 수행 과정의 구체적인 예가 도 2에 예시되어 있다.
도 2는 본 발명의 일실시 예에 따른 업-데이트 수행 과정에 대한 상세 흐름도이다. 즉, 도 1의 예에서 상기 과정(S160)에 대한 상세 흐름도이다. 도 2를 참조하면 펌웨어 업-데이트 요청 시 시스템은 업-데이트 상태 확인을 개시한다(S161). 즉 업-데이트 작업의 시작과 함께 상기 요청에 의한 업-데이트가 정상적으로 진행되는 지의 여부를 확인하는 과정을 시작한다. 예를 들어 상기 업-데이트 상태 확인 과정(S161)에서는 펌웨어 업-데이트 도중 시스템의 다운 여부를 확인한다. 이 때 상기 시스템은 펌웨어 업-데이트 상태 확인을 위한 별도의 태스크(task)(예컨대, 업-데이트 상태 모니터링 태스크(update state monitoring task))를 기동시켜 업-데이트가 수행되는 동안 내내 업-데이트 상태를 모니터링하도록 구현함이 바람직하다.
한편 상기 과정(S161)에서 기동된 업-데이트 상태 모니터링 태스크는 펌웨어 업-데이트를 수행하는 업-데이트 프로세서와 주기적으로 통신하여 업-데이트 프로세서로부터 응답이 있는지의 여부를 판단한다(S162). 상기 판단(S162) 결과 업-데이트 프로세서로부터 정상적인 응답이 있는 경우 시스템은 업-데이트 프로세서를 통해 신규버전의 펌웨어를 다운로드 한다(S167).
만약 상기 판단(S162) 결과 업-데이트 프로세서로부터 무응답인 경우 시간을 카운트하면서(S163) 상기 업-데이트 프로세서가 무응답인 채로 기 설정된 소정 시간(예컨대, 시스템 다운을 판단하기 위한 시간)을 초과하는 지의 여부를 확인한다(S164). 상기 확인(S164) 결과 업-데이트 프로세서가 무응답인 채로 기 설정된 소 정 시간을 초과하면, 상기 업-데이트 상태 모니터링 태스크는 시스템다운 등의 이유로 업-데이트가 정상적으로 수행될 수 없는 것으로 판단한다. 따라서 업-데이트 프로세서를 강제 종료시키고(S165) 플래쉬 메모리의 백업 영역에 백업된 펌웨어에 의해 시스템을 복구시킨다(S166). 즉, 상기 과정(S110)에서 플래쉬 메모리에 백업한 펌웨어를 읽어 와서 시스템을 복구시킨다.
이 때 상기 과정(S163 및 S164)은 RTC(Real Time Clock)의 틱(tick)을 이용함이 바람직하다. 예를 들어 RTC 클럭을 기준으로 일정시간(예컨대, 5 ~ 6 초) 동안 업-데이트 프로세서로부터 응답이 없을 경우 업-데이트 실패로 판단하고, 상기 업-데이트 프로세서를 강제 종료시킨 후 시스템을 복구(recovery)시킨다. 즉 플래쉬 메모리의 특정 영역(예컨대, 백업 영역)에 이중화된 기존 펌웨어를 이용하여 백업 과정(recovery process)을 수행한다.
도 3은 본 발명의 일실시 예에 따른 펌웨어 업-데이트 장치에 대한 개략적인 블록도이다. 도 3을 참조하면 본 발명의 일실시 예에 따른 펌웨어 업-데이트 장치(100)는 사용자 인터페이스부(I/F)(110), 제어부(120), EEPROM(130), 업데이트부(140) 및 통신 인터페이스부(I/F)(150)를 포함한다.
사용자 I/F(110)는 사용자와의 인터페이싱을 수행하고, 통신 I/F(150)는 새로운 펌웨어 패키지를 저장/관리하고 외부 요청 시 네트워크를 통해 대응된 펌웨어 패키지를 제공하는 '서버'와의 인터페이싱을 수행한다. 특히 사용자 I/F(110)는 사용자의 제어 명령을 제어부(120)로 전달하고, 통신 I/F(150)는 제어부(120)의 제어에 의해 동작하며 상기 서버로부터 신규버전의 펌웨어를 수신하여 업데이트부(140) 로 전달한다.
EEPROM(130)은 제어부(120)의 제어에 의해 EEPROM(130)의 특정 영역에 현재 동작 중인 펌웨어 및 그 펌웨어의 버전 정보를 저장한다. 즉, 현재 동작 중인 펌웨어의 저장 영역 이외의 영역(예컨대, 백업 영역)에 상기 동작 중인 펌웨어를 백업한다. 또한 업-데이트부(140)를 통해 새로운 펌웨어가 전달되면 동작 중인 펌웨어의 저장 영역을 상기 새로운 펌웨어로 대체한다.
업-데이트부(140)는 제어부(120)의 제어에 의해 동작하며 통신 I/F(150)를 통해 전달된 신규버전의 펌웨어를 EEPROM(130)로 전달한다.
제어부(120)는 사용자 I/F(110)를 통해 입력되는 사용자의 제어 명령 또는 기 설정된 제어 알고리즘에 의거하여 EEPROM(130), 업데이트부(140) 및 통신 I/F(150)의 동작을 제어한다.
예를 들어 제어부(120)는 사용자의 제어 명령 또는 기 설정된 주기에 의해 상기 '서버'에 접속하도록 통신 I/F(150)를 제어한다. 그리고 상기 서버에 저장된 패키지 헤더를 검색하여 상기 서버에 신규 버전의 펌웨어가 존재하는 지의 여부를 확인한다. 그리고 상기 확인 결과 서버에 신규 버전의 펌웨어가 존재하면 업데이트부(140) 및 통신 I/F(150)를 제어하여 신규버전의 펌웨어를 EEPROM(130)에 업-데이트하도록 제어한다.
특히 제어부(120)는 업-데이트 수행시 업데이트 상태를 모니터링하기 위한 모니터링 태스크를 생성하여 업-데이트 과정을 모니터링한다. 이러한 모니터링 과정은 도 4를 참조하여 보다 상세히 설명할 것이다.
상기 모니터링 결과 상기 업-데이트 과정이 정상적으로 동작하지 않는 경우 제어부(120)는 업-데이트 프로세서를 강제 종료시킨 후 EEPROM(130)에 백업된 펌웨어를 이용하여 시스템을 복구한다.
도 4는 본 발명의 일실시 예에 따른 업-데이트 상태 모니터링 장치 및 방법을 설명하기 위한 도면이다. 도 4를 참조하면 본 발명의 일실시 예에 따른 업-데이트 상태 모니터링은 업-데이트 상태 모니터링 태스크(task)(125)와 업-데이트부(140) 사이의 신호 전달에 의해 이루어진다.
이 때 업-데이트 상태 모니터링 태스크(125)는 업-데이트 개시와 함께 제어부(120)에 의해 생성되며, 업-데이트가 수행되는 동안 업-데이터부(140)와 주기적으로 통신하여 업-데이트 프로세서로부터 응답이 있는지의 여부를 판단한다. 예를 들어 업-데이트 상태 모니터링 태스크(125)는 업-데이트부(140)에게 주기적으로 'Ack'신호를 전달하고 그에 대한 응답으로 'keep working'신호를 수신한다. 즉 업-데이트 상태 모니터링 태스크(125)의 'Ack'신호에 대한 응답으로 업-데이트부(140)가 'keep working'신호를 전달하면 업-데이트 상태 모니터링 태스크(125)는 업-데이트가 정상적으로 수행되는 것으로 판단한다. 만약 그렇지 않은 경우, 즉 업-데이트부(140)로부터 응답이 없는 경우, 업-데이트 상태 모니터링 태스크(125)는 업-데이트가 정상적으로 수행되지 않는 것으로 판단한다. 그리고 무응답 상태에서의 시간을 카운트하여 상기 무응답 상태가 기 설정된 소정 시간(예컨대, 시스템 다운을 판단하기 위한 시간)을 초과하는 경우 업-데이트 상태 모니터링 태스크(125)는 시스템다운 등의 이유로 업-데이트가 정상적으로 수행될 수 없는 것으로 판단한다. 그리고 그 판단 결과를 제어부(120)로 전달한다.
상기한 바와 같은 본 발명의 상세한 설명에서는 구체적인 실시 예에 관해 설명하였다. 하지만, 본 발명의 범주에서 벗어나지 않는 한도 내에서 여러 가지 변형이 가능함은 물론이다. 즉 상기 실시 예에 의해 본 발명이 한정되는 것은 아니다. 따라서 본 발명의 범위는 설명된 실시 예에 국한되어 정해져서는 안되며 후술하는 특허청구범위 뿐만 아니라 이 특허청구범위와 균등한 것들에 의해 정해져야 한다.
상기와 같은 본 발명의 펌웨어 업-데이트 방법 및 장치는 관리자가 해당 시스템을 개봉하고 메모리를 교체하는 일련의 과정을 수행하지 않고도 펌웨어 업-데이트가 가능하도록 함으로써 시스템의 동작을 유지하면서 시스템의 펌웨어를 업-데이트할 수 있는 장점이 있다. 또한 본 발명은 시스템의 펌웨어를 업-데이트하는 중 비정상 종료시(예컨대, 업-데이트 실패시) 이를 감지하고 복구함으로써 시스템이 안정적으로 동작하도록 하는 장점이 있다. 특히 플래쉬 데이터의 이중화 조치로 시스템 안정성을 강화시키는 장점이 있다.

Claims (12)

  1. 시스템의 펌웨어 업-데이트 방법에 있어서,
    시스템에 저장되어 동작중인 펌웨어를 백업하고, 그 펌웨어의 버전정보를 저장하는 과정과,
    새로운 펌웨어 패키지를 저장/관리하고 외부 요청시 네트워크를 통해 대응된 펌웨어 패키지를 제공하는 서버에 주기적으로 접속하는 과정과,
    상기 서버에 저장된 펌웨어 패키지들의 헤더를 검색하여 신규 버전의 펌웨어가 존재하는 지를 확인하는 과정과,
    상기 확인 결과 상기 서버에 신규 버전의 펌웨어가 존재하면 상기 서버로부터 신규 버전의 펌웨어를 전달받아 펌웨어를 업-데이트하는 과정과,
    상기 업-데이트 과정이 비정상 종료되면 상기 백업된 펌웨어에 의거하여 시스템을 복구하는 과정을 포함함을 특징으로 하는 시스템의 펌웨어 업-데이트 방법.
  2. 제1항에 있어서,
    상기 확인 결과 상기 서버에 신규 버전의 펌웨어가 존재하면 그 사실을 시스템 운영자에게 보고하고, 상기 운영자로부터 업데이트 요청 명령을 수신하는 과정을 더 포함함을 특징으로 하는 시스템의 펌웨어 업-데이트 방법.
  3. 제1항에 있어서,
    상기 업-데이트가 정상 종료되면 시스템 운용자의 지시에 따라 시스템을 재부팅하여 업-데이트된 펌웨어를 동작시키는 과정을 더 포함함을 특징으로 하는 시스템의 펌웨어 업-데이트 방법.
  4. 제1항 내지 제3항 중 어느 한 항에 있어서, 상기 저장 과정은
    상기 시스템 메모리의 백업 영역에 상기 펌웨어 및 그 펌웨어의 버전정보를 저장함을 특징으로 하는 시스템의 펌웨어 업-데이트 방법.
  5. 제1항 내지 제3항 중 어느 한 항에 있어서, 상기 확인 과정은
    상기 저장 과정에서 저장된 펌웨어의 버전정보와 상기 서버에 저장된 패키지들의 헤더에 저장된 버전 정보를 비교하여 신규 버전의 펌웨어가 존재하는 지의 여부를 확인함을 특징으로 하는 시스템의 펌웨어 업-데이트 방법.
  6. 제1항 내지 제3항 중 어느 한 항에 있어서, 상기 업-데이트 과정은
    펌웨어 업-데이트 상태 확인을 위해 업-데이트를 수행하는 업-데이트 프로세 서와 주기적으로 통신하면서 신규버전의 펌웨어를 다운로드 하는 과정과,
    상기 통신 결과 업-데이트 프로세서로부터 응답이 없는 경우 무응답 상태의 시간을 카운트하는 과정과,
    상기 무응답 상태의 시간이 기 설정된 업-데이트 상태 판단 시간을 초과하는 경우 업-데이트가 비정상 종료된 것으로 판단하는 과정을 포함함을 특징으로 하는 시스템의 펌웨어 업-데이트 방법.
  7. 제6항에 있어서, 상기 카운트 과정은
    RTC(Real Time Clock)의 틱을 이용함을 특징으로 하는 시스템의 펌웨어 업-데이트 방법.
  8. 제1항 내지 제3항 중 어느 한 항에 있어서, 상기 복구 과정은
    상기 업-데이트 프로세스를 강제 종료하는 과정과,
    상기 저장과정에서 백업된 펌웨어를 이용하여 시스템을 복구하는 과정을 포함함을 특징으로 하는 시스템의 펌웨어 업-데이트 방법.
  9. 시스템의 펌웨어 업-데이트 장치에 있어서,
    사용자와의 인터페이싱을 수행하는 사용자 인터페이스부와,
    새로운 펌웨어 패키지를 저장/관리하고 외부 요청시 네트워크를 통해 대응된 펌웨어 패키지를 제공하는 외부 서버와의 인터페이싱을 수행하는 통신 인터페이스부와,
    백업 영역에 현재 동작 중인 펌웨어 및 그 펌웨어의 버전 정보를 저장하고 동작 영역에 현재 동작 중인 펌웨어를 저장하는 메모리부와,
    상기 통신 인터페이스부를 통해 전달된 신규 버전의 펌웨어를 상기 메모리로 전달하는 업-데이트부와,
    사용자의 제어 명령 또는 기 설정된 주기에 의해 상기 서버에 접속하여 상기 서버로부터 신규 버전의 펌웨어를 업-데이트하고, 상기 업-데이트의 비정상 종료시 상기 메모리부에 저장된 펌웨어를 이용하여 시스템을 복구하도록 상기 통신 인터페이스부 및 상기 업-데이트부를 제어하는 제어부를 포함함을 특징으로 하는 시스템의 펌웨어 업-데이트 장치.
  10. 제9항에 있어서, 상기 제어부는
    업-데이트 개시와 함께 업데이트 상태를 모니터링하기 위한 모니터링 태스크를 생성하여 업-데이트 과정을 모니터링함을 특징으로 하는 시스템의 펌웨어 업-데이트 장치.
  11. 제10항에 있어서, 상기 모니터링 태스크는
    업-데이트를 수행하는 동안 업-데이트 프로세스와 주기적으로 통신하여 상기 업-데이트로 프로세서로부터 응답이 있는지의 여부를 판단하고, 상기 업-데이트 프로세서로부터 응답이 없는 무응답 상태가 기 설정된 소정 시간을 초과하는 경우 업-데이트 과정이 정상적으로 동작하지 않는 것으로 판단하고 그 결과를 제어부로 전달함을 특징으로 하는 시스템의 펌웨어 업-데이트 장치.
  12. 제11항에 있어서, 상기 제어부는
    상기 모니터링 결과 상기 업-데이트 과정이 정상적으로 동작하지 않는 경우 업-데이트 프로세서를 강제 종료시킨 후 상기 메모리부에 백업된 펌웨어를 이용하여 시스템을 복구하도록 제어함을 특징으로 하는 시스템의 펌웨어 업-데이트 장치.
KR1020040103811A 2004-12-09 2004-12-09 시스템의 펌웨어 업-데이트 방법 및 장치 KR20060065078A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020040103811A KR20060065078A (ko) 2004-12-09 2004-12-09 시스템의 펌웨어 업-데이트 방법 및 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020040103811A KR20060065078A (ko) 2004-12-09 2004-12-09 시스템의 펌웨어 업-데이트 방법 및 장치

Publications (1)

Publication Number Publication Date
KR20060065078A true KR20060065078A (ko) 2006-06-14

Family

ID=37160407

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020040103811A KR20060065078A (ko) 2004-12-09 2004-12-09 시스템의 펌웨어 업-데이트 방법 및 장치

Country Status (1)

Country Link
KR (1) KR20060065078A (ko)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2011040754A2 (en) * 2009-09-29 2011-04-07 Lg Innotek Co., Ltd. Electronic book and system for firmware upgrade of electronic book
WO2020086143A1 (en) * 2018-10-25 2020-04-30 Dell Products, L.P. System and method to recover fpga firmware over a sideband interface
CN112184392A (zh) * 2020-10-19 2021-01-05 深圳市智莱科技股份有限公司 上报智能寄存柜的储物空间状态的方法及装置

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20030055816A (ko) * 2001-12-27 2003-07-04 삼성전자주식회사 네트워크 장치의 소프트웨어 자동 업그레이드 시스템
KR20030071750A (ko) * 2000-11-17 2003-09-06 비트폰 코포레이션 정보의 업데이트 및 분산 시스템 및 방법
JP2003280935A (ja) * 2002-03-25 2003-10-03 Sanyo Electric Co Ltd 端末装置およびこれを用いたネットワークシステム
US20040092255A1 (en) * 2002-11-12 2004-05-13 De Ji Upgrading of electronic files including automatic recovery from failures and errors occurring during the upgrade
US20040103340A1 (en) * 2002-11-21 2004-05-27 Texas Instruments Incorporated Upgrading of firmware with tolerance to failures

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20030071750A (ko) * 2000-11-17 2003-09-06 비트폰 코포레이션 정보의 업데이트 및 분산 시스템 및 방법
KR20030055816A (ko) * 2001-12-27 2003-07-04 삼성전자주식회사 네트워크 장치의 소프트웨어 자동 업그레이드 시스템
JP2003280935A (ja) * 2002-03-25 2003-10-03 Sanyo Electric Co Ltd 端末装置およびこれを用いたネットワークシステム
US20040092255A1 (en) * 2002-11-12 2004-05-13 De Ji Upgrading of electronic files including automatic recovery from failures and errors occurring during the upgrade
US20040103340A1 (en) * 2002-11-21 2004-05-27 Texas Instruments Incorporated Upgrading of firmware with tolerance to failures

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2011040754A2 (en) * 2009-09-29 2011-04-07 Lg Innotek Co., Ltd. Electronic book and system for firmware upgrade of electronic book
WO2011040754A3 (en) * 2009-09-29 2011-08-04 Lg Innotek Co., Ltd. Electronic book and system for firmware upgrade of electronic book
WO2020086143A1 (en) * 2018-10-25 2020-04-30 Dell Products, L.P. System and method to recover fpga firmware over a sideband interface
US11100228B2 (en) 2018-10-25 2021-08-24 Dell Products, L.P. System and method to recover FPGA firmware over a sideband interface
CN112184392A (zh) * 2020-10-19 2021-01-05 深圳市智莱科技股份有限公司 上报智能寄存柜的储物空间状态的方法及装置

Similar Documents

Publication Publication Date Title
US7484084B1 (en) Use of a baseboard management controller to facilitate installation of firmware in a processing system
US7331000B2 (en) Apparatus and storage system for controlling acquisition of snapshot
US7487343B1 (en) Method and apparatus for boot image selection and recovery via a remote management module
US7761733B2 (en) Image-processing system, image-processing method, and computer readable storage medium
US7941658B2 (en) Computer system and method for updating program code
US7644302B2 (en) Restarting method using a snapshot
US8554748B1 (en) Method and apparatus for differential file based update for embedded systems
US5630139A (en) Program download type information processor
EP1639468B1 (en) Network equipment and a method for monitoring the start up of a such an equipment
US8930931B2 (en) Information processing apparatus using updated firmware and system setting method
JP2002278906A (ja) アップデート管理システム、アップデート・クライアント装置、アップデート・サーバ装置及びプログラム
WO2000014627A1 (fr) Gestion du passage a une version superieure, et systeme informatique a cet effet
KR20040047209A (ko) 네트워크 상의 컴퓨터 시스템의 자동 복구 방법 및 이를구현하기 위한 컴퓨터 시스템의 자동 복구 시스템
CN111182033B (zh) 一种交换机还原的方法和设备
US11073893B2 (en) System and method capable of remotely controlling electronic apparatus
US20060053330A1 (en) Smart card for high-availability clustering
KR20060065078A (ko) 시스템의 펌웨어 업-데이트 방법 및 장치
EP0607660B1 (en) Data processing system
Cisco Operational Traps
Cisco Operational Traps
Cisco Operational Traps
Cisco Operational Traps
Cisco Operational Traps
Cisco Operational Traps
Cisco Operational Traps

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E601 Decision to refuse application