KR20060120988A - 이중화된 부트롬을 사용하는 시스템 부팅 장치 및 방법 - Google Patents

이중화된 부트롬을 사용하는 시스템 부팅 장치 및 방법 Download PDF

Info

Publication number
KR20060120988A
KR20060120988A KR1020050043256A KR20050043256A KR20060120988A KR 20060120988 A KR20060120988 A KR 20060120988A KR 1020050043256 A KR1020050043256 A KR 1020050043256A KR 20050043256 A KR20050043256 A KR 20050043256A KR 20060120988 A KR20060120988 A KR 20060120988A
Authority
KR
South Korea
Prior art keywords
bootrom
boot rom
image
booting
boot
Prior art date
Application number
KR1020050043256A
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 KR1020050043256A priority Critical patent/KR20060120988A/ko
Publication of KR20060120988A publication Critical patent/KR20060120988A/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
    • 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/4401Bootstrapping
    • G06F9/4406Loading of operating system

Landscapes

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

Abstract

본 발명에 따른 이중화된 부트롬(Boot ROM)을 사용하는 시스템 부팅(System Booting) 장치 및 방법은, 두 개의 부트롬 이미지를 포함하는 이중화 부트롬을 사용하여, 두 부트롬 이미지 중 하나에 이상이 발생하는 경우 다른 부트롬 이미지를 사용하여 시스템 부팅을 수행함으로써 안정적인 시스템 부팅을 가능하도록 한다.
부트롬(Boot ROM), 부트롬 이미지(Boot ROM Image), 이중화

Description

이중화된 부트롬을 사용하는 시스템 부팅 장치 및 방법{Apparatus and Method for System Booting which uses Redundancy Mechanism Boot ROM}
도 1은 시스템 부트롬을 포함하는 시스템의 블록구성도.
도 2는 본 발명에 따른 이중화된 부트롬을 사용하는 시스템 부팅 장치의 블록구성도.
도 3은 본 발명에 따른 이중화된 부트롬의 내부 구성도.
도 4는 본 발명에 따른 이중화된 부트롬을 사용하는 시스템 부팅 동작의 플로우챠트.
*도면의 주요 부분에 대한 부호의 설명*
100 : 부트롬 110 : 제1부트롬 영역
111 : 부트롬 시작 영역 112 : 부트롬 이미지 선택 코드 영역
113 : 제1부트롬 이미지 114 : 제1부트롬 헤더
120 : 제2부트롬 영역 121 : 부트롬 시작 영역
122 : 부트롬 이미지 선택 코드 영역
123 : 제2부트롬 이미지 124 : 제2부트롬 헤더
200 : 제어부 300 : 저장부
1000 : 시스템
본 발명은 이중화된 부트롬을 사용하는 시스템 부팅 장치 및 방법에 관한 것으로서, 더욱 자세하게는, 이중화된 부트롬을 사용하여 부트롬의 변경을 용이하게 하고, 부팅을 안전하게 하는 이중화된 부트롬을 사용하는 시스템 부팅 장치 및 방법에 관한 것이다.
대부분의 시스템은 운영체제를 비롯한 응용프로그램이 동작하기 이전의 초기 부팅, 기본적인 시스템 점검 및 응용프로그램 로딩(Loading)을 위한 작은 소프트웨어 프로그램(Software Program)을 가지고 있다. 일반적으로, 이러한 소프트웨어 프로그램은 시스템 내에 위치하는 롬(ROM) 형태의 디바이스(Device)에 저장된다. 이 롬은 512KBye에서부터 수MByte에 이르기까지 다양한 종류가 사용될 수 있다. 이 롬을 부트롬이라 일컬으며, 부트롬 내의 소프트웨어를 부트롬 이미지로 일컫는다.
도 1은 종래 기술에 따른 시스템 부트롬을 포함하는 시스템의 블록구성도다.
도 1에 도시된 바와 같이, 시스템(1000)은 부트롬(100) 및 제어부(200)를 포함할 수 있다.
부트롬(100)은 시스템의 초기 부팅, 기본적인 시스템 점검 및 응용프로그램 로딩을 하기 위한 부트롬 이미지를 가진다. 제어부(200)는 부트롬(100) 내의 부트롬 이미지를 사용하여 초기 부팅, 시스템 점검 및 응용프로그램 로딩을 진행하고 시스템을 동작시킨다.
일반적으로 부트롬(100)은 크게 바뀌는 일이 없다. 그러나 초기 응용프로그램의 로딩 기능이나 점검 기능 등이 변경되는 경우에는 부트롬 이미지를 수정하여야 하므로 부트롬의 변경이 불가피하다. 또한, 시스템(1000) 동작 중 부트롬 이미지에 문제가 발생한 경우, 기존 부트롬 이미지로 복구시키기 위한 부트롬(100) 변경이 필요하다. 부트롬 이미지에 문제가 발생하는 원인의 예로는 응용 프로그램의 오동작으로 인한 부트롬(100) 영역 침범 등을 들 수 있다.
부트롬(100)의 변경은 하드웨어적으로 직접 부트롬(100)을 교체하는 방법 또는 소프트웨어적으로 부트롬 이미지를 수정하는 방법에 의해 이루어질 수 있다.
여기서, 하드웨어적인 부트롬(100) 변경 방법은, 시스템(1000) 동작을 정지시키고 시스템(1000)을 개봉하여 시스템(1000) 내부의 부트롬(100)을 새로운 부트롬으로 교체하는 것이다. 또, 소프트웨어적인 부트롬(100) 변경 방법은, 소프트웨어 프로그램 내의 부트롬 프로그래밍 기능을 이용하여 부트롬(100) 내의 부트롬 이미지를 수정하는 것이다.
그런데, 상기 종래 기술에 따른 부트롬 변경 방법에는 다음과 같은 문제점이 있다.
하드웨어적인 변경은 시스템 장비 업체 직원이 직접 변경해야만 하며, 이로 인해 변경이 필요하여도 즉시 변경 작업을 수행할 수 없고, 부트롬 교체에 따른 비용이 추가적으로 더 들게 된다. 소프트웨어적인 변경은, 하드웨어적인 변경에서와 같은 문제점 없이 용이하게 부트롬을 변경 할 수 있다. 그러나, 소프트웨어적인 변경은 부트롬 이미지 수정이 잘못되거나 수정한 부트롬 이미지에 문제가 있는 경우, 시스템이 제대로 동작하지 않게 할 수 있다. 이러한 경우, 다시 하드웨어적인 방법을 통해 부트롬 변경이 이루어져야 하며, 문제가 발생한 부트롬 이미지의 복구에 긴 시간이 소요된다.
또한, 부트롬이 꺼낼 수 없도록 고정되어 있는 경우에는 하드웨어적인 방법으로도 부트롬을 변경할 수 없고 특별한 장비를 이용하여 부트롬에 부트롬 이미지를 기록하여야 한다. 이런 경우, 부트롬 이미지에 문제가 발생하는 경우, 부트롬 이미지를 복구할 수 있도록 기존 부트롬 이미지를 백업해 두어야 하며, 다시 시스템을 재가동할 때까지는 긴 시간을 필요로 한다.
이와 같이 부트롬의 변경에 오랜 시간을 필요로 하는 종래의 방법은, 네트워크 장비와 같이 거의 멈춰서는 안 되는 시스템에서 특히 문제가 될 수 있다.
따라서, 본 발명은 상기한 종래 기술에 따른 문제점을 해결하기 위하여 창안된 것으로, 본 발명의 목적은 부트롬 변경에 따른 번거로움과 비용을 줄이고 간편하고 안전하게 부트롬을 변경할 수 있도록 하는 이중화된 부트롬을 사용하는 시스템 부팅 장치 및 방법을 제공하는 것이다.
본 발명의 다른 목적은 부트롬 이미지에 문제가 발생하는 경우, 용이하게 부트롬 이미지를 복구할 수 있도록 하는 이중화된 부트롬을 사용하는 시스템 부팅 장치 및 방법을 제공하는 것이다.
상기한 목적을 달성하기 위한 본 발명의 일 측면에 따른 이중화된 부트롬을 사용하는 시스템 부팅 장치는, 각각 하나씩의 부트롬 이미지를 저장하는 복수의 부트롬 영역들을 포함하는 이중화된 부트롬; 상기 부트롬 이미지들 중 하나의 부트롬 이미지를 선택하여 부팅하고, 선택한 부트롬 이미지를 사용한 부팅에 실패하는 경우 다른 하나의 부트롬 이미지를 사용하여 부팅하는 제어부를 포함한다.
상기 각 부트롬 영역은, 부트롬 시작 영역, 부트롬 선택을 위한 코드 영역 및 부트롬 헤더를 더 포함한다.
상기 부트롬 시작 영역은, 부트롬의 리셋번지에서 동작한다.
상기 제어부는, 상기 부트롬의 변경이 요구되는 경우 부트롬 프로그래밍 기능을 이용하여 부트롬 이미지들 중 하나를 수정한다.
또한, 본 발명에 따른 이중화된 부트롬을 사용하는 시스템 부팅 장치의 다른 측면에 따르면, 상기 부팅 과정에 사용되는 부트롬 이미지의 상태 정보를 저장하는 저장부를 더 포함한다.
한편, 상기 목적을 달성하기 위한 본 발명의 일 측면에 따른 이중화된 부트 롬을 사용하는 시스템 부팅 방법은, 상기 이중화된 부트롬의 복수의 부트롬 영역에 각각 저장된 복수의 부트롬 이미지들 중 하나를 선택하여 부팅하는 단계; 상기 선택된 부트롬 이미지를 사용한 부팅이 실패하는 경우 다른 하나의 부트롬 이미지를 사용하여 부팅하는 단계를 포함한다.
상기 이중화된 부트롬의 복수의 부트롬 영역에 각각 저장된 복수의 부트롬 이미지들 중 하나를 선택하여 부팅하는 단계는, 상기 부트롬 영역들 중 하나의 부트롬 영역으로 이동하는 단계; 상기 이동 후 부팅을 진행할 부트롬 이미지에 대한 상태 정보를 확인하고, 해당 부트롬 이미지를 사용하여 부팅을 진행하는 단계를 포함한다.
상기 부트롬 영역들 중 하나의 부트롬 영역으로 이동하는 단계는, 상기 시스템의 현재 동작중인 명령어 주소를 통해 현재 동작중인 부트롬 영역이 이중화된 부트롬 영역 중 어떤 부트롬 영역인지 확인하여 해당 부트롬 영역으로 이동하는 단계인 것이다.
상기 선택된 부트롬 이미지를 사용한 부팅이 실패하는 경우 다른 하나의 부트롬 이미지를 사용하여 부팅하는 단계는, 상기 선택한 부트롬 이미지를 사용한 부팅이 실패하는 경우 다른 하나의 부트롬 이미지를 지시하는 상태 정보를 기록하고, 시스템이 재시작 되었을 때 상기 상태 정보를 따라 다른 하나의 부트롬 이미지를 사용하여 부팅하는 단계인 것이다.
또한, 본 발명에 따른 이중화된 부트롬을 사용하는 시스템 부팅 방법의 다른 측면에 따르면, 이중화된 부트롬 영역에 포함된 복수의 부트롬 이미지 중 하나의 부트롬 이미지를 수정하는 단계;상기 수정한 부트롬 이미지를 사용하여 부팅하는 단계; 상기 수정한 부트롬 이미지에 문제가 발생하여 수정한 부트롬 이미지를 사용한 시스템 부팅이 실패하는 경우, 수정하지 않은 다른 하나의 부트롬 이미지를 사용하여 부팅하는 단계를 포함한다.
상기 이중화된 부트롬 영역에 포함된 두개의 부트롬 이미지 중 하나의 부트롬 이미지를 수정하는 단계는, 시스템의 부트롬 프로그래밍 기능을 이용하여 수행되는 것이다.
상기 수정한 부트롬 이미지를 사용한 시스템 부팅이 실패하는 경우, 수정하지 않은 다른 하나의 부트롬 이미지를 사용하여 부팅하는 단계는, 상기 수정한 부트롬 이미지를 사용한 부팅이 실패하는 경우 수정하지 않은 다른 하나의 부트롬 이미지를 지시하는 상태 정보를 기록하고, 시스템이 재시작 되었을 때 상기 상태 정보를 따라 수정하지 않은 다른 하나의 부트롬 이미지를 사용하여 부팅하는 단계인 것이다.
그리고, 본 발명에 따른 이중화된 부트롬을 사용하는 시스템 부팅 방법은 상기 부팅에 실패한 수정하지 않은 다른 하나의 부트롬 이미지로 부팅을 완료 한 후 상기 수정한 부트롬 이미지를 수정하는 단계를 더 포함한다.
상기 수정한 부트롬 이미지를 수정하는 단계는, 시스템의 부트롬 프로그래밍 기능을 이용하는 것이다.
이하, 본 발명에 따른 바람직한 실시예를 도면을 살펴보면서 구체적으로 설 명하기로 한다. 본 발명을 설명함에 있어서, 관련된 공지기능 혹은 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단된 경우 그 상세한 설명은 생략한다.
도 2는 본 발명에 따른 이중화된 부트롬을 사용하는 시스템 부팅 장치의 블록구성도이다.
도 2에 도시된 바와 같이, 시스템(1000)은 부트롬(100), 제어부(200) 및 저장부(300)를 포함할 수 있다.
여기서, 부트롬(100)은 제1부트롬 영역(110)과 제2부트롬 영역(120)의, 두 개의 부트롬 영역들로 구분되는 이중화된 부트롬이다. 각 부트롬 영역은 부트롬(100) 내의 서로 다른 주소에 위치한다. 두 부트롬 영역들(110, 120) 각각은 부트롬 이미지를 하나씩 포함한다. 상기 부트롬 이미지들은 부트롬(100) 변경이 필요한 경우 소프트웨어 프로그램의 프로그래밍 기능을 통해 수정될 수 있다. 일반적으로 모든 프로세서는 시작 주소가 정해져 있기 때문에 두 부트롬 영역 중 하나의 부트롬 영역은 이 시작 주소에 위치하여야 한다. 일반적으로, 시스템의 부팅은 시작 주소에 위치하는 부트롬 영역의 부트롬 이미지로부터 시작된다.
제어부(200)는 이중화된 부트롬(100) 내의 하나의 부트롬 이미지를 사용하여 시스템(1000)의 초기 부팅, 점검 및 응용프로그램 로딩을 진행하고 시스템(1000)을 동작시킨다. 또한, 제어부(200)는 부트롬 변경이 요구되는 경우 소프트웨어 프로그램 내의 부트롬 프로그래밍 기능을 이용하여 부트롬 영역들(110, 120)에 포함된 부트롬 이미지를 수정할 수 있다.
저장부(300)는 부팅 과정에서 사용되는 부트롬 이미지의 선택 등을 위해 사용되는 상태 정보를 저장한다. 저장부(300)로는 여러 매체가 사용될 수 있는데, 일반적으로는 쓰기와 읽기가 가능한 비휘발성 램(NVRAM: nonvolatile random access memory)가 사용된다.
도 2에 도시된 본 발명의 장치는, 두 개의 부트롬 이미지 중 하나를 사용하여 부팅을 수행하고, 상기 부트롬 이미지를 사용한 부팅이 실패하는 경우 다른 하나의 부트롬 이미지를 사용하여 부팅을 수행한다. 이중화된 부트롬을 사용하는 본 발명의 장치는, 부트롬(100)의 변경이 요구되는 경우, 상기 부트롬(100)에 포함된 두 개의 부트롬 이미지들 중 하나의 부트롬 이미지만을 수정한다. 다른 하나의 부트롬 이미지는, 상기 수정된 부트롬 이미지를 사용한 부팅이 실패하는 경우에 사용되기 위해 수정되지 않고 보존된다.
하기에서는 제 1 부트롬 영역(110)의 부트롬 이미지를 보존하고 제 2 부트롬 영역(120)의 부트롬 이미지를 수정하는 실시예를 들어 본 발명의 장치를 설명하도록 한다.
먼저 부트롬 이미지에 이상이 발생한 경우, 본 발명의 장치는 다음과 같이 동작할 수 있다. 제어부(200)는 제 2 부트롬 이미지를 사용하여 부팅을 시도한다. 제 2 부트롬 이미지의 이상으로 인해 부팅이 실패하는 경우, 제어부(200)는 다른 하나의 부트롬 이미지인 제 1 부트롬 이미지를 사용하여 다시 부팅을 시도한다. 이를 통해 본 발명의 장치는 부트롬 이미지에 이상이 발생하는 경우에도 정상적인 부팅을 수행할 수 있게 된다.
또, 부트롬 이미지를 수정하는 경우, 본 발명의 장치는 다음과 같이 동작할 수 있다.
제어부(200)는 부트롬 프로그래밍 기능을 이용하여 제2부트롬 영역에 포함된 부트롬 이미지를 수정하고, 상기 수정된 제 2 부트롬 이미지를 사용하여 부팅을 수행한다. 부트롬 이미지의 수정이 정상적으로 수행된 경우, 상기 수정된 제 2 부트롬 이미지를 사용한 부팅은 정상적으로 수행될 것이다. 그러나, 부트롬 이미지의 수정이 정상적으로 수행되지 않은 경우, 수정된 제 2 부트롬 이미지를 사용한 부팅은 실패하게 된다. 수정한 이미지에 이상이 발생하여 수정한 부트롬 이미지를 사용한 시스템 부팅이 실패하였을 경우, 제어부(200)는 제1부트롬 영역에 포함된 부트롬 이미지를 이용하여 부팅을 진행할 수 있다.
한편, 부트롬(100)은 부트롬 이미지 외에, 부팅에 사용될 부트롬 이미지의 선택 등을 위한 다른 영역들을 더 포함한다. 하기에서는 이중화된 부트롬(100)의 구성을 참조하여 부팅에 사용될 부트롬 이미지의 선택 등에 대해 자세히 설명하도록 한다.
도 3은 본 발명에 따른 이중화된 부트롬의 내부 구성을 나타낸 도면이다.
도 3에 도시된 바와 같이 이중화된 부트롬(100)의 두 부트롬 영역은 각각 부트롬 시작 영역, 부트롬 이미지 선택 코드 영역, 부트롬 이미지 및 부트롬 헤더를 포함할 수 있다. 각 부트롬 영역의 부트롬 시작 영역, 부트롬 이미지 선택 코드 영역, 부트롬 이미지 및 부트롬 헤더는 서로 동일하게 동작한다.
부트롬 시작 영역은 부트롬(100)의 리셋(Reset) 번지에서 동작하는 작은 프 로그램 영역으로 제어부(200) 및 저장부(300)의 초기화를 진행한다.
부트롬 이미지 선택 코드 영역(112)은 이중화된 부트롬(100) 내의 각 부트롬 이미지 중 어느 부트롬 이미지로 부팅을 시도할 것인지를 선택하는 기능을 가진다. 이 영역의 프로그램은 기본적으로 램(RAM)을 사용하지 않기 때문에 스택(stack)을 사용하지 않는 저수준의 프로그램이고 용량도 매우 작다.
부트롬 이미지는 시스템 부팅에 사용되는 실제적인 프로그램 영역이다. 부트롬 이미지는 프로그래밍 기능에 의해 수정될 수 있다.
부트롬 헤더는 부트롬 이미지의 버전이나 기타 부트롬 정보들을 포함한다.
이와 같은 장치를 가지는 시스템의 부팅 방법에 대하여 첨부한 도 4를 참조하여 단계적으로 설명해 보기로 하자.
도 4는 본 발명에 따른 이중화된 부트롬을 사용하는 시스템 부팅 동작의 플로우챠트다.
도 4에 도시된 바와 같이, 시스템(1000)이 시작되면 먼저 제어부(200) 및 저장부(300)의 초기화를 진행한다(S201).
다음으로 현재 동작중인 명령어(instruction) 주소를 통해 현재 동작중인 부트롬 영역이 제1부트롬 영역(110)에 해당하는지 제2부트롬 영역(120)에 해당하는지를 확인한다(S202).
확인한 결과, 현재 동작중인 부트롬 영역이 제1부트롬 영역인 경우, 제1부트롬 영역으로 이동하고, 저장부(300)에 저장된 상태정보를 참조하여 현재의 부팅 상 태를 확인한다.(S203). 부팅 상태는, 예를 들면, 최초 시작 상태, 제1부트롬 이미지를 사용한 부팅 상태, 제2부트롬 이미지를 사용한 부팅 상태, 부팅 진행 상태 등으로 구분될 수 있다.
각 부트롬 이미지 상태별로 'NULL'은 최초 시작 상태, 'A'는 제1부트롬 이미지, 'B'는 제2부트롬 이미지, 'R'은 'B'상태를 진행하기 위한 준비상태로 구분할 수 있다. 이러한 상태들을 중심으로 현재 저장부(300)에 기록된 상태 정보가 'B' 인지를 확인한다(S204).
저장부(300)에 기록된 부트롬 이미지 상태가 'B'인 경우, 제2부트롬 이미지(123)로 이동하여 부팅을 진행하는데, 제2부트롬 이미지(123)로 이동하기에 앞서 먼저 제2부트롬 이미지(123)를 사용하여 부팅을 진행하다 문제가 발생하여 부팅에 실패하면 제1부트롬 이미지(113)로 돌아오기 위해 저장부(300)에 상태 'R' 상태를 기록한다(S205).
상태 정보 'R'를 기록하면, 제2부트롬 이미지(123)로 이동한다(S206). 이동 후 제2부트롬 이미지(113)를 사용하여 시스템(1000) 부팅을 진행한다(S207).
부팅 진행이 완료되면 제2부트롬 이미지(123)를 사용한 부팅이 정상적으로 완료되었는지 확인하고(S208), 정상적으로 완료 되었으면 저장부(300)에 상태 'B'를 기록한다(S209).
한편, 부트롬(1000)의 변경이 요구되는 경우 소프트웨어 프로그램 내의 부트롬 프로그래밍을 이용하여 제2부트롬 이미지(123)를 수정함으로 하드웨어적 조치 없이 바로 부트롬을 변경 할 수 있다. 부트롬 변경을 위해 제2부트롬 이미지(123) 를 수정할 경우, 제1부트롬 이미지(113)는 백업용으로 처음 저장한 이미지 그대로 보존한다. 이와 반대로 제1부트롬 이미지(113)를 부트롬 변경을 위해 수정하고, 제2부트롬 이미지(123)는 처음 저장된 이미지 그대로 보존할 수도 있다.
제2부트롬 이미지(123)를 사용하는 시스템 부팅에서 부트롬 변경이 요구되어 수정한 제2부트롬 이미지(123)에 문제가 발생하였거나, 시스템 동작 중 응용 프로그램의 오동작과 같은 이유로 제2부트롬 이미지(123)가 손상되는 문제가 발생하였을 경우에는 부팅이 정상적으로 완료되지 못할 수 있다. 그러므로 제2부트롬 이미지(123)를 사용한 부팅이 정상적으로 완료되었는지를 확인하였을 때(S208), 정상적으로 완료되지 못하였으면, 저장부(300)에 상태 'A'를 기록하고(S210) 시스템(1000)을 재시작 한다. 시스템(1000)을 재시작하면 저장부(300)에 기록된 상태 'A'를 확인하고 제1부트롬 이미지(113)를 이용하여 부팅을 진행한다. 제1부트롬 이미지(113)를 이용한 부팅이 정상적으로 이루어지면, 소프트웨어 프로그램 내의 부트롬 프로그래밍을 이용하여 제2부트롬 이미지(123)의 문제 부분을 수정함으로 부트롬을 변경할 수 있다.
그런데, 부팅 과정에서 이상이 발생하여 저장부(300)에 상태 'A'를 기록하지 못하고 시스템(1000)을 재시작하는 경우가 있다. 이때는 이전 부팅 과정에서 제2부트롬 이미지로 이동하기 이전에 이미 저장부(300)에 'R' 상태를 기록(S205)하였으므로, 시스템(1000)을 재시작하면 이 상태를 확인하여 시스템 부팅이 정상적으로 완료되지 못하였음을 판단하고 제1부트롬 이미지(113)를 이용하여 부팅을 진행할 수 있다.
그리고, 상기 저장부(300)에 기록된 현재 상태를 확인하는 과정(S203)에서, 현재 상태가 'A'인 경우, 제1부트롬 이미지(113)로 이동하여(S211), 저장부(300)에 상태 'A'를 기록하고(S211) 제1부트롬 이미지(113)를 사용한 부팅을 진행한다(S211). 이와 같이, 저장부(300)에 상태 정보 'A'가 기록되어 있는 경우는 최초에 제2부트롬 이미지(123)없이 사용하고자 하거나, 제2부트롬 이미지(123)에 문제가 있는 경우다.
한편, 현재 동작중인 명령어 주소를 확인하였을 때(S202) 현재 동작중인 부트롬 영역이 제2부트롬 영역(120)인 경우에는, 자신의 위치를 읽어 자신의 위치가 제2부트롬 영역(120)인지 먼저 판단한다. 자신의 위치가 제2부트롬 영역(120)으로 판단되면 제2부트롬 이미지(123)를 사용한 부팅을 진행하는데, 부팅을 진행하기에 앞서 먼저 저장부(300)에 상태 정보 'R'를 기록하고(S205), 제2부트롬 이미지(120)로 이동하여(S206), 부팅을 진행한다(S207). 부팅이 정상적으로 완료되었을 경우 저장부(300)에 상태 'B'를 기록하며(S209), 부팅이 정상적으로 완료되지 못하였을 경우 저장부(300)에 상태 'A'를 기록하여(S210) 시스템(1000)을 재시작 하였을 때 제1부트롬 이미지(113)를 이용한 부팅을 진행 할 수 있도록 한다.
또한, 부팅 과정에서 이상이 발생하여 저장부(300)에 상태 정보 'A'를 기록하지 못하는 경우가 발생하여도, 이전 부팅 과정에서 제2부트롬 이미지(123)로 이동하기 전 이미 저장부(300)에 'R' 상태를 기록하였으므로, 시스템(1000)을 재시작하면 이 상태를 확인하여 시스템 부팅이 정상적으로 완료되지 못하였음을 판단하고 제1부트롬 이미지(113)를 이용한 부팅을 진행할 수 있다.
제1부트롬 이미지(113)를 이용하여 정상적인 부팅을 완료하였으면 제어부(200)의 소프트웨어 프로그램 내의 부트롬 프로그래밍 기능을 이용하여 정상적인 부팅을 완료하지 못한 제2부트롬 이미지(123)를 수정할 수 있다.
이와 같은 이중화된 부트롬을 사용하는 시스템 부팅 방법에서 부트롬 이미지 선택을 위한 알고리즘(algorism)은 각 부트롬 영역 속에 내장되어 최소 동작 시 구동된다. 사용되는 매개 변수(parameter)들은 시스템(1000)의 종류와 환경에 따라서 달라질 수 있지만 동작 방식은 대부분 유사하게 구현이 가능하다.
상기한 바와 같은 본 발명에 따른 이중화된 부트롬을 사용하는 시스템 부팅 장치 및 방법은, 이중화된 부트롬 내의 하나의 부트롬 이미지를 수정하여 부트롬을 간편하게 변경할 수 있으며, 시스템 부팅 시 문제가 발생하거나 부트롬 이미지 수정 후 문제가 발생하여도 보존된 부트롬 이미지로 시스템이 자동으로 부팅되어 시스템의 신뢰성과 안정성을 확보 할 수 있다.

Claims (14)

  1. 이중화된 부트롬을 사용하는 시스템 부팅 장치에 있어서,
    각각 하나씩의 부트롬 이미지를 저장하는 복수의 부트롬 영역들을 포함하는 이중화된 부트롬; 및
    상기 부트롬 이미지들 중 하나의 부트롬 이미지를 선택하여 부팅하고, 선택한 부트롬 이미지를 사용한 부팅에 실패하는 경우 다른 하나의 부트롬 이미지를 사용하여 부팅하는 제어부를 포함하는 이중화된 부트롬을 사용하는 시스템 부팅 장치.
  2. 제1항에 있어서,
    상기 각 부트롬 영역은,
    부트롬 시작 영역, 부트롬 선택을 위한 코드 영역 및 부트롬 헤더를 더 포함하는 이중화된 부트롬을 사용하는 시스템 부팅 장치.
  3. 제2항에 있어서,
    상기 부트롬 시작 영역은,
    부트롬의 리셋번지에서 동작하는 이중화된 부트롬을 사용하는 시스템 부팅 장치.
  4. 제1항에 있어서,
    상기 제어부는,
    상기 부트롬의 변경이 요구되는 경우 부트롬 프로그래밍 기능을 이용하여 부트롬 이미지들 중 하나를 수정하는 이중화된 부트롬을 사용하는 시스템 부팅 장치.
  5. 제1항에 있어서,
    상기 부팅 과정에 사용되는 부트롬 이미지의 상태 정보를 저장하는 저장부를 더 포함하는 이중화된 부트롬을 사용하는 시스템 부팅 장치.
  6. 이중화된 부트롬을 사용하는 시스템 부팅 방법에 있어서,
    상기 이중화된 부트롬의 복수의 부트롬 영역에 각각 저장된 복수의 부트롬 이미지들 중 하나를 선택하여 부팅하는 단계; 및
    상기 선택된 부트롬 이미지를 사용한 부팅이 실패하는 경우 다른 하나의 부트롬 이미지를 사용하여 부팅하는 단계를 포함하는 이중화된 부트롬을 사용하는 시스템 부팅 방법.
  7. 제6항에 있어서,
    상기 이중화된 부트롬의 복수의 부트롬 영역에 각각 저장된 두개의 부트롬 이미지들 중 하나를 선택하여 부팅하는 단계는,
    상기 부트롬 영역들 중 하나의 부트롬 영역으로 이동하는 단계; 및
    상기 이동 후 부팅을 진행할 부트롬 이미지에 대한 상태 정보를 확인하고, 해당 부트롬 이미지를 사용하여 부팅을 진행하는 단계를 포함하는 이중화된 부트롬을 사용하는 시스템 부팅 방법.
  8. 제7항에 있어서,
    상기 부트롬 영역들 중 하나의 부트롬 영역으로 이동하는 단계는,
    상기 시스템의 현재 동작중인 명령어 주소를 통해 현재 동작중인 부트롬 영역이 이중화된 부트롬 영역 중 어떤 부트롬 영역인지 확인하여 해당 부트롬 영역으로 이동하는 단계인 이중화된 부트롬을 사용하는 시스템 부팅 방법.
  9. 제6항에 있어서,
    상기 선택된 부트롬 이미지를 사용한 부팅이 실패하는 경우 다른 하나의 부 트롬 이미지를 사용하여 부팅하는 단계는,
    상기 선택한 부트롬 이미지를 사용한 부팅이 실패하는 경우 다른 하나의 부트롬 이미지를 지시하는 상태 정보를 기록하고, 시스템이 재시작 되었을 때 상기 상태 정보를 따라 다른 하나의 부트롬 이미지를 사용하여 부팅하는 단계인 이중화된 부트롬을 사용하는 시스템 부팅 방법.
  10. 이중화된 부트롬을 사용하는 시스템 부팅 방법에 있어서,
    이중화된 부트롬 영역에 포함된 복수의 부트롬 이미지 중 하나의 부트롬 이미지를 수정하는 단계;
    상기 수정한 부트롬 이미지를 사용하여 부팅하는 단계; 및
    상기 수정한 부트롬 이미지를 사용한 시스템 부팅이 실패하는 경우, 수정하지 않은 다른 하나의 부트롬 이미지를 사용하여 부팅하는 단계를 포함하는 이중화된 부트롬을 사용하는 시스템 부팅 방법.
  11. 제10항에 있어서,
    상기 이중화된 부트롬 영역에 포함된 복수의 부트롬 이미지 중 하나의 부트롬 이미지를 수정하는 단계는,
    시스템의 부트롬 프로그래밍 기능을 이용하여 수행되는 이중화된 부트롬을 사용하는 시스템 부팅 방법.
  12. 제10항에 있어서,
    상기 수정한 부트롬 이미지를 사용한 시스템 부팅이 실패하는 경우, 수정하지 않은 다른 하나의 부트롬 이미지를 사용하여 부팅하는 단계는,
    상기 수정한 부트롬 이미지를 사용한 부팅이 실패하는 경우 수정하지 않은 다른 하나의 부트롬 이미지를 지시하는 상태 정보를 기록하고, 시스템이 재시작 되었을 때 상기 상태 정보를 따라 수정하지 않은 다른 하나의 부트롬 이미지를 사용하여 부팅하는 단계인 이중화된 부트롬을 사용하는 시스템 부팅 방법.
  13. 제10항에 있어서,
    상기 수정하지 않은 다른 하나의 부트롬 이미지로 부팅을 완료한 후 상기 수정한, 부팅에 실패한 부트롬 이미지를 수정하는 단계를 더 포함하는 이중화된 부트롬 이미지를 사용하여 부트롬을 변경하는 방법.
  14. 제13항에 있어서,
    상기 수정한 부트롬 이미지를 수정하는 단계는,
    시스템의 부트롬 프로그래밍 기능을 이용하는 이중화된 부트롬을 사용하는 시스템 부팅 방법.
KR1020050043256A 2005-05-23 2005-05-23 이중화된 부트롬을 사용하는 시스템 부팅 장치 및 방법 KR20060120988A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020050043256A KR20060120988A (ko) 2005-05-23 2005-05-23 이중화된 부트롬을 사용하는 시스템 부팅 장치 및 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020050043256A KR20060120988A (ko) 2005-05-23 2005-05-23 이중화된 부트롬을 사용하는 시스템 부팅 장치 및 방법

Publications (1)

Publication Number Publication Date
KR20060120988A true KR20060120988A (ko) 2006-11-28

Family

ID=37706947

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020050043256A KR20060120988A (ko) 2005-05-23 2005-05-23 이중화된 부트롬을 사용하는 시스템 부팅 장치 및 방법

Country Status (1)

Country Link
KR (1) KR20060120988A (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20140118093A (ko) * 2013-03-28 2014-10-08 한국전자통신연구원 메모리 가상화 기반 스냅샷 부트 장치 및 방법

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20140118093A (ko) * 2013-03-28 2014-10-08 한국전자통신연구원 메모리 가상화 기반 스냅샷 부트 장치 및 방법

Similar Documents

Publication Publication Date Title
US10289490B2 (en) Method and apparatus for facilitating storage system recovery and relevant storage system
US6836859B2 (en) Method and system for version control in a fault tolerant system
JP4363676B2 (ja) コンピュータシステム
US7340638B2 (en) Operating system update and boot failure recovery
JP5113700B2 (ja) ファームウェア更新装置及び方法
US6931522B1 (en) Method for a computer using the system image on one of the partitions to boot itself to a known state in the event of a failure
US7434042B2 (en) Apparatus, method and recording medium for starting up data processing system
EP1607865B1 (en) Data control unit capable of correcting boot errors, and corresponding method
US20040260919A1 (en) Computer system and method therefor to bootup the system quickly after initialization
US20090307677A1 (en) Reliably Updating Computer Firmware While Performing Command and Control Functions On a Power/Thermal Component In a High-Availability, Fault-Tolerant, High-Performance Server
WO2000019317A1 (en) Protection of boot block code while allowing write accesses to the boot block
CN116450244B (zh) 芯片启动方法、装置、计算机设备和存储介质
CN104915226A (zh) 一种网络设备软件启动方法、装置及网络设备
JP4917604B2 (ja) 記憶装置構成およびその駆動方法
JP2000090011A (ja) メモリ書き換え方法及びコンピュ―タシステム
US6363457B1 (en) Method and system for non-disruptive addition and deletion of logical devices
JP2023009293A (ja) 通信装置及び情報処理方法
US20060130039A1 (en) Update control program, update control method, and update control device
CN109271206A (zh) 一种异常现场的内存压缩和保存方法
CN113190256B (zh) 一种升级方法、装置及设备
CN114398087B (zh) 一种提高单片机更新程序后运行稳定性的方法及单片机
KR20060120988A (ko) 이중화된 부트롬을 사용하는 시스템 부팅 장치 및 방법
JP2004054616A (ja) ファームウェア自動修復機能を有する情報処理装置
JPH1185412A (ja) ディスクアレイ装置制御方法およびディスクアレイ装置
KR20030062793A (ko) 리눅스 운영 시스템의 백업 및 복원을 위한 운영 장치 및방법

Legal Events

Date Code Title Description
WITN Withdrawal due to no request for examination