KR101691656B1 - 연산 수단과 그를 이용한 부팅 방법 - Google Patents

연산 수단과 그를 이용한 부팅 방법 Download PDF

Info

Publication number
KR101691656B1
KR101691656B1 KR1020090035560A KR20090035560A KR101691656B1 KR 101691656 B1 KR101691656 B1 KR 101691656B1 KR 1020090035560 A KR1020090035560 A KR 1020090035560A KR 20090035560 A KR20090035560 A KR 20090035560A KR 101691656 B1 KR101691656 B1 KR 101691656B1
Authority
KR
South Korea
Prior art keywords
image
memory
flash memory
boot
access controller
Prior art date
Application number
KR1020090035560A
Other languages
English (en)
Other versions
KR20100116903A (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 KR1020090035560A priority Critical patent/KR101691656B1/ko
Publication of KR20100116903A publication Critical patent/KR20100116903A/ko
Application granted granted Critical
Publication of KR101691656B1 publication Critical patent/KR101691656B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • G06F9/4406Loading of operating system
    • G06F9/4408Boot device selection
    • 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/445Program loading or initiating
    • G06F9/44505Configuring for program initiating, e.g. using registry, configuration files

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

본 발명에 따른 휘발성 메모리와 비휘발성 메모리를 포함하는 연산 수단은 상기 비휘발성 메모리에 저장된 소프트웨어 코드 및 데이터 이미지를 상기 휘발성 메모리로 복사하기 위한 기억 직접 접근 제어기와, 상기 기업 직접 접근 제어기로부터 접수된 소프트웨어 코드 및 데이터 이미지의 압축을 풀어서 상기 기억 직접 접근 제어기를 통해서 상기 휘발성 메모리에 제공하기 위한 스트림 압축풀기 소자를 포함한다.
부팅, 컴퓨터, 리눅스, 운영 시스템

Description

연산 수단과 그를 이용한 부팅 방법{PROCESSING UNIT AND BOOTING METHOD THEREOF}
본 발명은 디지털 기기에 관한 발명으로서, 특히 디지털 기기의 부팅 시간을 단축시키기 위한 구조 및 방법에 관한 발명이다.
휴대용 통신 단말기, 텔레비젼, MP3, 디지털 카메라 또는 PMP 등과 같이 최근에 사용되는 대부분의 휴대용 전자 기기들은 CPU와 메모리를 포함하며, 디지털 방식으로 동작 된다.
디지털 방식의 전자 기기들은 다양한 기능들을 제공하거나, 대용량의 데이터를 저장 및 가공해서 사용자가 필요로 하는 다양한 작업들을 수행할 수 있으며, 특히 휴대가 용이한 소형화된 형태로도 구현될 수 있다.
반면에, 아날로그 방식의 전자 기기들은 디지털 방식의 전자 기기들에 비해 부피가 크고, 기능에 제약이 많이 따른다. 그러나, 상술한 아날로그 방식의 전자 기기들은 전원이 인가된 직후에 바로 동작이 가능하다.
그러나, 상술한 디지털 방식의 기기들은 전원이 인가되면, CPU와 메모리가 구동 가능한 상태가 되도록 초기화시키고, 다양한 기능들을 제공하기 위한 프로그 램들이 사용 가능한 상태가 되도록 하기 위한 "부팅(Booting)"이라는 과정이 요구된다.
상술한 부팅은 기기와 프로그램에 따라 다르나, 소요 기간이 짧아서 사용자가 부팅의 진행을 인식하지 못하는 디지털 기기가 있는 반면에, 수초 내지는 수분의 시간이 소요되는 디지털 기기들도 있다.
상술한 부팅은 디지털 기기들을 이용하기 위해서 거쳐야 하는 과정이나, 부팅 시간이 길어질수록 사용자에게 불편함이 가중된다.
상술한 디지털 기기들의 부팅에 소요되는 시간을 줄이기 위한 노력이 다양하게 시도되고 있다. 특히 리눅스(Linux) 기반의 운영시스템(Operating system)에서 특히 더 많은 시도가 이루어지고 있으며, 그 이유는 크게 다음의 두 가지로 볼 수 있다.
첫째는 실시간 운영 시스템(RTOS; Real-time operating system) 기반의 내장형 운영 시스템(Embedded OS)은 덩치가 작고 특정한 동작을 전문적으로 수행하도록 설계되었기 때문에 특별한 노력을 하지 않아도 부팅 속도가 상대적으로 빨라서 부팅 속도를 빠르게 하기 위한 노력이 필요하지 않았다.
둘째는 리눅스(Linux), BSD(Berkeley software distribution), 윈도우즈(windows)와 같은 운영시스템들(Operating System)은 원래 일반적인 다양한 용도로 사용되므로, 개인 컴퓨터(Personal Computer)와 같이 리소스(resources)가 충분한 환경에서 실행되도록 설계되었다. 따라서 부팅 속도가 상대적으로 느린데 이중 리눅스는 공개된 소스(Open source)이므로 다양한 아키텍쳐(architecture)의 연산 소자(CPU)를 잘 지원하기 때문에 디지털 기기에 도입이 빠르게 많이 이루어지고 있다. 따라서 리눅스 기반 운영시스템(OS)의 부팅 속도 개선을 위한 연구는 다양하게 진행되고 있다.
리눅스 기반 운영시스템의 부팅 속도를 단축시키기 위한 방법으로는 부트로더 스피드업(Bootloader speedups)과, 커넬 스피드업(Kernel speedups)과, 유저-스페이스 및 어플리케이션 스피드업(User-space and application speedups) 등이 있으며, 그외에도 스냅샷 부트(Snapshot boot) 방법이 제안되고 있다.
특히, 스냅샷 부트는 이미 부팅 완료된 메모리 이미지를 비휘발성 저장 매체에 저장하고, 전원이 들어온 직후에 비휘발성 저장 매체에 저장된 이미지를 메모리에 복원시킴으로서 초기화 절차를 거쳐 부팅 속도를 단축시키는 방법이다. 이는 윈도우 운영시스템(OS)를 사용하는 노트북에서 최대 절전 모드에서 전원이 다시 인가되는 경우의 부팅 방법과 원리가 유사하다. 다만 스냅샷 부트는 최대 절전 모드에서 불필요한 기능을 제거함으로써 좀더 효율적으로 개선된 방법이다.
도 1은 종래 스냅 샷 부팅을 위한 연산 수단의 개략적인 구성을 도시한 블록도이다. 도 1을 참조하면, 스냅 샷 부팅을 위한 연산 수단(100)은 축소 명령형 컴퓨터 코어(Reduced instruction set computer core)와, 부트 롬(Boot ROM)과, 디램 제어기(DRAM controller)와, 플래쉬 메모리 제어기(Flash memory controller)를 포함하며, 디램 메모리(DRAM)와 플래쉬 메모리(Flash memory)와 연결된다.
상기 축소 명령형 컴퓨터는 비휘발성 메모리의 일종인 상기 플래쉬 메모리에 저장된 소프트웨어 코드 및 데이터 이미지를 로딩(loading)해서 압축을 해제하며, 압축 해제된 소프트웨어 코드 및 데이터 이미지를 상기 디램 메모리에 복사한다. 동시에 상기 축소 명령형 컴퓨터는 상기 부트 롬에 저장된 부트 로더(Boot loader)를 실행한다.
상술한 방법들은 리눅스와 같은 운영 시스템의 부팅 속도 개선을 위한 방법들 예로서, 소프트웨어적으로 부팅 속도를 단축시키기 위한 방법들이다. 따라서, 상술한 방법들만으로는 부팅 속도의 개선에 한계가 있다. 물론 소프트웨어가 작은 경우에는 상술한 방법들만으로도 부팅 속도의 단축을 이룰 수 있으나, 현재 보급되고 있는 스마트 폰(Smart phone)과 같은 디지털 기기들은 소프트웨어의 크기가 상당히 크기 때문에 부팅 속도를 단축하는 데 한계가 있다.
본 발명은 초기 구동을 위한 소프트웨어의 용량이 큰 기기들의 부팅 속도를 단축시키기 위한 방법 및 장치를 제공하고자 한다.
본 발명에 따른 디램 메모리와 플래쉬 메모리와 연결된 연산 수단은,
상기 플래쉬 메모리에 저장된 소프트웨어 코드 및 데이터 이미지를 상기 디램 메모리로 복사시키기 위한 기억 직접 접근 제어기와;
상기 기업 직접 접근 제어기로부터 접수된 소프트웨어 코드 및 데이터 이미지의 압축을 풀어서 상기 기억 직접 접근 제어기를 통해서 상기 디램 메모리에 제공하기 위한 스트림 압축해제 소자를 포함한다.
본 발명은 스냅 샷 부팅 방식의 디지털 기기들에 비교해서 부팅 속도를 단축시킬 수 있다.
이하에서는 첨부도면들을 참조하여 본 발명의 실시예를 상세히 설명하기로 한다. 본 발명을 설명함에 있어서, 관련된 공지기능, 혹은 구성에 대한 구체적인 설명은 본 발명의 요지를 모호하지 않게 하기 위하여 생략한다.
도 2는 본 발명에 따른 연산 수단과 메모리와의 연결 관계를 개략적으로 도시한 블록도이다. 도 2를 참조하면, 본 발명에 따른 연산 수단(200)은 디램 메모 리(221,DRAM)와 플래쉬 메모리(222,Flash memory)에 연결되어 상기 플래쉬 메모리에 저장된 소프트웨어 코드(Software code) 및 데이터 이미지(data image)를 상기 디램 메모리(221)로 복사시키고, 부트 롬(212, Boot ROM)에 저장된 부트 로더(boot loder)를 수행한다.
본 발명에 따른 연산 수단(200)은 부트 롬(212, Boot ROM)과, 축소 명령형 컴퓨터 코어(211, Reduced Instruction Set Computer core)와, 기억 직접 접근 제어기(215, Direct Memory Access Controller)와, 스트림 압축해제(Stream Decompressor) 소자(216)와, 디램 제어기(213,DRAM controller)와, 플래쉬 메모리 제어기(214,Flash memory controller)를 포함한다.
상기 부트 롬(212)은 전원이 인가(Power on)되자마자 수행해야되는 부트 로더들(Boot loaders)이 저장되어 있으며, 상기 축소 명령형 컴퓨터 코어(211)는 상기 기업 직접 접근 제어기(215)의 동작을 지시하며 다수의 부팅 로더들을 수행한다. 또한, 상기 축소 명령형 컴퓨터 코어(211)는 상기 기억 직접 접근 제어기(215)가 상기 플래쉬 메모리(222)에 접근해서 필요한 코드와 데이터를 읽어들이도록 하기 위한 제어 지시를 전송한다.
상기 기억 직접 접근 제어기(215)는 상기 축소 명령형 컴퓨터 코어(211)의 지시에 따라서 상기 플래쉬 메모리(222)에 저장된 소프트웨어 코드(Sofrware code) 및 데이터 이미지(Data image)를 상기 스트림 압축해제 소자(216)로 읽어들이고, 상기 스트림 압축해제 소자(216)는 상기 기업 직접 접근 제어기(215)에 의해 로딩(loading)되는 소프트웨어 코드 및 데이터 이미지의 압축을 순차적으로 풀면서 압축이 풀려진 순서대로 소프트웨어 코드 및 데이터 이미지를 상기 기억 직접 접근 제어기(215)를 통해서 상기 디램 메모리(221)에 제공한다.
즉, 본 발명에 따른 기억 직접 접근 제어기(215)는 상기 플래쉬 메모리(222)에 저장된 소프트웨어 코드와 데이터 이미지를 지속적으로 상기 스트림 압축해제 소자(216)로 전송하고, 상기 압축 스트림 압축해제 소자(216)는 로딩(lading)되는 코드 및 데이터 이미지들을 실시간으로 압축을 해제하며 압축해제된 코드 및 이미지들을 상기 기억 직접 접근 제어기(215)와 상기 디램 제어기(213)를 통해서 상기 디램 메모리(221)로 전송한다.
상기 축소 명령형 컴퓨터 코어(211)는 상기 기억 직접 접근 제어기(215)가 상기 플래쉬 메모리(222)에 접근해서 소프트웨어 코드 또는 데이터 이미지를 상기 스트림 압축해제 소자(216)로 실시간 로딩(loading)하는 동안에 상기 부트 롬(212)에 저장된 부팅 로더들을 로딩하고 수행함으로써 부팅에 소요되는 시간을 단축시킬 수 있다.
도 3은 HASB(Hardware Assisted Snapshot boot) 방식의 부팅 과정의 예를 개략적으로 도시한 도면이고, 도 4는 본 발명에 따른 부팅 과정을 개략적으로 도시한 도면들로서 부팅의 예를 설명하기 위한 도면들이다.
도 3은 HASB 부팅 과정의 예로서, 파워가 인가된 직후(Power on)에 상기 부트 롬(212)에 저장된 부트 로더를 상기 축소 명령형 컴퓨터 코어(211)로 로딩하는 초기 과정(310,Init Board)과, 상기 플래쉬 메모리(222)에 저장된 소프트웨어 코드와 데이터 이미지를 로딩하고 압축을 해제해서 해제된 코드와 데이터 이미지를 디 램 메모리에 복사시키기 위한 과정(320,Uncompress & Copy image)과, 본 발명에 따른 연산 수단을 포함하는 단말기 또는 컴퓨터 등을 구성하는 장치들을 초기화시키기 위한 과정(330)과, 레지스터를 저장하는 과정(340)과, 장치 복귀 과정(340, Resume Devices)과, 부팅 과정을 계속하는 과정(360, Continue Processes)을 포함한다.
상기 데이터 이미지는 플래쉬 메모리(222)로부터 디램 메모리에 복사되기 위해서 복수의 최소 단위들(Chunk)로 분할되어 전송될 수 있으며, 상기 데이터 이미지가 전송되는 과정은 크게 3단계로 이루어질 수 있다.
첫 번째 단계에서 상기 기억 직접 접근 제어기(215)는 플래쉬 메모리(222)에 저장되어 있는 복수의 최소단위들(chunks, 청크)로 압축된 소프트웨어 코드 및 데이터 이미지를 최소단위(Chunk) 별로 스트림 압축해제 소자(216)로 로딩한다. 즉, 상기 기억 직접 접근 제어기(215)는 압축된 소프트웨어 코드 및 데이터 이미지 전체를 로딩하는 것이 아니라, 압축된 소프트웨어 코드 및 데이터 이미지를 최소 단위로 상기 스트림 압축해제 소자(216)로 로딩시킨다.
두 번째 단계에서, 상기 스트림 압축해제 소자(216)는 상기 기억 직접 접근 제어기(215)에 의해서 최소 단위(Chunk)로 로딩되는 소프트웨어 코드와 데이터 이미지를 압축해제해서 최소 단위로 상기 기억 직접 접근 제어 소자(215)로 실시간 전송한다.
세 번째 단계에서, 상기 기억 직접 접근 제어기(215)는 상기 스트림 압축해제 소자(216)에서 실시간 압축해제되는 소프트웨어 코드와 데이터 이미지의 최소단 위(Chunk)로 상기 디램 제어기(213)를 통해서 상기 디램 메모리(221)로 전송한다. 소프트웨어 코드와 데이터 이미지는 소프트웨어 코드와 데이터 이미지의 일부뿐만 아니라, 저장될 디램 메모리(221)의 주소와 최소단위의 크기와 같은 정보가 더 포함될 수 있다.
상기 기억 직접 접근 제어기(215)가 수행하는 세 번째 단계는 상기 플래쉬 메모리(222)에 저장되어 있는 압축 소프트웨어 코드 및 데이터 이미지를 구성하는 모든 최소 단위들(Chunks)이 상기 디램 메모리(221)로 모두 복사될 때까지 반복적으로 수행된다. 따라서, 상기 스트림 압축해제 소자(216)와 상기 기억 직접 접근 제어기(215)도 이 과정(플래쉬 메모리의 코드와 데이터 이미지를 디램 메모리에 복사시키기 위한 과정)을 끊임없이 실시간 수행할 수 있도록 풀-듀플렉스(Full-duplex)의 능력을 구비하고 있는 소자가 사용되는 것이 바람직하다.
소프트웨어 코드와 데이터 이미지를 상기 디램 메모리(221)로 로딩하는 과정은 상기 플래쉬 메모리(222)에 저장된 소프트웨어 코드와 데이터 이미지의 최소단위(Chunk)를 기준으로 실시간 진행함으로써, 소프트웨어 코드와 데이터 이미지 전체를 로딩하는 방법에 비해서 부팅에 소요되는 시간을 단축시킬 수 있다.
도 3의 HASB 부팅 과정이 종래의 스냅샷(Snapshot) 부트와 비교했을 때 부팅 속도 개선은 플래쉬 메모리(222)에서 디램 메모리(221)로의 복사 시간을 단축시킬 수 있기 때문이며, 그 이유는 다음과 같다.
일반적으로 디램 메모리(221)의 전송 속도는 플래쉬 메모리(222)에 비해서 수배 이상 빠르다. 즉, 기존 스냅샵 부팅 방법에서 부팅 속도에 가장 큰 영향을 미 치는 요인은 플래쉬 메모리(222)의 읽기 속도이다. 그러나, 읽기 속도는 플래쉬 메모리(222)의 속성이기 때문에 개선의 여지가 크지 않다. 따라서 데이터 이미지를 플래쉬 메모리(222)로부터 읽어 오는데 소요되는 시간을 단축하기 위해서 데이터 이미지를 압축함으로써 그 양을 줄일 수 있으나, 압축된 데이터 이미지의 압축 해제에도 시간이 소요되므로 경우에 따라서는 오히려 부팅 시간이 더 소요될 수도 있다.
반면에, 본 발명은 상기 기억 직접 접근 제어기(215)가 상기 플래쉬 메모리(222)에 최소단위로 저장된 소프트웨어 코드와 데이터 이미지를 최소단위를 기준으로 상기 스트림 압축해제 소자(216)로 로딩하고, 상기 스트림 압축해제 소자(216)는 소프트웨어 코드와 데이터 이미지의 최소단위를 기준으로 압축을 해제함으로써 상기 소프트웨커 코드와 데이터 이미지의 상기 디램 메모리(221)로 복사되는 데 소요되는 시간을 최소화시킬 수 있다.
따라서, 본 발명은 플래쉬 메모리(222)의 느린 읽기 속도에도 불구하고 부팅 속도를 단축시킬 수 있다. 본 발명에 따른 부팅 속도 개선은 산술적 측면에서 다음과 같이 예를 들어 설명될 수 있다. 데이터 이미지는 최초 크기에 비해서 반(1/2)의 크기로 압축될 수 있는 것으로 가정하고, 디램 메모리(221)의 전송속도가 플래쉬 메모리(222)의 전송 속도에 비해 2배 이상이면 데이터 이미지 전체를 디램 메모리(221)에 복사하는 데 소요되는 시간을 기존의 절반(1/2)로 줄일 수 있다. 만약, 데이터 이미지를 1/3로 압축할 수 있고, 디램 메모리(221)의 전송 속도가 플래쉬 메모리(222)의 전송속도보다 3배 이상 빠르다면, 전체 데이터 이미지를 복사하는 데 소요되는 시간은 1/3으로 단축시킬 수 있다.
도 4는 본 발명에 따른 부팅 과정을 개략적으로 도시한 도면으로서, 도 3의 부팅 방법에 비해서 좀 더 개선된 부팅 방법이다. 도 4에 도시된 부팅 방법은
상기 플래쉬 메모리에 저장된 소프트웨어 코드와 데이터 이미지를 구성하는 최소단위들(Chunks)에 대해서 부팅 순위에 따른 압축 순서를 설정함으로써 데이터 이미지의 로딩과 동시에 다른 부팅 과정을 동시에 진행하는 부팅 방법이다.
즉, 도 4의 부팅 방법은 상기 기억 직접 제어기(215)가 상기 플래쉬 메모리(222)로부터 소프트웨어 코드와 데이터 이미지를 복사하는 동안 상기 축소 명령형 컴퓨터 코어(211)가 다른 부팅 과정을 수행하는 부팅 방법으로서, 동시에 다수의 부팅 과정을 진행할 수 있으므로 부팅 시간의 단축이 가능하다.
도 3에 따른 HASB 부팅 방법은 파워 인가(Power on)에서 시스템 준비(System ready)까지의 상황이 직렬로 이루어지는 반면에, 도 4에 도시된 개선된 HASB 부팅 방법(Advanced HASB)은 데이터 이미지의 복사와 다른 부팅 과정들이 병렬로 진행됨으로 그 만큼의 부팅 시간을 도 3에 도시된 부팅 방법에 비해서도 더 단축시킬 수 있다.
도 4에 도시된 부팅 방법은 데이터 이미지를 프리-런 이미지(321,Pre-Run Image)와 포스트-런 이미지(322,Post-Run image)고 분리할 수 있으며, 상기 프리-런 이미지(321)는 레지스터 리스토레이션(340, Register Restoation)과, 디바이스 리쥼(350,Device Resume)을 포함하는 커널(Kernel)의 일부 코드를 포함할 수 있다. 상기 포스트-런 이미지(322)는 레지스터 리스토레이션(340,Register Restoation) 과, 디바이스 리쥼(350,Device Resume)을 제외한 나머지 코드로 구성될 수 있다.
프리-런 이미지(321)를 먼저 디램 메모리에 압축해제해서 복사하고, 프리-런 이미지(321)에 포함된 코드들(340,350)을 실행하는 동안, 포스트-런 이미지(322)를 압축해서 복사하는 과정을 병렬로 진행함으로써 부팅에 소요되는 시간을 더욱 단축시킬 수 있다.
도 4의 부팅 방법은 상기 축소 명령형 컴퓨터 코어(211)이 장치들을 설정하는 과정(330) 이후에, 프리 런 이미지(321)에 포함된 코드들(340,350)을 실행하고 동시에 상기 기억 직접 접근 제어기(215)와 스트림 압축해제 소자(216)이 플래쉬 메모리(222)에 저장된 포스트 런 이미지(322)에 대한 압축 해제 및 디램 메모리(221)로의 복사를 동시에 수행하는 방법이다.
도 4의 부팅 방법은 포스트 런 이미지의 과정(322) 이후에는 포스트 런 이미지(322)에 포함된 나머지의 부팅 과정들(360)을 계속 진행해서 부팅을 완료시킬 수 있다.
도 1은 종래 기술에 따른 연산 수단과 메모리와의 연결 관계를 개략적으로 도시한 블록도,
도 2는 본 발명에 따른 연산 수단과 메모리와의 연결 관계를 개략적으로 도시한 블록도,
도 3은 본 발명에 따른 부팅 과정의 예를 설명하기 위한 도면,
도 4는 본 발명에 따른 부팅 과정의 또 다른 예를 설명하기 위한 도면.

Claims (7)

  1. 디램 메모리 및 플래쉬 메모리와 연결된 연산 수단에 있어서,
    상기 플래쉬 메모리에 저장된 소프트웨어 코드 및 데이터 이미지 중 적어도 하나를 제1 이미지 및 제2 이미지로 분리하여, 상기 제1 이미지를 상기 제2 이미지보다 먼저 상기 디램 메모리에 복사하는 기억 직접 접근 제어기와;
    상기 분리된 제1 이미지를 상기 분리된 제2 이미지보다 먼저 압축 해제하는 스트림 압축해제 소자를 포함함을 특징으로 하는 연산 수단.
  2. 제1 항에 있어서, 상기 연산 수단은,
    상기 기억 직접 접근 제어기의 동작을 지시하며 다수의 부팅 로더들을 수행하기 위한 축소 명령형 컴퓨터 코어를 더 포함함을 특징으로 하는 연산 수단.
  3. 제2 항에 있어서, 상기 연산 수단은,
    전원이 인가되자마자 수행해야되는 부트 로더가 저장된 부트 롬을 더 포함함을 특징으로 하는 연산 수단.
  4. 제3 항에 있어서, 상기 연산 수단은,
    상기 기억 직접 접근 제어기와 상기 축소 명령형 컴퓨터 코어의 사이에 연결되어 상기 디램 메모리를 제어하기 위한 디램 메모리 제어기와;
    상기 플래쉬 메모리와 상기 기억 직접 접근 제어기의 사이에 위치되어 상기 플래쉬 메모리를 제어하고, 상기 플래쉬 메모리에 저장된 소프트웨어 코드 및 데이터 이미지 중 적어도 하나를 상기 기억 직접 접근 제어기를 통해서 상기 스트림 압축 해제 소자에 제공하기 위한 플래쉬 메모리 제어기를 더 포함함을 특징으로 하는 연산 수단.
  5. 연산 수단에서 부팅 방법에 있어서,
    상기 연산 수단이 플래쉬 메모리에 저장된 소프트웨어 코드 및 데이터 이미지 중 적어도 하나를 제1 이미지 및 제2 이미지로 분리하는 과정;
    상기 연산 수단이 상기 분리된 제1 이미지를 상기 제2 이미지보다 먼저 압축 해제하여, 상기 분리된 제1 이미지 및 제2 이미지를 압축 해제하는 과정;
    상기 연산 수단이 상기 압축 해제된 제1 이미지 및 제2 이미지를 디램 메모리에 복사하는 과정을 포함함을 특징으로 하는 연산 수단에서 부팅 방법.
  6. 제5 항에 있어서,
    상기 제1 이미지는 레지스터 리스토레이션, 디바이스 리쥼 중 적어도 하나를 포함하는, 커널의 일부 코드를 포함하는 프리 런 이미지이고,
    상기 제2 이미지는 상기 플래쉬 메모리에 저장된 상기 소프트웨어 코드, 데이터 이미지 중 적어도 하나에서 상기 제1 이미지에 포함되지 않은, 나머지 코드를 포함하는 포스트 런 이미지임을 특징으로 하는 연산 수단에서 부팅 방법.
  7. 제6 항에 있어서,
    상기 압축 해제하는 과정은
    상기 압축 해제된 프리 런 이미지를 구성하는 부팅 코드를 실행하는 중에, 상기 포스트 런 이미지를 압축 해제하는 과정을 더 포함함을 특징으로 하는 연산 수단에서 부팅 방법.
KR1020090035560A 2009-04-23 2009-04-23 연산 수단과 그를 이용한 부팅 방법 KR101691656B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020090035560A KR101691656B1 (ko) 2009-04-23 2009-04-23 연산 수단과 그를 이용한 부팅 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020090035560A KR101691656B1 (ko) 2009-04-23 2009-04-23 연산 수단과 그를 이용한 부팅 방법

Publications (2)

Publication Number Publication Date
KR20100116903A KR20100116903A (ko) 2010-11-02
KR101691656B1 true KR101691656B1 (ko) 2016-12-30

Family

ID=43403693

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020090035560A KR101691656B1 (ko) 2009-04-23 2009-04-23 연산 수단과 그를 이용한 부팅 방법

Country Status (1)

Country Link
KR (1) KR101691656B1 (ko)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100322006B1 (ko) * 1999-06-09 2002-02-06 윤종용 펌웨어 보드의 프로그램을 변경하기 위한 장치 및 방법
KR100606757B1 (ko) * 2003-05-30 2006-07-31 엘지전자 주식회사 무선망을 이용한 단말기의 실행코드 업데이트 방법
KR100673999B1 (ko) * 2005-08-26 2007-01-24 주식회사 팬택앤큐리텔 이동통신 단말기의 부팅방법

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20070108646A (ko) * 2006-05-08 2007-11-13 삼성전자주식회사 압축 바이너리 파일을 관리하는 단말기 및 그 방법

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100322006B1 (ko) * 1999-06-09 2002-02-06 윤종용 펌웨어 보드의 프로그램을 변경하기 위한 장치 및 방법
KR100606757B1 (ko) * 2003-05-30 2006-07-31 엘지전자 주식회사 무선망을 이용한 단말기의 실행코드 업데이트 방법
KR100673999B1 (ko) * 2005-08-26 2007-01-24 주식회사 팬택앤큐리텔 이동통신 단말기의 부팅방법

Also Published As

Publication number Publication date
KR20100116903A (ko) 2010-11-02

Similar Documents

Publication Publication Date Title
KR101467515B1 (ko) 스냅샷 이미지를 이용한 부팅 장치 및 방법
US5269022A (en) Method and apparatus for booting a computer system by restoring the main memory from a backup memory
US9075629B2 (en) Multi-phase resume from hibernate
US7882341B2 (en) System and method to enable parallelization of early platform initialization
US20130179670A1 (en) Booting method of multimedia device and multimedia device
US20080288767A1 (en) Computer system
JP6399916B2 (ja) 情報処理装置およびその制御方法
US20140281464A1 (en) Method of implementing magnetic random access memory (mram) for mobile system-on chip boot
JPH10228379A (ja) 低減されたラン−タイム・メモリ空間要求を有するアーキテクチャ特定コードを実行する方法及びコンピュータ・システム
US10185573B2 (en) Caching based operating system installation
CN112783558B (zh) 一种加快Linux内核启动的自解压阶段的方法
KR20140091818A (ko) 부팅 장치 및 방법
KR101691656B1 (ko) 연산 수단과 그를 이용한 부팅 방법
US9904559B2 (en) Information processing apparatus and activation method therefor for processing data of a hibernation image
JP6080492B2 (ja) 情報処理装置、起動方法およびプログラム
US20050289288A1 (en) Compression and decompression of expansion read only memories
JPH11175348A (ja) Riscアーキテクチャを持った中央処理装置を有する装置及び該装置を動作させる方法
KR20140018134A (ko) 오프 상태로부터의 운영 체제의 고속 부팅이 가능한 임베디드 시스템 및 임베디드 시스템에서의 부팅 방법
JP6080491B2 (ja) 情報処理装置、起動方法およびプログラム
JP3431880B2 (ja) 基板及びプロセッサのリセット方式
JP6080490B2 (ja) 情報処理装置、起動方法およびプログラム
CN116225547A (zh) 一种操作系统的启动方法、装置及电子设备
TW201530434A (zh) 電子裝置與其非揮發性儲存裝置中開機程式的恢復方法
CN113626092A (zh) 嵌入式系统启动方法与soc芯片
KR20130072926A (ko) 임베디드 시스템의 부팅 방법

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
GRNT Written decision to grant