KR101107446B1 - 정보 처리 시스템 및 이 시스템의 기동/복구 방법 - Google Patents

정보 처리 시스템 및 이 시스템의 기동/복구 방법 Download PDF

Info

Publication number
KR101107446B1
KR101107446B1 KR1020097009886A KR20097009886A KR101107446B1 KR 101107446 B1 KR101107446 B1 KR 101107446B1 KR 1020097009886 A KR1020097009886 A KR 1020097009886A KR 20097009886 A KR20097009886 A KR 20097009886A KR 101107446 B1 KR101107446 B1 KR 101107446B1
Authority
KR
South Korea
Prior art keywords
rom
image
rom image
contents
memory
Prior art date
Application number
KR1020097009886A
Other languages
English (en)
Other versions
KR20090091708A (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 KR20090091708A publication Critical patent/KR20090091708A/ko
Application granted granted Critical
Publication of KR101107446B1 publication Critical patent/KR101107446B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/16Protection against loss of memory contents
    • 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/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • 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
    • G06F11/167Error detection by comparing the memory output
    • 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
    • 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/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines

Landscapes

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

Abstract

정보 처리 시스템의 기동 프로세스 중에 부트 블록이 어떠한 원인으로 파손되어 있어도 시스템을 지장 없이 기동시키는 장치 및 방법을 제공한다.
정보 처리 시스템은, 부팅 가능하고 BIOS 프로그램을 각각 포함하는 복수의 ROM 이미지를 저장하는 재기록 가능한 ROM과, 복수의 ROM 이미지의 각 ROM 이미지의 데이터 내용을 비교하는 비교 회로와, 이 비교 회로에서의 각 ROM 이미지의 데이터 내용의 비교 결과의 출력에 의해, 정상적인 ROM 이미지로 전환하는 어드레스 전환기를 구비하고, 정상적인 ROM 이미지를 이용하여 시스템을 기동시킨다. 또한, 파손되어 있는 ROM 이미지를 정상적인 ROM 이미지로 재기록하여 다음 기동에 대비한다.
정보 처리 시스템, ROM 이미지, 기동, 복구, 전환

Description

정보 처리 시스템 및 이 시스템의 기동/복구 방법{INFORMATION PROCESSING SYSTEM AND METHOD FOR STARTING/RECOVERING THE SYSTEM}
본 발명은, 퍼스널 컴퓨터 외의 정보 처리 시스템에 관한 것으로, 특히 기동 시에 초기화 등을 행하는 기본 입출력 시스템(BIOS) 프로그램을 저장하는 ROM(리드 온리 메모리) 이미지를 복수 갖는 정보 처리 시스템에 관한 것이다.
BIOS(Basic Input Output System: 기본 입출력 시스템) 프로그램은, 일반적으로 각종 디바이스의 초기화나 오퍼레이팅 시스템(OS)의 로드 등을 행하는 BIOS 본체(코어 블록)와, 컴퓨터의 전원 온이나 리셋 시의 직후에 기동하여, BIOS 본체의 순회 용장 검사, 즉 CRC 체크(CyclicRedundancy Check) 등을 행하여 오류 검출을 행하고, 문제가 없으면 제어를 BIOS 본체에 되돌리는 부트 블록(Boot Block)으로 구성된다. BIOS 프로그램이 정상적으로 동작하지 않으면 컴퓨터를 기동할 수 없게 되기 때문에, 이에 대처하기 위해서 몇 가지 구성이 채용되어 있다.
일반적으로, CPU(중앙 연산 처리 장치)는 프로그램 카운터(ProgramCounter: PC)에 설정되어 있는 어드레스로부터 명령을 판독하여 실행한다. 전원 투입 시, 프로그램 카운터는 초기값으로 설정되어 있고, 통상은, ROM(리드 온리 메모리) 상의 초기화 코드의 선두를 가리키고 있다. 또한, 최근에 와서는 ROM에 기록 가능한 플 래시 ROM을 사용하는 경우가 많으며, 이 경우 프로그램에 문제가 발생했을 때에도 플래시 ROM을 떼어내지 않고 재기록할 수 있다는 메리트가 있다.
플래시 ROM의 초기화 코드는, 그 자체가 파손되거나 소거된 경우, 시스템을 기동할 수 없게 되기 때문에, 플래시 ROM 상에서도 부트 블록(Boot Block)으로서 특별히 취급되어 재기록은 가능한 한 제한된다. 그 때문에, 일반적으로 부트 블록에 들어가 있는 초기화 코드는, 기능 블록(Function Block)과는 독립적으로 움직이도록 프로그램되어 있고, 초기화 코드는 시스템의 초기화가 종료된 시점에서 기능 블록으로 제어를 옮겨 통상의 처리를 행한다.
부트 블록을 갖는 플래시 ROM의 일례를 도 12에 도시한다. 일반적으로 부트 블록은 메모리 어드레스의 0번지부터 배치되고, 기능 블록은 그 이후에 배치된다. 이 배치는, 정보 처리(컴퓨터) 시스템에 이용하는 CPU의 종류에 따라 다른 경우가 있다. 도 12의 (a), 도 12의 (b)의 예에서는 부트 블록은 각각 하나밖에 없다. 그러나, 기능 블록은 도 12(a)에 도시하는 예는 하나, 도 12(b)에 도시하는 예는 2개 있다. 기능 블록이 복수, 예컨대, 도 12(b)와 같이 2개 있는 경우에는, 기능 블록 1에는 새로운 기능 코드(function code)가, 기능 블록 2에는 그 하나 앞의 시점의 기능 코드가 들어가 있다. 다음으로 재기록할 때에는, 기능 블록 2의 오래된 쪽의 블록을 재기록한다. 이것은 만일 기능 블록 2 쪽에 넣은 기능 코드가 어떠한 문제로 재기록에 실패한 경우라도, 남아 있는 기능 블록 1의 기능 코드를 이용하여 CPU를 동작시킬 수 있기 때문이다. 그러나, 부트 블록에 대해서는, 이 기능 블록과 같이 복수 가질 수 없다. 이것은 CPU가 리셋된 후에 기동되는 경우에, 최초에 0번지 로부터 동작하려고 하기 때문에, 이 장소에 부트 블록을 배치할 필요가 있기 때문이다. 즉, 부트 블록은 기본적으로 1부위밖에 배치할 수 없다.
도 12에 도시하는 플래시 ROM을 이용하는 정보 처리 시스템에서는 다음과 같은 문제가 있다. 즉, 부트 블록에 있는 초기화 코드는, 전원 투입 시에 실행되는 프로그램이기 때문에, 프로그램 카운터가 가리키는 어드레스(기본적으로는 0번지)부터 실행될 필요가 있다. 그러나, ROM에는 부트 블록은 하나밖에 없기 때문에, ROM의 내용이 어떠한 원인으로 파손된 경우에는 시스템을 기동할 수 없게 된다. 초기화 코드가 들어가 있는 부트 블록에 장해가 발생한 경우, 그 ROM 자체를 떼어내고, 정상적인 부트 블록을 갖는 ROM을 재실장할 필요가 있다. 이 작업은 시간과 비용이 든다.
이상의 문제를 해결하기 위해서, 복수의 BIOS 프로그램을 저장하기 위한 복수의 ROM 이미지를 준비하고, 이들을 전환하는 방법으로서 몇 가지 방법이 개시되어 있다. 예컨대 특허 문헌 1에서는, 2개의 ROM 영역(BIOS ROMA, BIOS ROMB)과 그 2개의 ROM을 선택적으로 액세스 가능하게 하는 어드레스 전환 회로를 갖는 시스템에 있어서, 재기록 시의 에러 또는 기동 시에 있어서의 체크섬(check sum)을 이용하여 그 2개의 ROM 영역 중 하나의 ROM 영역이 불완전하다고 검지한 경우에만, 부트 블록에 의해 어드레스 전환기의 상태를 변경하여 문제가 없는 다른 한쪽의 ROM 영역을 기동시키는 방법이 개시되어 있다. 그러나, 이 방법에서는 부트 블록 자체에 문제가 있었던 경우에, ROM 영역을 전환할 수 없다는 문제가 있다.
또한 특허 문헌 2에서는, 플래시 ROM에 2개의 BIOS 프로그램(BIOS 본체와 부 트 블록을 포함함), 바꿔 말하면 복수의 ROM 이미지를 저장하고, 이 복수의 ROM 이미지를 선택적으로 액세스 가능하게 하는 어드레스 전환기 및 WDT(워치도그 타이머)를 이용한다. 만일 통상 기동하는 ROM 이미지에 문제가 있어, 부트 블록 내의 초기화 코드가 기동할 수 없어도, WDT에 의해 문제를 검지하여 문제가 없는 ROM 이미지의 BIOS 프로그램을 기동시킨다. 이 경우, WDT가 주기적으로 동작하기까지의 사이에 ROM에 의도하지 않은 재기록이 발생한 경우에, 시스템이 기동하지 않게 될 가능성이 있다.
특허 문헌 3에서는, 플래시 ROM에 저장된 2개의 BIOS 데이터 블록(부트 블록과 코어 블록을 포함함)을 가지며, 비휘발성 메모리(NRAM)에 저장되어 있는 정보에 기초하여, 상기 플래시 ROM 내의 2개의 BIOS 프로그램의 어드레스를 전환하는 어드레스 변환부를 더 구비한다. NRAM에 저장되는 어느 쪽의 BIOS 데이터로 기동하고 있는지를 나타내는 Valid 플래그 및 재기록이 정상적으로 종료된 것을 나타내는 Update 플래그를 이용하여, 어느 쪽의 BIOS 데이터를 재기록할지를 결정한다. 즉 판독을 행하는 BIOS 데이터와 재기록을 행하는 BIOS 데이터를 구별함으로써, 다음 번의 기동 시에 BIOS 데이터의 재기록에 실패해도 시스템이 정상적으로 기동하는 것을 목적으로 하고 있다. 이 경우, 부트 블록 내에 유효한 BIOS 블록을 판별하는 프로그램을 포함하기 때문에, 재기록할 수 없는 부트 블록에 문제가 있으면 시스템이 기동하지 않게 될 가능성이 있다.
메모리 장치의 이상 검출에 대해서는, 특허 문헌 4에서는, 복수의 메모리 블록을 갖는 RAM(랜덤 액세스 메모리)의 각 메모리 블록의 동일 부위에 동시에 데이 터의 독출/기록의 제어를 행하고, 이 제어에 의해 복수의 메모리 블록 각각의 동일 부위로부터 독출된 데이터가 동일한지의 여부를 배타적 논리합 회로로부터의 연산 결과로부터 판정함으로써 이상 검출을 행하여 이상 검출을 위한 처리 시간을 짧게 할 수 있는 것이 개시되어 있다. 마찬가지로 특허 문헌 5에서는, 복수의 RAM을 할당한 기억 장치에 있어서, 다수결 논리 회로와 배타적 논리합 회로를 이용하여, 에러가 발생한 부위의 RAM의 데이터에 대해서 다수결로 판단하는 방법을 개시하고 있다. 이들은 RAM에의 적용밖에 할 수 없고, 또한 RAM의 수가 홀수일 필요가 있으며, 또한 항상 올바른 데이터를 홀수(적어도 3개)의 RAM에 넣을 필요가 있다.
특허 문헌 1: 일본 특허 공개 제2000-148467호 공보
특허 문헌 2: 일본 특허 공개 제2004-038529호 공보
특허 문헌 3: 일본 특허 공개 제2000-163268호 공보
특허 문헌 4: 일본 특허 공개 평성 제5-28056호 공보
특허 문헌 5: 일본 특허 공개 소화 제61-61299호 공보
본 발명의 목적은, 정보 처리 시스템의 기동 시에 있어서 ROM에 저장되는 BIOS 프로그램의 부트 블록이 어떠한 원인으로 파손되거나 또는 장해가 발생한 경우라도, 시스템을 지장 없이 기동할 수 있도록 하는 것을 목적으로 한다.
본 발명의 다른 목적은, 시스템 기동 시에 장해가 발생한 ROM 내의 ROM 이미지를 올바른 ROM 이미지로 재기록하여, 파손된 ROM 이미지를 복구(회복)할 수 있도록 하는 것을 목적으로 한다.
상기 과제를 해결하기 위해서, 본 발명은, 복수의 동일한 ROM 이미지를 가지며, 복수의 ROM 이미지의 이미지 내용이 동일한지의 여부를 체크하기 위한 비교 회로[예컨대 배타적 논리합(XOR) 회로]와 ROM 이미지(의 어드레스)를 전환하는 전환기를 이용하여, 부트 블록 등이 파손된 ROM 이미지로부터 다른 정상적인 ROM 이미지로 전환하여 시스템을 기동시키기 위한 정보 처리 시스템 및 기동 방법을 제공한다. 또한, 파손된 ROM 이미지를 정상적인 ROM 이미지로 재기록하여 복구시키기 위한 정보 처리 시스템 및 그 방법을 제공한다.
본 발명의 정보 처리 시스템은, 복수의 기본 입출력 시스템(BIOS) 프로그램을 가지며, BIOS 프로그램을 저장하는 제1 ROM 이미지와 제1 ROM 이미지가 복제된 제2 ROM 이미지를 포함하는 기억 수단과, 기억 수단에 결합되고, 기억 수단으로부터 출력되는 제1 ROM 이미지 및 제2 ROM 이미지의 이미지 내용을 비교하기 위한 비교 수단과, 비교 수단에 결합되고, 제1 ROM 이미지의 BIOS 프로그램에 의해 시스템을 기동하도록, 최초에 제1 ROM 이미지를 선택하며, 비교 수단의 비교 결과에 있어서 이미지 내용이 상이한 경우에는 선택된 상기 제1 ROM 이미지를 제2 ROM 이미지로 전환하는 전환 수단을 구비한다.
바람직하게는, 비교 수단은 배타적 논리합 회로이고, 전환 수단은 각 ROM 이미지의 어드레스를 전환하는 어드레스 전환기이다. 더 바람직하게는, 기억 수단은 각 ROM 이미지의 데이터 내용을 출력하기 위한 프로그램 코드를 더 저장한다.
본 발명의 정보 처리 시스템은, 데이터 내용이 상이한 경우에, 어느 쪽의 ROM 이미지가 파손되어 있는지를 검출하기 위해서, 제1 및 제2 ROM 이미지 내의 오류 데이터 패턴을 검출하고, 검출 결과를 상기 전환 수단에 입력하기 위한 오류 데이터 패턴 검출 수단을 더 구비한다. 이 오류 데이터 패턴 검출 수단에 의해, 제1 ROM 이미지 및 제2 ROM 이미지 중 한쪽의 ROM 이미지에 오류 데이터 패턴이 검출된 경우에, 전환 수단이 다른쪽의 ROM 이미지로 전환한다.
더 바람직하게는, 기억 수단은 플래시 ROM이며, 제1 ROM 이미지와 제2 ROM 이미지가 하나의 플래시 ROM 내에 저장되거나, 또는 별개의 플래시 ROM에 각각 저장된다.
다른 실시형태에 따른 본 발명의 정보 처리 시스템은, 복수의 기본 입출력 시스템(BIOS) 프로그램을 가지며, BIOS 프로그램을 저장하는 제1 ROM 이미지와 제1 ROM 이미지가 복제된 제2 ROM 이미지를 구비하는 제1 ROM 이미지쌍과, 상기 BIOS 프로그램과 동일하거나 또는 상이한 다른 BIOS 프로그램을 저장하는 제3 ROM 이미지와 제3 ROM 이미지가 복제된 제4 ROM 이미지를 구비하는 제2 ROM 이미지쌍을 포함하는 기억 수단과, 기억 수단으로부터 출력되는 제1 ROM 이미지쌍을 수취하도록 기억 수단에 결합되고, 제1 ROM 이미지 및 제2 ROM 이미지를 비교하기 위한 제1 비교 수단과, 기억 수단으로부터 출력되는 제2 ROM 이미지쌍을 수취하도록 기억 수단에 결합되고, 제3 ROM 이미지 및 제4 ROM 이미지를 비교하기 위한 제2 비교 수단과, 제1 비교 수단 및 제2 비교 수단에 결합되고, 제1 비교 수단 및 제2 비교 수단으로부터의 비교 결과의 각각의 입력에 기초하여, 각 ROM 이미지가 동일한 이미지 내용을 갖는 ROM 이미지쌍을 선택하기 위한 전환 수단으로서, 제1 ROM 이미지쌍에 포함되는 한쪽의 ROM 이미지의 BIOS 프로그램에 의해 시스템을 기동하도록, 최초에 제1 ROM 이미지쌍을 선택하고, 제1 비교 수단의 비교 결과에 있어서 제1 ROM 이미지 및 제2 ROM 이미지의 이미지 내용이 상이한 경우에는 제2 ROM 이미지쌍으로 전환하는 전환 수단과, 전환 수단에 결합되고, 전환이 행해진 것에 응답하여 시스템을 리셋하는 시스템 리셋 수단을 구비한다.
또한, 제1 비교 수단의 비교 결과에 있어서 이미지 내용이 동일한 경우에는 제1 ROM 이미지쌍 중, 제1 ROM 이미지에 저장된 BIOS 프로그램으로 시스템의 기동 처리를 속행하고, 제2 이미지쌍의 제3 ROM 이미지 및 제4 ROM 이미지를 제1 ROM 이미지로 재기록하도록 시스템을 제어하는 CPU를 구비한다. 바람직하게는, 기억 수단은, 제1 ROM 이미지쌍과 제2 ROM 이미지쌍의 각각의 데이터 내용을 출력하기 위한 프로그램 코드를 더 저장한다. 더 바람직하게는, 전환 수단은 선택되어 있는 ROM 이미지쌍에 대응하는 번호를 카운트하기 위한 카운터를 구비한다.
본 발명의 일 실시형태는, BIOS 프로그램을 저장한 제1 ROM 이미지 및 제1 ROM 이미지가 복제된 제2 ROM 이미지를 포함하는 정보 처리 시스템에 있어서, 정보 처리 시스템의 기동 및 데이터가 파손된 ROM 이미지를 복구하는 방법으로서, 제1 ROM 이미지의 BIOS 프로그램으로 시스템을 기동하는 단계와, 제1 ROM 이미지 및 제2 ROM 이미지의 이미지 내용을 비교하는 단계와, 비교에 있어서, 이미지 내용이 상이한 경우에는, 각 ROM 이미지 내에 오류 데이터 패턴이 있는지 검출하는 단계와, 제1 ROM 이미지에 있어서 오류 데이터 패턴을 검출한 경우에는, 제2 ROM 이미지로 전환하고, 시스템을 리셋하여, 제2 ROM 이미지의 BIOS 프로그램으로 시스템을 기동하는 단계와, 오류 데이터 패턴이 검출된 제1 ROM 이미지를 제2 ROM 이미지로 재기록하는 단계를 포함한다.
바람직하게는, 본 발명에 따른 방법은, 제2 ROM 이미지에 있어서 오류 데이터 패턴을 검출한 경우에는, 제2 ROM 이미지를 제1 ROM 이미지로 재기록하는 단계를 포함한다. 또한, 오류 데이터 패턴이 제1 및 제2 ROM 이미지에서 검출되지 않은 경우에는 시스템 에러를 표시하는 단계를 더 포함한다.
본 발명의 다른 실시형태는, BIOS 프로그램을 저장한 제1 ROM 이미지와 제1 ROM 이미지가 복제된 제2 ROM 이미지를 구비하는 제1 이미지쌍과, 상기 BIOS 프로그램과 동일하거나 또는 상이한 다른 BIOS 프로그램을 저장한 제3 ROM 이미지와 제3 ROM 이미지가 복제된 제4 ROM 이미지를 구비하는 제2 이미지쌍을 포함하는 정보 처리 시스템에 있어서, 정보 처리 시스템의 기동 및 데이터가 파손된 ROM 이미지를 복구하는 방법으로서, 상기 제1 ROM 이미지쌍의 상기 제1 ROM 이미지의 BIOS 프로그램으로 시스템을 기동하는 단계와, 제1 ROM 이미지 및 제2 ROM 이미지의 이미지 내용을 비교하는 단계와, 비교에 있어서, 이미지 내용이 상이한 경우에는, 제2 ROM 이미지쌍으로 전환하고, 시스템을 리셋하여, 제2 ROM 이미지쌍 중 제3 ROM 이미지의 BIOS 프로그램으로 시스템을 기동하는 단계와, 제3 ROM 이미지 및 제4 ROM 이미지의 이미지 내용을 비교하여, 그 이미지 내용이 동일한 경우에는, 제1 ROM 이미지 및 제2 ROM 이미지를 제3 ROM 이미지로 재기록하는 단계를 포함한다.
또한, 본 방법은, 제1 ROM 이미지 및 제2 ROM 이미지의 이미지 내용을 비교하는 단계에 있어서, 제1 및 제2 ROM 이미지의 이미지 내용이 동일하고, 또한 제3 ROM 이미지 및 제4 ROM 이미지의 이미지 내용을 비교하는 단계에 있어서, 제3 및 제4 ROM 이미지의 이미지 내용이 상이한 경우에는, 제3 및 제4 ROM 이미지를 제1 ROM 이미지로 재기록하는 단계를 더 포함한다.
본 발명은, BIOS 프로그램을 저장한 제1 ROM 이미지 및 제1 ROM 이미지가 복제된 제2 ROM 이미지를 포함하는 정보 처리 시스템에 있어서, 정보 처리 시스템의 기동 및 데이터가 파손된 ROM 이미지의 복구를 컴퓨터에 의해 행하기 위해서, 제1 ROM 이미지의 BIOS 프로그램으로 시스템을 기동하는 단계와, 제1 ROM 이미지 및 제2 ROM 이미지의 이미지 내용을 비교하는 단계와, 비교에 있어서, 이미지 내용이 상이한 경우에는, 각 ROM 이미지 내에 오류 데이터 패턴이 있는지 검출하는 단계와, 제1 ROM 이미지에 있어서 오류 데이터 패턴을 검출한 경우에는, 제2 ROM 이미지로 전환하고, 시스템을 리셋하여, 제2 ROM 이미지의 BIOS 프로그램으로 시스템을 기동하는 단계와, 오류 데이터 패턴이 검출된 제1 ROM 이미지를 제2 ROM 이미지로 재기록하는 단계를 컴퓨터에 실행시키기 위한 프로그램을 포함한다.
또한 본 발명은, BIOS 프로그램을 저장한 제1 ROM 이미지와 제1 ROM 이미지가 복제된 제2 ROM 이미지를 구비하는 제1 이미지쌍과, 상기 BIOS 프로그램과 동일하거나 또는 상이한 다른 BIOS 프로그램을 저장한 제3 ROM 이미지와 제3 ROM 이미지가 복제된 제4 ROM 이미지를 구비하는 제2 이미지쌍을 포함하는 정보 처리 시스템에 있어서, 정보 처리 시스템의 기동 및 데이터가 파손된 ROM 이미지의 복구를 컴퓨터에 의해 행하기 위해서, 제1 ROM 이미지쌍의 제1 ROM 이미지의 BIOS 프로그램으로 시스템을 기동하는 단계와, 제1 ROM 이미지 및 제2 ROM 이미지의 이미지 내용을 비교하는 단계와, 비교에 있어서, 이미지 내용이 상이한 경우에는, 제2 ROM 이미지쌍으로 전환하고, 시스템을 리셋하여, 제2 ROM 이미지쌍 중 제3 ROM 이미지의 BIOS 프로그램으로 시스템을 기동하는 단계와, 제3 ROM 이미지 및 제4 ROM 이미지의 이미지 내용을 비교하여, 상기 이미지 내용이 동일한 경우에는, 제1 ROM 이미지 및 제2 ROM 이미지를 제3 ROM 이미지로 재기록하는 단계를 컴퓨터에 실행시키기 위한 프로그램을 포함한다.
도 1은 본 발명에 따른 정보 처리 시스템의 전체 구성의 예를 도시하는 도면이다.
도 2는 플래시 ROM 내의 ROM 이미지를 도시하는 도면이다.
도 3은 본 발명에 따른 기동/복구 기구를 포함하는, 제1 실시형태에 따른 정보 처리 시스템을 도시하는 도면이다.
도 4는 본 발명에 따른 오류 데이터 패턴 검출 회로를 갖는 기동/복구 기구를 포함하는, 제2 실시형태에 따른 정보 처리 시스템을 도시하는 도면이다.
도 5는 도 3의 구성에 따른 제1 실시형태의 동작을 도시하는 플로우차트이다.
도 6은 플래시 ROM에 데이터를 기록하는 방법과 오류 데이터 패턴(FF)의 관계를 도시하는 도면이다.
도 7은 도 4의 구성에 따른 제2 실시형태의 동작을 도시하는 플로우차트이다.
도 8은 본 발명에 따른 2개의 ROM 이미지쌍을 갖는 제3 실시형태에 따른 정 보 처리 시스템을 도시하는 도면이다.
도 9는 도 8의 구성에 따른 제3 실시형태의 동작을 도시하는 플로우차트이다.
도 10은 본 발명에 따른 N개의 ROM 이미지쌍을 갖는 정보 처리 시스템을 도시하는 도면이다.
도 11은 도 10의 구성에 따른 실시형태의 동작을 도시하는 플로우차트이다.
도 12는 종래 기술의 BIOS 프로그램을 저장한 ROM 이미지의 예를 도시하는 것으로, 도 12(a)는 단일 기능 블록, 도 12(b)는 멀티 기능 블록의 예이다.
<부호의 설명>
100: 정보 처리 시스템 102: CPU
106: 메모리 112: 버스
122: 디스플레이 컨트롤러 124: 외부 디스플레이
126: 하드디스크 드라이브(HDD) 컨트롤러
128: 하드디스크 드라이브(HDD)
132: 통신 어댑터 134: 통신 네트워크
200: (플래시) ROM 202: ROM 이미지 1
204: ROM 이미지 2 210: BIOS 프로그램 1
220: BIOS 프로그램 2 300: 기동/복구 기구
302: 비교 회로 304: 어드레스 전환기
306: 시스템 리셋 수단 308: 오류 데이터 패턴 검출 회로
도 1에 본 발명에 따른, BIOS 프로그램을 저장하는 ROM 이미지에 장해가 있었던 경우에도 정상적으로 기동하고, 또한 파손된 ROM 이미지를 복구(회복)할 수 있는, 기동/복구 기능을 갖는 정보 처리 시스템(100)을 도시한다. 상기 정보 처리 시스템(100)은, CPU(중앙 처리 장치)(102), BIOS 프로그램을 각각 저장하는 복수의 ROM 이미지를 포함하는 ROM(리드 온리 메모리)(200), RAM(랜덤 액세스 메모리) 및 비휘발성 RAM(NVRAM)을 포함하는 메모리(106), 본 발명에 따른 기동/복구 기구(300)를 포함하며, 이들은 모두 시스템 버스(112)에 접속되어 있다. 기동/복구 기구(300)의 상세한 것에 대해서는 후술한다. 비휘발성 RAM은 시스템(100)의 전원을 차단한 후라도 저장한 정보를 유지할 수 있다. 그 외에, 시스템 버스(112)에는 입출력 컨트롤러인 디스플레이 컨트롤러(122)를 통해 외부 디스플레이(124), 또는 하드디스크 드라이브(HDD) 컨트롤러(126)를 통해 보조 기억 장치로서의 하드디스크 드라이브(HDD)(128)도 접속된다. ROM(200)이나 HDD(128) 등의 기억 매체에는, 오퍼레이팅 시스템(OS)과 협동해서 CPU(102)에 명령을 부여하여, 본 발명을 실시하기 위한 컴퓨터 프로그램의 코드나 각종의 데이터를 기록할 수 있다. 또한, 시스템 버스(112)는 통신 어댑터(132)를 통해 통신 네트워크(134)에 접속하는 것도 가능하다.
정보 처리 시스템(100)의 전력 투입 시에, CPU(102)는 그 동작 파라미터[그 대부분은 메모리(106)에 저장되어 있음]를 세트하고, 메모리(106)를 초기화하며, 시스템의 구성 요소(컴포넌트)의 검사 및 초기화를 행하고, 통상의 사용자 동작을 개시하기 전에, 오퍼레이팅 시스템을 부팅한다. 전력이 정보 처리 시스템(100)에 공급되면, 시스템 프로세서인 CPU(102)는 파워 온 리셋(POR: Power on Reset)이라 불리는, BIOS 프로그램의 일부를 실행하기 시작한다.
CPU(102)는 메모리(106)에 기록되는 컴퓨터 프로그램의 코드에 따라서, 정보 처리 시스템 전체를 제어한다. 또한 CPU(102)는, 기동 시에 ROM(200) 내에 기억되어 있는 BIOS 프로그램의 데이터에 따라서, 메모리(106) 등에 액세스 가능해진다. 바람직하게는, ROM(200)은 재프로그램 가능한 플래시 ROM이다. 플래시 ROM은, 기록 및 판독이 가능하고 또한 전원을 차단하더라도 내용이 유지되는 메모리이며, 정보 처리 시스템의 기동 시에 정보 처리 시스템(이후의 설명에서 컴퓨터 시스템이라고도 부름)의 입출력 장치의 설정 등 처리를 행하는 BIOS 데이터가 기억되어 있다.
ROM(200)으로서 플래시 ROM을 이용하여 설명한다. 복수(도면에서는 2개)의 BIOS 프로그램을 포함하는 플래시 ROM(200)의 상세한 것을 도 2에 도시한다. 플래시 ROM 내에 저장되고, 개시 어드레스를 가지며, 실행 가능한 프로그램 코드 및 데이터를 포함하는 데이터 블록 전체를 「ROM 이미지」라고 부른다. 일반적으로 ROM 이미지는 ROM, PROM, EPROM 등의 메모리에 저장되며, 파일, 실행 가능한 프로그램 코드, 데이터를 포함할 수 있다. ROM(200)은 재기록 가능하고 부팅 가능한 복수의 ROM 이미지를 포함한다. 도 2의 ROM 이미지 1(202) 및 ROM 이미지 2(204)는 동일한 용량으로 정상 시에는 동일한 이미지 내용이 저장된다. 즉 ROM 이미지 2는 ROM 이미지 1이 복제된 것이다. ROM 내의 어드레스 공간에 있어서, ROM 이미지 1은 개시(상위측) 어드레스 A로부터, ROM 이미지 2는 개시(하위측) 어드레스 B로부터 저장 되는 것으로 한다.
도 2와 같이, 예컨대 ROM 이미지 1(202)에는, (1) 기동 시에 CPU(102)에 최초에 판독되는 초기 설정 프로그램의 코드를 가지며, 재기록 가능한 의사 부트 블록(214)(통상의 부트 블록과 동일한 기능을 수행하지만, 재기록이 행해지는 점에서 통상의 부트 프로그램과는 다르기 때문에, 의사 부트 블록이라고 부름)과, (2) 메모리(106) 등의 주변 장치의 초기 설정 데이터를 갖는 기능 블록(216)과, (3) 본 발명에 따른 기동/복구 기능을 실행하기 위한 프로그램 코드(예컨대 ROM 이미지를 비교하기 위한 프로그램 코드)를 저장하는 기동/복구용 블록(218)을 구비하는 BIOS 프로그램 1(210)이 저장된다. 이에 대하여, 통상의 BIOS 프로그램은 부트 블록과 기능 블록을 포함한다(도 12를 참조). 또한, ROM 이미지 2(204)는, ROM 이미지 1(202)을 복제한 것이며, 정상 시에는 BIOS 프로그램 1(210)과 동일한 내용의 BIOS 프로그램 2(220)가 저장된다. 즉, BIOS 프로그램 2(220)는, 의사 부트 블록(224), 기능 블록(226), 및 기동/복구용 블록(228)을 구비하고, 정상 시에는 각 블록은 BIOS 프로그램 1(210)의 각 블록과 동일한 것이 된다. 도 2에서는, 하나의 ROM 내에 복수의 ROM 이미지를 저장하고 있으나, 복수의 별개의 ROM 디바이스의 각각에 ROM 이미지를 저장해도 좋다. 이 이후의 설명에서는, 하나의 ROM 내에 복수의 ROM 이미지를 저장하는 경우를 이용한다.
도 3에 도시하는 바와 같이, 본 발명에 따른 기동/복구 기구(300)의 기본 구성은, 플래시 ROM(200)으로부터 출력되는 복수의 ROM 이미지를 비교하기 위한 비교 회로(302)와, ROM 이미지의 어드레스를 전환하는 어드레스 전환기(304)와, 시스템 리셋 수단(306)을 포함한다. 이후의 설명에서는, 비교 회로(302)로서 배타적 논리합(XOR) 회로를 이용하여 설명하지만, 이것에 한정되는 것은 아니다. 도 4에 도시하는 바와 같이, 기동/복구 기구(400)는, 기동 시에 어떤 ROM 이미지가 파손되어 있는지를 검출하기 위해서, 오류 데이터 패턴 검출 회로(308)를 구비하는 것이 바람직하다. 이 기동/복구 기구는 IC칩, 예컨대 FPGA(Field Programmable Gate Array)를 이용하여 실장할 수 있다.
기동/복구 기구(300)의 기능은, 정보 처리 시스템의 기동 시에 선택된 하나의 ROM 이미지가 파손되어 있는 경우(이때 비교 회로에 있어서 정상 시에는 동일한 이미지 내용이어야 할 2개의 ROM 이미지가 상이하면 검출됨)에 있어서도 다른 ROM 이미지를 선택하고, 시스템 리셋 수단에 의해 시스템 리셋, 구체적으로는 CPU 리셋을 걸어, 새롭게 선택된 ROM 이미지를 이용해서 시스템을 다시 기동하도록 하는 것이다. 또한, 기동/복구 기구(300)의 다른 기능은, 파손되어 있지 않은 ROM 이미지에 저장된 기동/복구 프로그램을 CPU에 의해 실행하여, 파손되어 있는 ROM 이미지의 데이터를 정상적인 ROM 이미지로 치환하는, 즉 이미지 내용을 복제(이후의 설명에서 카피라고도 부름)하는 것이 가능하다.
본 발명의 제1 실시형태에 따른 정보 처리 시스템의 구성예를 도 3에 도시한다. 도 3과 같이, 정상 시에 있어서 동일한 데이터 내용을 포함하는 복수의 ROM 이미지[ROM 이미지 1(202) 및 ROM 이미지 2(204)]를 갖는, 재기록 가능한 플래시 ROM(200)을 이용한다. 또한, 본 발명에 따른 시스템은, 상기 ROM(200)에 결합되고, 기억 수단인 플래시 ROM으로부터 출력되는 각각의 ROM 이미지를 비교하기 위한 비 교 회로(302)와, 상기 비교 회로(302)로부터의 비교 결과에 응답하여, 각각의 ROM 이미지를 전환하기 위한 어드레스 전환기(304)와, 어드레스 전환 즉 ROM 이미지의 전환에 응답하여 CPU에 리셋(시스템 리셋)을 걸기 위한 시스템 리셋 수단(306)을 포함하는 기동/복구 기구(300)를 포함한다. 바람직하게는, 각 ROM 이미지를 출력하기 위한 프로그램 코드는 ROM(200)에 저장된다. 또한 CPU(102)가 버스(112)를 통해 플래시 ROM(200) 내의 복수의 ROM 이미지(202, 204)에 저장된 BIOS 프로그램 중 어느 한쪽을 실행하도록, 시스템이 구성되어 있다.
도 4에 도시하는 바와 같이, 본 발명의 제2 실시형태인 정보 처리 시스템에 있어서의 기동/복구 기구(400)는, 도 3의 구성에 더하여 각 ROM 이미지(202, 204) 중 어느 쪽이 파손되어 있는지를 검출하기 위한 오류 데이터 패턴 검출 회로(308)를 포함한다. 이 오류 데이터 패턴 검출 회로(308)는, 플래시 ROM(200)으로부터 출력되는 각 ROM 이미지 내에 오류 데이터 패턴(예컨대 FF 데이터)이 있는지 검출한다. 상기 설명에서는, 정상적인 경우에, 하나의 ROM 디바이스 내, 예컨대 플래시 ROM 내에 저장되는, 동일한 ROM 이미지의 내용을 갖는 복수의 ROM 이미지로서 설명하였으나, 그 대신에, 동일한 내용의 ROM 이미지를 각각 갖는 복수의 ROM 디바이스를 이용하는 것도 가능하다.
비교 회로(302)는, 예컨대 ROM에 접속되는 복수의 신호선을 포함하는 데이터 버스로부터의 각각의 데이터 신호의 차분을 취하기 위한 차분 회로와, 각각의 데이터의 차분 신호의 논리합(OR)을 취하는 OR 회로로 구성된다. 2개의 ROM 이미지가 동일한 데이터이면, 모든 차분 신호가 동일한 값 0이 되어, OR 회로의 출력은 값 0 이 되지만, 2개의 ROM 이미지의 데이터가 상이하면, 차분 신호 중 어느 하나가 값 1이 되어, OR 회로의 출력은 값 1이 된다. 즉 OR 회로의 출력을 확인함으로써 2개의 ROM 이미지를 비교할 수 있다. 또한, 비교 회로(302)에는 회로 구성이 비교적 간편한 배타적 논리합(XOR) 회로를 이용해도 좋다. 이때 일반적인 배타적 논리합 회로(XOR 회로)를 이용할 수 있다.
어드레스 전환기(304)의 일례로서는, 값 1 또는 값 0의 어드레스선 A를 선택하는 칩 셀렉트(CS) 신호를 출력하는 회로이며, 출력(output pin) 핀으로부터 출력하는 값을 반전하는 기능을 갖는 회로가 있다. 예컨대, 출력 핀으로부터 어드레스선 A(ROM 이미지 1의 개시 어드레스를 가리킴)로서 값 0을 출력하고 있는 상태에서 비교 회로로부터의 신호(값 1)를 받으면, 출력 핀으로부터 출력하는 어드레스선 A의 값을 1로 변경한다. ROM 이미지 1 및 ROM 이미지 2의 전환은, 이들 ROM 이미지에 대응하는 어드레스선을 선택하기 위한 칩 셀렉트(CS) 신호로 제어된다. 동작으로서는, 최초에 ROM 이미지 1이 선택되어 있었던 경우, 이 어드레스선 A는 값 0으로 되어 있고, CS 신호는 ROM 이미지 1을 가리키고 있다. 그러나, 어드레스 전환기(304)는, 각 ROM 이미지의 이미지 내용이 상이하기 때문에, 비교 회로로부터 값 1이 입력되면, ROM 이미지 2로 전환하기 위해서, 이 어드레스선을 값 1로 한다. 그에 따라 CS 신호의 출력이 ROM 이미지 2를 가리켜, 전환이 가능해진다. 어드레스 전환기(304)는, 예컨대, 비교 회로로부터의 신호를 입력할 때마다 출력값을 반전하는 플립플롭 회로로 실현할 수 있다.
시스템 리셋 수단(306)은 어드레스 전환기(304)로부터의 ROM 이미지를 전환 한 것을 나타내는 신호를 수취하면, 시스템(100)의 CPU(102)에 리셋을 걸기 위한 리셋 신호를 발생한다.
또한, 어드레스 전환기(304)로부터의 신호에 응답하여, 디스플레이 컨트롤러(122)를 통해 외부 디스플레이(124) 등에 시스템 에러 등의 상황을 표시하도록 하는 것도 가능하다.
도 3에 도시하는 제1 실시형태인 정보 처리 시스템에 있어서의 동작을 나타내는 플로우차트를 도 5에 도시한다. 이 동작에서는, 파손되어 있는 ROM 이미지 1을 정상적인 ROM 이미지 2로 전환한다. 이 이후의 설명 및 도면에 있어서, ROM 이미지 1, ROM 이미지 2 등의 ROM 이미지를 ROM1, ROM2와 같이 생략하여 표시한다. 시스템의 기동이 정상적으로 행해지는 경우에 있어서는, ROM2(204)에는 ROM1(202)과 동일한 BIOS 프로그램, 바꿔 말하면 동일한 데이터 블록이 들어가 있는 것으로 상정한다.
전원 투입 시 또는 최초의 CPU 리셋 시, 즉 파워 온 리셋(POR)을 행하면(S501), 어드레스 전환기에 의해 어드레스가 ROM1에 세트됨으로써, ROM1이 선택되고(S502), ROM1의 데이터가 CPU에 대하여 출력되게 된다. 다음으로 ROM1 및 ROM2의 데이터 출력이 비교 회로인 배타적 논리합(XOR) 회로에 입력되고, 각 데이터 출력을 비교하기 위해서 배타적 논리합(XOR) 연산이 행해져 연산 결과에 의해, 다음 동작이 판단된다(S503). ROM1로부터 정상적으로 CPU에 데이터가 출력되어 있는 경우, ROM2의 동일한 어드레스로부터는 ROM1과 동일한 데이터가 XOR 회로에 출력되고, XOR 회로(302)의 연산 결과에 의한 출력은 '0'(값 0)이 되어, 정상적으로 기동 동작이 계속된다(S505). 단계 S503에서, 만일 ROM1의 데이터가 파손되어 있는 경우에는, ROM1의 데이터와 ROM2의 데이터는 일치하지 않으며, 즉 데이터 내용이 상이하기 때문에, XOR 회로(302)의 출력이 '1'(값 1)이 되어, 기동 에러로서 검출된다. 에러를 검출한 경우, 어드레스 전환기(304)는 ROM2의 데이터를 CPU에 출력하기 위해서, 즉 ROM2의 BIOS 프로그램으로 전환하기 위해서, ROM2의 어드레스로 전환한다(S504). 다음으로, 어드레스 전환에 응답하여, 시스템 리셋 수단(306)을 이용해서 CPU(102)를 리셋하고, ROM2의 BIOS 프로그램을 이용하여 CPU(102)를 재기동한다(S506). 이 제1 실시형태에서는, ROM1에 문제가 있다고 하는 예상 하에 ROM1의 이미지 데이터를 ROM2의 이미지 데이터로 재기록할 수 있다. 즉, 어느 쪽의 ROM 이미지가 파손되어 있는지의 검출은 행해지고 있지 않다. 또한, 최초에 ROM2의 이미지 데이터가 CPU에 출력되는 경우에는, 상기한 ROM1과 ROM2를 교체한 동작이 행해진다.
도 3의 구성에서는, 장해의 발생 또는 문제가 된 ROM 이미지는 최초에 이미지 데이터를 출력하고 있었던 ROM 이미지라고 하는 상정을 전제로 하고 있으며, 어떤 ROM 이미지에 문제가 있는지 판단할 수 없다. 이 때문에, 기동/복구 기구에 있어서, 각 ROM 이미지(202, 204) 중 어느 쪽이 파손되어 있는지를 검출하기 위한 구성 요소를 더 부가한, 제2 실시형태인 정보 처리 시스템을 도 4에 도시한다. 도 4에 있어서, 본 발명에 따른 기동/복구 기구(400)는, 비교 회로에 의해 에러를 검출했을 때, 어떤 ROM 이미지에 문제가 있는지를 검출하기 위해서, 오류 데이터 패턴 검출 회로(간단하게 FF 검출 회로라고도 부름)(308)를 더 포함한다. 즉, 제2 실시 형태에 따른 정보 처리 시스템은, 동일한 이미지 내용의 복수의 ROM 이미지(202, 204)(ROM1 및 ROM2)를 갖는 플래시 ROM(200)과, 각각의 ROM 이미지의 이미지 내용을 비교하기 위해서, 플래시 ROM에 결합되는 비교 회로(302)[배타적 논리합(XOR) 회로로 실현 가능]와, 비교 회로(302)로부터의 비교(연산) 결과에 응답하여 복수(여기서는 2개)의 ROM 이미지를 전환하는 어드레스 전환기(304)와, 어떤 ROM 이미지가 파손되어 있는지를 검출하기 위한 오류 데이터 패턴 검출 회로(308)와, 시스템 리셋 수단(306)으로 구성된다. 또한 CPU(102)를 포함하며, 이 CPU(102)가 시스템 리셋 수단(306)을 통해 어드레스 전환기(304)에 결합되어 있다.
이 오류 데이터 패턴 검출 회로(FF 검출 회로)(308)의 동작의 전제가 되는 플래시 ROM 안에의 데이터(프로그램 코드를 포함함. 이후의 설명에서도 동일)의 기록 방법에 대해서 설명한다. 도 4의 구성에 있어서의 ROM에의 데이터의 기록 방법을 도 6에 도시한다. 기본적으로는 이하에 나타내는 단계가 실행된다.
1) 현재의 ROM 이미지의 영역을 소거한다(S601). Erase 커맨드에 따라서 플래시 ROM은 블록 단위로 데이터가 소거된다. 이때 소거된 블록은 모두 '1', 즉 FF가 된다.
2) 새로운 ROM 이미지의 초기화 코드의 선두 부분(610)을 제외한 부분을 ROM에 기록한다(S602).
3) 새로운 ROM 이미지의 초기화 코드의 선두 부분(610)에 대한 정상적인 데이터를 ROM에 기록한다(S603).
이 기록 방법의 특징은, ROM에 대한 데이터의 기록에 성공하고 있는 경우에 는 데이터 모두가 문제 없이 기록된다(S605). 그러나, 만일 도중에 어떠한 장해 등에 의해 기록에 문제가 있었던 경우에는, ROM 이미지의 선두(610)에 대한 정상적인 데이터가 기록되지 않고, FF의 데이터가 남게 된다(S604). 만일 FF의 데이터가 남아 있는 것이 ROM1(ROM 이미지 1)의 영역이고, ROM2(ROM 이미지 2)의 영역에 FF의 데이터가 남아 있지 않다고 하면, ROM2에는 정상적인 데이터가 기록되어 있는 것을 알 수 있다. 도 6에서는, 초기화 코드의 선두 부분(610)을 제외한 부분을 이용하여 최초에 기록하는 예로 설명하였으나, 2개의 ROM1 및 ROM2의 각각의 개시 어드레스로부터 보아 동일한 어드레스의 임의의 장소(610')여도 좋다. 즉, 도 4의 구성에 있어서 XOR 회로에 의해 에러를 검출한 후, 어느 쪽의 ROM에 문제가 있는지를 확인하기 위해서 선두(610) 또는 임의의 장소(610')에 FF의 데이터가 있는지의 여부를 확인함으로써 문제가 된 ROM 이미지를 특정 가능해진다.
오류 데이터 패턴 검출 회로(308)는, 비교 회로(302)와 마찬가지로, 예컨대 ROM에 접속되는 복수의 신호선을 포함하는 데이터 버스로부터의 각각의 데이터 신호의 차분을 취하기 위한 차분 회로와, 각각의 데이터의 차분 신호의 논리합(OR)을 취하는 OR 회로로 구성된다. 정상적인 ROM 이미지의 데이터와 오류 데이터 패턴(예컨대 0xFF)을 포함하는 ROM 이미지로부터의 데이터 신호의 각각의 차분을 취하고, 이들 차분 신호를 입력받은 OR 회로의 출력이 값 1이면, 각 ROM 이미지의 데이터 내용이 상이한 것을 나타내어, 오류 데이터 패턴의 검출이 가능해진다.
도 4에 도시하는 제2 실시형태인 정보 처리 시스템을 이용하는 동작을 나타내는 플로우차트를 도 7에 도시한다. 여기서는 간단하게 하기 위해서, 최초에 ROM1 의 데이터(프로그램 코드를 포함함)가 CPU에 출력되어, ROM1의 BIOS 프로그램이 기동되는 경우를 생각한다. 전원 투입 시 또는 최초의 CPU 리셋 시, 즉 파워 온 리셋(POR)을 행하면(S701), ROM1과 ROM2에 있어서 초기화 코드의 선두(또는 임의 장소의 동일한 어드레스) 및 이미지가 각각 판독된다(S702). 다음으로 ROM1 및 ROM2의 이미지 출력이 XOR 회로(302)에 입력되고, 연산 결과에 의해 동작이 판단된다(S703). ROM1과 ROM2의 동일한 어드레스로부터의 이미지 출력이 동일한 경우, 즉 XOR 회로의 출력이 '0'(값 0)인 경우에는, 그대로 정상적으로 기동이 행해진다(S712). XOR 회로(302)의 출력이 '1'(값 1)인 경우, FF 검출 회로(308)에 의해 기록이 실패해서 잔존하고 있는 FF 데이터(0xFF)가 어떤 ROM에 있는지 검출한다(S704). ROM1에서 0xFF를 검출한 경우, 바꿔 말하면 ROM1의 데이터가 파손되어 있는 경우에는, 어드레스 전환기(304)가 ROM2로 전환하고(S706), 그 후 시스템 리셋 수단(306)에 의해 CPU를 리셋하여(S707), ROM2로 통상의 기동 처리를 행한다(S708). 다음으로 정상적인 ROM2를 데이터가 파손되어 있는 ROM1에 카피하며, 즉 ROM2의 이미지로 ROM1의 이미지를 재기록한다(S709). FF 검출 회로(308)에 의해, ROM1에서 0xFF를 검출하지 않고 ROM2에서 0xFF를 검출한 경우에는, 그대로 통상의 기동 처리를 계속한다(S710). 다음으로 정상적인 ROM1을 데이터 등 이미지가 파손되어 있는 ROM2에 카피한다(S711). 또한, ROM1 및 ROM2에 있어서 모두 0xFF를 검출하지 않은 경우에는, 시스템 에러로서, 디스플레이 컨트롤러(122)를 통해 외부 디스플레이(124) 등에 출력한다(S705).
또한, 최초에 ROM2의 데이터가 CPU에 출력되는 경우에는, 상기한 ROM1과 ROM2를 교체한 동작이 행해진다.
이후의 설명 및 플로우차트도에 있어서, ROM 이미지의 BIOS 프로그램을 이용하여 시스템을 기동하는 것을 「ROMx(x는 정수)로 기동(처리)한다」라고 표현하고, 또한 어떤 ROM 이미지를 다른 ROM 이미지에 복제하는 것을, 예컨대 「ROM2를 ROM1에 카피한다」라고 표현하는 경우가 있는 것에 유의해 주기 바란다.
또한, 정보 처리 시스템이 동작 중에 ROM 이미지의 기록 동작 이외의 문제로 ROM 이미지가 파손된 경우에도 문제를 검지하고 또한, 시스템 리셋을 행하지 않고 정상적인 ROM 이미지로 전환하는 것도 가능하다.
본 발명의 제3 실시형태에 따른 정보 처리 시스템을 도 8에 도시한다. 이 제3 실시형태는 도 3의 기본 구성을 확장하며 또한 오류 데이터 패턴 검출 회로(FF 검출 회로)(308)를 이용하지 않고, 정상적으로 정보 처리 시스템을 기동시켜, 파손되어 있는 ROM 이미지를 복구할 수 있는 기동/복구 기구(800)를 포함한다. 이후의 설명 및 도면에 있어서, ROM 이미지 x(x는 정수)를 ROMx라고 생략하여 표기한다. 또한 각 ROM 이미지는 도 2에 도시하는 바와 같은 BIOS 프로그램을 저장하고 있다. 도 8의 플래시 ROM(200)은, 복수 개(짝수 개), 여기서는 4개의 ROM 이미지를 포함하며, 2개의 ROM 이미지에 의해 하나의 이미지쌍을 구성한다. 이후의 설명에서 이미지쌍의 번호 x를 이미지쌍(x), x는 정수와 같이 표시한다. 도 8과 같이, 플래시 ROM(200)은, (1) 2개의 동일한 용량, 동일한 데이터 내용의 ROM 이미지인 ROM1과 ROM2의 쌍(바꿔 말하면, ROM2는 ROM1이 복제된 것임)을 갖는 ROM 이미지쌍(1)(810)과, (2) 2개의 동일한 용량, 동일한 데이터 내용의 ROM 이미지인 ROM3과 ROM4의 쌍(바꿔 말하면, ROM4는 ROM3이 복제된 것임)을 갖는 ROM 이미지쌍(2)(820)를 포함한다.
도 8의 정보 처리 시스템은, 상기 플래시 ROM(200)에 더하여, 이들 ROM 이미지쌍(810, 820)의 ROM 이미지(ROM1과 ROM2, ROM3과 ROM4)의 각각의 이미지 출력을 비교하기 위해서, 예컨대 배타적 논리합으로 결합하는 회로인 비교 회로 1(XOR 회로 1)(812) 및 비교 회로 2(XOR 회로 2)(822)와, 2개의 ROM 이미지쌍을 전환하는 어드레스 전환기(804)와, 어드레스 전환기(804)에 결합되고, CPU(102)를 리셋하는 시스템 리셋 수단(306)으로 구성된다. 또한, ROM3은 ROM1과 동일한 ROM 이미지 또는 상이한 다른 ROM 이미지일 수 있다. 바꿔 말하면, ROM3에 저장되는 BIOS 프로그램은 ROM1에 저장되는 BIOS 프로그램과 동일하거나 또는 상이한 다른 BIOS 프로그램일 수 있다.
여기서는 배타적 논리합(XOR) 회로를 이용하는 예로 나타내었으나, 다른 비교 회로를 이용하는 것도 가능하다. 또한, 어드레스 전환기(804)는 ROM 이미지쌍을 선택하여, 각 ROM 이미지의 BIOS 프로그램의 기동을 행할 수 있도록, 현재 선택되어 있는 ROM 이미지쌍에 대응하는 번호 n을 카운트하기 위한 카운터(n)(805)를 내장하고 있다. 또한, n번째의 ROM 이미지쌍은, 2개의 ROM 이미지인 ROM2n-1과 ROM2n으로 구성된다.
최초에 기동되는 ROM 이미지쌍의 2개의 ROM 이미지(정상 시에는 동일한 이미지 내용) 중 한쪽이 파손되어 있을 때에는, 배타적 논리합(XOR) 회로가 '1'(값 1)을 출력하고, 이에 따라 현재 기동하고 있는 ROM 이미지쌍이 파손되어 있는 것이 검지 가능하다. 그리고 현재 기동하고 있는 ROM 이미지쌍이 파손되어 있는 것이 검지된 경우에는, 어드레스 전환기(804)에 신호(값 1)를 보내고, 어드레스 전환기에 의해 다른 ROM 이미지쌍의 어드레스로 전환하며, 그 전환된 ROM 이미지쌍에 있는 한쪽의 ROM 이미지의 BIOS 프로그램으로 기동을 시도한다고 하는 일련의 동작이 가능해진다.
또한 기동 에러를 가능한 한 없애서 정보 처리 시스템의 신뢰성을 올리기 위해서, 도 8의 구성을 확장하여, 짝수 개인 2N개(N은 2 이상의 정수)의 ROM 이미지를 갖는, 도 10과 같은 구성으로 확장 가능하다. n개의 ROM 이미지쌍(1010, 1020, …1030)은, ROM2n-1과 ROM2n(여기서는 ROM1/ROM2, ROM3/ROM4…)의 각각의 이미지쌍에 포함되는 각 ROM 이미지가 동일한 ROM 이미지를 갖는다. 즉, 정상 시에는 하나의 ROM 이미지쌍에 있는 2개의 ROM 이미지는 한쪽의 ROM 이미지를 복제한 것이며, BIOS 프로그램도 동일한 것을 갖는다. 또한, 다른 ROM 이미지쌍에 있는 각각의 ROM 이미지는 상이한 이미지, 즉 상이한 BIOS 프로그램이어도 좋다. 각 ROM 이미지쌍에 대응하여, 각각에 비교 회로(1012, 1022, …1032)(XOR 회로로 실장, 총수 n)를 결합할 수 있다. 파손되어 있는 ROM 이미지를 포함하는 ROM 이미지쌍(에 있는 BIOS 프로그램)으로의 기동을 중지하고, 정상적인 ROM 이미지쌍을 선택하여, 그 ROM 이미지쌍에 있는 ROM 이미지의 BIOS 프로그램을 이용해서 시스템을 기동한다. 또한, 다음 기동에 대비하여, 파손되어 있는 ROM 이미지쌍의 각 ROM 이미지는, 정상적인 ROM 이미지로 재기록하여 복구해 둘 수 있다. N=1인 경우에는, 기본 구성인 도 3에 해당한다고 생각할 수 있으나, N=1 즉 2개의 ROM 이미지인 경우에는, 전술한 바와 같이 ROM 이미지의 어디가 파손되어 있는지는 판단할 수 없다. 이에 비하여, N이 2 이상의 경우인 도 8 또는 도 10의 구성에 따르면 어떤 이미지쌍에 문제가 있는지 판단할 수 있는 점에서 다르다.
제3 실시형태의 기본 구성인, 4개의 ROM 이미지를 갖는 정보 처리 시스템의 동작에 대해서, 도 8 및 도 9의 플로우차트를 참조하면서 설명한다. 도 8과 같이, 4개의 ROM 이미지는 2개의 ROM 이미지쌍을 구성한다. 이후의 설명에서 이미지쌍의 번호 x를 이미지쌍(x), x는 정수와 같이 표시한다. 즉 ROM1/ROM2로 이루어지는 이미지쌍(1)(810) 및 ROM3/ROM4로 이루어지는 이미지쌍(2)(820)를 포함하는 시스템 구성을 이용하는 경우에 대해서, 도 9의 플로우차트에 따라서 설명한다. 또한, 도 9 중에서 「ROM1/2」란 ROM 이미지 1(ROM1)과 ROM 이미지 2(ROM2)의 이미지쌍을 나타내며, 「ROM1/2로 기동 처리」란 상기 이미지쌍 중 한쪽의 ROM 이미지의 BIOS 프로그램으로 기동 처리를 행하는 것을 나타낸다. 「ROM3/4」에 대해서도 동일하게 표기한다.
최초에 파워 온 리셋을 행한다(S901). 기동하는 ROM 이미지가 있는 이미지쌍의 번호 n을 카운트하기 위해서, 최초에 카운터(805)를 n=1로 설정한다(S902). 이때, ROM 이미지 2n-1과 ROM 이미지 2n, 즉 ROM1, ROM2를 포함하는 이미지쌍이 선택된다. 다음으로 어드레스 전환기(804)를 ROM1/ROM2의 이미지쌍(1)(810)로 설정하고, CPU(102)를 리셋하여(S903), ROM1/ROM2의 이미지쌍(1)(810)의 어느 한쪽의 ROM 이미지, 예컨대 ROM1의 BIOS 프로그램을 이용하여 기동 처리를 행한다(S904). 또한 ROM1/ROM2의 이미지 출력을 XOR 회로 1(812)로 연산 처리(S905)하고, 출력이 '0'인 경우에는, ROM1과 ROM2의 이미지 내용이 동일하여 정상인 것을 체크할 수 있었으므로, ROM3과 ROM4의 이미지 내용을 비교하며(S921), 이미지 내용이 상이한 경우에는, ROM3/ROM4의 각 이미지에 ROM1의 이미지를 카피한다(S922). ROM3과 ROM4의 이미지 내용이 동일한 경우에는, 문제가 없으므로 그대로, 예컨대 ROM1의 BIOS 프로그램으로 기동을 계속한다(S950). 또한, 단계 921에서 ROM3과 ROM4의 이미지 내용을 비교하기 위해서는, XOR 회로 2(822)를 이용하는 것이 가능하다. 또는, 정상 기동된 ROM1의 기동/복구용 블록에 저장되는, ROM 이미지를 비교하기 위한 프로그램 코드를 CPU에 실행시키는 것도 가능하다.
또한 단계 S905에서 XOR 회로 1(812)의 출력이 '1'인 경우에는, 카운터(n)(805)에 있어서 카운트를 1 늘려, n=2로 설정하고(S906), 어드레스 전환기(804)를 ROM 이미지의 번호가 2n-1과 2n인 ROM 이미지를 포함하는, 2번째의 ROM3/ROM4의 이미지쌍(2)(820)로 설정하며, CPU(102)를 리셋하여(S907), ROM3/ROM4의 이미지쌍(2)(820) 중 어느 한쪽의 ROM 이미지, 예컨대 ROM3의 BIOS 프로그램을 이용하여 기동 처리를 행한다(S908). 또한 ROM3과 ROM4의 이미지 출력을 XOR 회로 2(822)에 입력하여 연산 처리를 행한다(S909). 연산 처리의 결과가 '0'인 경우에는, ROM3/ROM4의 이미지쌍(2)(820)는 정상이기 때문에 ROM 이미지 3(ROM3)의 이미지를, 파손되어 있을 가능성이 있는 ROM 이미지쌍(1)(810)의 ROM 이미지 1 및 ROM 이미지 2(ROM1/ROM2)에 카피한다(S931). 또한, 예컨대 ROM3의 BIOS 프로그램을 이용하여 기동 처리를 행한다(S950). 단계 S909에서 XOR 회로 2의 연산 처리의 결과가 '1'인 경우에는, 2개의 ROM 이미지쌍에 올바른 데이터가 존재하지 않는 것으로 하여, 디스플레이 컨트롤러(122)를 통해 외부 디스플레이(124)에 시스템 에러로서 표시한다(S910).
도 8의 구성 및 도 9의 플로우차트에 나타내는 동작을 일반화하면, 도 10의 구성 및 도 11의 플로우차트에 나타내는 동작이 된다. 즉, 도 10은 도 8의 구성을 확장한 정보 처리 시스템의 구성예이다. 또한 도 11은 이 일반화된 구성을 이용하여, 시스템의 기동 및 파손된 ROM 이미지를 복구하는 동작을 도시한다. 도 11에 도시하는 바와 같이, 파워 온 리셋(S1101) 후, 최초에 카운터(1005)의 카운트를 n=1로 설정한다(S1102). 다음으로, 기본적으로 이하의 동작을 반복한다. 즉, 시스템 구성으로 결정되는 ROM 이미지쌍의 수(N)와 현재 기동하려고 하고 있는 ROM 이미지를 포함하는 ROM 이미지쌍의 번호(n)에 대해서, 카운터(1005)를 이용하여 n과 N을 비교하고(S1103), 순서대로 n번째의 ROM 이미지쌍(대응하는 ROM 이미지는 ROM2n-1, ROM2n)으로 설정하기 위해서 어드레스 전환기(1004)로 전환하며, CPU(102)를 리셋하여(S1104), 그 ROM 이미지쌍에 있는 ROM2n-1, ROM2n 중 어느 한쪽(통상은 ROM2n-1)의 ROM 이미지의 BIOS 프로그램을 이용하여 기동 처리를 행하고(S1105), 각 이미지쌍을 구성하는 ROM 이미지인 ROM2n-1, ROM2n의 각각의 데이터를 대응하는 비교 회로 n(예컨대 XOR 회로)(1012, 1022, …1032)으로 연산 처리하여, ROM 이미지쌍의 데이터가 파손되어 있는지의 여부를 판정하며(S1106), 파손되어 있는 경우(XOR 회로의 출력이 '1')에는, 다음의 ROM 이미지쌍으로의 기동 처리로 이행하기 위해서 카운터를 1만큼 증분한다(S1107). 이와 같이, S1103 내지 S1106의 단계를 반복한다. ROM 이미지쌍의 데이터가 파손되어 있지 않은 경우(XOR 회로의 출력이 '0')에 는, 상기 ROM 이미지쌍 전후의 올바르게 기동할 수 없었던 ROM 이미지쌍에 있는 ROM 이미지를 회복하는 처리에 들어간다[도 11의 (a) 및 (b)의 플로우].
어느 하나의 ROM 이미지쌍으로 올바르게 기동할 수 있었던 경우, 도 11의 (a)에 도시하는 단계에 따라서, 다음 기동에 대비하기 위하여, 올바르게 기동할 수 없었던 ROM 이미지쌍의 번호 p가 정상적으로 기동할 수 있었던 ROM 이미지쌍의 번호 n과 비교하여 작은 경우, 올바르게 기동할 수 없었던 ROM 이미지쌍 p(ROM2p-1, ROM2p를 포함함)에 올바르게 기동할 수 있었던 ROM 이미지쌍 n에 있는 ROM2n-1을 재기록하는(카피하는) 처리를 행한다(S1121 내지 S1124). 예컨대 도 8의 ROM1/ROM2의 이미지쌍(1)(810)이 파손되어 있는 경우, 올바르게 기동할 수 있었던 ROM3/ROM4의 이미지쌍(2)(820)의 ROM3의 이미지를 ROM1 및 ROM2에 카피하는 경우가, 도 11의 (a)에 나타내는 단계 1121 내지 1124에 해당한다(n=2, p=1).
또한, 올바르게 기동할 수 있었으나, 기동을 시도하지 않았던 ROM 이미지쌍이 후속에 있는 경우에는, 도 11의 (b)에 도시하는 단계(S1131 내지 S1135)에 따라서 처리된다. 기동을 시도하지 않았던 ROM 이미지쌍 m의 각 ROM 이미지(ROM2m-1과 ROM2m)의 이미지 내용이 동일한지의 여부를 비교하고(S1133), 이미지 내용이 상이한 경우에는, 올바르게 기동할 수 있었던 ROM 이미지쌍 n에 포함되는 ROM2n-1을 ROM2m-1과 ROM2m에 카피하여, 재기록한다(S1134). 예컨대 도 8의 ROM1/ROM2의 이미지쌍(1)(810)이 올바르게 기동할 수 있었으나, 후속하는 ROM3과 ROM4의 이미지쌍(2)(820)에 대해서도 각 ROM 이미지의 이미지 내용을 체크하고, 이미지 내용이 상이한 경우에는, 올바르게 기동할 수 있었던 ROM1의 데이터 내용을 ROM3과 ROM4에 카피하는 경우가 도 11의 (b)의 단계 1131 내지 1135에 해당한다(n=1, m=2).
도 11의 (a), (b)의 단계는, p, m의 카운트 및 ROM2m-1과 ROM2m의 데이터 내용의 비교 등은, ROM 이미지에 저장되는 기동/복구용 블록(도 2를 참조)의 프로그램 코드에 편입시킬 수 있다.
이상의 실시형태에서는, 본 발명의 정보 처리 시스템은 도 1에 도시하는 바와 같이 퍼스널 컴퓨터와 같은 컴퓨터 시스템을 상정할 수 있으나, 본 발명은 이것에 한정되지 않고 PC 서버나 워크 스테이션 등의 정보 처리 시스템 전반에 적용 가능하다. 또한, 오퍼레이팅 시스템으로서는, Windows(등록상표) XP, AIX(등록상표), Linux(등록상표) 등이 바람직하지만, 본 발명은 특정한 오퍼레이팅 시스템 환경에 한정되는 것은 아니다.
이상의 실시형태에서는, 어드레스 전환기의 현재 상태를 전원 차단 시에 있어서도 유지할 수 있도록 어드레스 전환기의 현재의 전환 상태를 플래시 ROM에 보존하는 것도 가능하지만 비휘발성 RAM(NVRAM) 등의 메모리에 보존해 두도록 해도 좋다.
이상의 실시형태에서는, 하나의 ROM 내의 복수의 ROM 이미지 중, BIOS 프로그램을 각각 저장하는 2개의 ROM 이미지를 전환하도록 하였으나, 3개 이상의 ROM 이미지(각각이 BIOS 프로그램을 포함함)를 그룹으로 하고, 어드레스 전환기로 순서대로 그룹을 전환하도록 구성해도 좋다.
이상의 실시형태에서는, BIOS 프로그램을 기억하는 메모리로서 플래시 ROM을 이용하였으나, EEPROM(Electronically Erasable and Programmable Read Only Memory) 등에 BIOS 프로그램을 기억시켜 두도록 해도 좋다.
이상, 본 발명의 실시형태에 대해서 설명하였으나, 본 발명은 상기 실시형태에 한정되는 것은 아니다. 그 외에, 본 발명은 주지를 일탈하지 않는 범위에서 당업자의 지식에 기초하여 여러 가지 개량, 수정, 변경을 가한 형태로 실시할 수 있는 것이다.

Claims (10)

  1. 복수의 기본 입출력 시스템(BIOS; basic input output system) 프로그램(201, 220)을 포함하는 정보 처리 시스템(10)으로서,
    BIOS 프로그램을 저장하는 제1 읽기 전용 메모리(ROM; read-only memory) 이미지(202)와, 상기 제1 ROM 이미지가 복제된 제2 ROM 이미지(204)를 포함하는 메모리(200);
    상기 제1 ROM 이미지의 상기 BIOS 프로그램을 이용하여 상기 시스템을 기동하도록, 최초에 상기 제1 ROM 이미지를 선택하고, 상기 제1 ROM 이미지의 컨텐츠와 상기 제2 ROM 이미지의 컨텐츠가 상이하다면, 선택된 상기 제1 ROM 이미지를 상기 제2 ROM 이미지로 스위칭하는 스위치(304);
    상기 메모리에 결합되고, 상기 메모리로부터 출력되는 상기 제1 ROM 이미지의 컨텐츠와 상기 제2 ROM 이미지의 컨텐츠를 비교하는 비교 회로(302); 및
    상기 메모리와 상기 스위치에 결합되고, 상기 메모리로부터 출력되는 상기 제1 및 제2 ROM 이미지 내의 오류 데이터 패턴을 검출하며, 검출 결과를 상기 스위치에 입력하여 상기 스위치가 선택된 상기 제1 ROM 이미지를 상기 제2 ROM 이미지로 스위칭하도록 하는 것인, 오류 데이터 패턴 검출기(308)
    를 포함하고,
    상기 스위치는 상기 비교 회로에 결합되고, 상기 비교 회로에 의해 수행된 비교의 결과로서 상기 제1 및 제2 ROM 이미지의 컨텐츠가 상이한 것으로 판정되는 것인 정보 처리 시스템.
  2. 제1항에 있어서,
    상기 스위치(304)에 결합되고, 상기 스위치에 의해 수행된 ROM 이미지들(202, 204) 간의 스위칭에 응답하여 상기 시스템을 리셋하는 시스템 리셋기(306)를 더 포함하는 정보 처리 시스템.
  3. 제1항에 있어서,
    상기 오류 데이터 패턴 검출기(308)에 의해 상기 제1 및 제2 ROM 이미지들(202, 204) 중 하나에서 상기 오류 데이터 패턴이 검출된다면, 상기 스위치(304)는 또 다른 ROM 이미지로 스위칭하는 것인 정보 처리 시스템.
  4. 제1항에 있어서,
    상기 비교 회로(302)는 배타적 논리합(exclusive OR) 회로이고,
    상기 스위치(304)는 ROM 이미지들(202, 204)의 어드레스들 사이에서 스위칭하는 어드레스 스위치인 것인, 정보 처리 시스템.
  5. 제1항에 있어서,
    상기 메모리(200)는 플래시 ROM이고,
    상기 제1 및 제2 ROM 이미지(202, 204)는 하나의 플래시 ROM 내에 저장되거나, 또는 별개의 플래시 ROM에 분리되어 저장되는 것인, 정보 처리 시스템.
  6. 기본 입출력 시스템(BIOS; basic input output system) 프로그램을 저장한 제1 ROM 이미지(202) 및 상기 제1 ROM 이미지가 복제된 제2 ROM 이미지(204)를 포함하는 메모리(200)를 포함하는 정보 처리 시스템(10)을 기동하는 방법으로서,
    상기 제1 ROM 이미지의 상기 BIOS 프로그램을 이용하여 상기 시스템을 기동하기 위해 제1 ROM 이미지를 선택하는 단계(S502);
    상기 제1 ROM 이미지의 내용과 상기 제2 ROM 이미지의 컨텐츠를 비교하는 단계(S503) - 상기 비교하는 단계는 상기 메모리에 결합된 비교 회로(302)에 의해 수행되고 상기 비교 회로는 상기 메모리로부터 출력되는 제1 및 제2 ROM 이미지의 콘텐츠를 비교하는 것임 - ;
    상기 비교에 있어서 상기 이미지 내용이 상이하다면, 선택된 상기 제1 ROM 이미지를 상기 제2 ROM 이미지로 스위칭하는 단계(S504);
    상기 메모리로부터 출력되는 제1 및 제2 ROM 이미지의 콘텐츠를 비교하는 것에 의해 ROM 이미지 내에 오류 데이터 패턴이 있는지의 여부를 검출하는 단계(S704); 및
    상기 검출하는 단계에 응답하여, 선택된 상기 제1 ROM 이미지를 상기 제2 ROM 이미지로 스위칭하는 단계(S706)
    를 포함하는 정보 처리 시스템 기동 방법.
  7. 제6항에 있어서,
    상기 비교 단계(S503)에서 상기 컨텐츠가 동일하다면, 상기 제1 ROM 이미지(202)의 상기 BIOS 프로그램을 이용하여 상기 기동을 계속하는 단계(S505)를 더 포함하는 정보 처리 시스템 기동 방법.
  8. 제6항에 있어서,
    상기 제2 ROM 이미지(204)에서 오류 데이터 패턴이 검출된다면, 상기 제2 ROM 이미지(204)를 상기 제1 ROM 이미지(202)로 대체하는 단계를 더 포함하는 정보 처리 시스템 기동 방법.
  9. 제6항에 있어서,
    상기 제1 ROM 이미지(202) 및 제2 ROM 이미지(204) 중 어디에서도 오류 데이터 패턴이 검출되지 않는다면, 시스템 오류를 디스플레이하는 단계를 더 포함하는 정보 처리 시스템 기동 방법.
  10. 컴퓨터 상에서 실행되는 경우에, 제6항 내지 제9항 중 어느 한 항의 방법을 수행하도록 구성된 프로그램 코드를 포함하는 컴퓨터 프로그램이 기록된 컴퓨터 판독가능한 기록 매체.
KR1020097009886A 2006-12-18 2007-12-17 정보 처리 시스템 및 이 시스템의 기동/복구 방법 KR101107446B1 (ko)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
JP2006340224 2006-12-18
JPJP-P-2006-340224 2006-12-18
JPJP-P-2007-198183 2007-07-30
JP2007198183 2007-07-30
PCT/JP2007/074230 WO2008075646A1 (ja) 2006-12-18 2007-12-17 情報処理システムおよび該システムの起動/リカバリ方法

Publications (2)

Publication Number Publication Date
KR20090091708A KR20090091708A (ko) 2009-08-28
KR101107446B1 true KR101107446B1 (ko) 2012-01-19

Family

ID=39536276

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020097009886A KR101107446B1 (ko) 2006-12-18 2007-12-17 정보 처리 시스템 및 이 시스템의 기동/복구 방법

Country Status (4)

Country Link
EP (1) EP2124151B1 (ko)
JP (1) JP4456653B2 (ko)
KR (1) KR101107446B1 (ko)
WO (1) WO2008075646A1 (ko)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8392762B2 (en) 2008-02-04 2013-03-05 Honeywell International Inc. System and method for detection and prevention of flash corruption
KR101188711B1 (ko) 2010-10-13 2012-10-09 (주)뉴온시스 트렁크 브이오아이피 게이트웨이 시스템에서 멀티 이미지 구동 장치 및 이를 이용한 구동방법
US8732527B2 (en) * 2011-08-16 2014-05-20 Google Inc. Secure recovery apparatus and method
WO2013103023A1 (ja) * 2012-01-05 2013-07-11 三菱電機株式会社 情報処理装置、情報処理方法、およびコンピュータプログラム
JP5870696B2 (ja) * 2012-01-06 2016-03-01 日本電気株式会社 情報処理装置、情報処理装置のシステム動作設定方法及びプログラム
JP2014089497A (ja) * 2012-10-29 2014-05-15 Mitsubishi Electric Corp 情報処理装置
JP6021597B2 (ja) * 2012-11-15 2016-11-09 三菱電機株式会社 情報処理装置、情報処理方法、およびコンピュータプログラム
TWI474163B (zh) 2012-12-17 2015-02-21 Hon Hai Prec Ind Co Ltd 基本輸入輸出系統的存取系統及方法
CN105408858B (zh) 2013-07-31 2019-11-12 惠普发展公司,有限责任合伙企业 用于计算系统的方法和系统
WO2023173362A1 (en) * 2022-03-17 2023-09-21 Micron Technology, Inc. Error information storage for boot-up procedures

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000148467A (ja) * 1998-11-05 2000-05-30 Sharp Corp 情報処理装置、情報処理装置の基本システムプログラム書換方法及び情報処理装置の基本システムプログラム書換プログラムを記録した記録媒体
JP2004013719A (ja) * 2002-06-10 2004-01-15 Fujitsu Ltd 多重化された不揮発性メモリの更新回路、及び多重化された不揮発性メモリの更新方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5793943A (en) * 1996-07-29 1998-08-11 Micron Electronics, Inc. System for a primary BIOS ROM recovery in a dual BIOS ROM computer system

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000148467A (ja) * 1998-11-05 2000-05-30 Sharp Corp 情報処理装置、情報処理装置の基本システムプログラム書換方法及び情報処理装置の基本システムプログラム書換プログラムを記録した記録媒体
JP2004013719A (ja) * 2002-06-10 2004-01-15 Fujitsu Ltd 多重化された不揮発性メモリの更新回路、及び多重化された不揮発性メモリの更新方法

Also Published As

Publication number Publication date
KR20090091708A (ko) 2009-08-28
JP4456653B2 (ja) 2010-04-28
EP2124151A1 (en) 2009-11-25
EP2124151B1 (en) 2012-06-27
WO2008075646A1 (ja) 2008-06-26
EP2124151A4 (en) 2010-09-15
JPWO2008075646A1 (ja) 2010-04-08

Similar Documents

Publication Publication Date Title
KR101107446B1 (ko) 정보 처리 시스템 및 이 시스템의 기동/복구 방법
US7900036B2 (en) System and method for implementing boot/recovery on a data processing sysem
JP4868216B2 (ja) ファームウェア更新回路およびファームウェア更新方法
US8341386B2 (en) Method for updating basic input/output system and method for repairing thereof
US20110093741A1 (en) Method for recovering bios and computer system thereof
JP4385215B2 (ja) スナップショットシミュレーション機能を有するディスクアレイ装置
CN111666111B (zh) 多节点储存系统及其固件的更新方法
CN100367225C (zh) 可以对可启动存储设备进行备份和恢复的计算设备及其备份和恢复方法
JP5950286B2 (ja) アドレス変換テーブルを書き込む装置及び方法
CN111506454A (zh) 基本输入/输出系统的恢复及更新的方法及系统
JP2006146485A (ja) 携帯端末
KR20210137922A (ko) 복구 공간으로 패리티 공간을 사용한 데이터 복구 시스템, 방법 및 장치
JP4544901B2 (ja) 記憶制御システム及びブート制御システム
CN107894894B (zh) 用于更新设备软件的系统和方法
KR101850275B1 (ko) 빠른 부팅을 위한 부트 이미지를 생성하는 방법 및 이를 수행하는 화상형성장치, 부트 이미지를 이용하여 빠른 부팅을 수행하는 방법 및 이를 수행하는 화상형성장치
JP6556980B2 (ja) ストレージ制御装置、ストレージ制御方法及びストレージ制御プログラム
KR101845467B1 (ko) 빠른 부팅을 위한 부트 이미지의 에러를 복구하는 방법 및 이를 수행하는 화상형성장치
KR101850272B1 (ko) 빠른 부팅을 위한 부트 이미지를 업데이트하는 방법 및 이를 수행하는 화상형성장치
JP3547208B2 (ja) マルチプロセッサシステム及びその構成方法
JP2006338610A (ja) レジストリ情報の修復方法および情報処理装置
US11836033B2 (en) Information processing apparatus and control method for controlling information processing apparatus
JP7056874B2 (ja) 制御装置、ディスクアレイ装置、制御方法、及びプログラム
CN114610226A (zh) 数据储存装置及维持数据储存装置正常开机的方法
JP2007058505A (ja) 情報処理装置および情報処理装置起動方法
JP2023119785A (ja) コンピュータ及びデータ不整合判定方法

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