KR102060430B1 - 웨이크-업 시간을 줄일 수 있는 시스템 온 칩. 애플리케이션 프로세서, 및 상기 시스템 온 칩을 포함하는 컴퓨터 시스템 - Google Patents

웨이크-업 시간을 줄일 수 있는 시스템 온 칩. 애플리케이션 프로세서, 및 상기 시스템 온 칩을 포함하는 컴퓨터 시스템 Download PDF

Info

Publication number
KR102060430B1
KR102060430B1 KR1020130094442A KR20130094442A KR102060430B1 KR 102060430 B1 KR102060430 B1 KR 102060430B1 KR 1020130094442 A KR1020130094442 A KR 1020130094442A KR 20130094442 A KR20130094442 A KR 20130094442A KR 102060430 B1 KR102060430 B1 KR 102060430B1
Authority
KR
South Korea
Prior art keywords
boot
boot loader
power
internal
internal sram
Prior art date
Application number
KR1020130094442A
Other languages
English (en)
Other versions
KR20150018041A (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 KR1020130094442A priority Critical patent/KR102060430B1/ko
Priority to US14/337,641 priority patent/US20150046692A1/en
Priority to TW103125843A priority patent/TWI652692B/zh
Publication of KR20150018041A publication Critical patent/KR20150018041A/ko
Priority to US15/228,342 priority patent/US9996144B2/en
Priority to US15/989,843 priority patent/US10642339B2/en
Application granted granted Critical
Publication of KR102060430B1 publication Critical patent/KR102060430B1/ko
Priority to US16/838,740 priority patent/US11372472B2/en
Priority to US17/846,862 priority patent/US11635800B2/en
Priority to US18/194,782 priority patent/US20230236654A1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/3287Power saving characterised by the action undertaken by switching off individual functional units in the computer system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/20Handling requests for interconnection or transfer for access to input/output bus
    • G06F13/24Handling requests for interconnection or transfer for access to input/output bus using interrupt
    • 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
    • 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/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • G06F9/4418Suspend and resume; Hibernate and awake
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/21Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
    • G11C11/34Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
    • G11C11/40Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
    • G11C11/401Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming cells needing refreshing or charge regeneration, i.e. dynamic cells
    • G11C11/406Management or control of the refreshing or charge-regeneration cycles
    • G11C11/40615Internal triggering or timing of refresh, e.g. hidden refresh, self refresh, pseudo-SRAMs
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1072Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers for memories with random access ports synchronised on clock signal pulse trains, e.g. synchronous memories, self timed memories
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Stored Programmes (AREA)

Abstract

시스템 온 칩은 제1부트 로더를 저장하는 내부 ROM과, 부팅 장치로부터 출력되고 상기 제1부트 로더의 제어에 따라 부팅 시이퀀스를 수행할 수 있는 제2부트 로더를 저장하는 제1내부 SRAM과, 상기 부팅 장치로부터 출력되고 상기 제1부트 로더의 제어에 따라 웨이크-업 시이퀀스를 실행할 수 있는 제3부트 로더를 저장하는 제2내부 SRAM과, 상기 제2부트 로더의 제어에 따라 상기 부팅 장치에 저장된 운영 체제를 DRAM으로 로드하는 DRAM 컨트롤러를 포함한다. 상기 제1내부 SRAM과 상기 제2내부 SRAM 각각은 서로 독립적으로 제어되는 서로 다른 파워 도메인들 각각에 구현된다.

Description

웨이크-업 시간을 줄일 수 있는 시스템 온 칩. 애플리케이션 프로세서, 및 상기 시스템 온 칩을 포함하는 컴퓨터 시스템{SYSTEM ON CHIP(SoC) CAPABLE OF REDUCING WAKE-UP TIME, APPLICATION PROCESSOR, AND COMPUTER SYSTEM HAVING SAME}
본 발명의 개념에 따른 실시 예는 부팅 기술에 관한 것으로, 특히 부팅 시이퀀스에 필요한 부트 로더와 웨이크-업 시이퀀스에 필요한 부트 로더 각각을 이용할 수 있는 시스템 온 칩, 이의 동작 방법, 및 상기 시스템 온 칩을 포함하는 컴퓨터 시스템에 관한 것이다.
컴퓨팅에서, 부팅(booting) 또는 부팅 업(booting up)은 CPU로 파워가 공급될 때, 상기 CPU를 포함하는 컴퓨터 시스템이 수행하는 초기 동작의 세트이다.
부팅은 컴퓨터 시스템으로 파워가 공급될 때 또는 턴-오프 후에 상기 파워가 상기 컴퓨터 시스템으로 다시 공급될 때 수행될 수 있다. 상기 부팅이 완료된 후, 상기 컴퓨터 시스템은 정상 동작들을 수행한다.
컴퓨터 시스템은 부트 로더(boot loader)를 이용하여 부팅을 수행한다. 상기 부트 로더는 운영 체제(operating system)을 주메모리로 로드할 수 있는 컴퓨터 프로그램이다.
전력 소모를 줄이기 위해, 사용자가 컴퓨터 시스템을 일정 시간 동안 사용하지 않을 때, 상기 컴퓨터 시스템은 파워-다운 모드로 진입하고, 상기 파워-다운 모드로부터 웨이크-업하기 위해 상기 컴퓨터 시스템은 일반적인 부팅을 수행한다.
본 발명이 이루고자 하는 기술적인 과제는, 컴퓨터 시스템을 파워-다운 모드로부터 빨리 웨이크-업시키기 위해 부팅 시이퀀스에서 사용되는 부트 로더와 웨이크-업 시이퀀스에서 사용되는 부트 로더 각각을 독립적으로 사용할 수 있는 시스템 온 칩, 이의 동작 방법, 및 상기 시스템 온 칩을 포함하는 컴퓨터 시스템을 제공하는 것이다.
본 발명의 실시 예에 따른 시스템 온 칩(system on chip(SoC))의 동작 방법은 리셋 신호에 기초하여 내부 ROM에 저장된 제1부트 로더를 실행하는 단계와, 상기 제1부트 로더를 이용하여 불휘발성 메모리들 중 어느 하나를 부팅 장치로서 선택하는 단계와, 상기 부팅 장치로부터 제2부트 로더를 제1내부 SRAM으로 로드하고 상기 부팅 장치로부터 제3부트 로더를 제2내부 SRAM으로 로드하는 단계와, 상기 제2부트 로더가 실행됨에 따라 상기 부팅 장치에 저장된 운영 체제를 주메모리로 로드하는 단계를 포함한다.
상기 제2내부 SRAM로 로드된 상기 제3부트 로더에 대한 완전성 확인이 통과된 후, 상기 제2부트 로더는 실행된다.
상기 불휘발성 메모리들은 플래시-기반 메모리들이다.
상기 방법은 상기 SoC가 파워-다운 모드로 진입하는 단계와, 상기 파워-다운 모드에서 상기 내부 ROM과 상기 제1내부 SRAM 각각의 파워를 오프하고 상기 제2내부 SRAM의 파워를 그대로 유지하는 단계를 더 포함한다.
상기 방법은 웨이크-업 인터럽트에 기초하여 상기 제1부트 로더가 실행되는 단계와, 상기 제1부트 로더가 상기 제2내부 SRAM에 저장된 상기 제3부트 로더를 실행시키는 단계와, 상기 제3부트 로더가 상기 주메모리에 로드된 상기 운영 체제로 점프(jump)하는 단계를 더 포함한다.
상기 방법은 상기 제2부트 로더, 상기 제3부트 로더, 및 상기 운영 체제 중 적어도 하나에 대해 완전성 확인을 실행하는 단계를 더 포함한다.
상기 리셋 신호는 하드웨어 리셋 신호, 워치독(watchdog) 리셋 신호, 또는 소프트웨어 리셋 신호일 수 있다.
본 발명의 실시 예에 따른 SoC는 제1부트 로더를 저장하는 내부 ROM과, 부팅 장치로부터 출력되고 상기 제1부트 로더의 제어에 따라 부팅 시이퀀스를 수행할 수 있는 제2부트 로더를 저장하는 제1내부 SRAM과, 상기 부팅 장치로부터 출력되고 상기 제1부트 로더의 제어에 따라 웨이크-업 시이퀀스를 실행할 수 있는 제3부트 로더를 저장하는 제2내부 SRAM과, 상기 제2부트 로더의 제어에 따라 상기 부팅 장치에 저장된 운영 체제를 DRAM으로 로드하는 DRAM 컨트롤러를 포함한다.
상기 SoC는 애플리케이션 프로세서의 일부로서 구현될 수 있다.
본 발명의 실시 예에 따른 컴퓨터 시스템은 시스템 온 칩(system on chip(SoC))과, 상기 SoC에 접속된 부팅 장치와, 상기 SoC에 접속된 DRAM을 포함한다.
상기 SoC는 제1부트 로더를 저장하는 내부 ROM과, 부팅 장치로부터 출력되고 상기 제1부트 로더의 제어에 따라 부팅 시이퀀스를 수행할 수 있는 제2부트 로더를 저장하는 제1내부 SRAM과, 상기 부팅 장치로부터 출력되고 상기 제1부트 로더의 제어에 따라 웨이크-업 시이퀀스를 실행할 수 있는 제3부트 로더를 저장하는 제2내부 SRAM과, 상기 제2부트 로더의 제어에 따라 상기 부팅 장치에 저장된 운영 체제를 DRAM으로 로드하는 DRAM 컨트롤러를 포함한다.
상기 제1내부 SRAM과 상기 제2내부 SRAM 각각은 서로 독립적으로 제어되는 서로 다른 파워 도메인들 각각에 구현된다.
상기 컴퓨터 시스템은 상기 SoC가 파워-다운 모드로 진입한 후, 상기 내부 ROM, 상기 제1내부 SRAM, 및 상기 DRAM 컨트롤러의 파워를 오프하고, 상기 제2내부 SRAM으로 공급되는 파워를 그대로 유지하는 전력 관리 유닛을 더 포함한다.
상기 전력 관리 유닛은, 웨이크-업 인터럽트에 기초하여, 상기 내부 ROM, 상기 제1내부 SRAM, 및 상기 DRAM 컨트롤러로 상기 파워를 공급하고, 상기 제1부트 로더는 상기 웨이크-업 인터럽트에 기초하여 실행되고, 상기 제1부트 로더에 기초하여 실행되는 상기 제3부트 로더는 상기 DRAM에 로드된 상기 운영 체제로 점프한다.
본 발명의 실시 예에 따른, 부팅 시이퀀스에서 사용되는 부트 로더와 웨이크-업 시이퀀스에서 사용되는 부트 로더 각각을 독립적으로 사용할 수 있는 컴퓨터 시스템은 파워-다운 모드로부터 빨리 웨이크-업되므로, 웨이크-업 시간을 줄일 수 있는 효과가 있다.
상기 컴퓨터 시스템은 부팅 시이퀀스에서 사용되는 부트 로더를 로드하고, 확인하고, 실행하기 위해 소모되는 전력을 줄일 수 있는 효과가 있다.
또한, 상기 컴퓨터 시스템은, 파워-다운 모드로부터 웨이크-업 될 때, 부팅 시이퀀스에서 사용되는 부트 로더를 저장하는 부팅 장치를 액세스하지 않아도 되므로, 상기 부팅 장치가 플래시-기반 메모리일 때, 상기 플래시-기반 메모리의 수명을 증가시키는 효과가 있다.
본 발명의 상세한 설명에서 인용되는 도면을 보다 충분히 이해하기 위하여 각 도면의 상세한 설명이 제공된다.
도 1은 본 발명의 일 실시 예에 따른 컴퓨터 시스템의 블록도를 나타낸다.
도 2는 도 1에 도시된 컴퓨터 시스템의 부팅 시이퀀스(booting sequence)를 설명하기 위한 플로우차트이다.
도 3은 도 1에 도시된 컴퓨터 시스템의 웨이크-업 시이퀀스(wake-up sequence)를 설명하기 위한 플로우차트이다.
도 4는 본 발명의 다른 실시 예에 따른 컴퓨터 시스템의 블록도를 나타낸다.
도 5는 도 4에 도시된 컴퓨터 시스템의 부팅 시이퀀스를 설명하기 위한 플로우차트이다.
본 명세서에 개시되어 있는 본 발명의 개념에 따른 실시 예들에 대해서 특정한 구조적 또는 기능적 설명은 단지 본 발명의 개념에 따른 실시 예들을 설명하기 위한 목적으로 예시된 것으로서, 본 발명의 개념에 따른 실시 예들은 다양한 형태들로 실시될 수 있으며 본 명세서에 설명된 실시 예들에 한정되지 않는다.
본 발명의 개념에 따른 실시 예들은 다양한 변경들을 가할 수 있고 여러 가지 형태들을 가질 수 있으므로 실시 예들을 도면에 예시하고 본 명세서에서 상세하게 설명하고자 한다. 그러나, 이는 본 발명의 개념에 따른 실시 예들을 특정한 개시 형태들에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물, 또는 대체물을 포함한다.
제1 또는 제2 등의 용어는 다양한 구성 요소들을 설명하는데 사용될 수 있지만, 상기 구성 요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성 요소를 다른 구성 요소로부터 구별하는 목적으로만, 예컨대 본 발명의 개념에 따른 권리 범위로부터 벗어나지 않은 채, 제1구성 요소는 제2구성 요소로 명명될 수 있고 유사하게 제2구성 요소는 제1구성 요소로도 명명될 수 있다.
어떤 구성 요소가 다른 구성 요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성 요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성 요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성 요소가 다른 구성 요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는 중간에 다른 구성 요소가 존재하지 않는 것으로 이해되어야 할 것이다. 구성 요소들 간의 관계를 설명하는 다른 표현들, 즉 "~사이에"와 "바로 ~사이에" 또는 "~에 이웃하는"과 "~에 직접 이웃하는" 등도 마찬가지로 해석되어야 한다.
본 명세서에서 사용한 용어는 단지 특정한 실시 예를 설명하기 위해 사용된 것으로서, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 명세서에서, "포함하다" 또는 "가지다" 등의 용어는 본 명세서에 기재된 특징, 숫자, 단계, 동작, 구성 요소, 부분품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성 요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 나타낸다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 의미를 갖는 것으로 해석되어야 하며, 본 명세서에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
이하, 본 명세서에 첨부된 도면들을 참조하여 본 발명의 실시 예들을 상세히 설명한다.
도 1은 본 발명의 일 실시 예에 따른 컴퓨터 시스템의 블록도를 나타낸다.
도 1을 참조하면, 컴퓨터 시스템(100A)은 시스템 온 칩(system on chip(SoC); 200), 주메모리(main memory; 300), 및 복수의 불휘발성 메모리들(400-1~400-n)을 포함한다.
컴퓨터 시스템(100A)은 부팅(booting) 또는 부팅 업(booting up)을 필요로 하는 전자 시스템을 의미하고, PC(personal computer), 데이터 서버, CE(Consumer electronics), 또는 휴대용 전자 장치를 의미할 수 있다.
상기 CE는 오디오 장치(audio equipment), TV 세트(television sets), 및 스마트 TV, 스마트 냉장고(smart refrigerator) 등을 포함한다.
상기 휴대용 전자 장치는 랩탑 컴퓨터(laptop computer), 이동 전화기, 스마트 폰(smart phone), 태블릿(tablet) PC, PDA(personal digital assistant), EDA (enterprise digital assistant), 디지털 스틸 카메라(digital still camera), 디지털 비디오 카메라(digital video camera), PMP(portable multimedia player), PND(personal navigation device 또는 portable navigation device), 휴대용 게임 콘솔(handheld game console), 모바일 인터넷 장치(mobile internet device(MID)), 또는 e-북(e-book)으로 구현될 수 있다.
SoC(200)는 주메모리(300)와 복수의 불휘발성 메모리들(400-1~400-n) 각각과 대응되는 인터페이스를 통해 통신할 수 있다. SoC(200)는 주메모리(300)와 복수의 불휘발성 메모리들(400-1~400-n) 각각의 사이에서 데이터 통신을 제어할 수 있는 제어 장치로서의 기능을 수행할 수 있다.
SoC(200)는 애플리케이션 프로세서에 내장될 수 있다. SoC(200), 주메모리 (300), 및 복수의 불휘발성 메모리들(400-1~400-n)은 PCB(printed circuit board(PCB)) 또는 메인보드(main board)에 장착(mount)될 수 있다.
SoC(200)는 인터럽트 컨트롤러(205), CPU(central processing unit; 210), 보안 서브 시스템(215), 내부 ROM(read only memory; 220), 전력 관리 유닛(power management unit(PMU); 230), 메모리 컨트롤러(235), 제1내부 SRAM(245), 제2내부 SRAM(255), 및 주메모리 컨트롤러(265)를 포함한다.
인터럽트 컨트롤러(205)는 SoC(200) 외부로부터 입력된 리셋 신호(INT1)에 상응하는 인터럽트(INT2)를 생성할 수 있다.
예컨대, 리셋 신호(INT1)는 하드웨어 리셋 신호, 워치독(watchdog) 리셋 신호, 소프트웨어 리셋 신호, 또는 파워-다운 모드로부터 웨이크-업(wake-up)을 위한 웨이크-업 리셋 신호일 수 있다.
인터럽트(INT2)는 하드웨어 리셋, 워치독 리셋, 또는 소프트웨어 리셋을 위한 인터럽트, 또는 웨이크-업을 위한 웨이크-업 인터럽트일 수 있다.
CPU(210)는 SoC(200)의 동작을 제어한다. 예컨대, CPU(210)는 각 구성 요소 (205, 215, 220, 230, 235, 245, 255, 및/또는 265)의 동작을 제어할 수 있다.
CPU(210)는 멀티-코어(multi-core) CPU로 구현될 수 있다.
보안 서브 시스템(215)은 SoC(200)의 데이터 보안을 수행할 수 있다.
제1부트 로더(BL1)는 내부 ROM(220)의 저장 영역(225)에 저장된다. SoC(200)는 보안 부팅(secure booting)을 가능하게 하기(enable) 위해 내부 ROM(220)의 저장 영역(225)에 저장된 제1부트 로더(BL1)로부터 부트한다(boot).
예컨대, 제1부트 로더(BL1)는 작고 간단한 코드로 구성되고, 플랫폼-독립적 (platform-independent)일 수 있다.
인터럽트(INT2)에 기초하여 각 리셋 또는 웨이크-업이 실행될 때, 프로그램 카운터는 내부 ROM(220)의 제1부트 로더(BL1)로부터 시작한다.
PMU(230)는 각 구성 요소(205, 210, 215, 220, 235, 245, 255, 및 265)로 동작 전압(또는 파워(power))의 공급을 제어한다.
제2내부 SRAM(255)을 제외한 나머지 구성 요소들(205, 210, 215, 220, 235, 245, 및 265) 각각은 동일한 파워 도메인(power domain)에 구현될 수도 있고 서로 다른 파워 도메인에 구현될 수 있다.
메모리 컨트롤러(235)는 제1내부 SRAM(first internal static random access memory, 이하 'iSRAM1'이라 한다. 245), 제2내부 SRAM(이하, 'iSRAM2'라 한다. 255), 주메모리 컨트롤러(265), 및 복수의 불휘발성 메모리들(400-1~400-n) 사이에서 주고받는 명령 및/또는 데이터의 전송을 제어할 수 있다.
iSRAM1(245)은 메모리 컨트롤러(235)의 제어에 따라서 부팅 장치(400-1)로부터 출력된 제2부트 로더(BL2)를 수신하여 저장할 수 있다.
iSRAM2(255)은 메모리 컨트롤러(235)의 제어에 따라서 부팅 장치(400-1)로부터 출력된 제3부트 로더(BL3)를 수신하여 저장할 수 있다.
파워-다운 모드에서 전력 소모를 줄이기 위해, iSRAM2(255)의 용량은 iSRAM1 (245)의 용량보다 작게 구현될 수 있다.
주메모리 컨트롤러(265)는 CPU(210), 메모리 컨트롤러(235), 및 주기억 장치 (300) 사이에서 주고받는 명령 및/또는 데이터의 전송을 제어할 수 있다.
도 1에서는 설명의 편의를 위해, iSRAM1(245)은 제1파워 도메인(240)에 포함되고, iSRAM2(255)은 제2파워 도메인(250)에 포함되고, 주메모리 컨트롤러(265)는 제3파워 도메인(260)에 포함된다고 가정한다.
파워 도메인들이 어떻게 설계되든, iSRAM1(245)을 포함하는 제1파워 도메인 (240)과 iSRAM2(255)을 포함하는 제2파워 도메인(250)은 서로 분리되어야 한다.
PMU(230)는 각 파워 도메인(240, 250, 및 260)으로 공급되는 동작 전압의 공급과 차단을 독립적으로 제어할 수 있다.
주메모리(300)는 운영 체제(operating system(OS)), 애플리케이션(또는 애플리케이션 코드) 및 데이터를 저장할 수 있다. 예컨대, 주메모리(300)는 DRAM (dynamic random access memory)으로 구현될 수 있다.
부팅 장치(400-1)는 불휘발성 메모리 장치로서, 제2부트 로더(BL2), 제3부트 로더(BL3), 및 OS를 저장할 수 있다.
제2부트 로더(BL2)는 부팅 시이퀀스, 예컨대 하드웨어 리셋, 워치독 리셋, 또는 소프트웨어 리셋 등을 위한 부트 로더를 의미할 수 있다.
제3부트 로더(BL3)는 웨이크-업 시이퀀스, 예컨대 파워-다운 모드로부터 웨이크-업을 위한 전용 부트 로더를 의미할 수 있다.
복수의 불휘발성 메모리들(400-1~400-n)은 플래시-기반 메모리들일 수 있다.
예컨대, 제1불휘발성 메모리(400-1)는 MMC(multi-media card), 임베디드 MMC (embedded-MMC(eMMC)), 또는 SD(secure digital) 카드일 수 있다.
또한, 제2불휘발성 메모리(400-2)는 임베디드 SSD(embedded solid state drive(eSSD)), NAND 플래시 메모리, NOR 플래시 메모리, 또는 UFS(Universal Flash Storage)일 수 있다.
그리고, 제n불휘발성 메모리(400-n)는 UART(Universal Asynchronous Receiver/Transmitter) 또는 USB(Universal Serial Bus) 인터페이스를 갖는 저장 장치일 수 있다.
부팅 시이퀀스 동안, 제1부트 로더(BL1)는 운영 모드(operating mode) 핀들의 상태들(OMPS)에 기초하여 복수의 불휘발성 메모리들(400-1~400-n) 중에서 어느 하나를 부팅 장치로 선택할 수 있다. 본 명세서에서는, 제1불휘발성 메모리(400-1)가 제1부트 로더(BL1)에 의해 선택된 부팅 장치라고 가정한다.
메모리 컨트롤러(235)는 복수의 불휘발성 메모리들(400-1~400-n) 각각을 제어할 수 있는 컨트롤러(들)의 집합으로서, MMC 컨트롤러, eMMC 컨트롤러, SD 카드 컨트롤러, eSSD 컨트롤러, NAND 플래시 컨트롤러, NOR 플래시 컨트롤러, UFS 컨트롤러, UART 컨트롤러, 및 USB 컨트롤러 중에서 적어도 하나의 컨트롤러를 포함할 수 있다.
컴퓨터 시스템(100A)에 포함된 복수의 불휘발성 메모리들(400-1~400-n)의 종류와 개수에 따라, 메모리 컨트롤러(235)에 포함될 컨트롤러의 종류와 개수가 결정된다.
도 2는 도 1에 도시된 컴퓨터 시스템의 부팅 시이퀀스(booting sequence)를 설명하기 위한 플로우차트이다.
컴퓨터 시스템(100A)의 부팅 시이퀀스(또는 부트)는 도 1과 도 2를 참조하여 상세히 설명된다.
리셋 신호(INT1), 즉 하드웨어 리셋 신호, 워치독 리셋 신호, 또는 소프트웨어 리셋 신호에 상응하는 인터럽트(INT2)에 응답하여, PMU(230)는 각 구성 요소 (205, 210, 215, 220, 235, 245, 255, 및 265)로 동작 전압을 공급한다.
SoC(200)가 리셋 되면(S110), CPU(210)의 제어에 따라 내부 ROM(220)의 저장 영역(225)에 저장된 제1부트 로더(BL1)가 실행된다(S112).
제1부트 로더(BL1)는 운영 모드 핀들의 상태들(OMPS)에 기초하여 복수의 불휘발성 메모리들(400-1~400-n) 중에서 어느 하나(400-1)를 부팅 장치로 선택한다 (S114).
제1부트 로더(BL1)는 메모리 컨트롤러(235)를 이용하여 제2부트 로더(BL2)를 부팅 장치(400-1)로부터 iSRAM1(245)으로 로드한다(S118). 예컨대, 제2부트 로더 (BL2)의 크기는 소프트웨어에 기초하여 결정될 수 있다.
안전 부트(secure boot)가 필요할 때(S120의 'YES'), 제1부트 로더(BL1)는 iSRAM1(245)으로 로드된 제2부트 로더(BL2)에 대한 완전성 확인(integrity checking)을 실행하고, 상기 완전성 확인이 통과되면(S122의 'YES'), 제1부트 로더 (BL1)는 메모리 컨트롤러(235)를 이용하여 제3부트 로더(BL3)를 부팅 장치(400-1)로부터 iSRAM2(255)으로 로드한다(S126).
상기 완전성 확인이 실패하면(S122의 'NO'), 제1부트 로더(BL1)는 정지 (stop)되고, 부트는 정지된다(S124).
안전 부트가 필요하지 않을 때(S120의 'NO'), 제1부트 로더(BL1)는 메모리 컨트롤러(235)를 이용하여 제3부트 로더(BL3)를 부팅 장치(400-1)로부터 iSRAM2 (255)으로 로드한다(S126).
안전 부트가 필요할 때(S128의 'YES'), 제1부트 로더(BL1)는 iSRAM2(255)으로 로드된 제3부트 로더(BL3)에 대한 완전성 확인을 실행하고, 상기 완전성 확인이 통과되면(S130의 'YES'), 제1부트 로더(BL1)는 iSRAM1(245)으로 로드된 제2부트 로더(BL2)의 어드레스로 점프한다(S133). 상기 어드레스는 사용자 소프트웨어(user's software)에 따라 결정될 수 있다.
그러나, 실시 예에 따라 부팅 시간을 단축하기 위해, 웨이크-업 인터럽트(INT2)에 응답하여, CPU(210)의 시작 어드레스를 나타내는 프로그램 카운터는 iSRAM2(255)의 제2부트 로더(BL2)로부터 시작할 수도 있다.
상기 완전성 확인이 실패하면(S130의 'NO'), 제1부트 로더(BL1)는 정지되고 부트는 정지된다(S132).
안전 부트가 필요하지 않을 때(S128의 'NO'), 제1부트 로더(BL1)는 iSRAM1 (245)으로 로드된 제2부트 로더(BL2)의 어드레스로 점프한다(S133).
제2부트 로더(BL2)와 제3부트 로더(BL3)에 대한 안전 부트가 성공적으로 완료되거나 제2부트 로더(BL2)와 제3부트 로더(BL3)에 대한 상기 안전 부트가 필요하지 않을 때, CPU(210)에 의해 제2부트 로더(BL2)가 실행된다(S133).
제2부트 로더(BL2)는 필요한 주변 장치들, 예컨대 시스템 클락, UART 인터페이스를 갖는 저장 장치, 및/또는 주메모리 컨트롤러(260)를 초기화한다(S134).
제2부트 로더(BL2)는 메모리 컨트롤러들(235와 265)을 이용하여 OS(또는 OS 이미지)를 부팅 장치(400-1)로부터 주메모리(300)로 로드한다(S136).
즉, 제2부트 로더(BL2)는 주메모리(300)로 로드된 OS의 어드레스로 점프하므로, 상기 OS가 실행된다(S138). 상기 어드레스는 사용자 소프트웨어에 따라 결정될 수 있다. 따라서 부팅 시이퀀스는 완료된다.
도 3은 도 1에 도시된 컴퓨터 시스템의 웨이크-업 시이퀀스(wake-up sequence)를 설명하기 위한 플로우차트이다.
컴퓨터 시스템(100A)의 웨이크-업 시이퀀스는 도 1과 도 3을 참조하여 상세히 설명된다.
부팅 시이퀀스를 통해 정상적으로 부트된(booted) 컴퓨터 시스템(100A)은 사용 조건에 따라 파워-다운 모드로 진입할 수 있다(S160).
상기 파워-다운 모드는 로우 파워 모드(low power mode), 슬립 모드(sleep mode), 스탠바이(standby), 슬립(sleep), 또는 보류(suspend) 등과 같이 다양한 명칭으로 불릴 수 있다.
컴퓨터 시스템(100A)이 파워-다운 모드로 진입하면(S160), PMU(230)는 제2파워 도메인(250)에 구현된 iSRAM2(255)으로만 전력을 공급하고, 나머지 파워 도메인들(240과 260) 각각으로 공급되는 전력을 차단한다.
iSRAM1(245)으로 전력이 공급되지 않으므로, iSRAM1(245)에 저장된 모든 데이터는 소실 또는 없어진다.
실시 예에 따라, PMU(230)는 인터럽트 컨트롤러(205)와 iSRAM2(255)을 제외한 모든 구성 요소들(210, 215, 220, 235, 245, 및 265)로 공급되는 전력을 차단할 수 있다.
다른 실시 예에 따라, 컴퓨터 시스템(100A)이 파워-다운 모드로 진입하면 (S160), 복수의 불휘발성 메모리들(400-1~400-n)로 공급되는 전력도 차단되고, 웨이크-업 인터럽트(INT2)에 응답하여 복수의 불휘발성 메모리들(400-1~400-n)로 다시 전력이 공급될 수 있다.
이 경우, 복수의 불휘발성 메모리들(400-1~400-n)로의 전력 공급은 PMU(230)에 의해 제어될 수 있고 또한 별도의 전력 공급 제어 장치에 의해 제어될 수도 있다. 상기 전력 공급 제어 장치는 컴퓨터 시스템(100A)에 포함될 수 있고, PMIC (power management integrated circuit)으로 구현될 수도 있다.
파워-다운 모드로 진입할 때, PMU(230)는 구성 요소들(205, 210, 215, 220, 235, 245, 255, 및 265)의 파워 상태들을 내부 메모리 또는 내부 레지스터에 저장할 수 있다.
인터럽트 컨트롤러(205)는 웨이크-업 리셋 신호(INT1)에 응답하여 웨이크-업인터럽트(INT2)를 생성한다.
PMU(230)는 웨이크-업 인터럽트(INT2)에 응답하여 각 구성 요소(210, 215, 220, 235, 245, 및 265)로 동작 전압을 다시 공급할 수 있다. 상술한 바와 같이, 컴퓨터 시스템(100A)이 파워-오프되지 않는 한, PMU(230)는 iSRAM2(255)을 포함하는 제2파워 도메인(250)으로 전력을 계속 공급한다.
CPU(210)는 웨이크-업 인터럽트(INT2)에 응답하여 제1부트 로드(BL1)를 실행한다(S166). 이때, CPU(210)는 PMU(230)의 내부 메모리 또는 내부 레지스터에 저장된 파워 상태들을 참조하여 웨이크-업 시이퀀스에 상응하는 제1부트 로드(BL1)를 실행할 수 있다(S166).
CPU(210)의 제어에 따라 제1부트 로드(BL1)는 iSRAM2(255)에 로드된 제3부트 로더(BL3)의 어드레스로 점프한다. 상기 어드레스는 사용자 소프트웨어에 따라 결정될 수 있다.
실시 예에 따라 부팅 시간을 단축하기 위해, 웨이크-업 인터럽트(INT2)에 응답하여, CPU(210)의 시작 어드레스를 나타내는 프로그램 카운터는 iSRAM2(255)의 제2부트 로더(BL2)로부터 시작할 수도 있다.
CPU(210)에 의해 제3부트 로더(BL3)는 실행되고(S168), 제3부트 로더(BL3)는 주메모리 컨트롤러(265)를 초기화하고, 주메모리(300)로 로드된 OS의 어드레스로 점프하므로(S170), 상기 OS가 실행되고(S172), 필요한 애플리케이션(S174)이 실행된다(S174). 즉, OS는 이전 상태들을 회복(restore)할 수 있다.
파워-다운 모드에서 제3부트 로더(BL3)가 iSRAM2(255)에 존재하지 않는다면, SoC(200)는 제2부트 로더(BL2)를 부팅 장치(400-1)로부터 iSRAM1(245)로 다시 로드해야 하고, 제1부트 로더(BL1)를 이용하여 iSRAM1(245)에 로드된 제2부트 로더 (BL2)에 대한 완전성 확인을 다시 수행해야만 한다. 이러한 과정들을 통해, 웨이크-업 시간이 증가한다.
본 발명의 실시 예에 따라, 파워-다운 모드에서 제3부트 로더(BL3)는 iSRAM2 (255)에 그대로 저장되어 있으므로, SoC(200)는 제3부트 로더(BL3)를 이용하여 주메모리(300)에 저장된 OS를 실행시킬 수 있다.
SoC(200)가 파워-다운 모드로부터 웨이크-업 될 때, SoC(200)는 제2부트 로더(BL2)를 부팅 장치(400-1)로부터 iSRAM1(245)으로 다시 로드하지 않아도 되고 제2부트 로더(BL2)에 대한 완전성 확인을 수행하지 않아도 되므로 웨이크-업 시간을 줄일 수 있는 효과가 있다.
SoC(200)는 부팅 장치(400-1)로부터 제2부트 로더(BL2)를 iSRAM1(245)로 로드하고, 제2부트 로더(BL2)에 대한 완전성 확인을 수행하고, 제2부트 로더(BL2)를 실행하는데 필요한 모든 전력 소모를 줄일 수 있는 효과가 있다.
또한, SoC(200)가 파워-다운 모드로부터 웨이크-업 될 때, SoC(200)는 부팅 장치(400-1)를 액세스하지 않아도 되므로, 부팅 장치(400-1)가 플래시-기반 메모리로 구현될 때 상기 플래시-기반 메모리의 수명을 증가시키는 효과가 있다.
즉, SoC(200)는, 파워-다운 모드로부터 웨이크-업 될 때, 제2부트 로더(BL2)와 제3부트 로더(BL3)를 부팅 장치(400-1)로부터 SoC(200)로 새롭게 로드하지 않아도 되므로, 웨이크-업 시간을 단축할 수 있는 효과가 있다.
도 4는 본 발명의 다른 실시 예에 따른 컴퓨터 시스템의 블록도를 나타낸다.
도 1과 도 4를 참조하면, 부팅 장치(400-1)가 제3부트 로더(BL3)와 OS 이외에 두 개의 부트 로더들(BL2-1과 BL2-2)을 저장하고 두 개의 부트 로더들(BL2-1과 BL2-2)이 순차적으로 iSRAM(245)으로 로드되는 것을 제외하면, 도 1의 컴퓨터 시스템(100A)의 구조와 동작은 도 4의 컴퓨터 시스템(100B)의 구조와 동작과 실질적으로 동일하다.
예컨대, 제1서브 부트 로더(BL2-1)는 작고 간단한 코드로 구성되고 플랫폼-독립적이고, 안전 부트에 관련될 수 있다. 제2서브 부트 로더(BL2-2)는 제1서브 부트 로더(BL2-1)보다 복잡한 코드로 구성되고 플랫폼-특유(platform-specific)할 수 있다.
도 5는 도 4에 도시된 컴퓨터 시스템의 부팅 시이퀀스를 설명하기 위한 플로우차트이다.
도 5의 단계 S116B와 단계 S133-1 각각은 도 2의 단계 S116A와 단계 S133 각각과 대체될 수 있다.
제1서브 부트 로더(BL2-1)와 제2서브 부트 로더(BL2-2)가 부팅 장치(400-1)로부터 iSRAM1(245)로 로드되는 과정은 도 2, 도 4, 및 도 5를 참조하여 상세히 설명된다.
SoC(200)가 리셋 되면(S110), CPU(210)의 제어에 따라 내부 ROM(220)의 저장 영역(225)에 저장된 제1부트 로더(BL1)가 실행된다(S112).
제1부트 로더(BL1)는 운영 모드 핀들의 상태들(OMPS)에 기초하여 복수의 불휘발성 메모리들(400-1~400-n) 중에서 어느 하나(400-1)를 부팅 장치로 선택한다 (S114).
제1부트 로더(BL1)는 메모리 컨트롤러(235)를 이용하여 부팅 장치(400-1)로부터 제1서브 부트 로더(BL2-1)를 iSRAM1(245)으로 로드한다(S202).
안전 부트가 필요할 때(S204의 'YES'), 제1부트 로더(BL1)는 iSRAM1(245)으로 로드된 제1서브 부트 로더(BL2-1)에 대한 완전성 확인을 실행하고(S206), 상기 완전성 확인이 통과되면(S206의 'YES'), 제1부트 로더(BL) 또는 제1서브 부트 로더 (BL2-1)는 메모리 컨트롤러(235)를 이용하여 부팅 장치(400-1)로부터 제2서브 부트 로더(BL2-2)를 iSRAM1 (245)으로 로드한다(S210).
상기 완전성 확인이 실패하면(S206의 'NO'), 제1부트 로더(BL) 또는 제1서브 부트 로더 (BL2-1)는 정지되고, 부트는 정지된다(SS208).
안전 부트가 필요하지 않을 때(S204의 'NO'), 제1부트 로더(BL) 또는 제1서브 부트 로더(BL2-1)는 메모리 컨트롤러(235)를 이용하여 부팅 장치(400-1)로부터 제2 서브 부트 로더(BL2-2)를 iSRAM1(245)으로 로드한다(S210).
안전 부트가 필요할 때(S212의 'YES'), 제1부트 로더(BL) 또는 제1서브 부트 로더(BL2-1)는 iSRAM1(245)으로 로드된 제2서브 부트 로더(BL2-2)에 대한 완전성 확인을 실행하고, 상기 완전성 확인이 통과되면(S214의 'YES'), 제1부트 로더(BL) 또는 제1서브 부트 로더(BL2-1)는 iSRAM2(255)으로 제3부트 로더(BL3)를 로드한다 (S126).
상기 완전성 확인이 실패하면(S214의 'NO'), 제1부트 로더(BL) 또는 제1서브 부트 로더(BL2-1)는 정지되고, 부트는 정지된다(S216).
안전 부트가 필요하지 않을 때(S212의 'NO'), 제1부트 로더(BL) 또는 제1서브 부트 로더(BL2-1)는 메모리 컨트롤러(235)를 이용하여 부팅 장치(400-1)로부터 제3부트 로더(BL3)를 iSRAM2(255)으로 로드한다(S126).
안전 부트가 필요할 때(S128의 'YES'), 제1부트 로더(BL) 또는 제1서브 부트 로더(BL2-1)는 iSRAM2(255)으로 로드된 제3부트 로더(BL3)에 대한 완전성 확인을 실행하고, 상기 완전성 확인이 통과되면(S130의 'YES'), 제1부트 로더(BL) 또는 제1서브 부트 로더(BL2-1)는 iSRAM1(245)으로 로드된 제2서브 부트 로더(BL2-2)로 점프한다(S133-1).
상기 완전성 확인이 실패하면(S130의 'NO'), 제1부트 로더(BL) 또는 제1서브 부트 로더(BL2-1)는 정지되고 부트는 정지된다(S132).
안전 부트가 필요하지 않을 때(S128의 'NO'), 제1부트 로더(BL) 또는 제1서브 부트 로더(BL2-1)는 iSRAM1(245)으로 로드된 제2서브 부트 로더(BL2-2)의 어드레스로 점프한다(S133-1). 상기 어드레스는 사용자 소프트웨어에 따라 결정될 수 있다.
제2서브 부트 로더(BL2-2)는 필요한 주변 장치들, 예컨대 시스템 클락, UART 인터페이스를 포함하는 저장 장치, 및/또는 주메모리 컨트롤러(260)를 초기화한다(도 2의 134).
제2서브 부트 로더(BL2-2)는 메모리 컨트롤러들(235와 265)을 이용하여 부팅 장치(400-1)로부터 OS(또는 OS 이미지)를 주메모리(300)로 로드한다(도 2의 S136).
제2서브 부트 로더(BL2-2)는 주메모리(300)로 로드된 OS의 어드레스로 점프하므로, 상기 OS가 실행된다(도 2의 S138).
상기 부팅 시이퀀스를 통해 정상적으로 부트된(booted) 컴퓨터 시스템(100B)의 파워-다운 모드로의 진입(S160)과 웨이크-업 시이퀀스(wake-up sequence)는 도 3을 참조하여 기술한 바와 같다.
본 발명은 도면에 도시된 실시 예를 참고로 설명되었으나 이는 예시적인 것에 불과하며, 본 기술 분야의 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시 예가 가능하다는 점을 이해할 것이다. 따라서, 본 발명의 진정한 기술적 보호 범위는 첨부된 등록청구범위의 기술적 사상에 의해 정해져야 할 것이다.
100A, 100B; 컴퓨터 시스템
200l SoC
205; 인터럽트 컨트롤러
210: CPU
215; 서브 보안 시스템
220; 내부 ROM
230; 전력 관리 유닛
235; 메모리 컨트롤러
245; 제1내부 메모리
255; 제2내부 메모리
265; 주메모리 컨트롤러
300; 주메모리
400-1; 부팅 장치

Claims (20)

  1. 제1부트 로더를 저장하는 내부 ROM;
    부팅 장치로부터 출력되고 상기 제1부트 로더의 제어에 따라 부팅 시이퀀스를 수행할 수 있는 제2부트 로더를 저장하는 제1내부 SRAM;
    상기 부팅 장치로부터 출력되고, 상기 제1부트 로더의 제어에 따라 웨이크-업 시이퀀스를 실행할 수 있는 제3부트 로더를 저장하는 제2내부 SRAM; 및
    상기 제2부트 로더의 제어에 따라 상기 부팅 장치에 저장된 운영 체제를 DRAM으로 로드하는 DRAM 컨트롤러를 포함하되,
    상기 부팅 시이퀀스가 수행된 이후의 적어도 일부 시간 동안, 상기 제1내부 SRAM에 파워 공급이 차단되고, 상기 제2내부 SRAM에 파워가 공급되는 시스템 온 칩(system on chip(SoC)).
  2. 제1항에 있어서,
    상기 제1내부 SRAM과 상기 제2내부 SRAM 각각은 서로 독립적으로 제어되는 서로 다른 파워 도메인들 각각에 구현되는 SoC.
  3. 제1항에 있어서,
    상기 SoC가 파워-다운 모드로 진입한 후, 상기 내부 ROM, 상기 제1내부 SRAM, 및 상기 DRAM 컨트롤러의 파워를 오프하고, 상기 제2내부 SRAM의 파워를 그대로 유지하는 전력 관리 유닛을 더 포함하는 SoC.
  4. 제3항에 있어서,
    상기 전력 관리 유닛은, 웨이크-업 인터럽트에 기초하여, 상기 내부 ROM, 상기 제1내부 SRAM, 및 상기 DRAM 컨트롤러로 상기 파워를 다시 공급하고,
    상기 제1부트 로더는 상기 웨이크-업 인터럽트에 기초하여 실행되고,
    상기 제1부트 로더에 의해 실행되는 상기 제3부트 로더는 상기 DRAM에 로드된 상기 운영 체제로 점프하는 SoC.
  5. 제1부트 로더를 저장하는 내부 ROM;
    부팅 장치로부터 출력되고, 상기 제1부트 로더의 제어에 따라 부팅 시이퀀스를 수행할 수 있는 제2부트 로더를 저장하는 제1내부 SRAM;
    상기 부팅 장치로부터 출력되고, 상기 제1부트 로더의 제어에 따라 웨이크-업 시이퀀스를 실행할 수 있는 제3부트 로더를 저장하는 제2내부 SRAM; 및
    상기 제2부트 로더의 제어에 따라 상기 부팅 장치에 저장된 운영 체제를 DRAM으로 로드하는 DRAM 컨트롤러를 포함하되,
    상기 부팅 시이퀀스가 수행된 이후의 적어도 일부 시간 동안, 상기 제1내부 SRAM에 파워 공급이 차단되고, 상기 제2내부 SRAM에 파워가 공급되는 애플리케이션 프로세서.
  6. 제5항에 있어서,
    상기 애플리케이션 프로세서가 파워-다운 모드로 진입한 후, 상기 내부 ROM, 상기 제1내부 SRAM, 및 상기 DRAM 컨트롤러의 파워를 오프하고, 상기 제2내부 SRAM의 파워를 그대로 유지하는 전력 관리 유닛을 더 포함하는 애플리케이션 프로세서.
  7. 시스템 온 칩(system on chip(SoC);
    상기 SoC에 접속된 부팅 장치; 및
    상기 SoC에 접속된 DRAM을 포함하고,
    상기 SoC는,
    제1부트 로더를 저장하는 내부 ROM;
    상기 부팅 장치로부터 출력되고, 상기 제1부트 로더의 제어에 따라 부팅 시이퀀스를 수행할 수 있는 제2부트 로더를 저장하는 제1내부 SRAM;
    상기 부팅 장치로부터 출력되고, 상기 제1부트 로더의 제어에 따라 웨이크-업 시이퀀스를 실행할 수 있는 제3부트 로더를 저장하는 제2내부 SRAM; 및
    상기 제2부트 로더의 제어에 따라 상기 부팅 장치에 저장된 운영 체제를 DRAM으로 로드하는 DRAM 컨트롤러를 포함하되,
    상기 부팅 시이퀀스가 수행된 이후의 적어도 일부 시간 동안, 상기 제1내부 SRAM에 파워 공급이 차단되고, 상기 제2내부 SRAM에 파워가 공급되는 컴퓨터 시스템.
  8. 제7항에 있어서,
    상기 SoC가 파워-다운 모드로 진입한 후, 상기 내부 ROM, 상기 제1내부 SRAM, 및 상기 DRAM 컨트롤러의 파워를 오프하고, 상기 제2내부 SRAM으로 공급되는 파워를 그대로 유지하는 전력 관리 유닛을 더 포함하는 컴퓨터 시스템.
  9. 제8항에 있어서,
    상기 전력 관리 유닛은, 웨이크-업 인터럽트에 기초하여, 상기 내부 ROM, 상기 제1내부 SRAM, 및 상기 DRAM 컨트롤러로 상기 파워를 공급하고,
    상기 제1부트 로더는 상기 웨이크-업 인터럽트에 기초하여 실행되고,
    상기 제1부트 로더에 기초하여 실행되는 상기 제3부트 로더는 상기 DRAM에 로드된 상기 운영 체제로 점프하는 컴퓨터 시스템.
  10. 제7항에 있어서,
    상기 SoC가 파워-다운 모드일 때, 상기 부팅 장치로 공급되는 파워를 오프하고, 상기 SoC가 웨이크-업될 때 상기 부팅 장치로 파워를 다시 공급하는 전력 공급 제어 장치를 더 포함하는 컴퓨터 시스템.
  11. 삭제
  12. 삭제
  13. 삭제
  14. 삭제
  15. 삭제
  16. 삭제
  17. 삭제
  18. 삭제
  19. 삭제
  20. 삭제
KR1020130094442A 2013-08-08 2013-08-08 웨이크-업 시간을 줄일 수 있는 시스템 온 칩. 애플리케이션 프로세서, 및 상기 시스템 온 칩을 포함하는 컴퓨터 시스템 KR102060430B1 (ko)

Priority Applications (8)

Application Number Priority Date Filing Date Title
KR1020130094442A KR102060430B1 (ko) 2013-08-08 2013-08-08 웨이크-업 시간을 줄일 수 있는 시스템 온 칩. 애플리케이션 프로세서, 및 상기 시스템 온 칩을 포함하는 컴퓨터 시스템
US14/337,641 US20150046692A1 (en) 2013-08-08 2014-07-22 System on chip for reducing wake-up time, method of operating same, and computer system including same
TW103125843A TWI652692B (zh) 2013-08-08 2014-07-29 用於減少喚醒時間之系統單晶片、操作系統單晶片之方法以及包括系統單晶片之電腦系統
US15/228,342 US9996144B2 (en) 2013-08-08 2016-08-04 System on chip for reducing wake-up time, method of operating same, and computer system including same
US15/989,843 US10642339B2 (en) 2013-08-08 2018-05-25 System on chip for reducing wake-up time, method of operating same, and computer system including same
US16/838,740 US11372472B2 (en) 2013-08-08 2020-04-02 System on chip for reducing wake-up time, method of operating same, and computer system including same
US17/846,862 US11635800B2 (en) 2013-08-08 2022-06-22 System on chip for reducing wake-up time, method of operating same, and computer system including same
US18/194,782 US20230236654A1 (en) 2013-08-08 2023-04-03 System on chip for reducing wake-up time, method of operating same, and computer system including same

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020130094442A KR102060430B1 (ko) 2013-08-08 2013-08-08 웨이크-업 시간을 줄일 수 있는 시스템 온 칩. 애플리케이션 프로세서, 및 상기 시스템 온 칩을 포함하는 컴퓨터 시스템

Publications (2)

Publication Number Publication Date
KR20150018041A KR20150018041A (ko) 2015-02-23
KR102060430B1 true KR102060430B1 (ko) 2020-02-11

Family

ID=52449654

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020130094442A KR102060430B1 (ko) 2013-08-08 2013-08-08 웨이크-업 시간을 줄일 수 있는 시스템 온 칩. 애플리케이션 프로세서, 및 상기 시스템 온 칩을 포함하는 컴퓨터 시스템

Country Status (3)

Country Link
US (6) US20150046692A1 (ko)
KR (1) KR102060430B1 (ko)
TW (1) TWI652692B (ko)

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102060430B1 (ko) * 2013-08-08 2020-02-11 삼성전자주식회사 웨이크-업 시간을 줄일 수 있는 시스템 온 칩. 애플리케이션 프로세서, 및 상기 시스템 온 칩을 포함하는 컴퓨터 시스템
US9292301B1 (en) 2015-04-06 2016-03-22 Psikick, Inc. Systems, methods, and apparatus for controlling the power-on or boot sequence of an integrated circuit based on power harvesting conditions
US9558008B2 (en) 2015-04-06 2017-01-31 Psikick, Inc Systems, methods, and apparatus for controlling the power-on or boot sequence of an integrated circuit based on power harvesting conditions
US9846583B2 (en) * 2015-12-15 2017-12-19 Xilinx, Inc. Hardware power-on initialization of an SoC through a dedicated processor
CN105678191B (zh) * 2016-03-02 2018-11-13 上海瓶钵信息科技有限公司 利用SoC内部存储提高***安全性的方法、终端与***
US10846099B2 (en) * 2016-10-07 2020-11-24 Blackberry Limited Selecting a boot loader on an electronic device
CN108446139B (zh) * 2018-03-26 2021-11-16 京东方科技集团股份有限公司 一种fpga芯片的唤醒方法及装置
EP3811095A4 (en) 2018-06-25 2022-09-21 Gatekeeper Systems, Inc. DUAL MAGNETOMETER CALIBRATION
TWI690844B (zh) * 2019-02-01 2020-04-11 新唐科技股份有限公司 電子裝置及裝置喚醒方法
TWI749458B (zh) * 2020-02-05 2021-12-11 瑞昱半導體股份有限公司 驗證方法和驗證系統
CN112256338B (zh) * 2020-10-27 2023-12-05 记忆科技(深圳)有限公司 Soc启动方法、装置、计算机设备及存储介质
US11592889B2 (en) 2021-05-12 2023-02-28 Apple Inc. Die-to-die dynamic clock and power gating
CN114327651A (zh) * 2021-12-21 2022-04-12 上海深聪半导体有限责任公司 芯片唤醒方法、***、电子设备及可读存储介质
CN114861572B (zh) * 2022-07-05 2022-09-30 上海泰矽微电子有限公司 一种多功能性使能管脚的控制***及方法
CN115544523B (zh) * 2022-11-28 2023-02-14 深圳鲲云信息科技有限公司 芯片引导程序的分段验证方法、装置、设备及可读介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003271391A (ja) 2002-03-08 2003-09-26 Samsung Electronics Co Ltd Nandフラッシュメモリを利用したブートシステム及びその方法
JP2007025882A (ja) 2005-07-13 2007-02-01 Canon Inc 省電力モードからの高速復帰手段
KR100786603B1 (ko) 2002-11-28 2007-12-21 가부시끼가이샤 르네사스 테크놀로지 메모리 모듈, 메모리시스템 및 정보기기

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5694600A (en) * 1996-02-09 1997-12-02 Iomega Corporation Methods and apparatus for booting a computer having a removable media disk drive
KR20010085133A (ko) 2000-02-29 2001-09-07 서평원 메모리 전원 제어방법
US7411631B1 (en) * 2000-05-31 2008-08-12 Intel Corporation Power management for processor-based appliances
US7234052B2 (en) 2002-03-08 2007-06-19 Samsung Electronics Co., Ltd System boot using NAND flash memory and method thereof
JP2006202053A (ja) 2005-01-20 2006-08-03 Olympus Imaging Corp 電子機器
KR100693924B1 (ko) * 2005-01-31 2007-03-12 삼성전자주식회사 고속 직렬 인터페이스를 이용하는 부팅 시스템 및 부팅 방법
KR100625167B1 (ko) 2005-02-02 2006-09-20 서울통신기술 주식회사 임베디드 운영체계의 부팅방법
JP2007108402A (ja) 2005-10-13 2007-04-26 Kyocera Mita Corp 半導体集積回路
US7624260B2 (en) 2006-05-04 2009-11-24 Qnx Software Systems Gmbh & Co. Kg System executing a fast boot wake-up
US7757060B2 (en) 2006-09-11 2010-07-13 Dell Products L.P. Reducing wake latency time for power conserving state transition
US20080082752A1 (en) 2006-09-29 2008-04-03 Ram Chary Method and apparatus for saving power for a computing system by providing instant-on resuming from a hibernation state
US20080114924A1 (en) 2006-11-13 2008-05-15 Jack Edward Frayer High bandwidth distributed computing solid state memory storage system
CN102193839A (zh) 2010-03-12 2011-09-21 鸿富锦精密工业(深圳)有限公司 电子装置及其启动方法
JP5683186B2 (ja) 2010-09-22 2015-03-11 キヤノン株式会社 起動高速化方法、情報処理装置及びプログラム
JP2012216108A (ja) 2011-04-01 2012-11-08 Nec Corp 情報処理装置およびプログラム転送方法
JP5754264B2 (ja) 2011-06-24 2015-07-29 富士ゼロックス株式会社 プログラム実行装置、画像処理装置およびプログラム
US9971895B2 (en) * 2012-12-22 2018-05-15 Samsung Electronics Co., Ltd. Method and apparatus for supporting dynamic change of authentication means secure booting
KR102060430B1 (ko) * 2013-08-08 2020-02-11 삼성전자주식회사 웨이크-업 시간을 줄일 수 있는 시스템 온 칩. 애플리케이션 프로세서, 및 상기 시스템 온 칩을 포함하는 컴퓨터 시스템

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003271391A (ja) 2002-03-08 2003-09-26 Samsung Electronics Co Ltd Nandフラッシュメモリを利用したブートシステム及びその方法
KR100786603B1 (ko) 2002-11-28 2007-12-21 가부시끼가이샤 르네사스 테크놀로지 메모리 모듈, 메모리시스템 및 정보기기
JP2007025882A (ja) 2005-07-13 2007-02-01 Canon Inc 省電力モードからの高速復帰手段

Also Published As

Publication number Publication date
US10642339B2 (en) 2020-05-05
TWI652692B (zh) 2019-03-01
KR20150018041A (ko) 2015-02-23
US20160342197A1 (en) 2016-11-24
TW201519253A (zh) 2015-05-16
US11635800B2 (en) 2023-04-25
US9996144B2 (en) 2018-06-12
US20180275740A1 (en) 2018-09-27
US20230236654A1 (en) 2023-07-27
US20150046692A1 (en) 2015-02-12
US11372472B2 (en) 2022-06-28
US20220317761A1 (en) 2022-10-06
US20200233483A1 (en) 2020-07-23

Similar Documents

Publication Publication Date Title
KR102060430B1 (ko) 웨이크-업 시간을 줄일 수 있는 시스템 온 칩. 애플리케이션 프로세서, 및 상기 시스템 온 칩을 포함하는 컴퓨터 시스템
KR102082859B1 (ko) 복수의 이종 코어들을 포함하는 시스템 온 칩 및 그 동작 방법
US9696771B2 (en) Methods and systems for operating multi-core processors
US9389673B2 (en) Systems and methods of performing a data save operation
US9092150B2 (en) Systems and methods of performing a data save operation
US8028177B2 (en) Method for changing power states of a computer
US9588915B2 (en) System on chip, method of operating the same, and apparatus including the same
EP2771785B1 (en) Load boot data
US20130166819A1 (en) Systems and methods of loading data from a non-volatile memory to a volatile memory
US9658863B2 (en) Information processing apparatus and control method therefor
KR102352756B1 (ko) 애플리케이션 프로세서, 시스템 온 칩, 및 이를 포함하는 컴퓨팅 장치
US11693466B2 (en) Application processor and system on chip
CN114879828A (zh) 具有持久性存储器存储装置的固件接口
US20150207361A1 (en) Method and apparatus for changing operation status of electronic device
US20140245047A1 (en) Information processing apparatus, operation state control method, and computer program product
US20170220354A1 (en) Server node shutdown
US20150317181A1 (en) Operating system switching method
KR20080083878A (ko) 디바이스의 대기전류 감소를 위한 방법 및 장치
US20240103601A1 (en) Power management chip, electronic device having the same, and operating method thereof
KR20230127824A (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