KR20170056269A - 데이터 전송 장비의 제어관리를 위한 다중부팅 장치 및 방법 - Google Patents

데이터 전송 장비의 제어관리를 위한 다중부팅 장치 및 방법 Download PDF

Info

Publication number
KR20170056269A
KR20170056269A KR1020150159728A KR20150159728A KR20170056269A KR 20170056269 A KR20170056269 A KR 20170056269A KR 1020150159728 A KR1020150159728 A KR 1020150159728A KR 20150159728 A KR20150159728 A KR 20150159728A KR 20170056269 A KR20170056269 A KR 20170056269A
Authority
KR
South Korea
Prior art keywords
boot
booting
images
memory
information
Prior art date
Application number
KR1020150159728A
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 KR1020150159728A priority Critical patent/KR20170056269A/ko
Publication of KR20170056269A publication Critical patent/KR20170056269A/ko

Links

Images

Classifications

    • 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
    • G06F9/441Multiboot arrangements, i.e. selecting an operating system to be loaded
    • 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
    • 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

Landscapes

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

Abstract

데이터 전송 장비의 제어관리를 위한 다중부팅 장치 및 방법이 개시된다. 다중 부팅 방법은 복수의 부팅 정보들 중 선택된 부팅 정보를 식별하는 단계; 상기 식별된 부팅 정보를 이용하여 부팅하고자 하는 기능 카드들 각각에 대응하는 부팅 이미지들을 로딩하는 단계; 및 상기 로딩된 부팅 이미지들을 이용하여 부팅을 실행하는 단계를 포함하고, 상기 부팅 이미지들은 각각의 백업 부팅 이미지들이 존재하고, 상기 실행하는 단계는 상기 로딩된 부팅 이미지들을 이용하여 부팅하는 과정에서 오류가 발생하는 경우, 오류가 발생한 부팅 이미지에 대한 백업 부팅 이미지를 이용하여 재부팅을 실행할 수 있다.

Description

데이터 전송 장비의 제어관리를 위한 다중부팅 장치 및 방법{MULTI-BOOTING METHOD AND APPARATUS FOR MANAGING DATA TRANSPORT SYSTEM}
본 발명은 데이터 전송 장비의 제어관리를 위한 다중부팅 장치 및 방법에 관한 것으로, 보다 구체적으로는 데이터 전송 장비에서 기능 카드들 각각에 대응하는 부팅 이미지를 이용하여 부팅을 실행하고, 오류 발생시 이를 해결할 수 있는 장치 및 방법에 관한 것이다.
인터넷의 도래와 발전으로 개인PC와 서버를 중심으로 데이터 생산과 소비가 활발하게 진행되면서, 이를 유통시키는 데이터량이 기하급수적으로 증가하고 있다. 이에 따라 데이터 통신 장비에 걸리는 부하도 급격하게 증가해 이를 감당하기 위한 기존 장비의 업그레이드 혹은 대체가 진행되고 있다.
그러나 최근 스마트폰에 의한 데이터의 사용량이 폭발적으로 증가하면서, 데이터량의 폭증에 따른 데이터 통신 장비의 교체 요구가 비등한 반면, 장비 교체에 따른 수익의 증가는 미미한 실정이다. 따라서, 데이터 통신 장비의 교체 비용을 최소화하고 운용비용을 낮춰 데이터량의 증가와 비용 문제를 함께 해결하려는 노력이 계속 이어지고 있다.
장비의 통합과 대용량화는 장비가 차지하는 물리 공간의 축소와 에너지 소모를 낮춰 운영 비용을 절감하는데 효과가 있다. 그러나, 통합의 결과로 하나의 장비가 네트워크 상에서 감당하는 비중과 역할이 확대되어 장비의 신뢰성과 안정성에 대한 요구가 더욱 높아지고 있다.
장비의 신뢰성과 안정성은 장비내의 주요 기능 카드와 기능 카드를 구성하는 주요 디바이스 및 이들을 운용하고 조직하는 소프트웨어의 신뢰성과 안정성에 의해 좌우된다. 특히, 여러 기능 카드들로 구성되어 있는 고기능의 대용량 데이터 통신 장비의 경우, 기능의 추가, 업그레이드 및 인터페이스의 확장을 목적으로 기능 카드의 교체, 추가 및 변경 작업이 빈번히 발생할 수 있다.
이러한 과정에서 안정적인 부팅과 기능 활성화는 신뢰성 높은 장비 운영의 필수 조건이 된다. 기능 카드의 교체, 추가 및 변경 과정에서 다중 부팅 장치의 부팅/프로그램 이미지 변경은 적지 않은 시간과 번거로운 작업을 요구한다.
따라서, 데이터 통신 장비의 신속하고 효율적인 기능 카드의 교체, 추가 및 변경과 이를 통한 성능의 개선을 위해서는 다중 부팅 장치가 기능 카드에 대응하는 부팅/프로그램 이미지를 선택하여 부팅 정보를 구성하는 방법이 요구된다.
또한, 기능 카드의 안정적인 부팅 및 기능 활성화를 위해서는 부팅/프로그램 이미지의 저장, 로딩 및 실행 과정에서 발생할 수 있는 오류를 최소화하고, 오류 발생시 이를 해결할 수 있는 수단이 요구된다.
본 발명은 데이터 전송 장비의 제어관리를 위한 다중부팅 장치 및 방법에 관한 것으로, 보다 구체적으로는 데이터 전송 장비에서 기능 카드들 각각에 대응하는 부팅 이미지를 이용하여 부팅을 실행하고, 오류 발생시 이를 해결할 수 있는 장치 및 방법을 제공한다.
본 발명의 일실시예에 따른 다중 부팅 방법은 복수의 부팅 정보들 중 선택된 부팅 정보를 식별하는 단계; 상기 식별된 부팅 정보를 이용하여 부팅하고자 하는 기능 카드들 각각에 대응하는 부팅 이미지들을 로딩하는 단계; 및 상기 로딩된 부팅 이미지들을 이용하여 부팅을 실행하는 단계를 포함하고, 상기 부팅 이미지들은 각각의 백업 부팅 이미지들이 존재하고, 상기 실행하는 단계는 상기 로딩된 부팅 이미지들을 이용하여 부팅하는 과정에서 오류가 발생하는 경우, 오류가 발생한 부팅 이미지에 대한 백업 부팅 이미지를 이용하여 재부팅을 실행할 수 있다.
상기 부팅 정보는 초기 부팅 과정이나 운영체제의 부팅 이후에 선택되거나 변경될 수 있다.
상기 복수의 백업 이미지를 포함하는 부팅 이미지들은 복수의 비휘발성 메모리에 분산 또는 중복되어 저장될 수 있다.
본 발명의 일실시예에 따른 다중 부팅 방법은 완전성 검사를 통해 상기 로딩된 부팅 이미지들의 오류를 검사하는 단계를 더 포함할 수 있다.
본 발명의 일실시예에 따른 다중 부팅 장치는 복수의 부팅 이미지들을 저장하는 복수의 메모리; 상기 복수의 부팅 이미지들 중 식별된 부팅 정보를 이용하여 부팅하고자 하는 기능 카드들 각각에 대응하는 부팅 이미지들을 로딩하고, 로딩된 부팅 이미지들을 이용하여 부팅을 실행하는 프로세서를 포함하고, 상기 부팅 이미지들은 각각의 백업 부팅 이미지들이 존재하고, 상기 프로세서는 상기 로딩된 부팅 이미지들을 이용하여 부팅하는 과정에서 오류가 발생하는 경우, 오류가 발생한 부팅 이미지에 대한 백업 부팅 이미지를 이용하여 재부팅을 실행할 수 있다.
본 발명은 데이터 전송 장비의 제어관리를 위한 다중부팅 장치 및 방법에 관한 것으로, 보다 구체적으로는 데이터 전송 장비에서 기능 카드들 각각에 대응하는 부팅 이미지를 이용하여 부팅을 실행하고, 오류 발생시 이를 해결할 수 있다.
도 1은 본 발명의 일실시예에 따른 데이터 전송 장비의 제어관리를 위한 다중 부팅 장치의 개념도를 도시한 도면이다.
도 2는 본 발명의 일실시예에 따른 부팅 이미지의 백업 부팅 이미지들을 도시한 도면이다.
도 3은 본 발명의 일실시예에 따른 다중 부팅 장치 내의 비휘발성 메모리에 포함되는 부팅 이미지의 구성에 대한 예를 도시한 도면이다.
도 4는 본 발명의 일실시예에 따른 다중 부팅 방법을 플로우차트로 나타낸 도면이다.
본 명세서에 개시되어 있는 본 발명의 개념에 따른 실시예들에 대해서 특정한 구조적 또는 기능적 설명들은 단지 본 발명의 개념에 따른 실시예들을 설명하기 위한 목적으로 예시된 것으로서, 본 발명의 개념에 따른 실시예들은 다양한 형태로 실시될 수 있으며 본 명세서에 설명된 실시예들에 한정되지 않는다.
본 발명의 개념에 따른 실시예들은 다양한 변경들을 가할 수 있고 여러 가지 형태들을 가질 수 있으므로 실시예들을 도면에 예시하고 본 명세서에 상세하게 설명하고자 한다. 그러나, 이는 본 발명의 개념에 따른 실시예들을 특정한 개시형태들에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 변경, 균등물, 또는 대체물을 포함한다.
제1 또는 제2 등의 용어를 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만, 예를 들어 본 발명의 개념에 따른 권리 범위로부터 이탈되지 않은 채, 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소는 제1 구성요소로도 명명될 수 있다.
어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다. 구성요소들 간의 관계를 설명하는 표현들, 예를 들어 "~사이에"와 "바로~사이에" 또는 "~에 직접 이웃하는" 등도 마찬가지로 해석되어야 한다.
본 명세서에서 사용한 용어는 단지 특정한 실시예들을 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 명세서에서, "포함하다" 또는 "가지다" 등의 용어는 설시된 특징, 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것이 존재함으로 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가진다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 의미를 갖는 것으로 해석되어야 하며, 본 명세서에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
이하, 본 발명의 실시예를 첨부된 도면을 참조하여 상세하게 설명한다.
도 1은 본 발명의 일실시예에 따른 데이터 전송 장비의 제어관리를 위한 다중 부팅 장치의 개념도를 도시한 도면이다.
다중 부팅 장치(100)는 프로세서(110), 제1 메모리(120), 제2 메모리(130), 제3 메모리(140), 로컬버스버퍼(150) 및 제어로직(160)으로 구성될 수 있다. 다중 부팅 장치(100)는 데이터 전송 장비의 주요 기능 카드에 탑재되어 기능 카드를 초기화하거나 기능 카드를 관리할 수 있다. 이때, 다중 부팅 장치(100)는 기능 카드에 탈부착이 가능한 형태이거나 기능 카드와 일체된 형태로 구성될 수 있다.
다중 부팅 장치(100)가 기능 카드에 탈부착이 가능한 형태일 경우, 다중 부팅 장치(100)는 내부의 모듈 커넥터(170)를 통해 기능 카드와 물리적으로 연결될 수 있으며, 기능 카드와의 인터페이스 기능을 수행할 수 있다.
이때, 다중 부팅 장치(100)는 병렬버스형태인 로컬버스(Local Bus) 정합, 고속의 직렬버스형태인 피씨아이(Pripheral Component Interconnect, PCI) 정합, 저속의 직렬버스형태인 아이투씨(Inter-Integrated Circuit, I2C) 정합 및 에스피아이(Serial Peripheral Interface, SPI) 정합을 이용하여 데이터 전송 장비 내의 기능 카드와 연결된 복수의 디바이스들을 제어할 수 있다.
또한, 다중 부팅 장치(100)는 이더넷(Ethernet) 정합을 이용하여 복수의 기능 카드를 포함하는 데이터 전송 장비에서 기능 카드들 사이의 통신 기능을 수행할 수 있다. 다중 부팅 장치(100)는 RS-232와 같은 직렬 포트 방식의 정합을 이용하여 기능 카드의 콘솔(Console) 기능을 수행할 수 있다.
프로세서(110)는 데이터 전송 장비 내의 기능 카드들을 부팅시키기 위한 프로그램 코드를 실행할 수 있다. 이때, 프로그램 코드는 비휘발성 메모리인 제2 메모리(130) 또는 제3 메모리(140)로부터 휘발성 메모리인 제1 메모리(120)로 로딩될 수 있다.
제2 메모리(130)와 제3 메모리(140)는 비휘발성 메모리로 초기부팅코드 및 부팅/프로그램 이미지 등을 저장할 수 있다. 구체적으로 제2 메모리(130)와 제3 메모리(140)는 노어(NOR)형 플래시 메모리인 노어롬(NOR-ROM) 또는 낸드(NAND)형 플래시 메모리인 낸드롬(NAND-ROM)일 수 있다. 제2 메모리(130)와 제3 메모리(140)에 저장될 수 있는 초기부팅코드 및 부팅/프로그램 이미지들은 도3에서 자세히 설명하도록 한다.
제어로직(160)은 데이터 전송 장비 내의 기능 카드들을 부팅할 때 필요한 부팅 정보를 저장할 수 있다. 이러한, 부팅 정보는 제어로직(160) 외에도 제2 메모리(130)와 제3 메모리(140)와 같은 비휘발성 메모리에 저장될 수 있다.
이외에도, 다중 부팅 장치(100)는 온도측정 기능을 수행하는 온도센서, 전원공급 기능을 수행하는 파워블록, 전원감시 및 리셋 기능을 수행하는 리셋전원장치 등을 포함할 수 있다.
이때, 다중 부팅 장치(100) 내의 비휘발성 메모리인 제2 메모리(130), 제3 메모리(140) 및 제어로직(160)은 내부의 로컬버스에 연결될 수 있으며, 이러한 내부의 로컬버스는 로컬버스버퍼(150)을 통해 로컬버스(Local Bus) 정합과 연결될 수 있다.
다중 부팅 장치(100)는 데이터 전송 장치 내의 기능 카드들을 부팅시키기 위해 필요한 부팅/프로그램 이미지들을 비휘발성 메모리인 제2 메모리(130)와 제3 메모리(140)에 분산하여 저장할 수 있다. 이때, 다중 부팅 장치(100)는 부팅/프로그램 이미지들을 비휘발성 메모리인 제2 메모리(130)와 제3 메모리(140)에 중복하여 저장할 수도 있다. 이를 통해 부팅 과정에서 특정 부팅/프로그램 이미지에서 오류가 발생한 경우에도, 다중 부팅 장치(100)는 분산 및 중복 저장된 부팅/프로그램 이미지를 이용하여 안전하게 부팅을 실행할 수 있다.
다중 부팅 장치(100)는 데이터 전송 장비 내의 기능 카드를 확인하고, 확인된 기능 카드에 대응하는 부팅/프로그램 이미지를 비휘발성 메모리인 제2 메모리(130)와 제3 메모리(140)로부터 선택하여 부팅 시 이용할 수 있다. 이때, 다중 부팅 장치(100)는 데이터 전송 장비의 기능 변경 등의 이유로 부팅 과정 중에 특정 부팅/프로그램 이미지의 교체가 필요한 경우, 부팅 정보를 변경하여 해당 부팅/프로그램 이미지를 로딩해 부팅을 실행할 수 있다.
다중 부팅 장치(100)는 이와 같이 초기 부팅 단계는 물론 운영체제(Operationg System, OS) 부팅 이후에도 부팅 정보를 변경하여 부팅 시 필요한 부팅/프로그램 이미지의 구성을 변경할 수 있다.
이때, 다중 부팅 장치(100)는 부팅하고자 하는 기능 카드를 확인하고, 확인된 기능 카드에 대응하는 부팅/프로그램 이미지에 대한 정보를 변경하여 부팅 시 필요한 부팅/프로그램 이미지의 구성을 변경할 수 있다.
또는, 다중 부팅 장치(100)는 복수의 부팅 정보들을 구성하고, 복수의 부팅 정보들 중 사용자에 의해 선택된 부팅 정보를 이용하여 부팅 시 필요한 부팅/프로그램 이미지의 구성을 변경할 수 있다. 이 경우, 다중 부팅 장치(100)는 기본이 되는 디폴트 부팅 정보를 선택하고, 선택된 부팅 정보를 변경하고 저장할 수 있는 명령을 통해 복수의 부팅 정보들을 구성할 수 있다.
다중 부팅 장치(100)는 복수의 부팅 정보들을 사용자 인터페이스를 통해 변경하거나, 하드웨어의 가변 점퍼를 이용하여 변경할 수 있다.
도 2는 본 발명의 일실시예에 따른 부팅 이미지의 백업 부팅 이미지들을 도시한 도면이다.
데이터 전송 장비 내의 기능 카드들을 부팅시키기 위하여 필요한 부팅/프로그램 이미지들은 비휘발성 메모리인 제2 메모리(130)와 제3 메모리(140)에 저장될 수 있다.
이때, 다중 부팅 장치(100)는 예기치 못한 오류에 대비하여 각각의 부팅/프로그램 이미지들에 대한 백업 부팅/프로그램 이미지를 생성하여 저장할 수 있다. 다중 부팅 장치(100)는 부팅 과정에서 특정 부팅/프로그램 이미지에서 오류가 발생한 경우, 비휘발성 메모리인 제2 메모리(130)와 제3 메모리(140)에 분산 및 중복 저장된 백업 부팅/프로그램 이미지를 로딩하여 부팅을 재시도 할 수 있다.
도 3은 본 발명의 일실시예에 따른 다중 부팅 장치 내의 비휘발성 메모리에 포함되는 부팅 이미지의 구성에 대한 예를 도시한 도면이다.
다중 부팅 장치(100) 내의 프로세서(110)는 전원이 인가되거나, 리셋 상태에서 해제된 직후, 비휘발성 메모리인 제2 메모리(130)와 제3 메모리(140)로부터 초기부팅코드를 로딩하여 실행할 수 있다.
그러면, 비휘발성 메모리인 제2 메모리(130) 또는 제3 메모리(140)에 포함된 부트로더(300)가 상기 초기부팅코드의 실행을 포함하여 프로세서(110)의 설정 및 초기 부팅 과정을 수행할 수 있다.
먼저, 부트로더(300)는 초기 부팅 과정에서 부트로더(300) 자신을 포함하여 데이터 전송 장비 내의 기능 카드를 부팅하기 위하여 필요한 부팅/프로그램 이미지들을 제1 메모리(120)로 로딩하고 실행할 수 있다.
이때, 제1 메모리(120)는 휘발성 메모리일 수 있으며, 제1 메모리(120)로 로딩되는 부팅/프로그램 이미지들은 비휘발성 메모리인 제2 메모리(130)와 제3 메모리(140)에 저장된 것일 수 있다.
본 발명의 일실시예에 따라 노어롬(NOR ROM)(310)은 다중 부팅 장치(100) 내의 제2 메모리(130)에 대응할 수 있다. 노어롬(310)은 디지털 시어터 시스템(Digital Theater System, DTS) 이미지(311~313), 운영체제(Operating System, OS) 이미지(314), 루트파일시스템(Root File System, RFS)(315), 부가정보(316), 부팅 정보(317) 및 부트로더 이미지(318)를 포함할 수 있다.
그리고 본 발명의 일실시예에 따라 낸드롬(NAND ROM)(320)은 다중 부팅 장치(100) 내의 제3 메모리(140)에 대응할 수 있다. 낸드롬(320)은 운영체제 이미지(321~322), 제어로직 이미지(323), 이미지정보(324), 램디스크(RAMDisk) 이미지(325~326), 루트파일시스템 이미지(327) 및 유저영역 이미지(328)를 포함할 수 있다.
이때, 노어롬(310)과 낸드롬(320)에 포함되는 부팅/프로그램 이미지들은 다양하게 구성될 수 있으며, 분산되거나 중복되어 저장될 수 있다.
부트로더(300)는 노어롬(310)과 낸드롬(320)에 포함된 부팅정보(317), 이미지정보(324) 및 부가정보(316)을 이용하여 데이터 전송 장비 내의 기능 카드들을 부팅시키기 위한 부팅/프로그램 이미지들(330~360)을 구성할 수 있다.
부트로더(300)는 구성된 부팅/프로그램 이미지들(330~360)을 제1 메모리(120)에 로딩하여 실행함으로써 부팅을 실시할 수 있다. 이 과정에서 특정 부팅/프로그램 이미지에 오류가 확인된 경우, 부트로더(300)는 노어롬(310)과 낸드롬(320)에 저장되어 있는 오류가 확인된 특정 부팅/프로그램 이미지에 대한 백업 부팅/프로그램 이미지를 로딩하여 실행시킴으로써 오류를 해결하고 정상적인 부팅이 이루어지게 할 수 있다.
이후, 부트로더(300)는 확인된 오류에 대한 결과와 관련 로그(log) 및 백업 부팅/프로그램 이미지의 대체에 따른 부팅/프로그램 이미지들(330~360)의 재구성 결과를 부팅정보(317), 이미지정보(324) 및 부가정보(316)에 저장할 수 있다.
부트로더(300)는 현재 진행 중인 부팅을 계속 실행하고, 이후의 부팅에서는 새롭게 구성된 부팅/프로그램 이미지들(330~360)을 로딩하여 부팅을 실행할 수 있다.
그리고, 부트로더(300)는 운영체제 부팅 이후에 부팅정보(317), 이미지정보(324) 및 부가정보(316)의 내용을 자유롭게 읽고 쓸 수 있는 사용자 인터페이스를 제공할 수 있다. 이를 통해 사용자는 오류의 종류, 내용 및 현재 설정되어 있는 부팅/프로그램 이미지들(330~360)의 구성 정보를 확인하고, 부팅/프로그램 이미지의 구성을 변경할 수 있다.
도 4는 본 발명의 일실시예에 따른 다중 부팅 방법을 플로우차트로 나타낸 도면이다.
단계(401)에서, 다중 부팅 장치(100)는 전원이 인가되거나 리셋 상태에서 해제되면, 비휘발성 메모리인 제2 메모리(130)와 제3 메모리(140)에 포함된 초기부팅 코드를 이용하여 부트로더(300)를 실행시킬 수 있다.
그러면, 부트로더(300)는 초기부팅코드의 실행을 포함하여 프로세서(110)의 설정 및 디바이스 초기화 같은 초기 부팅 과정을 수행할 수 있다.
단계(402)에서, 부트로더(300)는 부팅정보에 대한 변경요청을 확인할 수 있다. 만약 단계(403)과 같이 부팅정보에 대한 변경요청이 확인되면, 부트로더(300)는 초기 부팅 과정에서 부팅하고자 하는 기능 카드를 확인하고, 확인된 기능 카드에 대응하는 부팅/프로그램 이미지에 대한 정보를 이용하여 부팅정보를 변경하고 저장할 수 있다. 부트로더(300)는 변경된 부팅정보를 이용하여 이후 부팅 과정을 실행할 수 있다.
또는, 부트로더(300)는 복수의 부팅정보들 중 사용자에 의해 선택된 부팅정보를 이용하여 이후의 부팅 과정을 실행 할 수 있다.
단계(404)에서, 부트로더(300)는 비휘발성 메모리인 제2 메모리(130)와 제3 메모리(140) 또는 제어로직(160)에 저장된 부팅정보(316)를 로딩할 수 있다.
단계(405)에서, 부트로더(300)는 비휘발성 메모리인 제2 메모리(130)와 제3 메모리(140)에 포함된 부팅/프로그램 이미지를 제1 메모리(120)로 로딩할 수 있다. 이때, 부트로더(300)는 단계(404)에서 로딩된 부팅정보(316)에 대응하는 부팅/프로그램 이미지들(330~360)을 로딩할 수 있다.
단계(406)에서, 부트로더(300)는 부팅/프로그램 이미지들(330~360)을 로딩하는 과정에서 또는 로딩이 완료된 이후 부팅/프로그램 이미지들(330~360)에 대한 완전성 검사를 수행하여 오류를 확인할 수 있다.
또한, 부트로더(300)는 로딩된 부팅/프로그램 이미지들(330~360)을 실행하는 과정에서 부팅/프로그램 이미지들(330~360)에 대한 완전성 검사를 수행하여 오류를 확인할 수 있다.
이러한 완전성 검사는 부트로더(300)가 부팅/프로그램 이미지들(330~360)을 로딩하는 과정 또는 로딩이 완료된 이후에 필요에 따라 모두 혹은 일부만 수행될 수 있다.
단계(407)에서, 부트로더(300)는 특정 부팅/프로그램 이미지에 오류가 확인된 경우, 비휘발성 메모리인 제2 메모리(130)와 제3 메모리(140)에 저장되어 있는 부팅/프로그램 이미지들 중 오류가 확인된 특정 부팅/프로그램 이미지에 대한 백업 부팅/프로그램 이미지를 로딩하여 실행시킬 수 있다.
이 과정에서 부트로더(300)는 백업 부팅/프로그램 이미지를 로딩하는 과정이나 로딩이 완료된 이후에 상기 백업 부팅/프로그램 이미지에 대한 완전성 검사를 수행하여 오류를 확인할 수 있다.
만약 백업 부팅/프로그램 이미지에서도 오류가 확인된 경우, 부트로더(300)는 단계(409, 410)과 같이 제2, 제3의 백업 부팅/프로그램 이미지를 로딩하여 실행시켜 오류를 확인할 수 있다.
이때, 백업 부팅/프로그램 이미지에 오류가 없는 경우, 부트로더(300)는 확인된 오류에 대한 결과와 관련 로그(log) 및 백업 부팅/프로그램 이미지의 대체에 따른 부팅/프로그램 이미지들(330~360)의 재구성 결과를 부팅정보(317), 이미지정보(324) 및 부가정보(316)에 저장할 수 있다.
만약, 비휘발성 메모리인 제2 메모리(130)와 제3 메모리(140)에 저장되어 있는 특정 백업 부팅/프로그램 이미지들에서 모두 오류가 발생된 경우, 부트로더(300)는 단계(411)과 같이 부팅을 멈출 수 있다.
단계(412)에서, 부트로더(300)는 정상적인 부팅/프로그램 이미지들을 이용하여 운영체제 및 루트파일시스템의 부팅을 계속 진행할 수 있다.
이와 같이 다중 부팅 장치(100)는 데이터 전송 장비 내에 포함된 다양한 기능 카드들의 변경 및 성능 개선을 용이하게 하고, 완전성 검사를 통한 오류 확인을 통해 안정되고 신뢰성 높은 기능 카드의 부팅과 운영을 가능하게 할 수 있다.
이상에서 설명된 장치는 하드웨어 구성요소, 소프트웨어 구성요소, 및/또는 하드웨어 구성요소 및 소프트웨어 구성요소의 조합으로 구현될 수 있다. 예를 들어, 실시예들에서 설명된 장치 및 구성요소는, 예를 들어, 프로세서, 콘트롤러, ALU(arithmetic logic unit), 디지털 신호 프로세서(digital signal processor), 마이크로컴퓨터, FPGA(field programmable gate array), PLU(programmable logic unit), 마이크로프로세서, 또는 명령(instruction)을 실행하고 응답할 수 있는 다른 어떠한 장치와 같이, 하나 이상의 범용 컴퓨터 또는 특수 목적 컴퓨터를 이용하여 구현될 수 있다. 처리 장치는 운영 체제(OS) 및 상기 운영 체제 상에서 수행되는 하나 이상의 소프트웨어 애플리케이션을 수행할 수 있다. 또한, 처리 장치는 소프트웨어의 실행에 응답하여, 데이터를 접근, 저장, 조작, 처리 및 생성할 수도 있다. 이해의 편의를 위하여, 처리 장치는 하나가 사용되는 것으로 설명된 경우도 있지만, 해당 기술분야에서 통상의 지식을 가진 자는, 처리 장치가 복수 개의 처리 요소(processing element) 및/또는 복수 유형의 처리 요소를 포함할 수 있음을 알 수 있다. 예를 들어, 처리 장치는 복수 개의 프로세서 또는 하나의 프로세서 및 하나의 콘트롤러를 포함할 수 있다. 또한, 병렬 프로세서(parallel processor)와 같은, 다른 처리 구성(processing configuration)도 가능하다.
소프트웨어는 컴퓨터 프로그램(computer program), 코드(code), 명령(instruction), 또는 이들 중 하나 이상의 조합을 포함할 수 있으며, 원하는 대로 동작하도록 처리 장치를 구성하거나 독립적으로 또는 결합적으로(collectively) 처리 장치를 명령할 수 있다. 소프트웨어 및/또는 데이터는, 처리 장치에 의하여 해석되거나 처리 장치에 명령 또는 데이터를 제공하기 위하여, 어떤 유형의 기계, 구성요소(component), 물리적 장치, 가상 장치(virtual equipment), 컴퓨터 저장 매체 또는 장치, 또는 전송되는 신호 파(signal wave)에 영구적으로, 또는 일시적으로 구체화(embody)될 수 있다. 소프트웨어는 네트워크로 연결된 컴퓨터 시스템 상에 분산되어서, 분산된 방법으로 저장되거나 실행될 수도 있다. 소프트웨어 및 데이터는 하나 이상의 컴퓨터 판독 가능 기록 매체에 저장될 수 있다.
실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 실시예를 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 실시예의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
이상과 같이 실시예들이 비록 한정된 실시예와 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 상기의 기재로부터 다양한 수정 및 변형이 가능하다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다.
그러므로, 다른 구현들, 다른 실시예들 및 특허청구범위와 균등한 것들도 후술하는 특허청구범위의 범위에 속한다.
100 : 다중 부팅 장치
110 : 프로세서
120 : 제1 메모리
130 : 제2 메모리
140 : 제3 메모리
150 : 로컬버스버퍼
160 : 제어로직
170 : 모듈 커넥터

Claims (1)

  1. 복수의 부팅 정보들 중 선택된 부팅 정보를 식별하는 단계;
    상기 식별된 부팅 정보를 이용하여 부팅하고자 하는 기능 카드들 각각에 대응하는 부팅 이미지들을 로딩하는 단계; 및
    상기 로딩된 부팅 이미지들을 이용하여 부팅을 실행하는 단계
    를 포함하고,
    상기 부팅 이미지들은 각각의 백업 부팅 이미지들이 존재하고,
    상기 실행하는 단계는,
    상기 로딩된 부팅 이미지들을 이용하여 부팅하는 과정에서 오류가 발생하는 경우, 오류가 발생한 부팅 이미지에 대한 백업 부팅 이미지를 이용하여 재부팅을 실행하는 다중 부팅 방법.
KR1020150159728A 2015-11-13 2015-11-13 데이터 전송 장비의 제어관리를 위한 다중부팅 장치 및 방법 KR20170056269A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020150159728A KR20170056269A (ko) 2015-11-13 2015-11-13 데이터 전송 장비의 제어관리를 위한 다중부팅 장치 및 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020150159728A KR20170056269A (ko) 2015-11-13 2015-11-13 데이터 전송 장비의 제어관리를 위한 다중부팅 장치 및 방법

Publications (1)

Publication Number Publication Date
KR20170056269A true KR20170056269A (ko) 2017-05-23

Family

ID=59050264

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020150159728A KR20170056269A (ko) 2015-11-13 2015-11-13 데이터 전송 장비의 제어관리를 위한 다중부팅 장치 및 방법

Country Status (1)

Country Link
KR (1) KR20170056269A (ko)

Similar Documents

Publication Publication Date Title
US10353779B2 (en) Systems and methods for detection of firmware image corruption and initiation of recovery
US10055218B2 (en) System and method for adding and storing groups of firmware default settings
JP5909264B2 (ja) セキュア・リカバリ装置及び方法
US7849454B2 (en) Automatic firmware corruption recovery and update
US9298470B2 (en) Method and apparatus for selecting bios program for a processor
US20170060697A1 (en) Information handling system with persistent memory and alternate persistent memory
US9448889B2 (en) BIOS failover update with service processor
US8782469B2 (en) Request processing system provided with multi-core processor
US9448808B2 (en) BIOS update with service processor without serial peripheral interface (SPI) access
US9218248B2 (en) Recovering from a defective boot image
US9459884B2 (en) Self-healing using an alternate boot partition
CN106598637B (zh) 节点内的部件的选择性加载方法
US10289423B2 (en) Management controller
US10146551B2 (en) Initializing and reconfiguring replacement motherboards
US9471256B2 (en) Systems and methods for restoring data in a degraded computer system
US20240103971A1 (en) Systems and methods for error recovery in rebootless firmware updates
US9979799B2 (en) Impersonating a specific physical hardware configuration on a standard server
US11977877B2 (en) Systems and methods for personality based firmware updates
US11675664B2 (en) Maintaining data integrity through power loss with operating system control
KR20170056269A (ko) 데이터 전송 장비의 제어관리를 위한 다중부팅 장치 및 방법
CN115129384A (zh) 一种电子设备的启动程序的运行方法和电子设备
KR101564144B1 (ko) 펌웨어 관리 장치 및 방법
US20240104251A1 (en) Systems and methods for multi-modal firmware updates
US11755334B2 (en) Systems and methods for augmented notifications in remote management of an IHS (information handling system)
US10791024B1 (en) Adaptive network interface configuration