KR20060015329A - 비휘발성 메모리로부터의 부팅 - Google Patents

비휘발성 메모리로부터의 부팅 Download PDF

Info

Publication number
KR20060015329A
KR20060015329A KR1020057023091A KR20057023091A KR20060015329A KR 20060015329 A KR20060015329 A KR 20060015329A KR 1020057023091 A KR1020057023091 A KR 1020057023091A KR 20057023091 A KR20057023091 A KR 20057023091A KR 20060015329 A KR20060015329 A KR 20060015329A
Authority
KR
South Korea
Prior art keywords
computer system
memory
boot
procedure
volatile memory
Prior art date
Application number
KR1020057023091A
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 코닌클리케 필립스 일렉트로닉스 엔.브이.
Publication of KR20060015329A publication Critical patent/KR20060015329A/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/22Microcontrol or microprogram arrangements
    • G06F9/24Loading of the microprogram
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures

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)
  • Stored Programmes (AREA)

Abstract

컴퓨터 시스템은 시스템 메모리(SM) 및 비휘발성 메모리(NVM)를 포함한다. 컴퓨터 시스템은 클린 부트-업 프로시져 동안 시스템 메모리에 저장된 시스템 상태의 적어도 일부를 비휘발성 메모리에 카피(209,329)하도록 배열된다. 컴퓨터 시스템의 차후 시작시, 시스템 상태가 비휘발성 메모리로부터 시스템 메모리에 카피(205,305)되어, 현저히 빠른 시스템 시작을 유발한다. 컴퓨터 시스템의 구성이 변경되는 경우, 완전한 부트-업 프로시져가 다시 실행되고, 새로운 시스템 상태가 이전에 저장된 시스템 상태에 덮어씌워 비휘발성 메모리에 카피된다.
시스템 메모리, 비휘발성 메모리, 부트-업 프로시져

Description

비휘발성 메모리로부터의 부팅{Booting from non-volatile memory}
본 발명은 컴퓨터 시스템의 부팅에 관한 것이다.
퍼스널 컴퓨터들과 같은 컴퓨터 시스템들은, 컴퓨터 운영 체계가 로딩되는 동안 초기화 프로시져를 종종 이용한다. 일반적으로, 컴퓨터 시스템용 운영 체계는 자기 하드 디스크 드라이브와 같은 비휘발성 저장 매체 상에 저장된다. 그러나, 컴퓨터 시스템의 프로세서는 DRAM과 같은 주소화 메모리(addressable memory)인 소위 시스템 메모리로부터의 명령들을 실행한다. 상기 주소화 메모리를 초기화하기 위해, 소량의 비휘발성 부트-업 메모리(boot-up memory)가 전용 메모리에 일반적으로 제공된다. 전용 메모리는 운영 체계의 처음 일부를 하드 디스크 드라이브로부터 판독하고 그것을 시스템 메모리에 로딩하는데 사용되는 소위 기본 입/출력(BIOS) 프로그램과 같은 프로그램을 포함한다. 이 운영 체계의 일부는 이 후 운영 체계의 나머지 부분들을 로딩하고 초기화할 수 있다. 이 프로세스는 일반적으로 운영 체계를 "부팅(booting)"하는 것으로 지칭된다. 컴퓨터가 자기 자신을 초기화하거나 "부팅"한 후, 컴퓨터는 일반적으로 사용자가 일부 프로그램이나 프로세스를 초기화할 준비가 된 디폴트 상태에 있다. 일반적으로, 컴퓨터 시스템은 사용자의 과거 동작들에 상관없이 모든 초기화 후에 동일한 상태에 있다. 컴퓨터 시스 템이 켜질 때 실행되는 부트-업 프로시져는 일반적으로 콜드 부트(cold boot)로 지칭되고, {Ctrl}+{Alt}+{Delete}나 이와 유사한 것을 사용하여 실행되는 부트-업 프로시져는 웜 부트(warm boot)로 지칭된다. 부트-업 프로시져는 일반적으로 운영 체계 파일들을 시스템 메모리에 카피하는 것을 포함하여 부트 장치상에 저장된 부트 시퀀스의 실행을 요구하기 때문에 시간 소비 프로세스(time consuming process)이다. 그 결과, 컴퓨터 시스템의 사용자는 장치의 스위치를 켠 후 그 장치를 실제로 시작할 수 있기 전에 아주 약간의 시간을 대기해야 한다.
본 발명의 목적은 컴퓨터 시스템을 부트업하기 위해 요구되는 시간을 매우 감소시키는 개선된 부트-업 프로시져를 갖는 컴퓨터 시스템을 제공하는 것이다.
상기 목적은, 시스템 메모리 및 비휘발성 메모리를 포함하는 컴퓨터 시스템으로서, 비휘발성 메모리가 시스템 메모리에 의해 액세스될 수 있는, 상기 컴퓨터 시스템으로 달성된다. 컴퓨터 시스템은 제1 부트-업 프로시져 동안 시스템 메모리에 저장된 시스템 상태의 적어도 일부를 비휘발성 메모리에 카피하도록 배열된다. 컴퓨터 시스템을 부팅할 때, 제1 부트-업 프로시져로부터 발생하는 시스템 상태의 카피가 비휘발성 메모리에 저장된다. 이런 시스템 상태의 카피는 부트-업 프로시져의 결과로서 획득된 상태를 직접 정의하기 위해 다음번에 컴퓨터 시스템의 스위치가 켜질 때 사용될 수 있다. 부트 장치에 저장된 부트 시퀀스의 실행은 운영 체계 파일들을 시스템 메모리에 카피하는 것조차도 요구되지 않는다. 부트-업 프로시져 동안 거의 모든 처리가 제거되어, 부트-업 프로시져를 수행하기 위해 요구되는 시간을 매우 감소시킨다. 또한, 비휘발성 메모리에 저장된 시스템 상태는 예를 들면, 부팅 후 시스템의 사용 중에 도입될 수 있는 에러들이 없는 정확하고 양호하게 정의된 시스템 상태이다.
US6,449,683B1은 프로세서에 결합된 비휘발성 랜덤-액세스 메모리를 포함하는 컴퓨터 시스템을 기술한다. 저-전력 모드로 들어가는 명령을 수신하거나 발생할 때, 프로세서는 시스템 장치들의 동작 상태들을 저장하기 위해 메모리에 공간을 할당한다. 장치 상태들이 메모리에 저장되면, 프로세서는 이 후 저-전력 모드로 들어가도록 컴퓨터 시스템에 명령하는 명령 신호를 어설팅(assert)한다. 전력의 복원을 검출할 때, 프로세서는 메모리의 할당된 공간으로부터 장치 상태들을 복원하고, 이 후 정규 동작을 다시 시작한다.
US6,393,584B1은 프로세서 및 하드 디스크 드라이브를 포함하는 컴퓨터 시스템을 기술한다. "슬립(sleep)" 모드로 들어가는 명령을 수신하거나 발생할 때, 컴퓨터 시스템의 동작 상태를 저장하는 슬립 파일이 하드 디스크 드라이브 내에 생성된다. 동작 상태가 저장되었을 때, 컴퓨터 시스템으로부터 전력이 제거된다. 시작시, 컴퓨터 시스템의 운영 체계가 로딩되고, 동작 상태가 하드 디스크 드라이브 상의 슬립 파일로부터 복원된다. 동작 상태의 복원 후, 컴퓨터 시스템은 슬립 상태를 인보킹(invoke)하기 전과 동일한 상태에 있다.
US6,098,158은 프로세서, RAM 저장 장치 및 시스템 메모리를 포함하는 컴퓨터 시스템을 개시한다. 임의의 특정한 소프트웨어 애플리케이션은 소위 신속한 부트-업 프로시져를 개시할 수 있다. 신속한 부트-업 프로시져를 실행할 때, 부트 이미지가 RAM 저장 장치에 세이브된다. 하나 이상의 부트 이미지들은 개시 애플리케이션과 연관하여 저장될 수 있다. 잠시 후, 부트 이미지가 시스템 메모리에 대해 검색될 수 있다. 전력 공급 정지 또는 다른 시스템 실패 또는 중단과 같은 해당 사건 발생시, 컴퓨터 시스템은 이 후 부트 이미지로부터 해당 실행 상태로 복원된다.
그러나, 상기 문서들 중 어느 것도 컴퓨터 시스템의 신속한 콜드 부트를 가능하게 하기 위해 양호하게 정의된 시스템 상태의 적어도 일부를 비휘발성 메모리에 세이브하는 원리를 개시하지 않았다. US6,449,683B1 및 US6,393,584B1은 저전력 모드로부터 회복할 때 완전한 시스템 상태를 복원하는데 초점을 맞추고 있고, US6,098,158은 에러들로부터 회복할 때 완전한 시스템 상태를 복원하는 것, 즉, 신속한 콜드 부트보다는 신속한 웜 부트에 초점을 맞추고 있다.
본 발명의 다른 실시예들은 종속 청구항들에 기술된다. 본 발명에 따라, 컴퓨터 시스템을 부팅하는 방법이 또한 청구된다.
도 1은 본 발명에 따른 컴퓨터 시스템을 도시하는 개략도.
도 2는 본 발명에 따라 컴퓨터 시스템을 부팅하는 일반적인 단계들을 도시하는 흐름도.
도 3은 도 1에 따른 컴퓨터 시스템을 부팅하는 단계들을 도시하는 개략도.
도 1을 참조하면, 중앙 처리 유닛(CUP), 하드 디스크 드라이브(HDD), 시스템 메모리(SM), 비휘발성 메모리(NVM), 시스템 버스(SB), 비디오 제어기(VC), 디스플레이 장치(DD), 키보드 제어기(KC), 키보드(KB) 및 읽기 전용 메모리(ROM)를 포함하는 퍼스널 컴퓨터(PC) 형태의 컴퓨터 시스템을 개략적인 블록도로 도시한다. 시스템 버스(SB)는 결합(1)을 통해 중앙 처리 유닛(CPU)에, 결합(3)을 통해 하드 디스크 드라이브(HDD)에, 결합(5)을 통해 비디오 제어기(VC)에, 결합(7)을 통해 키보드 제어기(KC)에, 결합(17)을 통해 읽기 전용 메모리(ROM)에 결합된다. 중앙 처리 유닛(CPU)은 결합(9)을 통해 시스템 메모리(SM)에 결합되고, 시스템 메모리(SM)는 결합(15)을 통해 비휘발성 메모리(NVM)에 결합된다. 비디오 제어기(VC)는 결합(11)을 통해 디스플레이 장치(DD)에 결합된다. 키보드 제어기(KC), 중앙 처리 유닛(CPU), 하드 디스크 드라이브(HDD), 읽기 전용 메모리(ROM) 및 비디오 제어기(VC)는 시스템 버스(SB)를 통해 결합된다. 대안적인 실시예에서, 비휘발성 메모리(NVM)가 시스템 버스(SB)에 직접 결합되어, 중앙 처리 유닛(CPU)을 통해 시스템 메모리(SM)와 통신한다. 컴퓨터 시스템은, 컴퓨터 시스템으로 하여금 미리 결정된 방식으로 동작하게 하는 프로그램들 또는 프로그램 모듈들과 같이 미리 기록된 일련의 명령들을 실행할 수 있다. 프로그램 모듈들은 특정한 태스크들을 수행하거나 특정한 추상 데이터 타입들을 구현하는 루틴들, 프로그램들, 오브젝트들, 성분들, 데이터 구조들 등을 포함할 수 있다.
다른 실시예들에서, 컴퓨터 시스템은 예를 들면, 플로피 디스크 드라이브, 프린터, 마우스, CD-ROM 재생기, 및 DVD 재생기를 포함하는 상이한 장치들을 포함할 수 있다.
도 1에 따른 컴퓨터 시스템이 켜질 때, 시작하기 위해 무엇을 실행하는지를 퍼스널 컴퓨터에 즉시 알려주는 명령들을 발견할 필요가 있고, 상기 명령들은 소위 기본 입출력 시스템(BIOS) 프로그램 내에서 발견된다. BIOS 프로그램은 예를 들면, 읽기 전용 메모리처럼 사용되는 플래시 메모리인 읽기 전용 메모리(ROM)에 저장된다. BIOS 프로그램을 실행하기 위해, BIOS 프로그램은 우선 시스템 버스(SB)를 통해 읽기 전용 메모리(ROM)로부터 시스템 메모리(SM)로 종종 로딩된다. 도 2는 본 발명에 따라 컴퓨터 시스템을 부팅하는 일반적인 단계들을 도시하는 흐름도이다. 도 2를 참조하면, 컴퓨터 시스템이 켜질 때, 단계(201)에서 운영 체계 로더(operating system loader)가 개시된다. 다음 단계(203)에서, 컴퓨터 시스템의 구성이 변경되었는지가 검증된다. 시스템 구성이 변경되었다면, 단계(207)에서, 정규의 부트-업 프로시져가 진행된다. 단계(209)에서, 부트-업 프로시져 동안 시스템 메모리(SM)에 저장된 시스템 상태의 적어도 일부가 시스템 메모리(SM)로부터 비휘발성 메모리(NVM)로 카피된다. 시스템 구성이 변경되지 않은 경우, 제2 부트-업 프로시져가 진행된다. 단계(205)에서, 비휘발성 메모리(NVM)에 저장된 시스템 상태가 시스템 메모리(SM)에 카피된다. 단계(205)와 동시에, 도 2에 도시되지 않은 일부 나머지 초기화 프로시져들이 실행될 수 있다. 부트-업 프로시져는 정규의 부트-업 프로시져 결과의 메모리-대-메모리 카피를 포함하기 때문에, 시스템 구성이 변경되지 않은 경우, 제2 부트-업 프로시져는 컴퓨터 시스템의 매우 신속한 부트-업을 허용한다. 또한, 제2 부트-업 프로시져는 사용되는 운영 체계 및 플랫폼 양자에 대해 독립적이다. 클린 부트-업 프로시져(clean boot-up procedure) 후 획득 된 시스템 상태가 비휘발성 메모리(NVM)에 저장되고, 최대 절전 모드(hibernation)의 경우, 시스템 상태가 부팅 업 후 컴퓨터 시스템의 사용중에 도입되는 임의의 에러들을 포함하지 않는 것이 보장될 수 없기 때문에, 상기 제2 부트-업 프로시져는 또한 반복된 최대 절전 모드보다 더 안정적이고 신뢰할 수 있다.
양호하게, 비휘발성 메모리(NVM)는 자기 랜덤 액세스 메모리(MRAM)를 포함한다. MRAM은 신속한 메모리 액세스를 허용하고, 중앙 처리 유닛(CPU)이 비휘발성 메모리(NVM)로부터 시스템 상태를 고속으로 검색하게 하여, 부트-업 프로시져 동안 컴퓨터 시스템의 성능을 증가시킨다.
양호한 실시예에서, 본 발명에 따른 컴퓨터 시스템은 마더보드 칩셋 상에 전용 레지스터로서 구현될 수 있는 부트 업데이트 플래그(boot update flag;BUF)를 포함한다. 비휘발성 메모리(NVM)에 저장된 시스템 상태가 최근 것이 아닐 때, 즉, 현재의 컴퓨터 시스템 구성을 반영하지 않을 때, BUF가 설정된다. 예를 들면, 컴퓨터 시스템의 캐싱(casing)이 개방되는 경우, 하드웨어 구성이 변경될 것이다. 캐싱의 개방은 물리적 스위치에 의해 검출되고, BUF가 설정된다. 다른 예들은, BUF를 설정하는 전용 드라이버에 의해 검출되는, 컴퓨터 시스템의 운영 체계가 업데이트되는 경우나, 컴퓨터 시스템이 접속되는 네트워크의 설정들이 변경되는 경우이다. BUF가 컴퓨터 시스템상의 별개의 버튼에 의해 수동으로 설정될 수 있는 것이 또 다른 예이다. 초기에, 즉, 컴퓨터 시스템이 처음 파워업될 때, BUF가 설정될 것이다. 대안적인 실시예에서, 시스템 구성의 변경들이 발생했는지를 검증하는 루틴이 구현된다. 이 루틴은 BUF와 결합될 수 있다. 이 경우, 루틴이 시스템 구 성의 변경을 검출하면, BUF가 설정된다. 도 3은 도 1에 따른 컴퓨터 시스템을 부팅하는 방법을 도시하는 흐름도이다. 도 3을 참조하면, 파워의 스위치가 켜질 때, 단계(301)에서, BIOS 프로그램은 시스템 메모리(SM)에 로딩된 후에 초기화된다. BIOS 프로그램의 초기화는 파워-온 셀프 테스트(power-on self test;POST)와 하드웨어 초기화를 실행하는 것을 포함할 수 있다. BIOS 프로그램 의해 수행되는 단계(303)은 BUF가 설정되는지를 검증한다. BUF가 설정되는 경우, 정규의 부트-업 프로시져가 수행된다. 단계(317)에서, 부트 장치가 초기화되고, 도 1에 도시된 컴퓨터 시스템에 대해서는 하드 디스크 드라이브(HDD)가 부트 장치이다. 단계(319)에서, 마스터 부트 레코드(master boot record;MBR)가 하드 디스크 드라이브(HDD)로부터 판독된다. 단계(321)는 마스터 부트 레코드의 활성 부분을 판독한다. 단계(323)에서, 파일 시스템이 설치된다. 단계(325)는 부트 장치로부터 운영 체계(OS) 로더를 판독한다. 단계(327)에서, 운영 체계는 시스템 메모리(SM)에 로딩된다. 단계(329)에서, 시스템 메모리(SM)의 카피, 즉, 시스템 상태의 카피가 형성되어, 비휘발성 메모리(NVM)에 저장된다. 단계(331)는 BUF의 값을 리셋한다. 단계(307)는, 컴퓨터 시스템이 사용할 준비가 되었다는 것을 도시한다. BUF가 설정되지 않은 경우, 제2 부트-업 프로시져가 진행된다. 단계(305)에서, 비휘발성 메모리(NVM)에 저장된 시스템 상태가 시스템 메모리(SM)에 카피된다. 단계(305)와 동시에, 단계(309)에서, 하드 디스크 드라이브(HDD) 형태의 부트 장치가 초기화된다. 단계(311)에서, 마스터 부트 레코드(MBR)가 하드 디스크 드라이브(HDD)로부터 판독된다. 단계(313)는 마스터 부트 레코드의 활성 부분을 판독한다. 단계(315)에서, 파일 시스템이 설치된다. 단계들(305,315)을 완료한 후, 단계(307)에서, 컴퓨터 시스템은 사용할 준비가 된다. 컴퓨터 시스템이 단계(305)를 수행한 후 선택된 시간 간격 내에 응답하지 않는 경우, 에러가 발생할 수 있고, 컴퓨터 시스템의 운영 체계는 콜드 부트를 시행할 것이다. 상기 실시예에서 기술된 정규의 부트-업 프로시져 동안 실행되는 단계들은, 부트-업 프로시져에서 일반적으로 발생하는 단계들이다. 그러나, 다른 실시예들에서, 예를 들면, 컴퓨터 시스템에 존재하는 장치들, BIOS 프로그램 및 하드웨어 제조자에 따라, 상이한 단계들이 실행될 수 있다.
단계(329)에서 비휘발성 메모리(NVM)에 카피된 시스템 상태는 시스템 메모리(SM)에 저장된 상태이고, 시스템 메모리(SM)의 일부가 아닌 버퍼들, 레지스터들 또는 캐시들과 같이 컴퓨터 시스템의 다른 모든 휘발성 메모리는 정규의 부트-업 프로시져 후 비워지는 것이 가정된다. 상기의 경우가 아니라면, 단계(329)에서 시스템 메모리(SM)에 저장된 시스템 상태를 비휘발성 메모리(NVM)에 카피하기 전에, 상기 버퍼들, 레지스터들 또는 캐시들은 플러시(flush), 즉, 리셋되어야 하고, 이것은 도 3에 도시되지 않는다. 이런 식으로, 단계(329)를 수행한 후 비휘발성 메모리(NVM)의 컨텐트가 컴퓨터 시스템 상태의 완전한 표현인 것이 보장된다.
본 실시예에서, 단계(329)는 부트-업 프로시져의 완료 후 시스템 메모리(SM)에 저장된 모든 시스템 상태를 비휘발성 메모리(NVM)에 카피한다. 다른 실시예들에서, 시스템 메모리(SM)에서 차지된 메모리의 양이 시스템 상태를 저장하기 위해 비휘발성 메모리(SM)에서 확보된 공간과 비슷해지자 마자 단계(329)를 개시하는 드라이버를 사용함으로써, 시스템 상태의 일부만이 비휘발성 메모리(NVM)에 카피된 다. 대안적으로, 시스템 상태의 일부를 비휘발성 메모리(NVM)에 카피하는 것은 사용자가 전용 버튼을 누르거나, 예를 들면, 사용자가 로그인하는 순간과 같이 부트-업 프로시져의 양호하게 정의된 시점에 개시될 수 있다. 부트-업 프로시져의 일정한 시점까지 획득된 시스템 상태의 일부만이 비휘발성 메모리(NVM)에 저장되는 경우, 단계(305)를 수행한 후, 상기 시점으로부터 그 후에 실행되지 않는 부트-업 프로시져의 나머지가 실행되어야 한다.
또 다른 실시예에서, 다수의 사용자들이 동일한 컴퓨터 시스템상에서 작업하는 경우, 단계(329)에서 비휘발성 메모리(NVM)에 세이브되는 시스템 상태의 양은 사용자에 따라 형성된다. 예를 들면, 가장 빈번한 사용자들에 대해서는, 덜 빈번한 사용자들에 비해 더 많은 양의 시스템 상태가 세이브되어, 제1 사용자 그룹이 상대적으로 신속한 부트-업 프로시져를 갖게 한다.
일부 실시예들에서, 상이한 타입의 운영 체계들 또는 운영 체계들의 일부 예들에 대해 단계들(317 내지 331)을 반복함으로써, 복수의 상이한 시스템 상태들이 비휘발성 메모리(NVM)에 세이브된다. 그 결과, 사용자는 컴퓨터 시스템의 콜드 부트를 필요로 하지 않고, 두 개 이상의 운영 체계들 사이를 스위치할 수 있다.
상이한 실시예들에서, 컴퓨터 시스템은 핸드-헬드 장치들, 멀티프로세서 시스템들, 마이크로프로프로세서-기반 또는 프로그램 가능한 소비자 가전들, 네트워크 PC들, 미니컴퓨터들, 메인프레임 컴퓨터들 등과 같은 다른 시스템 구성들을 포함할 수 있다.
전술된 실시예들은 본 발명을 제한하기보다는 예시하고 있고, 당업자들은 첨 부된 청구항들의 범위를 벗어나지 않고 다수의 대안적인 실시예들을 설계할 수 있다는 점에 유의해야 한다. 청구항들에서, 괄호 사이의 임의의 참조 기호들은 청구항을 제한하는 것으로서 해석되지 않아야 한다. 단어 "포함하다"는 청구항에 나열된 것 이외의 다른 요소들이나 단계들의 존재를 배제하지 않는다. 성분 앞의 단어 "하나"라는 표현은 복수의 성분들의 존재를 배제하지 않는다. 몇몇 수단을 열거하는 장치 청구항에서, 상기 수단 중 일부는 하드웨어 및 하드웨어의 동일 아이템에 의해 구현될 수 있다. 어떤 조치들이 서로 상이한 종속 청구항들에 인용된다는 단순한 사실은, 상기 조치들의 결합이 이익이 되도록 사용될 수 없다는 것을 나타내지 않는다.

Claims (7)

  1. 컴퓨터 시스템에 있어서,
    시스템 메모리(SM); 및
    비휘발성 메모리(NVM)로서, 상기 시스템 메모리에 의해 액세스될 수 있는, 상기 비휘발성 메모리를 포함하고,
    상기 컴퓨터 시스템은 제1 부트-업 프로시져(boot-up procedure) 동안 상기 시스템 메모리에 저장된 시스템 상태의 적어도 일부를 상기 비휘발성 메모리에 카피(209,329)하도록 배열되는, 컴퓨터 시스템.
  2. 제 1 항에 있어서, 상기 컴퓨터 시스템은 또한 상기 컴퓨터 시스템의 제2 부트-업 프로시져 동안 상기 비휘발성 메모리에 저장된 상기 시스템 상태를 상기 시스템 메모리에 카피(205,305)하도록 배열되는, 컴퓨터 시스템.
  3. 제 2 항에 있어서, 상기 컴퓨터 시스템은 또한 상기 컴퓨터 시스템의 구성이 변경되었는지에 따라, 상기 제1 부트-업 프로시져나 상기 제2 부트-업 프로시져를 실행하도록 배열되는, 컴퓨터 시스템.
  4. 제 3 항에 있어서, 상기 컴퓨터 시스템은 상기 컴퓨터 시스템의 구성이 변경되었는지를 나타내는 전용 레지스터 플래그를 더 포함하는, 컴퓨터 시스템.
  5. 제 1 항에 있어서, 상기 비휘발성 메모리는 자기 랜덤 액세스 메모리를 포함하는 것을 특징으로 하는, 컴퓨터 시스템.
  6. 제1 부트-업 프로시져를 포함하는, 컴퓨터 시스템을 부팅하는 방법에 있어서,
    상기 컴퓨터 시스템은:
    시스템 메모리(SM); 및
    비휘발성 메모리(NVM)로서, 상기 컴퓨터 시스템에 의해 액세스될 수 있는, 상기 비휘발성 메모리를 포함하고,
    상기 제1 부트-업 프로시져는:
    부트 장치에 저장된 부트 시퀀스를 수행하는 단계(207); 및
    상기 부트 시퀀스의 수행 동안 상기 시스템에 저장된 시스템 상태의 적어도 일부를 상기 비휘발성 메모리에 카피하는 단계(209,329)를 포함하는, 컴퓨터 시스템 부팅 방법.
  7. 제 6 항에 있어서, 상기 비휘발성 메모리에 저장된 상기 시스템 상태를 상기 시스템 메모리에 카피하는 단계(205,305)를 포함하는 제2 부트-업 프로시져를 더 포함하는 것을 특징으로 하는, 컴퓨터 시스템 부팅 방법.
KR1020057023091A 2003-06-03 2004-05-25 비휘발성 메모리로부터의 부팅 KR20060015329A (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
EP03101613 2003-06-03
EP03101613.2 2003-06-03

Publications (1)

Publication Number Publication Date
KR20060015329A true KR20060015329A (ko) 2006-02-16

Family

ID=33484018

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020057023091A KR20060015329A (ko) 2003-06-03 2004-05-25 비휘발성 메모리로부터의 부팅

Country Status (6)

Country Link
US (1) US20060242398A1 (ko)
EP (1) EP1634168A1 (ko)
JP (1) JP2006526831A (ko)
KR (1) KR20060015329A (ko)
CN (1) CN1799028A (ko)
WO (1) WO2004107168A1 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100811559B1 (ko) * 2006-08-08 2008-03-10 경북대학교 산학협력단 비휘발성 메모리의 데이터 저장영역 관리 방법 및 장치
US9158475B2 (en) 2009-05-22 2015-10-13 Samsung Electronics Co., Ltd. Memory apparatus and method therefor

Families Citing this family (91)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI294098B (en) * 2004-08-06 2008-03-01 Via Tech Inc Fast boot method and system
US20060053325A1 (en) * 2004-09-03 2006-03-09 Chary Ram V Storing system information in a low-latency persistent memory device upon transition to a lower-power state
US7496743B1 (en) * 2004-11-08 2009-02-24 Sun Microsystems, Inc. Modeling operating system instances
US20070152076A1 (en) * 2004-12-13 2007-07-05 Chiang Kuo C Monitoring system with a wireless transmitting/receiving module
FR2883388B1 (fr) * 2005-03-16 2007-06-08 Giga Byte Tech Co Ltd Systeme et procede de demarrage rapide d'ordinateur
US7490177B2 (en) * 2006-01-23 2009-02-10 Infineon Technologies Ag System method for performing a direct memory access for automatically copying initialization boot code in a new memory architecture
US7962734B2 (en) * 2006-09-20 2011-06-14 Hewlett-Packard Development Company, L.P. Method of restarting a computer platform
US8028155B1 (en) 2007-06-06 2011-09-27 American Megatrends, Inc. Initiating an operating system boot from firmware
JP2009259197A (ja) * 2008-03-18 2009-11-05 Ricoh Co Ltd 情報処理装置およびその起動方法
US8719610B2 (en) * 2008-09-23 2014-05-06 Qualcomm Incorporated Low power electronic system architecture using non-volatile magnetic memory
US8417928B2 (en) * 2008-09-24 2013-04-09 Marvell International Ltd. Turbo boot systems and methods for subsequent booting from a captured data stored in a non-volatile semiconductor memory
US8296553B2 (en) * 2008-11-19 2012-10-23 Intel Corporation Method and system to enable fast platform restart
KR20100133710A (ko) * 2009-06-12 2010-12-22 삼성전자주식회사 메모리 시스템 및 그것의 코드 데이터 로딩 방법
TWI417789B (zh) * 2009-07-07 2013-12-01 Via Tech Inc 電腦系統及啟動方法
KR20110026578A (ko) * 2009-09-08 2011-03-16 엘지전자 주식회사 시스템 메모리의 에러 보정 장치 및 방법
TWI408598B (zh) * 2010-04-08 2013-09-11 Inventec Corp 至相異儲存區域載入擴充功能之儲存裝置及其方法
US9270486B2 (en) 2010-06-07 2016-02-23 Brocade Communications Systems, Inc. Name services for virtual cluster switching
US9769016B2 (en) 2010-06-07 2017-09-19 Brocade Communications Systems, Inc. Advanced link tracking for virtual cluster switching
US9716672B2 (en) 2010-05-28 2017-07-25 Brocade Communications Systems, Inc. Distributed configuration management for virtual cluster switching
US8867552B2 (en) 2010-05-03 2014-10-21 Brocade Communications Systems, Inc. Virtual cluster switching
US9806906B2 (en) 2010-06-08 2017-10-31 Brocade Communications Systems, Inc. Flooding packets on a per-virtual-network basis
US9628293B2 (en) 2010-06-08 2017-04-18 Brocade Communications Systems, Inc. Network layer multicasting in trill networks
US9608833B2 (en) 2010-06-08 2017-03-28 Brocade Communications Systems, Inc. Supporting multiple multicast trees in trill networks
US9807031B2 (en) 2010-07-16 2017-10-31 Brocade Communications Systems, Inc. System and method for network configuration
US8589730B2 (en) * 2010-08-31 2013-11-19 Apple Inc. Handling errors during device bootup from a non-volatile memory
US8788798B2 (en) 2010-12-06 2014-07-22 Microsoft Corporation Fast computer startup
US9032194B2 (en) * 2010-12-06 2015-05-12 Microsoft Technology Licensing, Llc Fast computer startup
US8543849B2 (en) 2010-12-06 2013-09-24 Microsoft Corporation Fast computer startup
US8572294B2 (en) * 2011-05-17 2013-10-29 Ncr Corporation Device start up system and method
US20120311312A1 (en) * 2011-05-31 2012-12-06 Broadcom Corporation Fast Boot Via State Recreation
JP5747680B2 (ja) * 2011-06-22 2015-07-15 富士ゼロックス株式会社 情報処理装置、画像形成装置およびプログラム
JP5754264B2 (ja) 2011-06-24 2015-07-29 富士ゼロックス株式会社 プログラム実行装置、画像処理装置およびプログラム
US8706955B2 (en) 2011-07-01 2014-04-22 Apple Inc. Booting a memory device from a host
US9736085B2 (en) 2011-08-29 2017-08-15 Brocade Communications Systems, Inc. End-to end lossless Ethernet in Ethernet fabric
JP5860543B2 (ja) * 2011-10-26 2016-02-16 ヒューレット−パッカード デベロップメント カンパニー エル.ピー.Hewlett‐Packard Development Company, L.P. ブートデータのロード
US9699117B2 (en) 2011-11-08 2017-07-04 Brocade Communications Systems, Inc. Integrated fibre channel support in an ethernet fabric switch
US9450870B2 (en) 2011-11-10 2016-09-20 Brocade Communications Systems, Inc. System and method for flow management in software-defined networks
US9742693B2 (en) 2012-02-27 2017-08-22 Brocade Communications Systems, Inc. Dynamic service insertion in a fabric switch
US9154416B2 (en) 2012-03-22 2015-10-06 Brocade Communications Systems, Inc. Overlay tunnel in a fabric switch
US10277464B2 (en) 2012-05-22 2019-04-30 Arris Enterprises Llc Client auto-configuration in a multi-switch link aggregation
KR101997079B1 (ko) 2012-07-26 2019-07-08 삼성전자주식회사 가변 저항 메모리를 포함하는 저장 장치 및 그것의 동작 방법
US9830964B2 (en) * 2012-09-10 2017-11-28 Texas Instruments Incorporated Non-volatile array wakeup and backup sequencing control
TW201322685A (zh) * 2012-10-24 2013-06-01 Cal Comp Electronics & Comm Co 恢復網路設定參數的系統及其方法
WO2014064696A1 (en) * 2012-10-25 2014-05-01 Michael Behagen Time saving device
US9401872B2 (en) 2012-11-16 2016-07-26 Brocade Communications Systems, Inc. Virtual link aggregations across multiple fabric switches
KR20150098649A (ko) 2012-12-22 2015-08-28 퀄컴 인코포레이티드 비-휘발성 메모리의 이용을 통한 휘발성 메모리의 전력 소비 감소
US9413691B2 (en) 2013-01-11 2016-08-09 Brocade Communications Systems, Inc. MAC address synchronization in a fabric switch
US9548926B2 (en) 2013-01-11 2017-01-17 Brocade Communications Systems, Inc. Multicast traffic load balancing over virtual link aggregation
KR20140102070A (ko) * 2013-02-13 2014-08-21 삼성전자주식회사 사용자 디바이스의 패스트 부팅 방법 및 장치
US9565099B2 (en) 2013-03-01 2017-02-07 Brocade Communications Systems, Inc. Spanning tree in fabric switches
US9401818B2 (en) 2013-03-15 2016-07-26 Brocade Communications Systems, Inc. Scalable gateways for a fabric switch
CN105122261B (zh) * 2013-04-23 2020-04-24 惠普发展公司,有限责任合伙企业 从遭到破坏的系统启动代码中恢复的方法以及计算装置
CN105144185B (zh) 2013-04-23 2018-06-05 惠普发展公司,有限责任合伙企业 验证控制器代码和系统启动代码
CN103425506B (zh) * 2013-05-20 2016-12-07 华为技术有限公司 关机方法及开机方法及通信终端
US9477484B2 (en) * 2013-07-23 2016-10-25 Samsung Electronics Co., Ltd. System and method for boot acceleration of a data processing system wherein a nonvolatile memory is pre-configured before boot time
US9912612B2 (en) 2013-10-28 2018-03-06 Brocade Communications Systems LLC Extended ethernet fabric switches
US20150149144A1 (en) * 2013-11-26 2015-05-28 Lenovo (Singapore) Pte. Ltd. Simulating non-volatile memory
EP3097489B1 (en) 2014-01-22 2020-07-01 Hewlett-Packard Development Company, L.P. Byte-addressable non-volatile read-write main memory partitioned into regions including metadata region
US9548873B2 (en) 2014-02-10 2017-01-17 Brocade Communications Systems, Inc. Virtual extensible LAN tunnel keepalives
US10581758B2 (en) 2014-03-19 2020-03-03 Avago Technologies International Sales Pte. Limited Distributed hot standby links for vLAG
US10476698B2 (en) 2014-03-20 2019-11-12 Avago Technologies International Sales Pte. Limited Redundent virtual link aggregation group
US10063473B2 (en) 2014-04-30 2018-08-28 Brocade Communications Systems LLC Method and system for facilitating switch virtualization in a network of interconnected switches
US9800471B2 (en) 2014-05-13 2017-10-24 Brocade Communications Systems, Inc. Network extension groups of global VLANs in a fabric switch
US10616108B2 (en) 2014-07-29 2020-04-07 Avago Technologies International Sales Pte. Limited Scalable MAC address virtualization
US9807007B2 (en) 2014-08-11 2017-10-31 Brocade Communications Systems, Inc. Progressive MAC address learning
US9524173B2 (en) * 2014-10-09 2016-12-20 Brocade Communications Systems, Inc. Fast reboot for a switch
US9699029B2 (en) 2014-10-10 2017-07-04 Brocade Communications Systems, Inc. Distributed configuration management in a switch group
US9626255B2 (en) 2014-12-31 2017-04-18 Brocade Communications Systems, Inc. Online restoration of a switch snapshot
US9628407B2 (en) 2014-12-31 2017-04-18 Brocade Communications Systems, Inc. Multiple software versions in a switch group
US10003552B2 (en) 2015-01-05 2018-06-19 Brocade Communications Systems, Llc. Distributed bidirectional forwarding detection protocol (D-BFD) for cluster of interconnected switches
US9942097B2 (en) 2015-01-05 2018-04-10 Brocade Communications Systems LLC Power management in a network of interconnected switches
CN107003864B (zh) 2015-01-29 2021-08-20 惠普发展公司,有限责任合伙企业 恢复片上系统设备
WO2016122518A1 (en) 2015-01-29 2016-08-04 Hewlett-Packard Development Company, L.P. Booting a system-on-a-chip device
US10037071B2 (en) 2015-02-25 2018-07-31 Texas Instruments Incorporated Compute through power loss approach for processing device having nonvolatile logic memory
US10038592B2 (en) 2015-03-17 2018-07-31 Brocade Communications Systems LLC Identifier assignment to a new switch in a switch group
US9807005B2 (en) 2015-03-17 2017-10-31 Brocade Communications Systems, Inc. Multi-fabric manager
US10579406B2 (en) 2015-04-08 2020-03-03 Avago Technologies International Sales Pte. Limited Dynamic orchestration of overlay tunnels
KR102017284B1 (ko) * 2015-05-26 2019-09-02 삼성전자주식회사 부팅 디바이스 및 그 동작 방법
US10439929B2 (en) 2015-07-31 2019-10-08 Avago Technologies International Sales Pte. Limited Graceful recovery of a multicast-enabled switch
US10171303B2 (en) 2015-09-16 2019-01-01 Avago Technologies International Sales Pte. Limited IP-based interconnection of switches with a logical chassis
US10452594B2 (en) 2015-10-20 2019-10-22 Texas Instruments Incorporated Nonvolatile logic memory for computing module reconfiguration
US9912614B2 (en) 2015-12-07 2018-03-06 Brocade Communications Systems LLC Interconnection of switches based on hierarchical overlay tunneling
US10331203B2 (en) 2015-12-29 2019-06-25 Texas Instruments Incorporated Compute through power loss hardware approach for processing device having nonvolatile logic memory
US10237090B2 (en) 2016-10-28 2019-03-19 Avago Technologies International Sales Pte. Limited Rule-based network identifier mapping
US10496307B1 (en) * 2016-12-30 2019-12-03 EMC IP Holding Company LLC Reaching a normal operating mode via a fastboot procedure
WO2019066773A1 (en) 2017-09-26 2019-04-04 Hewlett-Packard Development Company, L.P. LOADING IMAGE OF STARTUP
KR102324263B1 (ko) * 2018-09-12 2021-11-08 주식회사 엘지에너지솔루션 비휘발성 메모리 업데이트 장치 및 방법
WO2020159533A1 (en) 2019-02-01 2020-08-06 Hewlett-Packard Development Company, L.P. Security credential derivation
WO2020167283A1 (en) 2019-02-11 2020-08-20 Hewlett-Packard Development Company, L.P. Recovery from corruption
FR3105854B1 (fr) * 2019-12-31 2024-07-19 St Microelectronics Rousset Système embarqué
FR3110005B1 (fr) * 2020-05-05 2022-05-27 Thales Sa Contrôleur de démarrage sécurisé pour un système embarqué, système embarqué et procédé de démarrage sécurisé associés

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6098158A (en) * 1997-12-18 2000-08-01 International Business Machines Corporation Software-enabled fast boot
KR100283243B1 (ko) * 1998-05-11 2001-03-02 구자홍 운영체제의 부팅방법
US6438668B1 (en) * 1999-09-30 2002-08-20 Apple Computer, Inc. Method and apparatus for reducing power consumption in a digital processing system
US6449683B1 (en) * 1999-12-14 2002-09-10 Intel Corporation Using non-volatile memory for power management in a computer
US6718461B1 (en) * 2000-04-28 2004-04-06 Intel Corporation Booting processor-based systems
EP1426859B1 (en) * 2001-08-22 2009-11-18 Legend (Beijing) Limited Method of computer rapid start-up

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100811559B1 (ko) * 2006-08-08 2008-03-10 경북대학교 산학협력단 비휘발성 메모리의 데이터 저장영역 관리 방법 및 장치
US9158475B2 (en) 2009-05-22 2015-10-13 Samsung Electronics Co., Ltd. Memory apparatus and method therefor

Also Published As

Publication number Publication date
CN1799028A (zh) 2006-07-05
US20060242398A1 (en) 2006-10-26
EP1634168A1 (en) 2006-03-15
JP2006526831A (ja) 2006-11-24
WO2004107168A1 (en) 2004-12-09

Similar Documents

Publication Publication Date Title
KR20060015329A (ko) 비휘발성 메모리로부터의 부팅
KR100430468B1 (ko) 운영체제의 초기화 및 재시작 방법 및 장치
US5938764A (en) Apparatus for improved storage of computer system configuration information
USRE40092E1 (en) Method for quickly booting a computer system
US6647512B1 (en) Method for restoring CMOS in a jumperless system
US8082439B2 (en) Firmware modification in a computer system environment supporting operational state changes
BRPI0616858B1 (pt) mídia legível por computador, método implementado em um sistema de computador e sistema em um dispositivo de computação de operação e inicialização rápida a partir de um estado de desligado
US8595552B2 (en) Reset method and monitoring apparatus
US20010039612A1 (en) Apparatus and method for fast booting
US20080010446A1 (en) Portable apparatus supporting multiple operating systems and supporting method therefor
US20080098381A1 (en) Systems and methods for firmware update in a data processing device
TW200847021A (en) Automatic backup, restore and update BIOS computer system
EP1351146A1 (en) Power management system and method with recovery after power failure
US20060150037A1 (en) Methods and systems for operating system recovery
JP3777136B2 (ja) コンピュータ装置、データのデッドコピー方法、プログラム、コンピュータ装置の稼動方法
US20080072028A1 (en) Method of restarting a computer platform
US6115813A (en) Selectively enabling advanced configuration and power interface BIOS support
JPH1083287A (ja) コンピュータシステム及びその動作方法
TWI534707B (zh) 電腦系統及其開關機方法
KR100678974B1 (ko) 보안성과 사용자의 편의성을 고려한 컴퓨터 시스템의재부팅 방법 및 장치
EP1037133A1 (en) Method and apparatus for alternation between instances of operating systems in computer systems
US7849300B2 (en) Method for changing booting sources of a computer system and a related backup/restore method thereof
US7080243B2 (en) Method and system for comparing firmware images
US20070016761A1 (en) Method, apparatus, and computer program product for implementing enhanced system behavior control
WO2008048581A1 (en) A processing device operation initialization system

Legal Events

Date Code Title Description
WITN Application deemed withdrawn, e.g. because no request for examination was filed or no examination fee was paid