KR100693924B1 - 고속 직렬 인터페이스를 이용하는 부팅 시스템 및 부팅 방법 - Google Patents

고속 직렬 인터페이스를 이용하는 부팅 시스템 및 부팅 방법 Download PDF

Info

Publication number
KR100693924B1
KR100693924B1 KR1020050008427A KR20050008427A KR100693924B1 KR 100693924 B1 KR100693924 B1 KR 100693924B1 KR 1020050008427 A KR1020050008427 A KR 1020050008427A KR 20050008427 A KR20050008427 A KR 20050008427A KR 100693924 B1 KR100693924 B1 KR 100693924B1
Authority
KR
South Korea
Prior art keywords
memory device
boot
boot loader
central processing
processing unit
Prior art date
Application number
KR1020050008427A
Other languages
English (en)
Other versions
KR20060087655A (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 KR1020050008427A priority Critical patent/KR100693924B1/ko
Priority to US11/326,083 priority patent/US20060174100A1/en
Publication of KR20060087655A publication Critical patent/KR20060087655A/ko
Application granted granted Critical
Publication of KR100693924B1 publication Critical patent/KR100693924B1/ko

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B65CONVEYING; PACKING; STORING; HANDLING THIN OR FILAMENTARY MATERIAL
    • B65FGATHERING OR REMOVAL OF DOMESTIC OR LIKE REFUSE
    • B65F5/00Gathering or removal of refuse otherwise than by receptacles or vehicles
    • B65F5/005Gathering or removal of refuse otherwise than by receptacles or vehicles by pneumatic means, e.g. by suction
    • 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
    • FMECHANICAL ENGINEERING; LIGHTING; HEATING; WEAPONS; BLASTING
    • F16ENGINEERING ELEMENTS AND UNITS; GENERAL MEASURES FOR PRODUCING AND MAINTAINING EFFECTIVE FUNCTIONING OF MACHINES OR INSTALLATIONS; THERMAL INSULATION IN GENERAL
    • F16KVALVES; TAPS; COCKS; ACTUATING-FLOATS; DEVICES FOR VENTING OR AERATING
    • F16K1/00Lift valves or globe valves, i.e. cut-off apparatus with closure members having at least a component of their opening and closing motion perpendicular to the closing faces
    • F16K1/32Details
    • F16K1/34Cutting-off parts, e.g. valve members, seats
    • F16K1/36Valve members
    • FMECHANICAL ENGINEERING; LIGHTING; HEATING; WEAPONS; BLASTING
    • F16ENGINEERING ELEMENTS AND UNITS; GENERAL MEASURES FOR PRODUCING AND MAINTAINING EFFECTIVE FUNCTIONING OF MACHINES OR INSTALLATIONS; THERMAL INSULATION IN GENERAL
    • F16KVALVES; TAPS; COCKS; ACTUATING-FLOATS; DEVICES FOR VENTING OR AERATING
    • F16K31/00Actuating devices; Operating means; Releasing devices
    • F16K31/12Actuating devices; Operating means; Releasing devices actuated by fluid
    • F16K31/122Actuating devices; Operating means; Releasing devices actuated by fluid the fluid acting on a piston

Landscapes

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

Abstract

중앙 처리 장치 코어, 중앙 처리 장치 코어에 연결된 시스템 버스, 중앙 처리 장치 코어에 시스템 버스를 통하여 연결된 메인 메모리 장치, 중앙 처리 장치 코어에 시스템 버스를 통하여 연결된 부트 로더 메모리 장치, 부트 로더 프로그램을 저장하는 제 1 외부 메모리 장치, 제 1 외부 메모리 장치에 저장된 부트 로더 프로그램을 부트 로더 메모리 장치로 옮기고, 중앙 처리 장치 코어가 부트 로터 프로그램을 실행할 수 있도록 하는 부트 로직부, 운영 체계 및 어플리케이션 프로그램의 코드와 데이터를 저장하는 제 2 외부 메모리 장치, 및 부트 로더 프로그램에 의해서 제어되어, 운영 체계 및 어플리케이션 프로그램의 코드와 데이터를 제 2 외부 메모리 장치로부터 메인 메모리 장치로 옮기는 외부 인터페이스 유닛을 포함하여 컴퓨터 시스템의 부팅 시스템을 구성한다. 따라서, 컴퓨터 시스템의 부팅 속도를 향상시키고, 시스템 온 칩의 입출력 핀 수 및 전력 소모를 절감시키는 효과를 가져올 수 있다.

Description

고속 직렬 인터페이스를 이용하는 부팅 시스템 및 부팅 방법{BOOTING SYSTEM USING HIGH SPEED SERIAL INTERFACE AND BOOTING METHOD OF THE SAME}
도1은 종래 기술의 플래쉬 메모리 장치를 이용한 부팅 시스템의 구성을 도시한 블록도이다.
도2는 본 발명에 따른 부팅 시스템의 구성을 도시한 블록도이다.
도3은 본 발명에 따른 부팅 시스템의 동작 방법을 도시한 흐름도이다.
도4는 본 발명에 따른 부팅 시스템의 다른 실시예를 도시한 블록도이다.
* 도면의 주요부분에 대한 부호의 설명 *
200: 부팅 시스템
210: 시스템 온 칩
211: CPU 코어 212: 시스템 버스
213: 메모리 컨트롤러 214: 부트 로더 메모리 장치
215: 부트 로직부 216: 외부 인터페이스 유닛
217: 제 1 외부 인터페이스 218: 제 2 외부 인터페이스
220: 제 1 외부 메모리 장치 225: 제 2 외부 메모리 장치
230: 메인 메모리 장치
본 발명은 부팅 시스템 및 부팅 방법에 대한 것으로 더 자세하게는 부팅 속도를 빠르게 할 수 있고, 외부 저장 장치의 인터페이스에 유연성있게 대응할 수 있는 부팅 시스템 및 부팅 방법에 관한 것이다.
일반적으로 부팅(booting)이란, 컴퓨터 시스템이 동작할 수 있도록 하는 준비 작업과 보조 기억 장치로부터 컴퓨터의 메인 메모리 장치로 운영 체계(operating system) 및 어플리케이션(application) 프로그램의 코드와 데이터를 불러 들여 컴퓨터 시스템의 작동을 준비하는 작업을 통칭한다.
상기 컴퓨터 시스템은 일반적인 퍼스널 컴퓨터일 수도 있고, 다양한 휴대용 장치, 예를 들면 PDA(Personal Digital Assistant)등의 장치일 수 있다. 보조 기억 장치는 비교적 큰 저장 용량과 느린 억세스 속도를 가진 장치로, 불휘발성(Non-Volatile)의 특성을 가지고 있는 기억장치로 구성된다. 메인 메모리 장치는 주로 랜덤 억세스 메모리(Random Access Memory; 이하 RAM)로 구성되어 빠른 억세스 속도를 가지고 있고 컴퓨터 시스템 내 중앙 처리 장치(CPU; Central Processing Unit; 이하 CPU)의 어드레스 공간(address space)에 맵핑(mapping)된다. 한편, PDA 와 같은 휴대용 컴퓨터 시스템의 경우에 보조 기억 장치로는 플래쉬 메모리(flash memory)가 현재 널리 사용되고 있다.
도1은 종래 기술의 플래쉬 메모리 장치를 이용한 부팅 시스템의 구성을 도시한 블록도이다.
도1을 참조하면, 종래 기술의 부팅 시스템(100)은 CPU 코어(111), CPU 코어(111)와 다양한 주변 장치들이 연결되는 시스템 버스(112), 메모리 컨트롤러(113), 시스템 버스 인터페이스 유닛(115), 내부 스태틱 램(SRAM; Static Random Access Memory; 116), 플래쉬 메모리 컨트롤러(117), 외부 인터페이스 유닛(118), 외부 인터페이스 유닛(118)과 외부 인터페이스(119)를 통하여 연결된 외부 플래쉬 메모리 장치(120) 및 메인 메모리 장치(130)를 포함하여 구성된다.
PDA와 같은 휴대용 컴퓨터 시스템의 경우에는 상기 외부 플래쉬 메모리 장치(120)와 메인 메모리 장치(130)를 제외한 구성 요소들은 하나의 시스템 온 칩(SoC; System-On-Chip; 110)으로 구성되는 것이 일반적이다. 또한, 여기에서 플래쉬 메모리 장치(120)로는 노아(NOR) 타입의 플래쉬 메모리 장치 또는 낸드(NAND) 타입의 플래쉬 메모리 장치가 이용될 수 있다.
도1에서 예시한 종래 기술의 부팅 시스템(100)이 수행하는 부팅 절차는 다음과 같이 진행된다.
시스템의 파워 온(power-on) 시나 리셋(reset) 시에 외부 플래쉬 메모리 장치(120)로부터 미리 정해진 크기의 부트 로더(boot loader) 코드 및 데이터가 플래쉬 메모리 컨트롤러(117)에 의해 외부 인터페이스 유닛(118)과 외부 인터페이스 (119)를 거쳐서 내부 스태틱 램(116)으로 일차적으로 로딩(loading)된다.
부트 로더 프로그램은 CPU 코어(111)에 의해서 실행되어, 외부 플래쉬 메모리 장치(120)에 저장된 운영 체계의 코드와 데이터 및 어플리케이션 코드와 데이터를 플래쉬 메모리 컨트롤러(117)에 의해 외부 인터페이스 유닛(118)과 외부 인터페이스(119)를 거쳐서 시스템 버스에 연결된 메인 메모리 장치(130)로 옮기는 작업을 수행하기 위한 작은 크기의 프로그램이다.
부트 로더 프로그램이 수행하는 상기 운영 체계의 코드와 데이터 및 어플리케이션 코드와 데이터의 로딩 작업이 완료되면, 실제 운영 체계가 실행될 수 있도록 CPU 코어(111)의 프로그램 카운터(program counter)가 운영 체계의 시작 어드레스(address)로 변경되어 시스템의 제어권이 운영 체계로 넘어가게 되면서 부팅 작업이 완료된다.
상기와 같은 종래 기술에 의한 부팅 시스템에서, 낸드 타입의 플래쉬 메모리 장치가 사용될 경우에는 낸드 타입 플래쉬 메모리의 페이지 리드(page read) 동작 시에 존재하는 리드 비지 타임(read busy time)에 의해서 사이즈가 큰 운영 체계 코드와 데이터 및 어플리케이션 코드와 데이터를 옮기는데 많은 시간이 소요되어 전체 부팅 타임이 느려지게 된다는 문제점이 존재한다.
현재 보편적으로 이용되고 있는 낸드 플래쉬 메모리 장치는 16비트 병렬 데이터 출력을 사용하고 있지만, 최대 20MB/s 이상의 데이터 리드 속도를 얻기가 어렵다. 또한, 병렬 데이터 출력을 사용하는 경우에는, 상기 부팅 시스템(100)에서 외부 플래쉬 메모리 장치(120)와 메인 메모리 장치(130)를 제외한 구성 요소들이 시스템 온 칩(110)으로 구성되는 경우에 있어서, 외부로 연결되는 핀의 개수가 늘어나게 된다는 단점이 존재한다.
최근의 개발 경향은 다양한 기능 블록을 하나의 칩 내부에 집적하여 시스템의 전체적인 크기를 줄이는 방향으로 진행되므로, 지나치게 많은 입출력 핀 수는 시스템 온 칩 설계상의 중대한 제약 요소가 된다. 또한, 병렬 인터페이스를 사용하여 스위칭되는 입출력 핀의 수가 늘어나게 되면 시스템의 전력 소모가 늘어나는 단점을 가지게 된다.
낸드 타입의 플래쉬 메모리 장치를 대신하여 보다 빠른 데이터 리드 속도를 가지는 노아 타입의 플래쉬 메모리 장치를 사용하게 된다면, 부팅 속도의 관점에서는 어느 정도의 향상을 가져올 수 있다. 그러나, 병렬 인터페이스를 사용하는 것에 의해 필요한 입출력 핀 수가 증가되어 시스템 온 칩 설계상의 제약 요소가 되는 문제점과, 이에 따라 전력 소모가 증가하는 문제점은 여전히 존재하게 된다.
상기와 같은 문제점을 해결하기 위해서 본 발명의 목적은 빠른 부팅 속도를 가지고, 외부 저장 장치의 인터페이스에 유연성있게 대응할 수 있는 부팅 시스템을 제공하는데 있다.
본 발명의 다른 목적은 빠른 부팅 속도를 가지고, 외부 저장 장치의 인터페이스에 유연성있게 대응할 수 있는 부팅 방법을 제공하는데 있다.
상기 목적을 달성하기 위해 본 발명의 한 형태는, 중앙 처리 장치 코어, 상기 중앙 처리 장치 코어에 연결된 시스템 버스, 상기 중앙 처리 장치 코어에 상기 시스템 버스를 통하여 연결된 메인 메모리 장치, 상기 중앙 처리 장치 코어에 상기 시스템 버스를 통하여 연결된 부트 로더 메모리 장치, 부트 로더 프로그램을 저장하는 제 1 외부 메모리 장치, 상기 제 1 외부 메모리 장치에 저장된 상기 부트 로더 프로그램을 상기 부트 로더 메모리 장치로 옮기고, 상기 중앙 처리 장치 코어가 상기 부트 로더 프로그램을 실행할 수 있도록 하는 부트 로직부, 운영 체계 및 어플리케이션 프로그램의 코드와 데이터를 저장하는 제 2 외부 메모리 장치, 및 상기 부트 로더 프로그램에 의해서 제어되어, 상기 운영 체계 및 어플리케이션 프로그램의 코드와 데이터를 상기 제 2 외부 메모리 장치로부터 상기 메인 메모리 장치로 옮기는 외부 인터페이스 유닛을 포함하여 구성된 부팅 시스템을 제공한다.
여기에서, 상기 중앙 처리 장치 코어, 상기 부트 로더 메모리 장치, 상기 부트 로직부, 및 상기 외부 인터페이스 유닛은 하나의 시스템 온 칩으로 구성될 수 있다.
여기에서, 상기 제 1 외부 메모리 장치는 시리얼 EEPROM으로 구성될 수 있고, 상기 제 2 외부 메모리 장치는 하드 디스크, 플래쉬 메모리 장치 중의 하나로 구성될 수 있다.
여기에서, 상기 외부 인터페이스 유닛과 상기 제 2 외부 메모리 장치간의 인터페이스는 직렬, 차동 방식의 고속 인터페이스로 구현될 수 있고, 상기 고속 인터 페이스로는 시리얼 ATA, USB, IEEE1394 중의 하나가 선택될 수 있다.
여기에서, 상기 부트 로직부는 상기 중앙 처리 장치 코어에 연결되어, 상기 중앙 처리 장치 코어의 동작을 일시 중단시키거나, 상기 중앙 처리 장치 코어의 일시 중단 상태를 해제할 수 있도록 구성될 수 있다.
또한 여기에서, 상기 부트 로직부의 상기 중앙 처리 장치 코어의 동작을 일시 중단시키거나, 상기 중앙 처리 장치 코어의 일시 중단 상태를 해제하는 동작은, 상기 중앙 처리 장치 코어의 HOLD 신호를 제어하는 것에 의해 이루어질 수 있다.
상기 목적을 달성하기 위해 본 발명의 다른 형태는, 중앙 처리 장치 코어, 상기 중앙 처리 장치 코어에 연결된 시스템 버스, 상기 중앙 처리 장치 코어에 상기 시스템 버스를 통하여 연결된 메인 메모리 장치, 상기 중앙 처리 장치 코어에 상기 시스템 버스를 통하여 연결되고, 상기 중앙 처리 장치 코어가 실행할 수 있는 부트 로더 프로그램을 저장하고 있는 부트 로더 메모리 장치, 운영 체계 및 어플리케이션 프로그램의 코드와 데이터를 저장하는 외부 메모리 장치, 및 상기 부트 로더 프로그램에 의해서 제어되어, 상기 운영 체계 및 어플리케이션 프로그램의 코드와 데이터를 상기 외부 메모리 장치로부터 상기 메인 메모리 장치로 옮기는 외부 인터페이스 유닛을 포함하여 구성된 부팅 시스템을 제공한다.
여기에서, 상기 중앙 처리 장치 코어, 상기 부트 로더 메모리 장치, 상기 부트 로직부, 및 상기 외부 인터페이스 유닛은 하나의 시스템 온 칩으로 구성될 수 있다.
여기에서, 상기 부트 로더 메모리 장치는 ROM으로 구성될 수 있다.
상기 다른 목적을 달성하기 위해 본 발명은, 제 1 외부 메모리 장치에 저장된 부트 로더 프로그램을 부트 로더 메모리 장치로 옮기는 단계, 상기 부트 로더 메모리 장치에 옮겨진 상기 부트 로더 프로그램을 실행하는 단계, 및 중앙 처리 장치 코어에 의한 상기 부트 로더 프로그램의 수행에 의해서 제 2 외부 메모리 장치에 저장된 운영체계와 어플리케이션의 코드 및 데이터를 메인 메모리 장치로 옮기는 단계를 포함하여 구성된 컴퓨터 시스템의 부팅 방법을 제공한다.
여기에서, 상기 컴퓨터 시스템의 부팅 방법은 상기 부트 로더 프로그램을 부트 로더 메모리 장치로 옮기는 단계 이전에 상기 중앙 처리 장치 코어의 동작을 일시 중단시키는 단계를 더 포함할 수 있다.
여기에서, 상기 컴퓨터 시스템의 부팅 방법은 상기 부트 로더 프로그램을 부트 로더 메모리 장치로 옮기는 단계 이후에 상기 중앙 처리 장치 코어의 동작의 일시 중단을 해제시키는 단계를 더 포함할 수 있다.
이하, 본 발명에 따른 바람직한 실시예를 첨부된 도면을 참조하여 상세하게 설명한다. 이 실시예는 당해 기술 분야에서 통상의 지식을 가진 자들이 본 발명을 실시할 수 있게 충분히 상세하게 기술한다.
도2는 본 발명에 따른 부팅 시스템의 구성을 도시한 블록도이다.
도2를 참조하면, 본 발명에 따른 부팅 시스템(200)은 CPU 코어(211), CPU 코어(211)와 다양한 주변 장치들이 연결되는 시스템 버스(212), 메모리 컨트롤러(213), 부트 로더 메모리 장치(214), 부트 로직부(215), 외부 인터페이스 유닛(216), 제 1 외부 인터페이스(217), 제 2 외부 인터페이스(218), 제 1 외부 메모리 장치(220), 제 2 외부 메모리 장치(225), 및 메인 메모리 장치(230)를 포함하여 구성될 수 있다.
또한, PDA와 같은 휴대용 시스템의 경우에, 상기 CPU 코어(211), 시스템 버스(212), 메모리 컨트롤러(213), 부트 로더 메모리 장치(214), 부트 로직부(215) 및 외부 인터페이스 유닛(216)은 하나의 시스템 온 칩(210)에 집적되어 구현되는 것이 일반적이다.
제 1 외부 메모리 장치(220)에는 부트 로더 프로그램이 저장된다. 제 1 외부 메모리 장치(220)는 예컨대 시리얼 EEPROM(electrically erasable programmable read-only memory)으로 구성될 수 있다.
한편, 제 1 외부 메모리 장치(220)가 시리얼 EEPROM으로 구성되는 경우라면, 제 1 외부 메모리 장치(220)와 부트 로직부(215)간의 인터페이스인 제 1 외부 인터페이스(217)의 규격으로는 인터페이스를 위한 입출력 핀 수를 최소화할 수 있는 직렬 인터페이스가 주로 이용될 수 있다. 또한, 부트 로직부(215)는 제 1 외부 인터페이스(217)로서 선택된 직렬 인터페이스 규격에 대응된 인터페이스 처리부를 포함하고 있어야 함은 당업자에게 있어 자명하다.
여기에서, 상기 직렬 인터페이스는 예컨대 I2C 또는 SPI(serial peripheral interface) 등의 널리 사용되고 있는 직렬 인터페이스 방식이 이용될 수 있다.
I2C는 필립스(Phillips)에서 제안한 인터페이스 규격으로서 하나의 클록 신호 라인과 하나의 데이터 라인을 포함한 단 두 개의 라인만을 사용하며, 간단한 프로토콜로 구현된다. SPI는 클록 신호 라인, 스트로브(strobe) 라인과 하나 또는 두 개의 데이터 라인으로 구성된 직렬 인터페이스 규격이다. 따라서, 제 1 외부 메모리 장치(220)와 부트 로직부(215)간의 제 1 외부 인터페이스(217)는 제 1 외부 메모리 장치(220) 및 부트 로직부(215)의 구현에 따라서 다양하게 선택되어 질 수 있음은 당업자에게 있어 자명하다.
부트 로더 메모리 장치(214)는 빠른 억세스 속도를 가지는 스태틱 램(SRAM)으로 구성될 수 있고, 시스템 버스(212)를 통하여 CPU 코어(211)가 억세스 가능하도록 CPU 코어(211)의 어드레스 공간 내에 맵핑된다.
상기와 같이 구성되는 제 1 외부 메모리 장치(220)와의 제 1 외부 인터페이스(217)를 이용하여, 부트 로직부(215)는 시스템의 파워 온 시 또는 리셋 시에 제 1 외부 메모리 장치(220)에 저장된 부트 로더 프로그램을 부트 로더 메모리 장치(214)로 옮기는 동작을 담당한다.
따라서, 부트 로직부(215)가 시스템의 파워 온 시 또는 리셋 시에 제 1 외부 메모리 장치(220)에 저장된 부트 로더 프로그램을 부트 로더 메모리 장치(214)로 옮기는 동작을 수행하는 중에는 CPU 코어(211)의 부트 로더 메모리 장치(214)에 대 한 접근이 제한되어야 한다.
제 1 외부 메모리 장치(220)에 저장된 부트 로더 프로그램을 부트 로더 메모리 장치(214)로 옮기는 동작이 완료되면, 부트 로직부(215)는 CPU 코어(211)가 부트 로더 메모리 장치(214)에 옮겨진 부트 로더 프로그램을 수행할 수 있도록 CPU 코어(211)의 접근 제한을 해제한다.
이와 같이 CPU 코어(211)의 동작을 일시 보류시키기 위한 방법은 사용되는 CPU 코어에 따라서 다르게 정의될 수 있다. 예를 들면, CPU 코어에 대한 HOLD 신호 등을 이용하여 CPU 코어(211)의 동작을 일시 중단시키거나, 일시 중단 상태를 해제시키는 방식으로 동작할 수 있다.
제 2 외부 메모리 장치(225)는 운영 체계 코드와 데이터 및 어플리케이션 프로그램 코드와 데이터를 저장하고 있는 대용량의 저장장치이다.
따라서, 제 2 외부 메모리 장치(225)는 제 1 외부 메모리 장치(220)에 비해서 상대적으로 대용량이고, 용량 당 단가가 저렴한 메모리 장치가 선택될 수 있다. 예를 들면, 하드 디스크, 대용량 플래쉬 메모리 장치 등의 메모리 장치가 이용될 수 있다.
외부 인터페이스 유닛(216)은 부트 로더 메모리 장치(214)에 옮겨진 부트 로더 프로그램에 의해서 제어되고, 제 2 외부 메모리 장치(225)와의 인터페이스를 담당하는 구성요소이다.
바람직하게는, 외부 인터페이스 유닛(216)과 제 2 외부 메모리 장치(225)간의 인터페이스인 제 2 외부 인터페이스(218)의 방식으로는 고속의 직렬, 차동 (differential) 방식의 전송 인터페이스 방식이 채택될 수 있다. 앞서 언급된 바와 같이, 상기 CPU 코어(211), 시스템 버스(212), 메모리 컨트롤러(213), 부트 로더 메모리 장치(214), 부트 로직부(215) 및 외부 인터페이스 유닛(217)이 하나의 시스템 온 칩(210)에 집적되어 구현될 경우에 칩(210) 외부로의 입출력 핀 수를 줄이는 것이 필요하기 때문이다.
따라서, 상기 외부 인터페이스 유닛(216)과 제 2 외부 메모리 장치(225)간의 인터페이스인 제 2 외부 인터페이스(218)의 방식으로는 예를 들면, 직렬 ATA(Serial AT-attachment; 이하 SATA), USB(Universal Serial Bus), IEEE-1394 등의 인터페이스 규격이 채택될 수 있다.
SATA 방식은 1세대에서 약 150MB/s의 전송속도를 지원하고, 2세대에서는 약 300MB/s 속도를, 3세대에서는 약 600MB/s의 전송속도를 지원하며, 4개의 입출력 신호 라인만으로 구성되는 인터페이스 방식으로, 본 발명에 사용될 경우에 입출력 핀의 수를 대폭적으로 줄일 수 있고, 전체 부팅 시간을 절감시킬 수 있다.
USB 방식은 현재 USB 2.0 규격을 통하여 60MB/s라는 고속 전송 모드를 지원하고 있고, 2개의 입출력 신호 라인만으로 구성되는 인터페이스 방식으로, SATA 방식과 마찬가지로 본 발명에 사용될 경우에 입출력 핀의 수를 대폭적으로 줄일 수 있고, 전체 부팅 시간을 절감시킬 수 있다.
IEEE-1394는 높은 데이터 전송률이 요구되는 디지털 기기들 및 전기 기기들을 상호 연결시키는 직렬 인터페이스 기술이다. IEEE-1394a 규격에서는 최대 400MBps의 전송 속도를 지원하고, IEEE-1394b 규격에서는 최대 800MBps의 전송 속 도를 지원한다. 따라서, 상기한 SATA 및 USB 방식과 마찬가지로 본 발명에 사용될 경우에 입출력 핀의 수를 대폭적으로 줄일 수 있고, 전체 부팅 시간을 절감시킬 수 있다.
한편, 상기 외부 인터페이스 유닛(216)과 제 2 외부 메모리 장치(225)간의 인터페이스인 제 2 외부 인터페이스(218)로서 선택되는 인터페이스 규격에 따라서, 제 1 외부 메모리 장치(220)에 저장된 부트 로더 프로그램의 내용은 유연성 있게 변경되어질 수 있다.
즉, 제 2 외부 인터페이스(218)의 인터페이스 규격으로서 SATA 방식이 채택되어진다면, 부트 로더 프로그램은 SATA 방식을 지원하기 위한 프로그램 코드를 포함하여 구현되어질 수 있다. 마찬가지로, 제 2 외부 인터페이스(218)의 인터페이스 규격으로서 USB 방식이 채택되어진다면, 부트 로더 프로그램은 USB 방식을 지원하기 위한 프로그램 코드를 포함하여 구현되어질 수 있다. 따라서, 외부 인터페이스 유닛(216)을 하나의 기능 블록으로 포함하여 시스템 온 칩을 구성할 경우에, 구현되는 외부 인터페이스 유닛(216) 기능 블록의 종류에 대응하여 제 1 외부 메모리 장치(220)에 저장된 부트 로더 프로그램의 외부 인터페이스 유닛(216)의 제어 부분을 유연성있게 변경시킬 수 있다.
또한, 제 1 외부 메모리 장치(220)로서 재프로그래밍(re-programming)이 가능한 시리얼 EEPROM을 활용함으로써, 부트 로더 프로그램의 디버깅 및 업그레이드가 언제든지 가능하다는 이점을 가진다. 부수적인 효과로서, 시스템의 개발 과정 중에 제 1 외부 메모리 장치(220)에 저장될 부트 로더 프로그램은 시스템 온 칩에 포함된 다양한 기능 블록들을 테스트하기 위한 테스트 프로그램으로 대체될 수도 있다.
도3은 본 발명에 따른 부팅 시스템의 동작 방법을 도시한 흐름도이다.
시스템이 파워 온 되거나, 소정의 리셋 신호에 의해서 본 발명에 따른 부팅 시스템의 부팅 절차가 시작된다(S31).
제 1 외부 메모리 장치(220)에 저장된 부트 로더 프로그램을 부트 로더 메모리 장치(214)로 옮기는 동작을 수행하기에 앞서, 부트 로직부(215)는 CPU 코어(211)의 동작을 보류(hold) 시킨다(S32). 왜냐하면, 제 1 외부 메모리 장치(220)로부터 부트 로더 프로그램을 읽어들여 부트 로더 메모리 장치(214)로 옮기는 도중에 CPU 코어(211)가 부트 로더 메모리 장치(214)를 억세스 하는 것을 막아야 하기 때문이다.
제 1 외부 메모리 장치(220)에 저장된 부트 로더 프로그램은 부트 로직부(215)에 의해서 부트 로더 메모리 장치(214)로 옮겨진다(S33).
이 경우에 있어서, 부트 로더 프로그램의 크기가 지나치게 크다면, 주로 시리얼 EEPROM을 사용하게 될 제 1 외부 메모리 장치(220) 고유의 읽기 속도 및 직렬 인터페이스 규격을 이용하게 제 1 외부 인터페이스(217)의 전송 속도 제약에 의해서 부트 로더 프로그램의 복제에 지나친 시간이 소요될 수 있다.
그러나, 부트 로더 프로그램의 크기는 약 4KB(kilo bytes) 이내의 크기로 제한되는 것이 일반적인 반면, 운영 체계 및 어플리케이션의 크기는 몇 십 내지는 백 메가 바이트에 이르는 것이 일반적이므로, 전체 시스템 부팅 시간에서 부트 로더 프로그램의 복사에 차지하는 시간의 비율은 극히 작아서 부트 로더 프로그램의 복제에 소요되는 시간은 용인될 수 있는 수준이다.
부트 로더 메모리 장치(214)는 CPU 코어(211)의 어드레스 공간 상에서 CPU 코어(211)가 제일 처음 억세스하는 어드레스에 매핑되어 있어야 한다. 따라서, 부트 로직부(215)에 의해서 부트 로더 프로그램이 부트 로더 메모리 장치(214)로 복사 완료되면, 부트 로직부(215)는 CPU 코어(211)의 동작을 보류(hold)를 해제시킨다(S34). CPU 코어(211)의 동작 보류가 해제되면, 부트 로더 메모리 장치(214)로 옮겨진 부트 로더 프로그램이 CPU 코어(211)에 의해 실행된다(S35).
부트 로더 프로그램은 외부 인터페이스 유닛(216)을 동작시켜 제 2 외부 메모리 장치(225)에 저장된 운영체계 코드, 어플리케이션 코드 및 데이터를 읽어들여 메인 메모리 장치(230)로 옮긴다(S36).
제 2 외부 메모리 장치에 저장된 운영체계 코드와 데이터 및 어플리케이션 코드와 데이터가 메인 메모리 장치(230)로 모두 옮겨지면, 부트 로더 프로그램은 CPU 코어(211)의 프로그램 카운터를 운영 체계의 시작 어드레스로 수정하여 시스템의 제어권을 운영 체계로 넘겨주는 것(S37)으로 부팅 과정을 종료한다(S38).
한편, 도2에서 예시한 실시예에 있어서, 제 1 외부 메모리 장치(220), 부트 로더 메모리 장치(214) 및 부트 로직부(215)에 대한 설계상의 부담이 있다면, 제 1 외부 메모리 장치(220) 및 부트 로직부(215)를 생략하고, ROM(Read-Only Memory)으로 구성된 부트 로더 메모리 장치(214)만을 구비한 부팅 시스템의 구성도 가능하 다.
이 경우에, 재 프로그래밍이 가능한 시리얼 EEPROM 등의 메모리 장치를 이용할 경우에 가질 수 있는 부트 로더 프로그램의 수정과 업그레이드가 자유롭다는 장점이 희생되기는 하지만, 보다 저렴한 시스템 구성이 가능하다.
도4는 본 발명에 따른 부팅 시스템의 다른 실시예를 도시한 블록도이다.
도4를 참조하면, 본 발명에 따른 부팅 시스템(400)은 CPU 코어(411), CPU 코어(411)와 다양한 주변 장치들이 연결되는 시스템 버스(412), 메모리 컨트롤러(413), 부트 로더 메모리 장치(414), 외부 인터페이스 유닛(416), 외부 인터페이스(417), 외부 메모리 장치(420), 및 메인 메모리 장치(430)를 포함하여 구성될 수 있다.
또한, 도2에서 예시한 부팅 시스템(200)의 경우와 마찬가지로, PDA와 같은 임베디드(embedded) 시스템에 사용될 경우에, 상기 CPU 코어(411), 시스템 버스(412), 메모리 컨트롤러(413), 부트 로더 메모리 장치(414), 및 외부 인터페이스 유닛(416)은 하나의 시스템 온 칩(410)에 집적되어 구현되는 것이 일반적이다.
부트 로더 메모리 장치(414)는 부트 로더 프로그램을 저장하고 있다. 도2에서 예시한 부팅 시스템(200)의 경우와는 달리, 도4의 부팅 시스템(400)의 경우에 부트 로더 메모리 장치는 ROM으로 구성될 수 있다. 앞서 설명된 바와 같이, 부트 로더 메모리 장치(414)를 ROM으로 구성함으로써, 도4의 부트 로직부(215), 스태틱 램으로 구현되는 부트 로더 메모리 장치(214)를 생략하여 부팅 시스템을 구성할 수 있다.
부트 로더 메모리 장치(414)는 시스템 버스(412)를 통하여 CPU 코어(411)가 억세스 가능하도록 CPU 코어(411)의 어드레스 공간 내에 맵핑됨은 도2에서 예시한 부팅 시스템(200)의 경우와 동일하다.
외부 메모리 장치(420)는 운영 체계 코드와 데이터 및 어플리케이션 프로그램 코드와 데이터를 저장하고 있는 대용량의 저장장치이다. 예를 들면, 하드 디스크, 대용량 플래쉬 메모리 장치 등의 메모리 장치가 이용될 수 있음은 도2에서 예시한 부팅 시스템(200)의 경우와 동일하다.
외부 인터페이스 유닛(416)은 부트 로더 메모리 장치(414)에 저장된 부트 로더 프로그램에 의해서 제어되고, 외부 메모리 장치(420)와의 인터페이스를 담당하는 구성요소이다. 외부 메모리 장치(420)와 외부 인터페이스 유닛(416)간의 외부 인터페이스(417)의 방식으로는 고속의 직렬, 차동 방식의 전송 인터페이스 규격이 채택될 수 있다. 예를 들면, 상기 외부 인터페이스(417)의 방식으로 SATA, USB, IEEE-1394 등의 널리 알려진 인터페이스 규격이 채택될 수 있음은 도2의 부팅 시스템(200)의 경우와 동일하다.
도2의 부팅 시스템(200)의 경우와 마찬가지로, 상기 외부 인터페이스 유닛(416)과 외부 메모리 장치(420)간의 외부 인터페이스(417)의 규격에 준하여, 부트 로더 메모리 장치(414)에 저장된 부트 로더 프로그램은 상기 외부 인터페이스 유닛(416)을 제어할 수 있는 코드를 포함하여 구현되어야 한다.
상기에서는 본 발명의 바람직한 실시예를 참조하여 설명하였지만, 해당 기술 분야의 숙련된 당업자는 하기의 특허 청구의 범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다.
상기와 같은 본 발명에 따르면, 부트 로더 프로그램을 저장하기 위한 제 1 외부 메모리 장치와 운영 체계 코드와 데이터 및 어플리케이션 코드와 데이터를 저장하기 위한 제 2 외부 메모리 장치를 분리하여 구성함으로써, 제 2 외부 메모리 장치에 대한 인터페이스 방식에 고속의 직렬, 차동 인터페이스를 유연성 있게 채용 하여 부팅 속도를 절감시키고, PDA 등과 같은 휴대용 시스템에서 이용되는 시스템 온 칩의 구현에 있어서 입출력 핀의 수 및 전력 소모를 절감시키는 효과를 가져올 수 있다.

Claims (18)

  1. 중앙 처리 장치 코어;
    상기 중앙 처리 장치 코어에 연결된 시스템 버스;
    상기 중앙 처리 장치 코어에 상기 시스템 버스를 통하여 연결된 메인 메모리 장치;
    상기 중앙 처리 장치 코어에 상기 시스템 버스를 통하여 연결되고, 상기 중앙 처리 장치 코어가 제일 처음 억세스하는 어드레스에 매핑되어 있는 부트 로더 메모리 장치;
    부트 로더 프로그램을 저장하는 제 1 외부 메모리 장치;
    상기 제 1 외부 메모리 장치에 저장된 상기 부트 로더 프로그램을 상기 부트 로더 메모리 장치로 옮기고, 상기 중앙 처리 장치 코어가 상기 부트 로더 프로그램을 실행할 수 있도록 하는 부트 로직부;
    운영 체계 및 어플리케이션 프로그램의 코드와 데이터를 저장하는 제 2 외부 메모리 장치; 및
    상기 부트 로더 프로그램에 의해서 제어되어, 상기 운영 체계 및 어플리케이션 프로그램의 코드와 데이터를 직렬, 차동 방식의 고속 인터페이스를 통하여 상기 제 2 외부 메모리 장치로부터 상기 메인 메모리 장치로 옮기는 외부 인터페이스 유닛을 포함하여 구성된 부팅 시스템.
  2. 제 1 항에 있어서,
    상기 부팅 시스템은,
    상기 중앙 처리 장치 코어, 상기 부트 로더 메모리 장치, 상기 부트 로직부, 및 상기 외부 인터페이스 유닛을 포함하여 하나의 시스템 온 칩으로 구성되는 것을 특징으로 하는 부팅 시스템.
  3. 제 1 항에 있어서,
    상기 제 1 외부 메모리 장치는
    시리얼 EEPROM으로 구성되는 것을 특징으로 하는 부팅 시스템.
  4. 제 3 항에 있어서,
    상기 제 1 외부 메모리 장치와 상기 부트 로직부간의 인터페이스는 I2C, SPI 중의 하나인 것을 특징으로 하는 부팅 시스템.
  5. 제 1 항에 있어서,
    상기 제 2 외부 메모리 장치는
    하드 디스크, 플래쉬 메모리 장치 중의 하나인 것을 특징으로 하는 부팅 시스템.
  6. 삭제
  7. 제 1 항에 있어서,
    상기 고속 인터페이스는
    시리얼 ATA, USB, IEEE1394 중의 하나인 것을 특징으로 하는 부팅 시스템.
  8. 제 1 항에 있어서,
    상기 부트 로직부는
    상기 중앙 처리 장치 코어에 연결되어, 상기 중앙 처리 장치 코어의 동작을 일시 중단시키거나, 상기 중앙 처리 장치 코어의 일시 중단 상태를 해제할 수 있는 것을 특징으로 하는 부팅 시스템.
  9. 제 8 항에 있어서,
    상기 부트 로직부의 상기 중앙 처리 장치 코어의 동작을 일시 중단시키거나, 상기 중앙 처리 장치 코어의 일시 중단 상태를 해제하는 동작은, 상기 중앙 처리 장치 코어의 HOLD 신호를 제어하는 것으로 이루어지는 것을 특징으로 하는 부팅 시스템.
  10. 중앙 처리 장치 코어;
    상기 중앙 처리 장치 코어에 연결된 시스템 버스;
    상기 중앙 처리 장치 코어에 상기 시스템 버스를 통하여 연결된 메인 메모리 장치;
    상기 중앙 처리 장치 코어에 상기 시스템 버스를 통하여 연결되고, 상기 중앙 처리 장치 코어가 실행할 수 있는 부트 로더 프로그램을 저장하고 있으며, 상기 중앙 처리 장치 코어가 제일 처음 억세스하는 어드레스에 매핑되어 있는 부트 로더 메모리 장치;
    운영 체계 및 어플리케이션 프로그램의 코드와 데이터를 저장하는 외부 메모리 장치; 및
    상기 부트 로더 프로그램에 의해서 제어되어, 상기 운영 체계 및 어플리케이션 프로그램의 코드와 데이터를 직렬, 차동 방식의 고속 인터페이스를 통하여 상기 외부 메모리 장치로부터 상기 메인 메모리 장치로 옮기는 외부 인터페이스 유닛을 포함하여 구성된 부팅 시스템.
  11. 제 10 항에 있어서,
    상기 부팅 시스템은,
    상기 중앙 처리 장치 코어, 상기 부트 로더 메모리 장치, 상기 부트 로직부, 및 상기 외부 인터페이스 유닛을 포함하여 하나의 시스템 온 칩으로 구성되는 것을 특징으로 하는 부팅 시스템.
  12. 제 10 항에 있어서,
    상기 부트 로더 메모리 장치는
    ROM으로 구성되는 것을 특징으로 하는 부팅 시스템.
  13. 제 10 항에 있어서,
    상기 외부 메모리 장치는
    하드 디스크, 플래쉬 메모리 장치 중의 하나인 것을 특징으로 하는 부팅 시스템.
  14. 삭제
  15. 제 10 항에 있어서,
    상기 고속 인터페이스는
    시리얼 ATA, USB, IEEE1394 중의 하나인 것을 특징으로 하는 부팅 시스템.
  16. 제 1 외부 메모리 장치에 저장된 부트 로더 프로그램을 부트 로더 메모리 장치로 옮기는 단계;
    중앙 처리 장치 코어가 상기 부트 로더 메모리 장치를 제일 처음 억세스할 수 있도록 어드레스 매핑하는 단계;
    상기 부트 로더 메모리 장치에 옮겨진 상기 부트 로더 프로그램을 실행하는 단계; 및
    상기 중앙 처리 장치 코어에 의한 상기 부트 로더 프로그램의 수행에 의해서 제 2 외부 메모리 장치에 저장된 운영체계와 어플리케이션의 코드 및 데이터를 직렬, 차동 방식의 고속 인터페이스를 통하여 메인 메모리 장치로 옮기는 단계를 포함하여 구성된 것을 특징으로 하는 컴퓨터 시스템의 부팅 방법.
  17. 제 16 항에 있어서,
    상기 컴퓨터 시스템의 부팅 방법은
    상기 부트 로더 프로그램을 부트 로더 메모리 장치로 옮기는 단계 이전에 상기 중앙 처리 장치 코어의 동작을 일시 중단시키는 단계를 더 포함한 것을 특징으로 하는 컴퓨터 시스템의 부팅 방법.
  18. 제 16 항에 있어서,
    상기 컴퓨터 시스템의 부팅 방법은
    상기 부트 로더 프로그램을 부트 로더 메모리 장치로 옮기는 단계 이후에 상기 중앙 처리 장치 코어의 동작의 일시 중단을 해제시키는 단계를 더 포함한 것을 특징으로 하는 컴퓨터 시스템의 부팅 방법.
KR1020050008427A 2005-01-31 2005-01-31 고속 직렬 인터페이스를 이용하는 부팅 시스템 및 부팅 방법 KR100693924B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020050008427A KR100693924B1 (ko) 2005-01-31 2005-01-31 고속 직렬 인터페이스를 이용하는 부팅 시스템 및 부팅 방법
US11/326,083 US20060174100A1 (en) 2005-01-31 2006-01-05 System and method of booting an operating system for a computer

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020050008427A KR100693924B1 (ko) 2005-01-31 2005-01-31 고속 직렬 인터페이스를 이용하는 부팅 시스템 및 부팅 방법

Publications (2)

Publication Number Publication Date
KR20060087655A KR20060087655A (ko) 2006-08-03
KR100693924B1 true KR100693924B1 (ko) 2007-03-12

Family

ID=36758043

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020050008427A KR100693924B1 (ko) 2005-01-31 2005-01-31 고속 직렬 인터페이스를 이용하는 부팅 시스템 및 부팅 방법

Country Status (2)

Country Link
US (1) US20060174100A1 (ko)
KR (1) KR100693924B1 (ko)

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100804647B1 (ko) * 2005-11-15 2008-02-20 삼성전자주식회사 병렬형 플래시 인터페이스를 지원하는 직렬형 플래시메모리 장치를 이용한 시스템 부팅 방법 및 장치
US7822958B1 (en) * 2006-03-10 2010-10-26 Altera Corporation Booting mechanism for FPGA-based embedded system
US7890724B2 (en) * 2006-12-29 2011-02-15 Sandisk Corporation System for code execution
US7890723B2 (en) * 2006-12-29 2011-02-15 Sandisk Corporation Method for code execution
US7941682B2 (en) 2007-05-09 2011-05-10 Gainspan, Inc. Optimum power management of system on chip based on tiered states of operation
EP2244186A3 (en) * 2009-03-11 2010-11-10 Harman Becker Automotive Systems GmbH Computing device and start-up method therefor
US20100318731A1 (en) * 2009-06-16 2010-12-16 Murray Mark R Override boot sequence by presence of file on usb memory stick
CN102906698A (zh) * 2010-05-20 2013-01-30 杉中顺子 外部启动设备、外部启动方法、信息处理装置及网络通信系统
CN102402448A (zh) * 2011-12-27 2012-04-04 大唐微电子技术有限公司 智能卡软件引导系统和方法
US8868898B1 (en) * 2012-07-16 2014-10-21 Robert Van Hoof Bootable covert communications module
US10579391B2 (en) * 2013-07-31 2020-03-03 Oracle International Corporation System on a chip hardware block for translating commands from processor to read boot code from off-chip non-volatile memory device
KR102060430B1 (ko) 2013-08-08 2020-02-11 삼성전자주식회사 웨이크-업 시간을 줄일 수 있는 시스템 온 칩. 애플리케이션 프로세서, 및 상기 시스템 온 칩을 포함하는 컴퓨터 시스템
RU2579942C2 (ru) * 2014-09-01 2016-04-10 Открытое Акционерное Общество "Байкал Электроникс" Устройство прямого отображения адресов данных, располагающихся во внешнем последовательном пзу, в адресное пространство микропроцессорного ядра, компьютерная система и способ передачи данных
RU2579949C2 (ru) * 2014-09-30 2016-04-10 Открытое Акционерное Общество "Байкал Электроникс" Компьютерная система
US10037213B2 (en) * 2016-09-19 2018-07-31 Nxp Usa, Inc. System and method for adjusting boot interface frequency
JP7242233B2 (ja) * 2018-09-28 2023-03-20 キヤノン株式会社 情報処理装置及びその制御方法とプログラム
CN111984329B (zh) * 2019-08-22 2023-10-31 中国科学院国家空间科学中心 一种boot引导软件标准化生成、执行方法及系统

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR19990012940A (ko) * 1997-07-31 1999-02-25 윤종용 아이아이씨 버스를 이용한 마이콤 펌웨어 로드를 위한 회로
KR20000004088A (ko) * 1998-06-30 2000-01-25 윤종용 아이아이씨 버스상의 마이크로 펌웨어 로더의 인터럽트 처리방법
KR20040064149A (ko) * 2003-01-09 2004-07-16 삼성전자주식회사 시리얼 플래시 메모리에서의 현지 실행을 위한 제어 장치및 그 방법, 이를 이용한 플래시 메모리 칩
KR20040075221A (ko) * 2003-02-20 2004-08-27 주식회사 삼보컴퓨터 제어장치용 롬이 제거된 메인보드에서 포스트 실행 방법

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6058474A (en) * 1997-01-24 2000-05-02 Texas Instruments Incorporated Method and apparatus for DMA boot loading a microprocessor without an internal ROM
US6657968B1 (en) * 1999-05-18 2003-12-02 International Business Machines Corporation Glitcher system and method for interfaced or linked architectures
US7103684B2 (en) * 2003-12-02 2006-09-05 Super Talent Electronics, Inc. Single-chip USB controller reading power-on boot code from integrated flash memory for user storage
US7131907B2 (en) * 2001-02-22 2006-11-07 Kabushiki Kaisha Sega System and method for superimposing an image on another image in a video game
US6881579B2 (en) * 2001-07-30 2005-04-19 Agilent Technologies, Inc. Sample processing apparatus and methods
US20040143696A1 (en) * 2003-01-21 2004-07-22 Francis Hsieh Data storage system for fast booting of computer
US20050108711A1 (en) * 2003-11-13 2005-05-19 Infineon Technologies North America Corporation Machine instruction for enhanced control of multiple virtual processor systems

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR19990012940A (ko) * 1997-07-31 1999-02-25 윤종용 아이아이씨 버스를 이용한 마이콤 펌웨어 로드를 위한 회로
KR20000004088A (ko) * 1998-06-30 2000-01-25 윤종용 아이아이씨 버스상의 마이크로 펌웨어 로더의 인터럽트 처리방법
KR20040064149A (ko) * 2003-01-09 2004-07-16 삼성전자주식회사 시리얼 플래시 메모리에서의 현지 실행을 위한 제어 장치및 그 방법, 이를 이용한 플래시 메모리 칩
KR20040075221A (ko) * 2003-02-20 2004-08-27 주식회사 삼보컴퓨터 제어장치용 롬이 제거된 메인보드에서 포스트 실행 방법

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
10-1999-0012940
10-2000-0004088
10-2004-0064149 *
10-2004-0075221

Also Published As

Publication number Publication date
US20060174100A1 (en) 2006-08-03
KR20060087655A (ko) 2006-08-03

Similar Documents

Publication Publication Date Title
KR100693924B1 (ko) 고속 직렬 인터페이스를 이용하는 부팅 시스템 및 부팅 방법
CN107977217B (zh) 在线加载xilinx-fpga多版本更新程序的方法
US8296467B2 (en) Single-chip flash device with boot code transfer capability
US20050283598A1 (en) Method and system for loading processor boot code from serial flash memory
US10866737B2 (en) Apparatus, method and system to store information for a solid state drive
US20090113196A1 (en) Method and systems for advanced reprogrammable boot codes and in-application programming of embedded microprocessor systems
BR102012021854A2 (pt) Espera de comando de alta prioridade para componente periférico
KR20080075110A (ko) 내장형 제어기를 통한 플래시 스토리지의 초기화
KR20070077463A (ko) 컴퓨터 시스템 초기화 방법과 초기화 코드 로딩 방법 및dram 디바이스와 이를 포함하는 내장형 시스템
CN115658160B (zh) 基于多核异构soc的多操作系统升级方法、装置及系统
TWI421686B (zh) 資料存取方法與系統、儲存媒體控制器與儲存系統
US20160062659A1 (en) Virtual memory module
TW200805136A (en) System support storage and computer system
CN105830021B (zh) 可更新集成电路无线电
US10324867B2 (en) Systems and devices having a scalable basic input/output system (BIOS) footprint and associated methods
US10467020B2 (en) Memory device, and information-processing device
CN109426511B (zh) 软核更新方法和系统
US11836501B1 (en) System and methods for hardware-based PCIe link up based on post silicon characterization
WO2000067132A1 (en) Combination ata/linear flash memory device
US11740799B2 (en) Storage system and input and output control method
JP2022529873A (ja) マルチモード保護メモリ
CN105653478A (zh) 串行闪存控制器、串行闪存控制方法及串行闪存控制系统
KR100534613B1 (ko) 플래쉬 메모리를 이용한 시스템 부팅 장치 및 그 방법
US8117427B2 (en) Motherboard, storage device and controller thereof, and booting method
JP2008065725A (ja) Nand型フラッシュメモリデバイス及びこれを利用したコンピューティングシステムの起動方法

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