Nothing Special   »   [go: up one dir, main page]

KR101211503B1 - 부팅 시스템, 그 시스템을 구비한 화상형성장치 및 그제어방법 - Google Patents

부팅 시스템, 그 시스템을 구비한 화상형성장치 및 그제어방법 Download PDF

Info

Publication number
KR101211503B1
KR101211503B1 KR1020070099271A KR20070099271A KR101211503B1 KR 101211503 B1 KR101211503 B1 KR 101211503B1 KR 1020070099271 A KR1020070099271 A KR 1020070099271A KR 20070099271 A KR20070099271 A KR 20070099271A KR 101211503 B1 KR101211503 B1 KR 101211503B1
Authority
KR
South Korea
Prior art keywords
boot code
boot
memory
internal memory
cpu core
Prior art date
Application number
KR1020070099271A
Other languages
English (en)
Other versions
KR20090034104A (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 삼성전자주식회사
Priority to KR1020070099271A priority Critical patent/KR101211503B1/ko
Priority to US12/128,659 priority patent/US8533444B2/en
Publication of KR20090034104A publication Critical patent/KR20090034104A/ko
Application granted granted Critical
Publication of KR101211503B1 publication Critical patent/KR101211503B1/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
    • 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

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

낸드 플래시 메모리에 저장된 부트 코드를 내부 메모리에 저장하는 동작과 병행하여 부팅 동작을 순차적으로 실행하기 위한 부트코드 전송제어부를 포함한다. 부트코드 전송제어부는 메모리 인터페이스와 버스 인터페이스를 모니터링하여 내부 메모리에 저장하는 부트 코드의 어드레스와 부팅 실행을 위해 CPU 코어에서 엑세스하는 부트 코드의 어드레스를 각각 저장하는 저장부를 포함하고, 그 부트 코드 어드레스들이 일치하는 경우 부트 코드를 CPU 코어에 전송하여 순차적으로 부팅 동작을 수행할 수 있도록 한다.
Figure R1020070099271
부팅, 부트 코드, 플래시 메모리, 인터페이스, 순차 실행

Description

부팅 시스템, 그 시스템을 구비한 화상형성장치 및 그 제어방법{BOOTING SYSTEM, IMAGE FORMING APPARATUS HAVING THE SYSTEM AND METHOD THEREOF}
본 발명은 부트 코드의 저장과 병행하여 순차적으로 부팅 동작을 수행하는 부팅 시스템, 그 시스템을 구비한 화상형성장치 및 그 제어방법에 관한 것이다.
통상적인 개인정보단말기(PDA), 이동전화기(Mobile phone) 또는 위성채널 장치(set top box), 복사기 또는 프린터와 같은 화상형성장치 등에서는 전원 인가 시 자동적으로 부팅하는 자동 부팅 시스템을 채용하고 있다.
이러한 자동 부팅 시스템에 있어서, 바이오스(Basic Input/Output Service; BIOS)에 설치된 프로그램을 실행함으로써 많은 초기화 기능 들이 수행된다. 일반적으로, 그러한 기능들은 맞춤 설정(custom setting)에 대한 CMOS 셋업을 체크하는 기능, 인터럽트 핸들러 및 장치 드라이버들을 로딩하는 기능, 레지스터들과 장치 관리를 초기화하는 기능, 디스크 드라이브들과 같은 설치된 구성요소들 또는 주변 장치들에 대한 파워-온-셀프-테스트(power-on-self-test; POST)를 수행하는 기능, 시스템 설정을 표시하는 기능, 어떤 구성 요소들이 구동 가능한 지를 결정하는 기능, 그리고 부트 스트랩 시퀀스를 시작하는 기능을 포함한다.
통상적으로 바이오스(또는 부팅) 프로그램은 롬(ROM), 이이피롬(EPROM), 노아(NOR) 플래시 메모리에 저장된다.
최근에는 시스템 시장의 성장과 더불어 시스템에서의 서비스 다양화, 고기능화, 고용량화로 인하여 고속 엑세스와 대용량을 지원하는 것임은 물론 비교적 저가(cost-effective)의 메모리가 요구되고 있는데, 노아(NOR) 플래시 메모리로는 그러한 요구에 한계가 있다.
한편으로는, 낸드(NAND) 플래시 메모리는 메모리 구조상 대용량 구현이 용이하고 노아 플래시 메모리에 비해 저가로 제조될 수 있기 때문에 대용량 메모리로서 많이 사용되고 있다. 또한 낸드 플래시 메모리는 노아 플래시 메모리보다 제작이 용이하고 집적도가 좋기 때문에, 부팅 프로그램을 저장하는 용도로 사용되는 것이 제안된 바 있다.
부팅 프로그램을 저장하는 낸드 플래시 메모리를 구비한 자동 부팅 시스템의 일예로는 미국 특허등록번호 5,535,357에 개시되어 있다.
도 1에 도시한 바와 같이, 시스템(1)은 시스템 버스(10)를 매개로 CPU 코어(11)가 낸드 플래시 메모리(30)와 시스템 메모리(40)와 인터페이스를 수행한다.
낸드 플래시 메모리 제어기(20)는 CPU 코어(10)와 낸드 플래시 메모리(30) 사이에서 내부에 데이터를 임시 저장하고 전송하는 역할을 하며, 시스템 버스(10)를 통하여 CPU 코어(11)와 시스템 메모리(40)와 인터페이스하기 위한 버스 인터페이스(21)와 낸드 플래시 메모리(30)와 인터페이스하기 위한 메모리 인터페이스(23)를 포함한다. 여기서 버스 인터페이스(210)는 노아(NOR) 인터페이스 로직을 적용할 수 있고, 메모리 인터페이스(23)는 낸드(NAND) 인터페이스 로직을 적용할 수 있다.
낸드 플래시 메모리 제어기(20)는 제어 로직(24)과 레지스터(25)를 포함한다.
내부 메모리(22)에 낸드 플래시 메모리(30)의 부트 코드 전체를 저장하는 로딩 동작이 완료된 이후에, 버스 인터페이스(21)를 통하여 CPU 코어(11)가 부트 코드를 이용하여 시스템을 부팅하는 동작을 실행한다. 부팅이 완료된 후 시스템 메모리(40)에 대한 편성(DRAM configure)을 수행하고, 그런 다음 낸드 플래시 메모리(30)에 저장된 운영체제 프로그램(OS program)과 사용자 데이터를 시스템 메모리(40)에 저장한다.
이후부터는 시스템 메모리(40)에 저장된 운영체제 프로그램으로 점프(jump)하여 시스템 동작을 제어한다.
그러나 기존에는 내부 메모리에 낸드 플래시 메모리의 부트 코드를 모두 저장하고 나서야 CPU 코어에서 부트 코드를 엑세스할 수 있도록 하고 있기 때문에, CPU 코어에 의하여 실질적으로 부팅하는 시기가 늦어지게 되고 그 결과 시스템 성능에 대한 평가가 저하되는 요인이 되고 있다.
더욱이, 플래시 메모리에서 내부 메모리로 부트 코드를 전송하는 경우 저속으로 처리하고 나서 부팅을 실행하는 하나의 과정으로 시스템의 처리 속도를 고속으로 변경하고 있기 때문에, 내부 메모리에 부트 코드를 전송하는 과정에 소요되는 시간이 늦어질수록 전체 부팅 시간이 지연될 수 밖에 없다.
또한, 부트 코드 전체를 내부 메모리에 모두 저장하도록 하기 위해서는 메모 리 용량을 크게 해야 하기 때문에, 크기가 커지고 비용이 증가하는 부담이 따르게 된다.
본 발명이 해결하고자 하는 과제는 부트 코드 전체를 내부 메모리에 모두 저장하기 전이라도 이미 저장된 부트 코드를 이용하여 부팅을 순차적으로 실행함으로서 전체 부팅 시간을 단축하는데 있다.
또한 본 발명이 해결하고자 하는 과제는 부트 코드를 저장하는 내부 메모리의 크기를 줄이고 비용을 절감하는데 있다.
본 발명은, 이하의 해결 수단에 의하여, 상술한 과제를 해결한다.
본 발명은, 시스템을 부팅하기 위한 부트 코드를 저장하는 외부 메모리; 상기 부트 코드를 전송받아 부팅을 실행하기 위한 CPU 코어; 상기 외부 메모리로부터 부트 코드를 전송받아 저장하는 내부 메모리; 및 상기 내부 메모리에 저장하기 위한 상기 외부 메모리의 부트 코드가 남아 있어도 상기 CPU 코어에 의하여 부팅 동작을 순차 실행하도록 상기 내부 메모리에 이미 저장된 부트 코드를 전송하는 동작을 제어하는 부트코드 전송제어부를 포함한다.
상기 부트코드 전송제어부는, 상기 CPU 코어에서 요구하는 부트 코드 정보를 저장하는 제1저장부, 상기 내부 메모리에 저장된 부트 코드 정보를 저장하는 제2저장부, 및 상기 제1 및 제2저장부의 부트 코드 정보를 비교하여 상기 내부 메모리에 저장된 부트 코드의 전송 시기를 판별하기 위한 판별부를 포함한다.
상기 부트코드 전송제어부는, 상기 제1저장부의 부트 코드 정보와 제2저장부 의 부트 코드 정보가 일치하는 경우 상기 내부 메모리의 부트 코드를 상기 CPU 코어로 전송한다.
상기 CPU 코어와 상기 외부 메모리 사이에서 각각 인터페이스를 수행하는 메모리 제어기를 더 포함하고, 상기 메모리 제어기는 상기 내부 메모리와 상기 부트코드 전송제어부를 포함한다.
상기 메모리 제어기는, 상기 내부 메모리와 상기 외부 메모리 사이에서 부트 코드의 전송을 위하여 인터페이스하는 메모리 인터페이스와, 상기 CPU 코어와 상기 내부 메모리 사이에서 부트 코드의 전송을 위하여 인터페이스하는 버스 인터페이스를 더 포함하고, 상기 부트코드 전송제어부는 상기 메모리 인터페이스와 상기 버스 인터페이스를 모니터링하여 상기 부트 코드 정보를 체크한다.
상기 외부 메모리는, 낸드 플래시 메모리이다.
상기 낸드 플새시 메모리는, 상기 부트 코드 이외에 운영체제 프로그램과 사용자 데이터를 저장한다.
상기 낸드 플래시 메모리는 개별 부여하는 어드레스를 기준으로 상기 부트 코드를 복수 그룹으로 나눈다.
상기 내부 메모리는 램이다.
상기 내부 메모리의 용량은, 상기 부트 코드 모두를 저장할 수 있는 용량 보다 작다.
상기 CPU 코어는 전체 부팅 동작을 구성하는 실행 과정을 처리할 때 마다 그 실행 과정에 대응하는 부트 코드에 대하여 엑세스 요구하고, 그 엑세스 요구에 의 하여 전달받은 부트 코드를 이용하여 해당 실행 과정을 순차적으로 처리한다.
상기 CPU 코어는 실행 과정으로 리셋 처리, PLL 설정, 클럭 분주비 설정, 시스템 메모리 편성, 입출력(I/O) 제어 중 적어도 하나를 포함한다.
본 발명은, 낸드 플래시 메모리의 부트 코드를 이용하여 부팅을 실행하기 위한 부팅 시스템을 구비한 화상형성장치에 있어서, 상기 부팅 시스템은, 상기 낸드 플래시 메모리의 부트 코드를 내부 메모리에 저장하는 동작과 동시에 상기 내부 메모리에 이미 저장된 부트 코드를 상기 CPU 코어에 전송하는 동작을 제어하는 낸드 플래시 메모리 제어기; 부팅 동작을 실행하는데 필요로 하는 부트 코드의 전송을 상기 낸드 플래시 제어기에 요구하고, 상기 낸드 플래시 메모리 제어기를 통하여 요구받은 부트 코드를 전송받아 전체 부팅 동작을 순차적으로 실행하는 CPU 코어를 포함한다.
상기 낸드 플래시 제어기는, 상기 낸드 플래시 메모리의 부트 코드를 상기 내부 메모리에 모두 저장하기 이전에 상기 CPU 코어에 요구에 응답하기 위하여 상기 내부 메모리에 저장된 부트 코드를 전송하는 동작을 제어하는 부트코드 전송제어부를 포함한다.
상기 부트코드 전송제어부는, 상기 CPU 코어에서 요구하는 부트 코드의 어드레스를 저장하는 제1저장부, 상기 내부 메모리에 저장된 부트 코드의 어드레스를 저장하는 제2저장부, 및 상기 제1 및 제2저장부의 부트 코드 어드레스를 비교하여 일치하면 상기 내부 메모리에 저장된 부트 코드의 전송을 시작하는 시기로 판별하는 판별부를 포함한다.
본 발명은, 낸드플래시 메모리의 부트 코드를 CPU 코어에 전송하는 낸드플래시 메모리 제어기를 이용하여 시스템을 부팅하기 위한 부팅 시스템의 제어 방법에 있어서, 상기 낸드 플래시 메모리의 부트 코드를 낸드 플래시 제어기의 내부 메모리에 저장하는 단계; 상기 내부 메모리에 상기 부트 코드를 저장하는 동안 상기 내부 메모리에 저장된 부트 코드의 어드레스와 상기 CPU 코어가 요구하는 부트 코드의 어드레스가 서로 일치하는 지를 판별하는 단계; 상기 판별 결과 일치하는 경우 상기 내부 메모리에 저장하기 위한 부트 코드가 남아 있어도 이미 저장된 부트 코드를 상기 CPU 코어에 전송하는 단계; 및 상기 CPU 코어에서 전송받은 부트 코드를 이용하여 부팅하는 단계;를 포함한다.
상기 CPU 코어가 부팅 완료 여부를 판단하고, 그 판단 결과 완료되지 않은 경우, 남은 부팅 동작을 처리하기 위하여 상기 내부 메모리에 전송되지 않고 남은 부트 코드에 대하여 엑세스 요구하고, 남은 부트 코드를 전송받아 부팅을 마무리한다.
상기 부팅 완료한 경우 상기 낸드 플래시 메모리에 저장된 운영체제 프로그램과 사용자 데이터를 전송한다.
본 발명은, 외부 메모리의 전체 부트 코드를 내부 메모리에 단계적으로 전송하는 동작을 확인하는 단계; 상기 내부 메모리에 저장된 일부 부트 코드를 이용하여 부분적인 부팅 동작을 수행하는지 확인하는 단계; 및 상기 부트 코드 전부를 상기 내부 메모리에 전송하기 이전에 상기 부분적인 부팅 동작을 적어도 한 번 수행하는가에 따라 부팅 동작을 검증하는 단계를 포함한다.
상기 부트 코드를 전송하는 동작과 상기 부분적인 부팅 동작은 동시에 수행한다.
상기 부분적인 부팅 동작은, 시스템 메모리에서 SPD 정보를 읽어 내는 경우, 읽어 낸 SPD 정보를 이용하여 상기 시스템 메모리의 초기화를 하는 경우, 기기의 조작 패널에 소정 메시지를 디스플레이하는 경우, 송풍 팬의 회전을 위한 모터 가동이 있는 경우, 외부로 출력하는 클럭 주파수의 변경이 있는 경우, CPU 디버거를 사용해서 CPU 동작의 인스트럭션이 있는 경우 중 적어도 어느 하나를 포함한다.
이상과 같이 본 발명은 부트 코드를 저장하는 동작과 동시에 CPU 코어가 부트 코드 일부를 전달받아 부팅할 수 있어서, 실질적으로 부팅하는 시기가 빨라지게 되고 그 결과 전체 부팅 시간을 단축할 수 있다.
또한 본 발명은 부트 코드를 모두를 저장하기 이전이라도 CPU 코어의 요구에 따라 저장된 부트 코드를 전송하는 방식이어서 필요한 메모리 용량이 기존 보다 감소하게 되므로 내부 메모리의 크기와 비용을 줄일 수 있다.
이하에서는 본 발명의 실시예에 따른 부팅 시스템, 그 시스템을 구비한 화상형성장치 및 그 제어방법을 설명한다.
도 2는 본 발명의 실시예에 따른 부팅 시스템의 구성을 나타내는 블록도이다.
시스템(100)은 시스템 버스(10)를 매개로 서로 인터페이스를 수행하는 CPU 코어(101), 낸드 플래시 메모리(300)와 시스템 메모리(40)를 포함한다. 시스템 메모리(40)는 DRAM으로 구현할 수 있다.
낸드 플래시 메모리 제어기(200)는 CPU 코어(101)와 외부 메모리로서 낸드 플래시 메모리(300) 사이에서 각각 인터페이스를 수행하여 내부 메모리(220)에 데이터를 임시 저장하고 전송하는 역할을 하며, 내부 메모리(220)는 램(RAM)으로 구현한다.
낸드 플래시 메모리 제어기(200)는 시스템 버스(10)를 통하여 CPU 코어(101)와 시스템 메모리(40)와 인터페이스하기 위한 버스 인터페이스(210)와 낸드 플래시 메모리(300)와 인터페이스하기 위한 메모리 인터페이스(230), 제어 로직(240), 및 레지스터(250)를 포함한다. 여기서 버스 인터페이스(210)는 노아(NOR) 인터페이스 로직을 적용할 수 있고, 메모리 인터페이스(230)는 낸드(NAND) 인터페이스 로직을 적용할 수 있다.
레지스터(250)는 시스템의 편성(configuration)과 명령(command)에 관한 정보를 저장한다. 제어 로직(240)은 낸드 플래시 메모리 제어기(200)의 전반적인 동작을 관리하고 제어하는 역할을 한다.
시스템(100)에 전원 인가 시 제어 로직(240)은 메모리 인터페이스(230)로 하여금 낸드 플래시 메모리(300)의 부트 코드를 내부 메모리(220)에 저장되도록 한다.
특징적으로 낸드 플래시 메모리 제어기(200)는 부트코드 전송제어부(260)를 더 포함한다.
부트코드 전송제어부(260)는 내부 메모리(220)에 저장된 부트 코드의 전송 시기를 판별하기 위한 판별부(261), CPU 코어(101)에서 엑세스 요구하는 부트 코드 정보를 저장하는 제1저장부(262), 메모리 인터페이스(230)에 의하여 내부 메모리(220)에 저장되는 부트 코드 정보를 저장하는 제2저장부(263)을 포함한다.
도 3에 도시한 바와 같이, 낸드 플래시 메모리(300)에 저장하는 데이터는 부트 코드(310)와, 운영체제 프로그램(OS program)(320), 사용자 데이터(330)를 포함한다.
부트 코드(310)는 시스템의 초기화를 포함하는 많은 실행 과정을 처리하기 위한 복수 코드들을 포함하고 있다. 이러한 실행 과정은 리셋(reset) 처리, PLL 설정(setting), 클럭 분주비 설정, 시스템 메모리 편성(DRAM configure), I/O 제어가 그러한 예이다. 복수 코드들에 대해 어드레스를 개별 부여하고 있기 때문에, 각각의 어드레스에 의하여 해당 부트 코드를 인식할 수 있다.
부트 코드(310)는 어드레스를 기준으로 복수 어드레스 그룹(AG1, AG2, ... , AGn, ..)로 구분한다. 복수 어드레스 그룹의 순서는 부팅 과정을 고려하여 만들어지지만, 반드시 부팅의 순서와 일치하는 것은 아니다.
통상적으로 부팅 동작은 처리 과정에 따라 많은 실행 과정을 순차적으로 수행하도록 되어 있는데, 일부 부트 코드를 가지고도 해당 처리 과정을 충족시킬 수 있으면 부팅을 실행할 수 있고 다른 처리 과정은 그 후에 실행하는 방식으로서 순차적으로 부팅 동작을 진행할 수 있다.
즉, 부트 코드 일부가 내부 메모리에 저장되어 있고, 그 일부 부트 코드만을 가지고도 전체 부팅 동작의 적어도 하나의 실행 과정을 처리할 수 있는 조건을 충족한다고 하면, 부트 코드 모두가 내부 메모리에 저장되기 전이라도 CPU 코어(101)는 부팅 동작을 시작할 수 있다. 이것은 부팅을 시작하는 처음부터 모든 부트 코드가 요구되는 것은 아니며, 통상적으로 부트 코드 간에는 연관성(locality)을 가지고 있기 때문에, 먼저 처리하는 부팅 시퀀스에서 요구되어지는 부트 코드는 가급적 내부 메모리에 저장하는 시기도 빠르게 되어 있으므로 상대적으로 먼저 저장된 일부 부트 코드를 이용하여 부팅을 순차적으로 실행할 수가 있는 것이다.
그렇게 되면 부트 코드를 내부 메모리(220)에 저장하는 동작과 병행하여 CPU 코어(101)에 의하여 실질적으로 부팅을 시작하는 시기가 빨라지게 되므로 그 전체 부팅 시간을 단축할 수 있다.
부트코드 전송제어부(260)는 버스 인터페이스(210)와 메모리 인터페이스(230)의 동작을 모니터링하여 부트 코드 정보를 제1저장부(262)와 제2저장부(263)에 각각 저장하는 동작과 각 저장부에 저장된 부트 코드 정보를 비교하여 내부 메모리의 부트 코드를 CPU 코어(101)에 전달하는 동작을 제어한다.
낸드 플래시 메모리(300)의 부트 코드를 내부 메모리(220)에 순차적으로 저장하는 동안, 제2저장부(263)는 내부 메모리(220)에 저장된 부트 코드의 어드레스를 저장한다. 아울러 제1저장부(262)는 부팅을 실행하기 위하여 CPU 코어(101) 측에서 요구하는 부트 코드 어드레스를 저장한다.
판별부(261)는 제1저장부(262)에 저장된 부트 코드 어드레스와 제2저장부(263)에 저장된 부트 코드 어드레스가 일치하는지 판별하고, 그 결과 CPU 코 어(101)가 요구하는 부트 코드 어드레스가 내부 메모리(220)에 저장되어 있는 경우, 버스 인터페이스(210)로 하여금 내부 메모리(220)에 저장된 부트 코드를 CPU 코어(101)에 전송되게 한다.
버스 인터페이스(210)로부터 요구한 코드를 전달받게 되면, CPU 코어(101)는 전달받은 부트 코드를 이용하여 부팅 동작의 일부로서 어느 하나의 실행 과정을 처리한다. 그 실행 과정이 완료되면 다음 순서의 실행 과정을 위해 그에 대응하는 부트 코드를 엑세스하기 위한 부트 코드 어드레스를 버스 인터페이스(210)에 보낸다. 이에 따라 버스 인터페이스(210)는 CPU 코어(101)에서 엑세스 요구하는 부트 코드 어드레스를 부트코드 전송제어부(260)에 전달하고, 그에 따라 다음 액세스하는 부트코드 어드레스를 제1저장부(262)에 저장한다.
앞서의 설명과 같이, CPU 코어(101)가 부팅의 일부를 실행하는 동안, 낸드 플래시 메모리(300)에 아직 전송되지 않던 다른 부트 코드는 순서대로 메모리 인터페이스(230)를 통하여 내부 메모리(220)에 전달되어 저장하는 동작을 병행하게 된다.
도 4에 도시한 바와 같이, 내부 메모리(220)에 제1어드레스 그룹(AG1)의 제1처음 어드레스(Ad1s)부터 부트 코드를 저장하는 동안 CPU 코어(101)가 제1마지막 어드레스(Ad1e)에 대한 전송 요구가 있으면, 내부 메모리(220)에 제1마지막 어드레스(Ad1e)의 부트 코드가 저장되기 이전이므로 그 CPU 코어(101)는 일시적으로 홀드된다. 이어 내부 메모리(220)에는 제1어드레스 그룹(AG1)의 부트 코드를 저장하는 동작을 지속한다.
내부 메모리(220)에 제1어드레스 그룹(AG1)의 마지막 어드레스(Ad1e)의 부트 코드가 저장되면 제1저장부(262)와 제2저장부(263)에 각각 저장된 CPU 코어(101)에서 요구하는 제1마지막 어드레스(Ad1e)와 내부 메모리(220)에 저장된 제1마지막 어드레스(Ad1e)가 일치한다. 이때 판별부(261)에서는 버스 인터페이스(210)로 하여금 내부 메모리(220)에 저장된 제1어드레스 그룹(AG1)의 부트 코드를 CPU 코어(101)에 전달하도록 한다.
CPU 코어(101)는 제1어드레스 그룹(AG1)의 부트 코드를 이용하여 부팅 동작의 하나인 제1실행 과정(AG'1)을 처리한다.
제1실행 과정(AG'1)을 처리하는 동안, 내부 메모리(220)에는 제2어드레스 그룹(AG2)의 부트 코드를 저장하는 동작을 병행한다.
제1실행 과정(AG'1)을 완료한 경우 CPU 코어(101)는 제2실행 과정(AG'3)을 하는데 필요한 어드레스(Ad3e)를 요구한다. 이러한 요구가 있고 내부 메모리(220)에 제3어드레스 그룹(AG3)의 제3처음 어드레스부터 제3마지막 어드레스까지 모두 저장된 경우, 버스 인터페이스(210)에 의하여 제3어드레스 그룹(AG3)의 부트 코드가 CPU 코어(101)에 전달된다. CPU 코어(101)는 제3어드레스 그룹(AG3)의 부트 코드를 이용하여 먼저 처리한 제1실행 과정(AG'1)에 이어서 부팅 동작의 다른 하나인 제2실행 과정(AG'3)을 처리한다. 이와 같은 방식으로 CPU 코어(101)는 부트 코드를 요구하여 제공받고 그 부트 코드를 이용하여 여러 실행 과정을 차례로 처리하는 순차적인 부팅을 통하여 모든 부팅 동작을 마무리하게 된다.
부팅이 완료된 후 CPU 코어(101)는 시스템 메모리(40)에 대한 편성(DRAM configure)을 수행하고, 그런 다음 낸드 플래시 메모리 제어기(200)를 통하여 낸드 플래시 메모리(300)에 저장된 운영체제 프로그램(OS program)(320)과 사용자 데이터(330)를 시스템 메모리(40)에 저장한다. 이후부터는 시스템 메모리(40)에 저장된 운영체제 프로그램으로 점프(jump)하여 시스템 동작을 제어한다.
외부 메모리인 낸드 플래시 메모리(300)의 부트 코드 전부를 내부 메모리에 저장하고 나서 부팅을 시작하는 기존의 방식과는 다르게, 본 발명은 낸드 플래시 메모리(300)의 부트 코드를 내부 메모리(220)에 단계적으로 저장하는 동작과 동시에 CPU 코어(101)에서 일부 부트 코드를 가지고 부분적으로 하는 부팅 동작을 순차 실행함으로서 전체 부팅 시간이 단축되도록 하고 있다.
본 발명에 따른 부팅 동작을 검증하기 위해서, 낸드 플래시 메모리(300)의 전체 부트 코드 중 일부 부트 코드를 읽어 내어 내부 메모리(220)에 저장하는 동작과 내부 메모리(220)에 저장된 일부 부트 코드를 이용하여 CPU코어(100)의 주도 하에 부분적인 부팅하는 동작이 동시에 수행되고 있는지를 검사하는 것이 필요하다.
이러한 검사 공정을 위해서는, 스코프(scope)나 로직 분석기(logic analyzer) 등 검사 장비를 이용하여 외부 메모리(300)에서 부트 코드의 전송이 이루어지는지를 확인하고, 동시에 부분적인 부팅 동작이 수행되는지를 검사 장비를 이용하여 확인해 본다. 여기서 부분적인 부팅 동작이라고 하면, 예를 들어 시스템 메모리(40)에서 SPD(serial presence detect) 정보를 읽어 내거나, 읽어 낸 SPD 정보를 이용하여 시스템 메모리(40)의 초기화를 하거나, 기기의 조작 패널(panel)에 소정 메시지를 디스플레이하거나, 송풍 팬의 회전을 위한 모터 가동이 있거나, 외 부로 출력하는 클럭 주파수의 변경 등이 포함된다. 또 부분적인 부팅 동작은 CPU 코어가 주도적으로 실행하므로, CPU 코어의 제작사에서 제공하는 CPU 디버거(debugger)를 사용해서 CPU 동작의 인스트럭션(instruction)을 확인해 보는 방법도 있다.
이러한 검사 결과, 낸드 플래시 메모리에서 부트 코드를 읽어 내면서 이미 저장된 일부의 부트 코드를 이용하여 부분적인 부팅 동작을 수행하는 것이 확인되었다고 하면 본 발명에 따른 부팅 동작이 적용되고 있는 것이므로 정상 상태로 인식할 수 있고, 그렇지 않은 경우에는 본 발명에 따른 부분적인 부팅 동작이 적용되고 있지 아니한 에러 상태로 인식할 수가 있다.
이하에서는 본 발명의 부팅 시스템의 제어방법을 설명한다.
시스템에 전원 인가 여부를 판단하고(400), 그 결과 전원을 공급받는 경우 제어 로직(240)은 메모리 인터페이스(230)로 하여금 낸드 플래시 메모리(300)의 부트 코드를 내부 메모리(220)에 저장되도록 한다(402). 이때 부트코드 전송 제어부(260)는 메모리 인터페이스(230)를 모니터링하여 그 내부 메모리(220)에 저장되는 부트 코드의 어드레스를 체크한 후 제2저장부(263)에 저장한다(404).
이어 부트코드 전송제어부(260)에서는 버스 인터페이스(210)를 모니터링하여 부팅을 하기 위한 CPU 코어(101)로부터 엑세스 요구가 있는지 판단하고(406), 그 판단 결과 CPU 코어(101)로부터 엑세스 요구가 없으면 동작 402로 진행하여 내부 메모리(220)에 부트 코드를 저장하는 동작을 계속하고, 그 판단 결과 CPU 코어(101)로부터 엑세스 요구가 있으면 부팅 동작의 일부로서 적어도 하나의 실행 과 정을 처리하는데 필요로 하여 엑세스하는 부트 코드 어드레스를 제1저장부(262)에 저장한다(408).
판별부(261)는 제1저장부(262)의 어드레스와 제2저장부(263)의 어드레스를 비교하여 일치 여부를 판단하고(410), 그 판단 결과 일치하지 않으면 동작 402로 진행하여 내부 메모리(220)에 부트 코드를 저장하는 동작을 계속하고, 그 판단 결과 일치하는 경우 판별부(261)는 버스 인터페이스(210)로 하여금 내부 메모리(220)에 저장되어 있는 부트 코드로서 요구받은 부트 코드를 CPU 코어(101)로 전송한다(412).
CPU 코어(101)는 전송받은 부트 코드를 이용하여 부팅 동작의 적어도 하나인 실행 과정을 수행한다(414). 이어 CPU 코어(101)는 실행 과정을 완료하고 나서 다음 순서의 실행 과정을 하는데 필요한 부트 코드에 대한 엑세스 요구를 버스 인터페이스(210)를 통하여 부트코드 전송제어부(260)에 전달한다. 이후에는 상기와 같은 방식으로 내부 메모리(220)에 저장되는 부트 코드 중 요구받은 부트 코드를 전달하여 순차적으로 부팅 동작을 실행할 수 있도록 한다.
순차적으로 부팅 동작을 하는 동안, CPU 코어(101)는 부팅 완료 여부를 판단하고(416), 그 판단 결과 부팅 완료되면 시스템 메모리(40)에 대한 편성(DRAM configure)을 수행하고, 그런 다음 낸드 플래시 메모리 제어기(200)를 통하여 낸드 플래시 메모리(300)에 저장된 운영체제 프로그램(320)과 사용자 데이터(330)를 시스템 메모리(40)에 저장한다(418). 이후부터는 시스템 메모리(40)에 저장된 운영체제 프로그램으로 점프(jump)하여 시스템 동작을 제어한다.
도 1은 종래의 부팅 시스템의 구성을 나타내는 블록도이다.
도 2는 본 발명의 실시예에 따른 부팅 시스템의 구성을 나타내는 블록도이다.
도 3은 본 발명의 낸드 플래시 메모리의 데이터의 구성을 나타내는 도면이다.
도 4는 본 발명에 따른 순차 실행하는 부팅 동작을 설명하기 위한 도면이다.
도 5는 본 발명에 따른 부팅 시스템의 제어 방법을 설명하기 위한 플로우차트이다.
*도면의 주요 부분에 대한 부호 설명*
100 : CPU 코어
200 : 낸드 플래시 메모리 제어기
210 : 버스 인터페이스
220 : 내부 메모리
230 : 메모리 인터페이스
260 : 부트코드 전송제어부
300 : 낸드 플래시 메모리

Claims (21)

  1. 시스템을 부팅하기 위한 부트 코드를 저장하는 외부 메모리;
    상기 부트 코드를 전송받아 부팅을 실행하기 위한 CPU 코어;
    상기 외부 메모리로부터 부트 코드를 전송받아 저장하는 내부 메모리; 및
    상기 내부 메모리에 저장하기 위한 상기 외부 메모리의 부트 코드가 남아 있어도 상기 CPU 코어에 의하여 부팅 동작을 순차 실행하도록 상기 내부 메모리에 이미 저장된 부트 코드를 전송하는 동작을 제어하는 부트코드 전송제어부를 포함하는 부팅 시스템.
  2. 제1항에 있어서,
    상기 부트코드 전송제어부는,
    상기 CPU 코어에서 요구하는 부트 코드 정보를 저장하는 제1저장부,
    상기 내부 메모리에 저장된 부트 코드 정보를 저장하는 제2저장부, 및
    상기 제1 및 제2저장부의 부트 코드 정보를 비교하여 상기 내부 메모리에 저장된 부트 코드의 전송 시기를 판별하기 위한 판별부를 포함하는 부팅 시스템.
  3. 제2항에 있어서,
    상기 부트코드 전송제어부는, 상기 제1저장부의 부트 코드 정보와 제2저장부의 부트 코드 정보가 일치하는 경우 상기 내부 메모리의 부트 코드를 상기 CPU 코 어로 전송하는 부팅 시스템.
  4. 제1항에 있어서,
    상기 CPU 코어와 상기 외부 메모리 사이에서 각각 인터페이스를 수행하는 메모리 제어기를 더 포함하고,
    상기 메모리 제어기는 상기 내부 메모리와 상기 부트코드 전송제어부를 포함하는 부팅 시스템.
  5. 제4항에 있어서,
    상기 메모리 제어기는,
    상기 내부 메모리와 상기 외부 메모리 사이에서 부트 코드의 전송을 위하여 인터페이스하는 메모리 인터페이스와, 상기 CPU 코어와 상기 내부 메모리 사이에서 부트 코드의 전송을 위하여 인터페이스하는 버스 인터페이스를 더 포함하고,
    상기 부트코드 전송제어부는 상기 메모리 인터페이스와 상기 버스 인터페이스를 모니터링하여 상기 부트 코드 정보를 체크하는 부팅 시스템.
  6. 제1항에 있어서,
    상기 외부 메모리는, 낸드 플래시 메모리인 부팅 시스템.
  7. 제6항에 있어서,
    상기 낸드 플새시 메모리는,
    상기 부트 코드 이외에 운영체제 프로그램과 사용자 데이터를 저장하는 부팅 시스템.
  8. 제6항에 있어서,
    상기 낸드 플래시 메모리는 개별 부여하는 어드레스를 기준으로 상기 부트 코드를 복수 그룹으로 나누는 부팅 시스템.
  9. 제1항에 있어서,
    상기 내부 메모리는 램인 부팅 시스템.
  10. 제9항에 있어서,
    상기 내부 메모리의 용량은, 상기 부트 코드 모두를 저장할 수 있는 용량 보다 작은 부팅 시스템.
  11. 제1항에 있어서,
    상기 CPU 코어는 전체 부팅 동작을 구성하는 실행 과정을 처리할 때 마다 그 실행 과정에 대응하는 부트 코드에 대하여 엑세스 요구하고, 그 엑세스 요구에 의하여 전달받은 부트 코드를 이용하여 해당 실행 과정을 순차적으로 처리하는 부팅 시스템.
  12. 제11항에 있어서,
    상기 CPU 코어는 실행 과정으로 리셋 처리, PLL 설정, 클럭 분주비 설정, 시스템 메모리 편성, 입출력(I/O) 제어 중 적어도 하나를 포함하는 부팅 시스템.
  13. 낸드 플래시 메모리의 부트 코드를 이용하여 부팅을 실행하기 위한 부팅 시스템을 구비한 화상형성장치에 있어서,
    상기 부팅 시스템은,
    상기 낸드 플래시 메모리의 부트 코드를 저장하는 내부 메모리를 포함하고, 상기 내부 메모리에 상기 부트 코드를 저장하는 동작과 동시에 상기 내부 메모리에 이미 저장된 부트 코드를 CPU 코어에 전송하는 동작을 제어하는 낸드 플래시 메모리 제어기; 및
    부팅 동작을 실행하는데 필요로 하는 부트 코드의 전송을 상기 낸드 플래시 제어기에 요구하고, 상기 낸드 플래시 메모리 제어기를 통하여 요구받은 부트 코드를 전송받아 전체 부팅 동작을 순차적으로 실행하는 CPU 코어를 포함하는 부팅 시스템을 구비한 화상형성장치.
  14. 제13항에 있어서,
    상기 낸드 플래시 제어기는,
    상기 낸드 플래시 메모리의 부트 코드를 상기 내부 메모리에 모두 저장하기 이전에 상기 CPU 코어의 요구에 응답하기 위하여 상기 내부 메모리에 저장된 부트 코드를 전송하는 동작을 제어하는 부트코드 전송제어부를 포함하는 부팅 시스템을 구비한 화상형성장치.
  15. 제14항에 있어서,
    상기 부트코드 전송제어부는,
    상기 CPU 코어에서 요구하는 부트 코드의 어드레스를 저장하는 제1저장부,
    상기 내부 메모리에 저장된 부트 코드의 어드레스를 저장하는 제2저장부, 및
    상기 제1 및 제2저장부의 부트 코드 어드레스를 비교하여 일치하면 상기 내부 메모리에 저장된 부트 코드의 전송을 시작하는 시기로 판별하는 판별부를 포함하는 부팅 시스템을 구비한 화상형성장치.
  16. 부트 코드가 저장된 낸드플래시 메모리, 부팅을 실행하는 CPU 코어 및 상기 낸드플래시 메모리의 부트 코드를 CPU 코어에 전송하는 낸드플래시 메모리 제어기를 포함하는 부팅 시스템의 제어 방법에 있어서,
    상기 낸드 플래시 메모리 제어기가 상기 낸드 플래시 메모리의 부트 코드를 상기 낸드 플래시 메모리 제어기의 내부 메모리에 저장하는 단계;
    상기 낸드 플래시 메모리 제어기가 상기 내부 메모리에 상기 부트 코드를 저장하는 동안 상기 내부 메모리에 저장된 부트 코드의 어드레스와 상기 CPU 코어가 요구하는 부트 코드의 어드레스가 서로 일치하는 지를 판별하는 단계;
    상기 판별 결과가 일치하는 경우 상기 낸드 플래시 메모리 제어기가 상기 내부 메모리에 저장하기 위한 부트 코드가 남아 있어도 이미 저장된 부트 코드를 상기 CPU 코어에 전송하는 단계; 및
    상기 CPU 코어가 전송받은 부트 코드를 이용하여 부팅하는 단계;를 포함하는 부팅 시스템의 제어 방법.
  17. 제16항에 있어서,
    상기 CPU 코어가 부팅 완료 여부를 판단하고, 그 판단 결과 완료되지 않은 경우, 남은 부팅 동작을 처리하기 위하여 상기 내부 메모리에 전송되지 않고 남은 부트 코드에 대하여 엑세스 요구하고, 남은 부트 코드를 전송받아 부팅을 마무리하는 부팅 시스템의 제어 방법.
  18. 제17항에 있어서,
    상기 부팅 완료한 경우 상기 낸드 플래시 메모리에 저장된 운영체제 프로그램과 사용자 데이터를 전송하는 부팅 시스템의 제어방법.
  19. 내부 메모리를 포함하는 외부 메모리 제어기 및 외부 메모리를 포함하는 부팅 시스템의 제어 방법에 있어서,
    상기 외부 메모리 제어기가 상기 외부 메모리의 전체 부트 코드를 상기 내부 메모리에 단계적으로 전송하는 동작을 확인하는 단계;
    상기 외부 메모리 제어기가 상기 내부 메모리에 저장된 일부 부트 코드를 이용하여 부분적인 부팅 동작의 수행이 가능한지 확인하는 단계; 및
    상기 외부 메모리 제어기가 상기 부트 코드 전부를 상기 내부 메모리에 전송하기 이전에 상기 부분적인 부팅 동작을 적어도 한 번 수행하는가에 따라 부팅 동작을 검증하는 단계를 포함하는 부팅 시스템의 제어 방법.
  20. 제19항에 있어서,
    상기 부트 코드를 전송하는 동작과 상기 부분적인 부팅 동작은 동시에 수행하는 부팅 시스템의 제어 방법.
  21. 제19항에 있어서,
    상기 부분적인 부팅 동작은, 시스템 메모리에서 SPD 정보를 읽어 내는 경우, 읽어 낸 SPD 정보를 이용하여 상기 시스템 메모리의 초기화를 하는 경우, 기기의 조작 패널에 소정 메시지를 디스플레이하는 경우, 송풍 팬의 회전을 위한 모터 가동이 있는 경우, 외부로 출력하는 클럭 주파수의 변경이 있는 경우, CPU 디버거를 사용해서 CPU 동작의 인스트럭션이 있는 경우 중 적어도 어느 하나를 포함하는 부팅 시스템의 제어 방법.
KR1020070099271A 2007-10-02 2007-10-02 부팅 시스템, 그 시스템을 구비한 화상형성장치 및 그제어방법 KR101211503B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020070099271A KR101211503B1 (ko) 2007-10-02 2007-10-02 부팅 시스템, 그 시스템을 구비한 화상형성장치 및 그제어방법
US12/128,659 US8533444B2 (en) 2007-10-02 2008-05-29 Booting system, image forming apparatus having the system and control method thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020070099271A KR101211503B1 (ko) 2007-10-02 2007-10-02 부팅 시스템, 그 시스템을 구비한 화상형성장치 및 그제어방법

Publications (2)

Publication Number Publication Date
KR20090034104A KR20090034104A (ko) 2009-04-07
KR101211503B1 true KR101211503B1 (ko) 2012-12-12

Family

ID=40509738

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020070099271A KR101211503B1 (ko) 2007-10-02 2007-10-02 부팅 시스템, 그 시스템을 구비한 화상형성장치 및 그제어방법

Country Status (2)

Country Link
US (1) US8533444B2 (ko)
KR (1) KR101211503B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10990281B2 (en) 2017-12-18 2021-04-27 Samsung Electronics Co., Ltd. RAM controller configured to selectively boot memory and method of operating the same

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
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
KR20120052251A (ko) * 2009-08-25 2012-05-23 휴렛-팩커드 디벨롭먼트 컴퍼니, 엘.피. 에러 정정
JP5246242B2 (ja) * 2010-10-29 2013-07-24 ブラザー工業株式会社 画像処理装置及び画像記録装置
CN102135927B (zh) * 2011-04-29 2013-02-13 杭州华三通信技术有限公司 一种基于nand flash的系统引导方法和装置
CN102402448A (zh) * 2011-12-27 2012-04-04 大唐微电子技术有限公司 智能卡软件引导系统和方法
CN105144185B (zh) 2013-04-23 2018-06-05 惠普发展公司,有限责任合伙企业 验证控制器代码和系统启动代码
US9734339B2 (en) 2013-04-23 2017-08-15 Hewlett-Packard Development Company, L.P. Retrieving system boot code from a non-volatile memory
US20180039596A1 (en) * 2016-08-04 2018-02-08 Qualcomm Incorporated Supporting internal resistive memory functions using a serial peripheral interface (spi)
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
US11768611B2 (en) 2020-04-02 2023-09-26 Axiado Corporation Secure boot of a processing chip

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030028708A1 (en) 2001-08-06 2003-02-06 Dov Moran Novel flash memory arrangement
JP2004334486A (ja) 2003-05-07 2004-11-25 Internatl Business Mach Corp <Ibm> ブートコードを用いた起動システム、及び起動方法

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5519843A (en) 1993-03-15 1996-05-21 M-Systems Flash memory system providing both BIOS and user storage capability
US20070233955A1 (en) * 2000-01-06 2007-10-04 Super Talent Electronics Inc. Mixed-Mode ROM/RAM Booting Using an Integrated Flash Controller with NAND-Flash, RAM, and SD Interfaces
US7234052B2 (en) 2002-03-08 2007-06-19 Samsung Electronics Co., Ltd System boot using NAND flash memory and method thereof
US7257703B2 (en) * 2003-11-18 2007-08-14 Toshiba America Electronic Components, Inc. Bootable NAND flash memory architecture
KR100582403B1 (ko) 2004-10-07 2006-05-23 주식회사 팬택앤큐리텔 고속 부팅이 가능한 임베디드 시스템 및 그 방법
KR200374106Y1 (ko) 2004-11-01 2005-01-27 이대규 다기능성 가습기
KR101118111B1 (ko) 2005-07-08 2012-03-12 엘지전자 주식회사 이동통신단말기 및 그 부팅방법
US7849302B2 (en) * 2006-04-10 2010-12-07 Apple Inc. Direct boot arrangement using a NAND flash memory

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030028708A1 (en) 2001-08-06 2003-02-06 Dov Moran Novel flash memory arrangement
JP2004334486A (ja) 2003-05-07 2004-11-25 Internatl Business Mach Corp <Ibm> ブートコードを用いた起動システム、及び起動方法

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10990281B2 (en) 2017-12-18 2021-04-27 Samsung Electronics Co., Ltd. RAM controller configured to selectively boot memory and method of operating the same

Also Published As

Publication number Publication date
US8533444B2 (en) 2013-09-10
US20090089572A1 (en) 2009-04-02
KR20090034104A (ko) 2009-04-07

Similar Documents

Publication Publication Date Title
KR101211503B1 (ko) 부팅 시스템, 그 시스템을 구비한 화상형성장치 및 그제어방법
EP2972809B1 (en) Boot sequencing for multi boot devices
US6449735B1 (en) Method and apparatus for providing improved diagnostic functions in a computer system
US20070174602A1 (en) Method of system booting with a direct memory access in a new memory architecture
US7356684B2 (en) Booting system and/or method for initializing peripherals
US6195749B1 (en) Computer system including a memory access controller for using non-system memory storage resources during system boot time
US8171192B2 (en) Hardware-assisted device configuration detection
US20080005551A1 (en) Management of option rom
US20080209198A1 (en) Boot Acceleration For Computer Systems
US20100199290A1 (en) System and method for multifunction device enumeration
US20060010282A1 (en) Method and apparatus to boot a system by monitoring an operating status of a NAND flash memory
US20050246478A1 (en) Information processing apparatus and a method and a program of loading a device driver
CN104679540A (zh) 计算机系统与计算机系统启动方法
EP1372069A2 (en) Method system and software for configuring a graphics processing communication mode
CN109408122B (zh) 一种设备启动方法、电子设备和计算机存储介质
JP2010500682A (ja) フラッシュメモリアクセス回路
JP2009252194A (ja) データ処理装置、ハードウェアアクセス方法、及びハードウェアアクセスプログラム
US7257704B2 (en) Method of selectively loading a pre-boot execution extension determined based on an identifier
US20240176887A1 (en) Method for Running Startup Program of Electronic Device, and Electronic Device
US7406549B2 (en) Support for non-standard device containing operating system data
KR100534613B1 (ko) 플래쉬 메모리를 이용한 시스템 부팅 장치 및 그 방법
US7369958B1 (en) System and method for setting motherboard testing procedures
US8117427B2 (en) Motherboard, storage device and controller thereof, and booting method
CN110941452B (zh) 一种配置方法、bios芯片和电子设备
KR102292211B1 (ko) 전자기기

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
FPAY Annual fee payment

Payment date: 20151127

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20161129

Year of fee payment: 5