Traitement en cours

Veuillez attendre...

Paramétrages

Paramétrages

Aller à Demande

1. KR1020030036857 - METHOD AND APPARATUS FOR BOOTING THE OPERATING ENVIRONMENT OF AN AUTONOMOUS SUBSYSTEM

Note: Texte fondé sur des processus automatiques de reconnaissance optique de caractères. Seule la version PDF a une valeur juridique

[ KO ]
명 세 서
메인 운영 체제의 관여없이 컴퓨터 기반 시스템 내의 자율 서브시스템의 동작 환경을 부팅하기 위한 방법 및 장치{METHOD AND APPARATUS FOR BOOTING THE OPERATING ENVIRONMENT OF AN AUTONOMOUS SUBSYSTEM IN A COMPUTER BASED SYSTEM WITHOUT INVOLVEMENT OF THE MAIN OPERATING SYSTEM}
기 술 분 야
본 발명은 컴퓨터 분야에 속하는 것으로, 특히, 메인 운영 체제의 관여없이 서브시스템의 동작 환경을 부팅(booting)하는 것에 관한 것이다.

발명이 속하는 기술 및 그 분야의 종래기술
컴퓨터 기반 시스템들이 점점 이동화(mobile) 되고 있다. 이러한 이동성(mobility)은 종종 유용성(usability)에 중점을 둔다. 유용성은 보다 긴 시간 주기 동안에 그 장치를 동작시키기 위한 능력으로 확장된다. 이 시간 주기는, 특히, 배터리로 동작되는 장치의 전력 소모와 관계가 있다. 이에 따라, 높은 전력 소모는 문제들을 야기할 수 있다.
전력 소모를 감소시키기 위한 여러 방법들이 시도되어 왔다. 하나의 방법은 액티브 상태가 아닐 때에 장치를 파워오프(power off)하는 것이다. 다른 방법은 장치를 아이들(idle) 모드, 슬립(sleep) 모드, 하이버네이션(hibernation) 모드 등과 같은 여러 가지 저전력 상태로 만드는 것을 포함한다. 이러한 방법은 회로 또는 소자들의 일부를 턴오프하는 것, 서브시스템 및/또는 메인 시스템을 파워다운(power down)하는 것, 공급 전압을 낮추는 것, 클럭 메커니즘을 바꾸는 것, 예로, RAM으로부터 디스크 저장 장치로 데이터를 전송하는 것 등을 포함할 수 있다.
이러한 저전력 상태로 일단 나가면, 컴퓨터 기반 시스템은 운영 체제를 재시작(resume)하거나 또는 부팅하여야 한다. 운영 체제의 부팅 또는 재시작 후에, 연산을 수행하기 위해 애플리케이션이 실행될 수 있다. 운영 체제를 부팅하는데 필요한 시간은 신속한 응답을 필요로 하는 서브시스템에 있어서 문제가 될 수 있다. 부팅 프로세스 동안에 소모되는 전력도 역시 배터리로 동작하는 장치에 있어서 문제가 될 수 있다.

발명의 상세한 설명
발명의 요약
메인 운영 체제의 관여없이 컴퓨터 기반 시스템 내의 자율 서브시스템의 동작 환경을 부팅하기 위한 방법 및 장치가 기재되어 있다. 상기 서브시스템 부팅 방법은 서브시스템 부트 지시자를 검색하는 단계, 및 상기 서브시스템 부트 지시자에 기반하여 서브시스템으로 정보를 전송하는 단계를 포함한다.

도면의 간단한 설명
본 발명은 제한적이 아니라 예시적인 방법으로 첨부된 도면에 도시되어 있고, 여기서, 동일한 참조부호는 유사한 구성요소를 나타낸다.
도1은 네트워크형 컴퓨터 환경을 도시한 도면.
도2는 컴퓨터 시스템의 블록도.
도3, 도4 및 도5는 본 발명의 여러 실시예들을 도시한 순서도.
도6 및 도7은 본 발명의 여러 실시예들을 도시한 블록도.

실 시 예
메인 운영 체제의 관여없이 컴퓨터 기반 시스템 내의 자율 서브시스템의 동작 환경을 부팅하기 위한 방법 및 장치가 설명된다. 본 발명의 논의를 목적으로, 시스템이 그 자신을 시동(start up)할 수 있는 시퀀스를 설명하기 위하여, 이 기술분야에서 주지된 여러 가지 용어들이 사용된다. 이러한 시동은 종종 부트(boot) 또는 부팅 프로세스(booting process)로 언급된다. 부팅은, 예를 들면, 장치로의 초기 전력 인가로부터 이루어져, 종종 파워온(power on) 또는 콜드 부트(cold boot)라고 부른다. 부팅은 부분적으로 이미 전원이 공급된 시스템에서 이루어질 수 있다. 부팅은 전체적으로 전원이 공급된 시스템에서 이루어져, 종종 웜 부트(warm boot) 또는 리셋이라고 부른다. 부트 시퀀스는, 파워 스위치, 리셋 버튼, 수신 신호 등과 같은 자극의 결과로서 부가적인 명령어 및/또는 데이터를 획득하는 것을 포함한다. 부가 명령어 및/또는 데이터의 획득은, 예를 들면, 하드 디스크, 플로피 디스크, 네트워크, 플래시 메모리 등으로부터 이루어질 수 있다. 부트 프로세스 결과, 컴퓨터 기반 장치는 부가 정보를 수신하고 프로그램을 실행할 수 있게 하는 동작 모드가 된다. 일례로 Window ?운영 체제 또는 Linux ?운영 체제를 이용하는 퍼스널 컴퓨터의 파워업 시퀀스가 있다.
셧다운(shutdown) 이라는 용어는, 이에 제한되지는 않지만, 전원을 완전히 셧오프(shutoff)하거나, 전원을 부분적으로 셧다운하거나, 상이한 전압으로 동작하거나, 상이한 주파수로 동작하는 등에 의해, 장치, 시스템 또는 서브시스템을 제어하는 것이라는 것이 이해될 것이다. 셧다운되는 장치, 시스템, 서브시스템 또는 장비는, 다른 것들 중에서, 전력 소모를 줄이도록 의도된다. 전력 소모를 줄이기 위한 많은 방법들이 존재한다. 하나의 방법은 액티브 상태가 아닐 때에 장치를 파워오프하는 것이다. 다른 방법은 장치를 아이들 모드, 슬립 모드, 하이버네이션 모드 등과 같은 여러 가지 저전력 상태로 만드는 것을 포함한다. 이러한 방법은 회로 또는 소자들의 일부를 턴오프하는 것, 서브시스템 및/또는 메인 시스템을 파워다운하는 것, 공급 전압을 낮추는 것, 클럭 메커니즘을 바꾸는 것 등을 포함할 수 있다.
머신-판독가능 매체는 머신(예로, 컴퓨터)에 의해 판독될 수 있는 형식으로 정보를 저장하거나 전송하기 위한 모든 메커니즘을 포함한다는 것이 알려져 있다. 예를 들면, 머신-판독가능 매체는 ROM(read only memory); RAM(random access memory); 자기 디스크 저장 매체; 광 저장 매체; 플래시 메모리 장치; 전기, 광학, 어쿠스틱 또는 그 밖의 다른 형식의 전파 신호(예로, 반송파, 적외선 신호, 디지털 신호 등) 등을 포함한다.
도1은 전술된 기술이 적용될 수 있는 네트워크 환경을 도시하고 있다. 도시된 바와 같이, 몇몇 컴퓨터 시스템들이 M개의 서버(104-1 ~ 104-M) 및 N개의 클라이언트(108-1 ~ 108-N) 형식으로 네트워크(예로, 인터넷)를 통해 서로 연결된다. 대안적으로, 네트워크(102)는 LAN(Local Area Network), WAN(Wide Area Network), 위성 링크, 광섬유 네트워크, 케이블 네트워크, 또는 이들 및/또는 다른 것들의 조합 중의 하나 또는 그 이상이거나, 또는 이를 포함할 수 있다. 여기서 기재되는 방법 및 장치는, LAN, WAN, 시스템 버스, 디스크 드라이브, 저장 장치 등과 같은 국부(local) 또는 원격 통신 수단 또는 장치 형태로 적용될 수 있다.
도2는 도1에 도시된 클라이언트 및 서버 중 어느 것으로 대표될 수 있는 종래의 퍼스널 컴퓨터를 블록도 형식으로 도시한 것이다. 이 블록도는 고 레벨의 개념적 표현이며, 다양한 방법 및 다양한 아키텍처로 구현될 수 있다. 버스 시스템(202)은 CPU(Central Processing Unit)(204), ROM(Read Only Memory)(206), RAM(Random Access Memory)(208), 저장 장치(210), 디스플레이 장치(220), 오디오 장치(222), 키보드(224), 포인터(226), 각종 입/출력(I/O) 장치(228), 및 통신 장치(230)를 상호 연결한다. 버스 시스템(202)은, 예를 들면, 시스템 버스, PCI(Peripheral Component Interconnect), AGP(Advanced Graphics Port), SCSI(Small Computer System Interface), IEEE(Institute of Electrical and Electronics Engineers) 표준안 1394호(FireWire) 등과 같은 버스 중 하나 또는 그 이상이 될 수 있다. CPU(204)는 하나이거나 다수이거나, 또는 분산형 컴퓨팅 리소스(distributed computing resource)일 수 있다. ROM(206)은 마스크 프로그래머블(mask programmable), 플래시 등과 같은 프로그램가능한 비-휘발성 메모리 중 어떤 형태가 될 수 있다. RAM(208)은, 예를 들면, 정적, 동적, 동기식, 비동기식 또는 이들의 조합으로 이루어질 수 있다. 저장 장치(210)는 CD(Compact Disc), DVD(Digital Versatile Disk), 하드 디스크, 광 디스크, 테이프, 플래시, 메모리 스틱, 비디오 리코더 등이 될 수 있다. 디스플레이 장치(220)는, 예를 들면, CRT(Cathode Ray Tube), LCD(Liquid Crystal Display), 프로젝션 시스템, TV 등이 될 수 있다. 오디오 장치(222)는 모노포닉(monophonic), 스테레오, 3차원 사운드 카드 등이 될 수 있다. 키보드(224)는 키보드, 전자 건반, 키패드, 일련의 스위치 등일 수 있다. 포인터(226)는, 예를 들면, 마우스, 터치패드, 트랙볼, 조이스틱 등이 될 수 있다. I/O 장치(228)는 I/O 포트(229)를 통해 다른 장치 또는 시스템에 선택적으로 연결할 수 있는 음성 명령 입력 장치, 지문 입력 장치, 스마트 카드 슬롯, PC 카드 인터페이스, 가상 현실 액세서리 등이 될 수 있다. 각종 I/O 장치(228)는 I/O 포트(229)를 갖는 MIDI(Musical Instrument Digital Interface)가 될 수 있다. 통신 장치(230)는, 예를 들면, LAN 커넥션을 위한 이더넷(Ethernet) 어댑터, 위성 커넥션, 셋탑 박스 어댑터, xDSL(Digital Subscriber Line) 어댑터, 무선 모뎀, 통상의 전화 모뎀, 직통 전화 커넥션, HFC(Hybrid-Fiber Coax) 커넥션, 케이블 모뎀 등이 될 수 있다. 외부 커넥션 포트(232)는, 필요에 따라, 통신 장치(230)를 통해 원격 장치와 버스 시스템(202) 사이에 인터커넥션(상호접속)을 제공할 수 있다. 예를 들면, 통신 장치(230)는 커넥션 포트(232)를 통해, 예로, 외부 DSL 모뎀에 연결되는 이더넷 어댑터가 될 수 있다. 컴퓨터 시스템의 실제 구현에 따라, 컴퓨터 시스템은 이 블록도내의 구성요소들의 일부, 전부 또는 재배열을 포함할 수 있다. 예를 들면, 신 클라이언트(thin client)가 통상적인 키보드가 없는 무선 핸드 헬드 장치로 구성될 수 있다. 이에 따라, 도2의 시스템에 대한 많은 변형이 가능하다.
도1을 다시 참조하면, 클라이언트(108-1 ~ 108-N)는, 네트워크(102)를 통해 서버(104-1 ~ 104-M)와 같은 서버들로 대표되는 웹사이트, 애플리케이션 서비스 프로바이더, 서치 엔진 및/또는 데이터베이스 리소스에 연결된다. 대개 정보가 서버(104-1 ~ 104-M) 상에 존재하는 동안에, 웹 브라우저 및/또는 다른 애플리케이션이 클라이언트(108-1 ~ 108-N) 상에서 실행된다. 설명의 편의를 위해, 본 기술의 일실시예를 예시하도록 단일 클라이언트(108-1)가 고려된다. 이러한 기술이 다수의 클라이언트에 쉽게 적용될 수 있다는 것은 명백할 것이다.
도1에서, 클라이언트(108-1)는 네트워크에 액세스하기 위한 능력을 갖는 부트 시퀀스를 실행할 것이다. 이 능력은 부팅 또는 인터넷 및/또는 다른 네트워크를 통해 서버로부터의 갱신(update)을 가능하게 한다. 개정된 부팅 코드 및/또는 데이터의 설치 및 갱신 방법은 본 발명의 이해를 위해 반드시 필요하지는 않다.
본 발명에서, 서브시스템과 같은 장치를 부팅하는데 필요한 정보는, 이에 제한되지는 않지만, CPU(204), ROM(206), 저장 장치(210) 등에 구체화된다. 이 부트 정보는, 이에 제한되지는 않지만, 서브시스템을 부팅하기 위한 서브시스템 부트 지시자, 실제 부트 코드 및/또는 데이터 등으로 구성될 수 있다. 추가로, 예를 들면, 이더넷 어댑터가 될 수 있는 통신 장치(230)를 통한 액세스는 네트워크에 대한 액세스를 가능하게 하고, 여기서, 서브시스템 부트 지시자 및/또는 부트 코드 정보가 검색될 수 있다.
서브시스템은, 이에 제한되지는 않지만, 도2의 구성요소들 중 하나 또는 그 이상이 될 수 있다. 예를 들면, 저장 장치(210)는 데이터가 어떻게 저장되고 검색되는지를 취급하는 서브시스템을 포함할 수 있다. 오디오 장치(222)는, 예를 들면, 언제 스피커를 파워다운하는지를 취급하는 서브시시템을 포함할 수 있다. 통신 장치(230)는, 예를 들면, 메시지를 수신하면, 메인 시스템에 독립적으로 부팅이 필요한 서브시스템을 포함할 수 있다.
도3은 본 발명의 일실시예에 따른 고레벨 블록도이다. 서브시스템 부트 지시자가 검색된다(302). 검색된 서브시스템 부트 지시자를 기초로 하여, 서브시스템을 부팅할 것인지의 여부가 판단된다(304). 검색된 서브시스템 부트 지시자가 그 서브시스템의 부팅을 지시하지 않은 경우, 다른 옵션들이 이용가능해 질 수 있다(308). 서브시스템의 부팅이 지시된 경우에는, 정보가 서브시스템으로 전송된다(306).
서브시스템 부트 지시자는, 이에 제한되지는 않지만, 메모리 위치내의 비트 또는 비트들; 서브시스템, 메인 시스템 또는 인터넷 웹사이트상의 어느 위치와 같은 보다 멀리 떨어진 곳에 저장된 정보; 하드 디스크, DVD, 플래시 등과 같은 비-휘발성 메모리; 또는 장치 상의 핀을 통한 점퍼(jumper)처럼 간단한 것들이 될 수 있다. 이해되어야 할 것은, 서브시스템 부트 지시자는 어떤 형태든, 어디에 위치하든지 간에, 서브시스템 부트 상태 및/또는 요구된 부트 동작을 지시한다는 것이다. 또한, 단일 리소스 뿐만 아니라 다수의 리소스들이 지시자 또는 지시자들의 상태를 조사할 수 있다는 것이 이해되어야 한다. 즉, 예를 들면, 시스템 내의 전력 제어기는 서브시스템 부트 지시자의 상태에 대해 문의할 수 있고, 메인 시스템 프로세서 또는 원격 클라이언트 또는 서버도 그러할 수 있다.
검색된 서브시스템 부트 지시자(302)가 서브시스템을 부팅하기 위한 요구를 지시하지 않는 경우(304), 그 밖의 옵션들이 이용가능해질 수 있다(308). 예를 들면, 서브시스템 부트 지시자는 이전의 부트 시도가 실패하였거나, 일부 교정 동작이 요구될 수 있다는 것을 지시하는 정보를 포함할 수 있다.
도4는 본 발명의 다른 실시예를 도시하고 있다. 부팅 프로세스가 시작되고(402), 그 동안에 부트 지시자가 검색된다(404). 그리고 나서, 검색된 부트 지시자에 기반하여, 정보가 서브시스템(406)으로 전송되고, 그 후에, 시스템이 셧다운된다(406).
셧다운(48)은, 이에 제한되지는 않지만, 전체 시스템, 메인 시스템, 서브시스템 등을 셧다운하는 것일 수 있다. 예를 들면, 정보가 서브시스템(406)으로 전송된 후에, 셧다운(48)은 메인 시스템을 셧다운하고, 서브시스템은 여전히 액티브 상태로 두는 것을 포함할 수 있다. 따라서, 셧다운은, 도4에 도시된 것과 같은 시퀀스가 수행되는 동안에, 정보를 처리하여 동작하는 것일 수 있다.
이러한 실시예의 일례는, 이에 제한되지는 않지만, 부팅을 시작하고, 예를 들면, 펌웨어 허브내의 플래시 메모리 위치로부터 부트 지시자를 검색하고, 서브시스템 메모리에 이 전송된 정보에 기반하여 메인 시스템을 셧다운하는 Pentium ? 프로세서와 같은 메인 시스템 프로세서일 수 있다. 서브시스템 리소스가 초기에 정보를 직접 액세스할 수 없기 때문에, 메인 시스템 프로세서에 의한 이러한 시스템에서의 정보 전송이 요구될 수 있다. 즉, 메인 시스템 프로세서는, 정보가 서브시스템으로 전송되는 이 시간까지만 정보에 액세스할 수 있고, 그후에는 서브시스템 리소스가 액세스할 수 있다. 대안적으로, 서브시스템이 부팅 중에 정보에 액세스할 수 있도록, 일부 다른 시스템 리소스 또는 서브시스템 자체가, 정보 전송을 수행할 수 있다.
시스템의 셧다운은 전력 소모를 절약할 수 있다. 예를 들면, 부팅 중에는 메인 시스템 프로세서가 서브시스템으로 정보를 전송하고, 그 후에, 자신을 셧다운할 수 있다. 그리고 나서, 여전히 파워업 상태인 서브시스템이 부팅을 위해 메인 프로세서에 의해 전송된 정보를 사용할 수 있다. 이러한 방식으로 전력 소모를 줄일 수 있다.
상기의 예에서, Window ? 또는 Linux ?와 같은 운영 체제를 로딩하기 위한 메인 프로세서의 필요없이, 메인 프로세서는 그 정보를 전송한다는 것을 주목하여야 한다.
도5는 본 발명의 일실시예에 따른 보다 상세한 순서도이다. 서브시스템 부트 지시자가 검색된다(502). 검색된 서브시스템 부트 지시자에 기반하여, 시스템을 부팅하는지의 여부가 판단된다(504). 검색된 서브시스템 부트 지시자(502)가 서브시스템의 부팅을 지시하지 않는 경우, 그 밖의 옵션들이 이용가능하다(508). 서브시스템의 부팅이 지시된 경우에는, 메인 시스템 저장 장치로부터 정보가 검색되고(506), 서브시스템으로 정보가 전송되어 저장된다(510). 그리고 나서, 서브시스템은 이 전송된 정보를 이용하여 부팅된다(512).
메인 시스템 저장 장치는, 이에 제한되지는 않지만, 하드 디스크 저장 장치, DVD, CD, ROM, 플래시 등이 될 수 있다. 마찬가지로, 전송된 정보의 저장하는 것은, 이에 제한되지는 않지만, 다른 하드 디스크, 기록가능 장치, RAM, 플래시 등이 될 수 있다.
도6은 본 발명의 실시예를 위한 하나의 시스템 아키텍처를 도시하고 있다. 제어기(602)는 링크(604)를 통해 메인 시스템에 연결되고, 링크(608)를 통해 서브시스템(618)에 연결되고, 링크(606)를 통해 서브시스템 부트 지시자(624)에 연결된다. 메인 시스템(610)은 부가적으로, 링크(612)를 통해 메인 시스템 저장 장치(614)에 연결되고, 링크(616)를 통해 서브시스템(618)에 연결된다. 서브시스템(618)은 부가적으로 링크(620)를 통해 서브시스템 저장 장치(622)에 연결된다.
도6에 도시된 바와 같이, 아키텍처에 대한 하나의 가능한 동작 모드의 일례는 다음과 같다. 먼저, 메인 시스템(610) 및 메인 시스템 저장 장치(614)가 파워다운된다. 제어기(602)는 서브시스템(618)이 부팅되도록 요구하는 서브시스템(618)으로부터 링크(608)를 통해 통신을 수신한다. 그리고 나서, 제어기(602)는 부트 상태를 판단하기 위해 링크(606)를 통해 서브시스템 부트 지시자(624)를 검사한다. 서브시스템(618)의 부팅이 수행되는 것으로 가정하면, 제어기(602)는 메인 시스템(610) 및 메인 시스템 저장 장치(614)를 파워업할 것이다. 제어기(602)는, 부팅 프로세스 동안에, 링크(604)를 통해 서브시스템 부트 지시자(624) 상태를 메인 시스템(610)으로 전달할 수 있다. 서브시스템 부트 지시자(624)에 기반하여, 메인 시스템(610)이 링크(612)를 통해 메인 시스템 저장 장치(614)에 액세스하고, 정보를 검색하고, 이 정보를 링크(616)를 통해 서브시스템(618)으로 전송하고, 링크(620)를 통해 서브시스템 저장 장치(622)에 저장한다. 정보 전송이 완료된 후에, 제어기(602)는 메인 시스템(610) 및 메인 시스템 저장 장치(614)를 파워다운할 수 있다. 그리고 나서, 서브시스템(618)은 전송되어 현재 서브시스템 저장 장치(622)에 저장된 정보를 이용하여 부팅을 진행할 것이다.
메인 시스템(610)이 서브시스템 저장 장치(622)로 정보를 전송하도록 결정한 후에, 메인 시스템(610) 내의 프로세서는, 어떻게 이 동작을 수행할 것인지에 대한 명령어를 페치할 필요가 있다. 이 명령어는, 예를 들면, 메인 시스템 저장 장치(614), 서브시스템 저장 장치(622), 제어기(602), 원격 서버 등의 여러 가지 소스로부터 전달될 수 있다.
도6에 도시된 것과 같은 아키텍처에 대해 가능한 동작 모드의 다른 예는, 서브시스템(618)이 링크(616) 및 링크(612)를 통해 직접 메인 시스템 저장 장치(614)에 액세스할 수 있도록 하는 것이다. 이 시나리오에서는, 메인 시스템(610)이 앞에서 논의된 것과 같이 전송을 수행하는 대신에, 서브시스템(618)이 메인 시스템 저장 장치(614)로부터 서브시스템 저장 장치(622)로의 정보 전송을 수행할 수 있다. 이 기술분야에서 통상의 지식을 가진 자는, 많은 다른 아키텍처 및 변형예가 가능하다는 것을 이해할 것이다.
도7은 본 발명의 실시예를 위한 다른 시스템 아키텍처를 도시하고 있다. 호스트 CPU(702)가 링크(703)를 통해 메모리 제어기 허브(MCH)(704)에 연결된다. MCH(704)는 링크(705)를 통해 입/출력 제어기 허브(ICH)(706)에 연결된다. ICH(706)는 IDE(integrated drive electronics)(709) 링크를 통해 하드 디스크 드라이브(HDD)(710)에 연결된다. IDE(709)는 또한 자율 서브시스템(714)을 HDD(710)에 연결시킨다. ICH(706)는 또한 USB(universal serial bus)(713) 링크를 통해 자율 서브시스템(714)에 연결된다. 또한, ICH(706)는 LPC(low pin count)(707) 링크를 통해 EC(embedded controller)(708), 펌웨어 허브(FWH)(712) 및 자율 서브시스템(714)에 연결된다. 서브시스템(714)은 SMB(system management bus)(721)를 통해 EC(708)에 연결된다. 자율 서브시스템(714)은 링크(723)를 통해 SDRAM(synchronous dynamic random access memory)(724)에 연결된다. 자율 서브시스템(714)은 링크(715)를 통해 FEPROM(flash electrically programmable read only memory)에 연결된다. FEPROM(716)은 호스트 부트 지원(718) 및 데이터 영역(720)내의 데이터 저장에 사용되는 일부 메모리 위치를 가진다.
도7을 참조한 본 발명의 가능한 일실시예는 다음과 같다. EC(708)는 자율 서브시스템(716)에 전원을 공급하게 하고, 그 후에, FEPROM(716) 내의 데이터 영역(720)을 검사하여 부팅이 요구되는지를 판단한다. 부팅이 요구되는 경우, 자율 서브시스템(714)은 SMB(721)를 거처 EC(708)로 부팅이 요구되었음을 알린다. 이 시점에서, EC(708)는 (슬레이브 모드로 표시되는) 정보 전송을 수행하기 위해 호스트 CPU(702)를 사용하거나, 또는 (마스터 모드로 표시되는) 정보 전송을 수행하기 위해 자율 서브시스템(714)을 사용할 수 있다.
호스트 CPU(702)가 정보 전송을 수행하는데 사용되는 경우(즉. 슬레이브 모드), EC(708)는 호스트 CPU(702), MCH(704), ICH(706), 자율 서브시스템(714), 호스트 부트 지원(718)을 포함한 FEPROM(716), LPC(707), USB(713), IDE(709), 및 링크(703, 705, 715)를 파워업할 수 있다. 그리고 나서, 호스트 CPU(702)는 정보 전송을 어떻게 수행할지에 대한 명령어 및/또는 데이터를 페치하도록, 호스트 부트 지원(718)에게 명령할 수 있다. 정보의 소스 또는 목적지는, 이에 제한되지는 않지만, 예를 들면, HDD(710), FEPROM(716), FWH(712), SDRAM(724), 원격 클라이언트 또는 서버 등이 될 수 있다. 따라서, 호스트 CPU(702)는, 예를 들면, HDD(710)로부터 SDRAM(724)으로 정보 전송을 수행할 수 있다. 적합하게 동작하기 위해, 모든 소스 및/또는 목적지 및 그에 대응하는 링크들이 충분히 파워업되어야 할 필요가 있다는 것이 이해되어야 한다. 전송이 완료된 후에, EC(708)는 호스트 CPU(702), MCH(704), ICH(706), 링크(703, 705),LPC(707), USB(713) 및 IDE(709)를 파워다운할 수 있다. 그리고 나서, EC(708)는 SDRAM(724)에 전송된 정보를 이용하여 부팅하기 위해, 예를 들면, SMB(721)를 통해 자율 서브시스템(714)에 전달할 수 있다.
유사한 방식으로, 자율 서브시스템(714) 리소스가 정보 전송을 수행하도록 사용되는 경우(즉, 마스터 모드), EC(708)는 HDD(710), IDE(709), 자율 서브시스템(714), FEPROM(716), SDRAM(724) 및 링크(715, 723)를 파워업할 것이다. 그리고 나서, 자율 서브시스템(714)은 정보 전송을 어떻게 수행할지에 대한 명령어 및/또는 데이터를 FEPROM(716)으로부터 페치하도록, SMB(721)를 통해 EC(708)에 의해 명령될 수 있다. 정보의 소스 또는 목적지는, 이에 제한되지는 않지만, 예를 들면, HDD(710), FEPROM(716), FWH(712), SDRAM(724), 원격 클라이언트 또는 서버 등이 될 수 있다. 따라서, 자율 서브시스템(714)은, 예를 들면, HDD(710)로부터 SDRAM(724)으로의 정보 전송을 수행할 수 있다. 전송이 완료된 후에, EC(708)는 HDD(710), IDE(709)를 파워다운하고, SDRAM(724)에 전송된 정보를 이용하여 부팅하기 위해, 예를 들면, SMB(721)를 통해 자율 서브시스템(714)에 전달할 수 있다.
예시된 본 발명의 실시예들은 단일 및/또는 분산형 시스템 또는 시스템들 내의 다수의 서브시스템에 적용될 수 있는 것으로 이해되어야 한다. 예를 들면, 단일 시스템에서, 예를 들면, 키보드로부터의 유저 입력을 처리하는 서브시스템이 존재하고, 동시에 다른 서브시스템은, 예를 들면, 무선 링크를 통해 데이터의 송신 및 수신을 처리할 수 있다. 전력을 보존하기 위하여, 이러한 많은 서브시스템들이 파워온되어 부팅된 후에, 비동기적으로 파워다운될 수 있다. 예를 들면, 키보드 서브시스템은 키가 활성화되어 있을 때에만 파워업될 수 있고, 키 누름 사이에는 파워다운될 수 있다. 유사하게, 통신 서브시스템은 송신 및 수신이 필요할 때에만 파워업될 수 있다.
이상에서, 메인 운영 체제의 관여없이 서브시스템의 동작 환경을 부팅하기 위한 방법 및 장치가 기재되었다. 본 발명이 특정한 실시예를 참조하여 설명되었지만, 청구범위에 기재된 바와 같은 본 발명의 보다 넓은 범위 및 사상에서 벗어나지 않는 한, 다양한 변형 및 수정이 이루어질 수 있다는 것이 명백할 것이다. 따라서, 본 명세서 및 도면은 제한적인 의미가 아니라 예시적인 의미로 간주되어야 한다.