KR101595043B1 - 적어도 부분적으로 부팅 동안에 어플리케이션들을 메모리에 프리로딩하는 방법 - Google Patents

적어도 부분적으로 부팅 동안에 어플리케이션들을 메모리에 프리로딩하는 방법 Download PDF

Info

Publication number
KR101595043B1
KR101595043B1 KR1020117008700A KR20117008700A KR101595043B1 KR 101595043 B1 KR101595043 B1 KR 101595043B1 KR 1020117008700 A KR1020117008700 A KR 1020117008700A KR 20117008700 A KR20117008700 A KR 20117008700A KR 101595043 B1 KR101595043 B1 KR 101595043B1
Authority
KR
South Korea
Prior art keywords
applications
memory
logic blocks
preloading
index
Prior art date
Application number
KR1020117008700A
Other languages
English (en)
Other versions
KR20110084403A (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 마벨 월드 트레이드 리미티드
Publication of KR20110084403A publication Critical patent/KR20110084403A/ko
Application granted granted Critical
Publication of KR101595043B1 publication Critical patent/KR101595043B1/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
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/54Link editing before load time
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • G06F9/4406Loading of operating system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • 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

Landscapes

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

Abstract

본 발명은 적어도 부분적으로 부팅(boot up) 동안에 메모리에 프리로딩(preload)하기 위하여 하나 이상의 어플리케이션들을 제공하고, 상기 어플리케이션들 중 하나에 대한 선택을 수신하고, 그리고 상기 어플리케이션을 적어도 부분적으로 부팅 동안에 상기 메모리에 프리로딩하기 위한 방법에 관한 것이다. 본 방법의 몇몇 실시예에 따르면, 하나 이상의 어플리케이션들 각각에 관련된 선택가능한 텍스트 혹은 아아이콘을 갖는 그래픽 사용자 인터페이스를 표시함에 의해서 어플리케이션들이 제공된다. 본 방법의 몇몇 다른 실시예에서 본 방법은 프리로딩되는 어플리케이션의 로직 블록들을 결정하는 단계를 더 포함하며, 그리고 로직 블록들을 프리로딩함에 의해서 어플리케이션을 프리로딩한다.

Description

적어도 부분적으로 부팅 동안에 어플리케이션들을 메모리에 프리로딩하는 방법{PRELOADING APPLICATIONS ONTO MEMORY AT LEAST PARTIALLY DURING BOOT UP}
관련 출원
본 출원은 2008년 9월 18일자로 미국에 출원된 미국 가출원(가출원번호 61/098,141)의 우선권을 주장하며, 상기 미국 가출원은 본 발명에 대한 참조로서 그 전체 내용은 본 명세서에 통합된다.
퍼스널 컴퓨터가 파워 온 되는 경우, 가장 먼저 실행되는 코드는 기본 입출력 시스템(Basic Input/Output System : BIOS)이다. 통상적인 BIOS는, 하드 디스크 및 다른 하드웨어들과 같은 시스템 디바이스들을 식별하고, 테스트하고 그리고 초기화한다. 이러한 과정에서, 상기 BIOS는 운영 시스템 소프트웨어가 로딩되고, 실행되고 그리고 제어될 수도 있도록 상기 퍼스널 컴퓨터를 준비시킨다. 퍼스널 컴퓨터를 준비시키는 이러한 프로세스는 부팅 업(booting up, 이하에서는 "부팅 업" 혹은 "부팅" 이라함)이라고 지칭된다. 퍼스널 컴퓨터를 부팅시키는 것은 종종 매우 느리며, 특히 컴퓨터의 운영 시스템이 큰 경우에는 더욱 느린데, 컴퓨터의 운영 시스템은 점점 더 커지는 추세이다.
컴퓨터를 부팅하는 것은 매우 느릴 수 있을 뿐만 아니라, 사용자는 또한 어플리케이션이 로딩되기를 기다려야 한다. 사용자가 이메일을 체크하거나 혹은 문서 작업을 하고자 하는 경우, 사용자는 통상적으로 퍼스널 컴퓨터를 턴온시키고, 컴퓨터가 부팅되기를 기다린 후, 그리고 어플리케이션이 로딩되기를 기다려야 한다.
본 명세서는 적어도 부분적으로 부팅(boot up) 동안에 메모리에 프리로딩(preload)하기 위하여 하나 이상의 어플리케이션들을 제공하고, 상기 어플리케이션들 중 하나에 대한 선택을 수신하고, 그리고 상기 어플리케이션을 적어도 부분적으로 부팅 동안에 상기 메모리에 프리로딩하기 위한 방법을 서술한다. 본 방법의 몇몇 실시예에 따르면, 하나 이상의 어플리케이션들 각각에 관련된 선택가능한 텍스트 혹은 아아이콘을 갖는 그래픽 사용자 인터페이스를 표시함에 의해서 어플리케이션들이 제공된다. 본 방법의 몇몇 다른 실시예에서 본 방법은 프리로딩되는 어플리케이션의 로직 블록들을 결정하는 단계를 더 포함하며, 그리고 로직 블록들을 프리로딩함에 의해서 어플리케이션을 프리로딩한다. 이러한 실시예에서, 상기 방법은 또한, 선택된 다른 어플리케이션들을 제공하기 위하여 하나 이상의 어플리케이션들에 대한 선택을 수신하는 동작과 그리고 상기 선택된 다른 어플리케이션들의 로직 블록들을 결정하는 동작을 반복한다. 이러한 실시예에서, 로직 블록들은 상기 선택된 다른 어플리케이션들의 로직 블록들을 포함한다.
본 명세서는 또한 부팅 프로세스의 개시에 응답하여, 하드 디스크 드라이브 상에 저장된 하나 이상의 어플리케이션들을 액세스하고, 상기 하드 디스크 드라이브로부터 상기 어플리케이션들을 판독하며, 그리고 적어도 부분적으로 상기 부팅 프로세스 동안에 상기 어플리케이션들을 메모리 상에 프리로딩하도록 구성된 제어기를 서술한다. 여기서, 상기 메모리는 부팅 프로세스가 수행되는 컴퓨터에 의해 액세스 가능하다. 몇몇 경우에서 상기 하나 이상의 어플리케이션들은 기본 입출력 시스템(BIOS) 혹은 운영 시스템(Operating System : OS)에 관련되지 않는다.
몇몇 실시예에서, 하나 이상의 어플리케이션들에 대한 액세스는 상기 하나 이상의 어플리케이션들에 관련된 로직 블록들의 인덱스를 액세스하는 것이며(상기 로직 블록들은 상기 하드 디스크 드라이브 상에 저장되며 그리고 상기 인덱스는 상기 로직 블록들을 식별한다), 하드 디스크 드라이브로부터 어플리케이션들을 판독하는 것은, 인덱스에서 식별된 로직 블록들을 하드 디스크 드라이브로부터 판독하는 것을 포함하며, 그리고 상기 어플리케이션들을 프리로딩하는 것은 상기 로직 블록들을 상기 메모리 상에 프리로딩하는 것이다. 이러한 몇몇 실시예에서, 상기 제어기는 또한, 부팅 프로세스의 개시 이전에 상기 인덱스를 수신하며 그리고 상기 인덱스를 상기 메모리에 저장하도록 구성될 수 있다. 다른 실시예에서 상기 제어기는, 하나 이상의 어플리케이션들에 관련된 로직 블록들의 인덱스가, 복수개의 어플리케이션들에 관련된 로직 블록들을 포함하도록 구성될 수 있다. 또 다른 실시예에서 상기 제어기는, 상기 로직 블록들의 프리로딩이 부팅 프로세스의 완료 이전에 하나 이상의 어플리케이션들 중 특정한 한 어플리케이션에 관련된 로직 블록들을 프리로딩하도록 구성될 수 있다.
또 다른 실시예에서 상기 제어기는 상기 인덱스가 또한, 상기 하드 디스크 드라이브 또는 다른 하드 디스크 드라이브 상에 저장된 하나 이상의 추가 어플리케이션들에 관련된 추가 로직 블록들의 인덱스가 되도록 구성될 수 있으며, 상기 순서는 부팅 프로세스의 완료 이후에 프리로딩될 상기 추가 로직 블록들을 나타내며, 그리고 상기 제어기는 또한, 부팅 프로세스의 완료 이후에 상기 추가 로직 블록들을 메모리 상에 프리로딩하도록 구성된다.
발명의 상세한 설명은 첨부한 도면들을 참조하여 서술되었다. 도면에서, 참조번호의 가장 왼편의 숫자는 그 참조번호가 처음 출현한 도면을 나타낸다. 상세한 설명 및 도면들의 서로 다른 상황들에서 동일한 참조번호를 이용하는 것은 유사하거나 혹은 동일한 아이템을 나타낸다.
도1은 프리로딩 기법을 가능케하는 예시적인 동작 환경을 나타낸다.
도2는 프리로딩을 위해 어플리케이션들을 선택하는 방법을 예시한다.
도3은 적어도 부분적으로 부팅 프로세스 동안에 어플리케이션들을 프리로딩하기 위한 방법을 예시한다.
도4는 예시적인 타임라인(timeline)을 도시한 것으로, 도3에 예시된 방법의 소정 동작들이 언제 수행될 수 있는지를 나타낸다.
도5는 본 발명에 따른 실시예들을 구현하기 위한 예시적인 하드-디스크-드라이브 환경을 나타낸다.
개관(Overview)
배경기술 부분에서 언급한 바와 같이, 컴퓨터를 부팅하고 그리고 컴퓨터 상에 어플리케이션을 로딩하는 종래의 기술들은 상당히 느릴 수 있다. 가령, 플래시 메모리 혹은 다른 솔리드 스테이트 드라이브(Solid State Drive : SSD)와 같은 비교적 새로운 메모리 기술이 이용되는 경우에도 느린 경우가 종종 존재한다. 본 명세서는 컴퓨터를 부팅하고 그리고 어플리케이션을 컴퓨터 상에 로딩하는데 걸리는 전체 시간을 감소시키는 기술 및 장치를 서술한다.
아래의 설명 부분에는, 예시적인 동작 환경이 설명된다. 상기 예시적인 동작 환경 및 다른 동작 환경에 적용될 수 있는 예시적인 방법들이 또한 설명된다. 이들 방법들 다음에는 도1의 구성요소들이 구현될 수 있는 예시적인 하드-디스크-드라이브 환경이 후술된다. 아래에 논의된 바와 같이, 단지 일례로서 상기 환경이 참조될 뿐이며, 따라서 아래에 설명된 구현예들은 예시적인 환경을 제한하는 것이 아니다.
예시적인 동작 환경
도1은 예시적인 동작 환경을 도시하는바, 이는 가령, 개인용 데스크탑 컴퓨터, 랩탑(laptop), 서버, 휴대용 컴퓨터 혹은 다른 컴퓨팅 디바이스와 같은 컴퓨터(102)를 포함한다. 컴퓨터(102)는 하나 이상의 프로세서(104), 컴퓨터-판독가능한 매체(106), 그리고 저장 시스템(108)을 포함한다.
프로세서(104)는 컴퓨터-판독가능한 매체(106)에서 도시된 것들을 포함하는 다양한 프로그램들을 실행할 수 있다. 컴퓨터-판독가능한 매체(106)는 임의접근메모리(RAM), 플래시 메모리, 혹은 하드 디스크 드라이브(들)과 같은 다양한 종류의 휘발성 및 비휘발성 매체를 포함할 수 있다. 이들 하드 디스크 드라이브들은 저장 시스템(108)에서 도시된 것들을 포함 혹은 제외할 수도 있다. 따라서, 저장 시스템(108)은 컴퓨터-판독가능한 매체(106)에 포함된 것들과 동일할 수도 있으며 혹은 별개의 것들이 될 수도 있다. 또한, 상기 저장 시스템(108)은 가령, 유선연결된 외장 하드 드라이브와 같이 동작하는 경우처럼 컴퓨터(102)와는 별개이지만 컴퓨터(102)에 의해 액세스가능할 수도 있으며 혹은 유선연결된 외장 하드 드라이브를 포함할 수도 있다. 도시된 컴퓨터-판독가능 매체(106)는 기본 입출력 시스템(BIOS)(110), 운영 시스템(OS)(112), 및 설정기(configurator)(114)를 포함한다.
BIOS(110)는 가령, 컴퓨터가 파워온, 재시작, 혹은 하이버네이션(hibernation)으로부터 깨어나는 경우 등과 같은 부팅-업 상황에서 실행되도록 구성된다. BIOS(110)는 운영 시스템(112)이 로딩되고, 실행되고 그리고 제어권한을 넘겨받도록 컴퓨터(102)를 준비시킨다. 이러한 준비과정은 가령, 시스템 디바이스(예컨대, 저장 시스템 108)를 식별하고, 테스트하고, 그리고 초기화하는 것과 같은 다양한 동작들을 포함한다. 운영 시스템(112)은 BIOS(110)의 부팅-업 동작 동안에 혹은 그 이후에 컴퓨터의 제어를 담당하도록 구성된다. 운영 시스템(112)은 프로세서(104)에 의한 실행 이전에 시스템 메모리(컴퓨터-판독가능 매체 106의 일부로서를 제외하고는 미도시됨) 상에 로딩된다.
저장 시스템(들)(108)은 제어기(116)를 이용하여 비휘발성 메모리 저장소를 제공하도록 구성되는바, 상기 제어기(116)는 캐시(118) 및 하드 디스크 드라이브(들)(120)에 액세스하거나 혹은 이들을 포함한다. 하드 디스크 드라이브(들)(120)은, 자기 디스크 혹은 광 디스크와 같은 회전 매체(spinning media)를 포함한다. 저장 시스템(들)(108)은 하나 혹은 가령, 간단한 디스크 드라이브들의 RAID-제어형(RAID-controlled) 그룹과 같은 다수의 하드 디스크 드라이브들을 포함할 수 있다. 만일, RAID-제어형 그룹(RAID-controlled group)인 경우에는, 제어기(116)는 상당한 분량의 캐시 메모리(예컨대, 기가비트 범위의 캐시 118)를 갖는 RAID(Redundant Array of Independent Disk) 제어기 이다. 회전 매체(122)는 컴퓨터-판독가능 매체(106), 어플리케이션(124) 및/또는 하나 이상의 로직-블록 인덱스(들)(126)에 포함된 임의의 요소를 저장할 수 있다. 비록, 도1에는 상기 환경(100)이 하드 디스크 드라이브(120) 및 회전 매체(122)를 포함하고 있지만, 다른 형태의 메모리가 이용될 수도 있다. 이들 다른 형태의 메모리는, 몇개만 예를 들면, 반도체 혹은 솔리드 스테이트 메모리, 자기 테이프, 혹은 광 디스크를 포함할 수 있다.
어플리케이션(124)은 서로 다른 많은 소프트웨어 프로그램들, 혹은 이들의 루틴들 및 함수들을 포함할 수 있는데, 이들은 상기 운영 시스템과 관련이 있을 수도 있으며, 혹은 없을 수도 있다. 비-운영-시스템(Non-operating-system : non-OS) 어플리케이션들은 몇가지 예를 들면, 워드 프로세싱 프로그램, 이메일 프로그램, 달력(calendar) 프로그램, 브라우징 프로그램, 게임 프로그램, 그래픽 프로그램 등을 포함한다. 운영 시스템에 관련된 어플리케이션들은 실행가능한(executable) 어플리케이션들, 애플릿(applet) 혹은 부팅업 동안에 운영 시스템에 의해서 이용가능한 다양한 메모리-기반의 리소스들을 포함할 수 있다. 어플리케이션(124)은 1 에서 n 까지의 소정 개수의 어플리케이션들을 포함하는 것으로 도시되었다.
캐시(118)는 다양한 어플리케이션들(124)의 로직 블록들(128)을 저장하도록 구성되는데, 이는 프로세서(104)가 상기 로직 블록들(128)에 관련된 어플리케이션들을 시스템 메모리 상에 빠르게 로딩할 수 있게 한다. 캐시(118)는 동적 임의 접근 메모리(DRAM) 혹은 PCIe(Peripheral Component Interconnect Express)와 같은 다양한 유형의 메모리 혹은 버퍼를 포함할 수 있다. 명확성을 위해서, 어플리케이션(124)(1)에 관련된 로직 블록들(128)은 (1, 1) ~ (1, i)로 라벨링되며, 그리고 어플리케이션(124)(n)에 관련된 로직 블록들(128)은 (n, 1) ~ (n, i)로 라벨링되는바, 여기서 각각의 어플리케이션(124)에 대한 로직 블록들의 개수는 1에서 i까지의 소정 개수이다.
제어기(116)는 컴퓨터(102)의 부팅-업 동안에 적어도 부분적으로 로직 블록들(128)을 프리로딩(preload)하도록 구성된다. 이러한 프리로딩은 운영 시스템이, 이들 로직 블록들을 갖는 어플리케이션을 빠르게 액세스 및 실행할 수 있게 한다. 제어기(116)는 캐시 제어기 카드 혹은 하드 디스크 드라이브 마이크로콘트롤러, 예컨대 펌웨어(firmware) 및 마이크로프로세서를 포함할 수 있다.
설정기(114)는 프리로딩을 위한 어플리케이션들을 결정하고(예컨대, 어플리케이션 124(1) ~ 124(n)), 이들 결정된 어플리케이션들에 관련된 로직 블록들을 결정하고(예컨대, 로직 블록 128(1,1) ~ (1, i) 및 로직 블록 128(n, 1) ~ (n, i)), 그리고 제어기(116)에 의한 사용을 위해서 이들 로직 블록들에게 식별자(예컨대, 로직 블록 인덱스 126)를 제공하도록 구성된다(이러한 관계는 도1에서 점선을 이용하여 도시되어 있다). 설정기(114)는 인터페이스(130) 및 프리로딩을 위해 결정된 어플리케이션들(124)을 포함한다(점선으로 표시됨). 인터페이스(130)는 가령, 컴퓨터(102)의 사용자에 의한 어플리케이션의 선택을 가능케함으로써, 어떤 어플리케이션들(124)이 프리로딩될 것인지를 판별함에 있어 설정기(114)를 도울 수 있다. 후술되는 바와 같이, 설정기(114)는 프리로딩을 위해 어플리케이션들 및/또는 다른 로직 블록들을 다른 방식으로(어플리케이션 사용의 이력(history)에 기초하는 것을 포함) 결정할 수도 있다.
상기 환경(100)의 이들 구성 요소들을 이용할 수 있는 방법들 및 기법들이 이하에서 설명될 것이다.
예시적인 방법
전술한 바와 같이, 컴퓨터를 부팅하고 그리고 어플리케이션들을 컴퓨터 상에 로딩하기 위한 통상적인 기법은 매우 느릴 수 있다. 본 명세서는 예를 들어, 컴퓨터를 부팅시키고 그리고 어플리케이션을 컴퓨터 상에 로딩하는데 걸리는 전체 시간을 감소시키는 기법들 및 장치들을 서술한다. 이들 기법들은 개별적으로 혹은 조합되어 이용될 수 있는 예시적인 방법들을 포함한다. 이들 방법들의 양상들은 하드웨어, 펌웨어, 소프트웨어 혹은 이들의 조합으로 구현될 수 있다. 상기 방법들은 하나 이상의 엔티티들에 의해 수행되는 동작들을 특정하며 그리고 동작을 수행하기 위한 도시된 순서대로 제한될 필요는 없으며, 상기 엔티티들은 동작들을 수행하기 위한 일례로서 주어진 것이다.
도2는 프리로딩을 위해 어플리케이션들을 결정하는 방법(200)을 도시한다. 단계 202에서, 캐시 메모리 상에 부분적으로 혹은 완전히 프리로딩되기 위한 어플리케이션들이 제공된다. 상기 환경(100)에 관련된 일례에서, 설정기(114)의 인터페이스(130)는 그래픽 사용자 인터페이스를 제공하는바, 그래픽 사용자 인터페이스는 가령, 워드 프로세싱, 이메일, 게임, 그래픽 어플리케이션 등과 같은 어플리케이션들(124(1) ~ 124(n))에 관한 텍스트 및 아이콘을 디스플레이한다. 이들 어플리케이션들은, 하드 디스크 드라이브(120)의 회전 매체(122) 상에 미리 로딩된 것들처럼 미리 결정될 수도 있으며, 혹은 컴퓨터에 의해서 다양한 로컬 및 원격 소스로부터 액세스되는 어플리케이션들의 단순한 집합이 될 수도 있다. 가령, 선택된 어플리케이션의 모든 로직 블록들을 보유할 정도로 캐시가 충분히 크지 않는 경우에서와 같이, 프리로딩이 부팅 동안에 완전하게 혹은 항상 수행될 필요는 없지만, 사용자는 프리로딩을 위해서 이들 어플리케이션들 중 임의의 하나 혹은 다수개를 선택할 수도 있다.
단계 204에서, 어플리케이션들 중 하나에 대한 선택이 수신된다. 여기서, 인터페이스(130)는, 어플리케이션들(124) 중 하나의 프리로딩이 요망된다는 소정의 표시를 사용자로부터 수신한다.
단계 206에서, 캐시 메모리 상에 프리로딩하기 위한 어플리케이션의 로직 블록들이 결정된다. 여기서, 설정기(114)는 가령, 실행가능한 부분(executable portion)과 같이, 선택된 어플리케이션(124)에 대해서 어떤 로직 블록들(128)이 적절한지를 결정한다. 또한, 설정기(114)는 이들 로직 블록들(128)을 위해 적절한 순서를 결정할 수도 있는데, 가령 다른 것들 상에 구축된 것들을 뒤에 배치하는 것 혹은 어떤 순서가 어플리케이션의 가장 빠른 실행을 가능케 할지에 기초하여 순서를 짜는 것 등이 그것이다.
방법(200)은 어플리케이션의 선택을 계속할 수도 있으며, 따라서 2 이상의 어플리케이션이 프리로딩되는 것을 허용한다. 이러한 내용은 단계 206에서 단계 202로 향하는 점선으로 도시된다. 선택된 각각의 어플리케이션에 대해서, 상기 방법(200)은 단계 206에서 로직 블록들을 결정한다. 로직 블록 결정에 후속하여, 방법(200)은 단계 208로 진행할 수도 있다. 단계 208에서, 방법(200)은 로직 블록들에 대한 식별자를 엔티티 혹은 구성요소에게 제공하는바, 이들 엔티티 혹은 구성요소는 예컨대, 부팅 동안에 부분적으로 혹은 완전하게 상기 로직 블록들을 프리로딩할 수 있다.
대안적으로 혹은 추가적으로, 설정기(114)는 프리로딩될 어플리케이션을 사용자 선택없이 선택할 수도 있다. 단계 210에서, 설정기(114)는 프리로딩될 어플리케이션을 결정할 수 있으며 그리고 어플리케이션 사용의 이력에 기초하여 혹은 가령, 컴퓨터(102), 어플리케이션(124), 혹은 OS(112)의 제조자에 의해 결정된 순서와 같은 기결정된 순서로 어플리케이션들의 프리로딩 순서를 결정할 수 있다.
단계 212에서, 방법(200)은 또한, 이들 로직 블록들에 대한 정렬된(ordered) 식별자들의 인덱스를 만들 수도 있다. 설정기(114)는, 사용자에 의한 선택의 순서에 기초하여, 혹은 컴퓨터(102)의 부팅업 프로세스가 완료되기 전에 캐시될 수 있는 어플리케이션들의 최대 개수 등과 같은 다른 고려 사항들에 기초하여, 인덱스(126)를 만들 수도 있다. 상기 순서는 사용자에 의해 설정될 수도 있으며 혹은 실행을 위해 사용자가 어떤 어플리케이션을 선택했는지에 관한 이력에 기초하여 및/또는 사용자가 언제 그런 선택을 했는지에 기초하여 설정될 수도 있다.
만일, 어플리케이션들이 프리로딩을 책임지는 엔티티(예컨대, 제어기 116)에 의해서 부팅 동안에 액세스가능한 어플리케이션들이 아니라면, 상기 어플리케이션들은 가령, 단계 206 혹은 단계 206 이후의 위치에 로딩될 수 있다. 따라서, 설정기(114)는 이들 어플리케이션들에 대한 선택 혹은 결정 이후에 어플리케이션들을 회전 매체(122) 상에 로딩할 수 있다. 반대로, 단계 202에서 설정기(114)는 제어기(116)에 의해 이미 액세스가능한 어플리케이션들(124)을 대신 제공할 수 있다. 이들 어플리케이션들은 제어기(116)에 의해 액세스될 수 있는데 왜나하면, 이들은 현재의 부팅업 이전에 회전 매체(122) 상에 로딩되었기 때문이다.
방법(200)의 수행에 부가하여 혹은 대안적으로, 설정기(114)는 부팅업 이후에 프리로딩될 수 있는 다른, 추가적인 어플리케이션들을 제공할 수도 있다. 이러한 경우에 있어서, 설정기(114)는 이들 추가적인 어플리케이션들에 대해서 방법(200)을 따른다. 이렇게 함으로써, 어플리케이션들은 부팅업에 이어서 프리로딩될 수 있는바, 이는 그 어플리케이션의 실행 프로세스를 빠르게 할 수 있다. 예를 들어, 주식 가격 등을 체크하기 위하여 사용자가 아침 9시에 브라우징 어플리케이션을 종종 오픈한다면, 설정기(114)는 사용자의 이러한 사용 이력을 배울 수 있다(혹은, 사용자에 의해 이러한 선택이 직접 가능할 수도 있다). 설정기(114)는 상기 사항을 로직 블록 인덱스(126)에 나타낼 수 있으며, 따라서 제어기(116)는 브라우징 어플리케이션에 관련된 로직 블록(128)을 아침 8시 55분에 프리로딩할 것이다.
도3은 부팅업 프로세스 동안에 어플리케이션들을 적어도 부분적으로 프리로딩하기 위한 방법(300)을 도시한다. 단계 302에서, 하나 이상의 어플리케이션에 관련된 로직 블록들의 식별자들(예컨대, 인덱스)이 수신된다. 전술한 환경(100)부분에서 언급되었으며 그리고 방법(200)과 관련하여 서술된 일례에서 계속되는 바와 같이, 제어기(116)는 로직 블록 인덱스(126)를 수신하며, 이는 다양한 어플리케이션들(124)에 관련된 로직 블록들(128)을 식별한다.
단계 304에서, 수신된 인덱스는 부팅업 프로세스 동안에 액세스가능한 메모리 상에 저장된다. 상기 메모리는 인덱스를 유지하지만, 가령, BIOS 및/또는 OS 부팅 동안과 같은 부팅업 동안에 이를 이용가능하게 한다. 여기서, 인덱스(126)는 회전 매체(122)에 저장되며 그리고 BIOS 및 OS 부팅업 동안에 제어기(116)에 의해서 액세스가능하다.
단계 306에서, 부팅업 프로세스의 개시에 응답하여 인덱스가 액세스된다. 여기서 제어기(116)는, 파워 온에 의해서 혹은 BIOS 로부터 직접 표시를 수신함에 의해서 부팅업 프로세스가 시작됨을 알리는 표시를 수신한다. 따라서, 제어기(116)는 컴퓨터(102)의 부팅업 프로세싱이 완료됨이 없이도 하드 디스크 드라이브(120) 상의 메모리의 일부에 액세스 할 수 있다. BIOS, OS 혹은 부팅업 프로세스의 다른 부분이 부팅되고 있는 동안, 제어기(116)는 인덱스(126)에 액세스할 수 있으며 그리고 상기 방법(300)의 나머지 부분으로 이동할 수도 있다. 컴퓨터의 소정의 앞선 사용 동안과 같이, 부팅업 프로세스 개시 이전에 단계 302 및 304가 수행됨을 유의해야 한다.
단계 308에서, 로직 블록들이 저장되어 있는 하드 드라이브로부터 로직 블록들이 판독된다. 전술한 바와 같이, 인덱스는 판독될 로직 블록들을 식별하며 뿐만 아니라 이들 로직 블록들의 순서도 식별한다. 상기 일례와 마찬가지로, 제어기(116)는 인덱스(126)에 주어진 순서대로 로직 블록들(128)을 판독한다.
단계 310에서, 이들 로직 블록들이 적어도 부분적으로 부팅업 프로세스 동안에 캐시 메모리 상에 프리로딩되는바, 캐시 메모리는 부팅업 프로세스가 수행되는 컴퓨터에 의해 액세스 가능하다. 방법(300)의 소정 동작들이 반복적으로 수행되도록, 판독되는 각각의 단일 로직 블록에 대해서 단계 310이 수행될 수 있다. 여기서, 제어기(116)는 인덱스(126)에 주어진 순서대로 각각의 로직 블록(128)을 판독하며, 이후 그 로직 블록을 캐시(118)에 저장한다. 캐시(118)는 컴퓨터(102)에 의해 액세스가능한바, 이는 제어기(116)를 통해 간접적으로 액세스되거나 혹은 컴퓨터(102)의 다른 구성요소를 통해 직접적으로 액세스되는 것을 포함한다.
일례로서, 2개의 어플리케이션들(n=1, n=2)이 프리로딩될 예정이다. 제 1 어플리케이션은 4개의 로직 블록들(i=4)을 가지며, 제 2 어플리케이션은 6개의 로직 블록들(i=6)을 가지며, 그리고 인덱스(126)는 다음의 순서(1-1, 1-2, 1-3, 1-4, 2-1, 2-2, 2-3, 2-4, 2-5, 2-6)로 로직 블록들을 배열한다고 가정하자.
도4를 참조하면, 도4는 방법(300)의 소정 동작들이 언제 수행되는지를 나타낸 예시적인 타임라인(timeline)(400)이다. 먼저, 파워 명령 혹은 부팅 명령이 402에서 수신된다. 이에 응답하여, BIOS(110)가 부팅되며 그리고 OS(112)를 위해 컴퓨터(102)를 준비시키기 위한 체크 및 다른 작업들을 시작하는바, 이는 시간 기간(404)으로 도시된다. 또한, 파워업 혹은 부팅업 명령에 응답하여, 시간 기간(406) 동안 제어기(116)는 적어도 하나의 어플리케이션(124)에 관련된 로직 블록(128)을 판독하고 그리고 캐시(118) 상에 로딩한다. 이것이 수행되는 동안, OS(112)가 시간 기간(408) 동안 부팅된다. 다음과 같은 점을 유의해야 하는바, 부팅업 프로세스가 완료되고 그리고 OS(112)가 컴퓨터(102)의 제어권을 갖는 때에, OS(112)는 하나 이상의 어플리케이션들(124)에 대한 로직 블록들을 시스템 메모리에 빠르게 로딩할 수 있다. 일단 로직 블록 혹은 로직 블록들이 시스템 메모리에 로딩되면, OS(112)는 관련 어플리케이션(들)(124)의 실행을 시작할 수 있다. 이는 시간 기간(410)으로 도시된다. 시간 기간(406) 동안 로직 블록들을 판독 및 로딩하는 것은, 도3의 308 및 310 이후에 제어기(116)에 의해서 수행될 수 있다.
또한, 선택적 시간 기간(412 및 414)을 참조하자. 시간 기간(412) 동안, 제어기(116)는 다른 어플리케이션들을 위한 다른 로직 블록들을 로딩할 수 있는바, 이러한 다른 어플리케이션들로는, 부팅업 동안에 캐시에 여유 공간이 확보되지 않은 어플리케이션들 혹은 가령, 특정 시간 혹은 순서(예컨대, 아침 8시 55분에서의 주식시세표시 브라우저(stock ticker browser))에서 어플리케이션을 실행하기 위해 로직 블록들을 로딩하는 시간 등과 같은 몇몇 다른 표식에 기초한 어플리케이션 등을 들 수 있다. 관련 어플리케이션의 실행을 위해서 로직 블록들이 컴퓨터(102)에 의해 시스템 메모리 상에 로딩된 이후, 상기 로직 블록들은 제어기(116)에 의해 캐시(118)로부터 삭제될 수 있는데, 이는 다른 로직 블록들을 로딩하기 위한 여유공간을 확보해 준다.
이러한 방법들은, 저렴한 메모리 리소스들의 활용을 가능케 하는바, 이는 하드 디스크 드라이브가 SSD 혹은 플래시 메모리에 비하여 종종 저렴하기 때문이다. 또한, 이들 방법들은 어플리케이션들의 보다 빠른 실행을 가능하게 한다.
하드 드라이브 일례
도5는 예시적인 하드 디스크 드라이브(HDD)(500)를 도시한 것으로, 상기 하드 디스크 드라이브는 본 명세서에 서술된 다양한 기술들을 구현할 수 있다. HDD(500)는 도면부호 502로 통상적으로 표시된 신호처리 및/또는 제어 회로, 저장 매체(504), 그리고 메모리(506)를 포함한다. 단지 일례로서, 신호처리 및/또는 제어회로는 제어기(116)를 포함할 수 있으며, 저장 매체(504)는 회전 매체(122)를 포함할 수 있으며, 그리고 메모리(506)는 임의접근메모리(RAM), 플래시 메모리와 같은 저-지연 비휘발성 메모리, 판독전용메모리(ROM) 및/또는 가령, 캐시(118)와 같은 다른 적절한 전자적인 데이터 저장소가 될 수 있거나 혹은 이들을 포함할 수 있다. 제어기(116), 회전 매체(122), 그리고 캐시(118)는 또한 도1에 도시되어 있다.
다양한 구현예에서, 신호처리 및/또는 제어회로(502)는 데이터를 판독 및 프리로딩하고, 데이터를 처리하고, 데이터 계산을 수행하고, 및/또는 데이터를 포맷하도록 구현될 수 있다. 데이터는 적어도 저장 매체(504) 및/또는 메모리(506)로 출력되거나 및/또는 이들로부터 수신될 수 있다. 또한, HDD(500)는 하나 이상의 유선 혹은 무선 통신 링크(508)를 통하여 호스트 디바이스와 통신할 수 있다. 호스트 디바이스는 데스크탑 혹은 서버 컴퓨터, 모바일 컴퓨팅 디바이스, 휴대 정보 단말기(Personal Digital Assistant : PDA), 휴대폰, 미디어 플레이어 혹은 MP3 플레이어, 및/또는 다른 디바이스(예컨대, 도1의 컴퓨터 102)가 될 수 있다.
일 구현예에서, 신호처리 및/또는 제어회로(502)는 HDD(500)를 구동하는 시스템-온-칩(SoC) 통합 전자회로, 마이크로프로세서, 메모리, 입-출력(I/O) 로직 제어기, 통신 인터페이스 및 구성요소들, 다른 하드웨어, 및/또는 소프트웨어가 될 수 있다. 상기 SoC는 또한, 구성요소들 간의 데이터 통신을 위해서 SoC의 다양한 구성요소들을 결합시키는 통합 데이터 버스(미도시)를 포함할 수 있다.
전술한 하나 이상의 방법들은 입력 데이터를 조작하고 출력을 생성함에 의해서 펑션들을 수행하는 컴퓨터 프로그램을 실행하는 하나의 이상의 프로그램가능한 프로세서에 의해서 수행될 수 있다. 통상적으로, 상기 기술들은 전부다 하드웨어인 실시 형태, 전부다 소프트웨어인 실시 형태 혹은 하드웨어 및 소프트웨어 구성요소 둘다를 포함하는 실시 형태를 취할 수도 있다. 일 구현예에서, 상기 방법들은 소프트웨어로 구현되는바, 이러한 소프트웨어는 펌웨어, 상주(resident) 소프트웨어, 마이크로코드 등등을 포함하지만, 이에 한정되는 것은 아니다.
또한, 상기 방법은 컴퓨터 혹은 임의의 명령 실행 시스템에 의해 혹은 이와 관련하여 이용되기 위한 프로그램 코드를 제공하는 컴퓨터-이용가능 혹은 컴퓨터-판독가능 매체로부터 액세스가능한 컴퓨터 프로그램 제품의 형태를 취할 수도 있다. 이러한 설명을 위한 목적으로, 상기 컴퓨터-이용가능 혹은 컴퓨터-판독가능 매체는, 명령 실행 시스템, 장치 혹은 디바이스에 의해 혹은 이와 관련하여 사용되기 위하여, 프로그램을 내포, 저장, 통신, 전달 혹은 운반할 수 있는 임의의 장치가 될 수 있다. 상기 매체는 전자 매체, 자기 매체, 광 매체, 전자기 매체, 적외선 매체 혹은 반도체 시스템(혹은 장치 혹은 디바이스), 혹은 전달 매체가 될 수 있다. 컴퓨터-판독가능한 매체의 일례는, 반도체 혹은 솔리드 스테이트 메모리, 자기 테이프, 착탈가능한 컴퓨터 디스켓, 임의접근메모리(RAM), 판독전용메모리(ROM), 자기 디스크(rigid magnetic disk) 및 광 디스크 등을 포함한다. 광 디스크의 일례들은 CD-ROM(Compact Disk-ROM), CD-R/W(Compact Disk-Read/Write) 및 DVD 등을 포함한다.
비록, 구조화된 피처 및/또는 방법론적인 동작에 특화된 표현으로 본 발명의 내용이 서술되어 있긴 하지만, 첨부된 특허청구범위에 정의된 내용이, 앞서 서술된 특정 피처들 혹은 동작들(이들 동작들이 수행되는 순서를 포함)만으로 제한될 필요는 없음을 유의해야 한다.

Claims (20)

  1. 어플리케이션들을 제 1 메모리로 프리로딩하는 방법으로서,
    운영 시스템(Operating System: OS)이 제 2 메모리에 로딩되고 있는 동안에 상기 제 1 메모리에 적어도 부분적으로 프리로딩(preload)하기 위한 하나 이상의 어플리케이션들을 메모리 설정기에 의해서 제공하는 단계;
    상기 메모리 설정기에 의해서 상기 어플리케이션들 중 하나에 대한 선택을 수신하는 단계; 및
    상기 OS가 상기 제 2 메모리로부터 로딩 및 실행되는 경우 선택된 어플리케이션을 상기 OS가 상기 제 1 메모리로부터 로딩할 수 있도록, 상기 OS가 상기 제 2 메모리에 로딩되고 있는 동안에 상기 선택된 어플리케이션을 메모리 제어기에 의해서 상기 제 1 메모리에 적어도 부분적으로 프리로딩하는 단계
    를 포함하는 방법.
  2. 제1항에 있어서,
    상기 어플리케이션들은 비-운영-시스템(Non-operating-system : non-OS) 어플리케이션들이며, 상기 비-운영-시스템 어플리케이션들은 기본 입출력 시스템(BIOS) 혹은 상기 운영 시스템(OS)에 관련되지 않는 것을 특징으로 하는 방법.
  3. 제1항에 있어서,
    상기 선택된 어플리케이션을 상기 제 1 메모리에 프리로딩하기 전에, 프리로딩되는 상기 어플리케이션의 로직 블록들을 상기 메모리 설정기에 의해서 결정하는 단계를 더 포함하며,
    어플리케이션을 프리로딩하는 상기 단계는, 상기 선택된 어플리케이션의 상기 로직 블록들을 상기 제 1 메모리에 프리로딩하는 것을 특징으로 하는 방법.
  4. 제3항에 있어서,
    선택된 다른 어플리케이션들을 제공하기 위하여 상기 어플리케이션들 중 하나에 대한 선택을 수신하는 동작과 그리고 로직 블록들을 결정하는 동작을 상기 메모리 설정기에 의해서 반복하는 단계를 더 포함하며,
    상기 로직 블록들은 상기 선택된 다른 어플리케이션들의 로직 블록들인 것을 특징으로 하는 방법.
  5. 제4항에 있어서,
    상기 선택된 어플리케이션 및 하나 이상의 상기 선택된 다른 어플리케이션들에 관련된 로직 블록들이 프리로딩되는 순서에 대한 선택을 상기 메모리 설정기에 의해서 가능케 하는 단계와;
    선택된 순서를 상기 메모리 설정기에 의해서 수신하는 단계와; 그리고
    상기 선택된 순서대로 프리로딩이 유효해지도록 상기 선택된 순서의 로직 블록들에 대한 식별자를 상기 메모리 설정기에 의해서 제공하는 단계
    를 더 포함하는 것을 특징으로 하는 방법.
  6. 제4항에 있어서,
    상기 로직 블록들의 인덱스를 상기 메모리 설정기에 의해서 제공하는 단계를 더 포함하며,
    상기 인덱스는 상기 로직 블록들이 상기 제 1 메모리에 프리로딩되는 순서를 나타내며, 상기 순서는 상기 선택된 어플리케이션 및 상기 선택된 다른 어플리케이션들의 사용 이력(history of use)에 기초하는 것을 특징으로 하는 방법.
  7. 제1항에 있어서,
    하나 이상의 어플리케이션들을 제공하는 상기 단계는,
    상기 하나 이상의 어플리케이션들 각각에 관련된 선택가능한 텍스트 혹은 아아이콘을 갖는 그래픽 사용자 인터페이스를 표시하는 것을 특징으로 하는 방법.
  8. 제1항에 있어서,
    하나 이상의 어플리케이션들은, 워드-프로세싱 프로그램, 브라우징 프로그램, 이메일 프로그램, 혹은 그래픽 프로그램 중 하나 이상을 포함하는 것을 특징으로 하는 방법.
  9. 제1항에 있어서,
    상기 하나 이상의 어플리케이션들은 하나 이상의 하드 디스크 드라이브 상에 이전에 로딩된 어플리케이션들이며, 상기 하나 이상의 어플리케이션들은 상기 OS가 상기 제 2 메모리에 로딩되는 동안 상기 하나 이상의 하드 디스크 드라이브로부터 적어도 부분적으로 판독될 수 있는 것을 특징으로 하는 방법.
  10. 제1항에 있어서,
    상기 어플리케이션들 중 하나에 대한 선택을 수신하는 것에 응답하여, 상기 선택된 어플리케이션을 하나 이상의 하드 디스크 드라이브 상에 로딩하는 단계를 더 포함하며,
    상기 선택된 어플리케이션은 상기 OS가 상기 제 2 메모리에 로딩되는 동안 상기 하나 이상의 하드 디스크 드라이브로부터 적어도 부분적으로 판독될 수 있는 것을 특징으로 하는 방법.
  11. 제1항에 있어서,
    상기 프리로딩하는 단계는,
    기본 입출력 시스템(BIOS)이 상기 제 2 메모리에 로딩되거나 혹은 상기 제 2 메모리로부터 실행되는 동안에 상기 선택된 어플리케이션을 상기 제 1 메모리에 적어도 부분적으로 프리로딩하는 단계를 포함하는 것을 특징으로 하는 방법.
  12. 제어기로서, 상기 제어기는,
    컴퓨터의 부팅 프로세스의 개시에 응답하여, 제 1 하드 디스크 드라이브 상에 저장된 하나 이상의 어플리케이션들을 액세스하며;
    상기 제 1 하드 디스크 드라이브로부터 상기 하나 이상의 어플리케이션들을 판독하며; 그리고
    상기 컴퓨터가 상기 부팅 프로세스의 완료시에 제 1 메모리로부터 상기 하나 이상의 어플리케이션들을 로딩 및 실행할 수 있도록, 상기 부팅 프로세스의 일부로서 상기 컴퓨터의 운영 시스템(OS)이 제 2 하드 디스크 드라이브로부터 제 2 메모리에 로딩되는 동안 상기 제 1 하드 디스크 드라이브로부터 상기 제 1 메모리에 상기 하나 이상의 어플리케이션들을 적어도 부분적으로 프리로딩하도록 된 것을 특징으로 하는 제어기.
  13. 제12항에 있어서,
    상기 하나 이상의 어플리케이션들을 액세스하는 것은, 상기 하나 이상의 어플리케이션들에 관련된 로직 블록들의 인덱스를 액세스하는 것이며,
    상기 로직 블록들은 상기 제 1 하드 디스크 드라이브 상에 저장되며 그리고 상기 인덱스는 상기 로직 블록들을 식별하며,
    상기 제 1 하드 디스크 드라이브로부터 상기 어플리케이션들을 판독하는 것은, 상기 인덱스에서 식별된 상기 로직 블록들을 상기 제 1 하드 디스크 드라이브로부터 판독하는 것이며, 그리고
    상기 어플리케이션들을 프리로딩하는 것은, 상기 로직 블록들을 상기 제 1 메모리에 프리로딩하는 것임을 특징으로 하는 제어기.
  14. 제13항에 있어서,
    상기 제어기는 또한, 상기 부팅 프로세스의 개시 이전에 상기 인덱스를 수신하며 그리고 상기 인덱스를 상기 제 1 메모리에 저장하도록 된 것을 특징으로 하는 제어기.
  15. 제13항에 있어서,
    상기 하나 이상의 어플리케이션들에 관련된 로직 블록들의 인덱스는, 복수개의 어플리케이션들에 관련된 로직 블록들을 포함하는 것을 특징으로 하는 제어기.
  16. 제13항에 있어서,
    상기 로직 블록들을 프리로딩하는 것은,
    상기 부팅 프로세스의 완료 이전에 상기 하나 이상의 어플리케이션들 중 특정한 한 어플리케이션에 관련된 로직 블록들을 프리로딩하는 것임을 특징으로 하는 제어기.
  17. 제13항에 있어서,
    상기 로직 블록들을 프리로딩하는 것은,
    기본 입출력 시스템(BIOS)의 로딩 동안에 이와 병행하여 상기 제 1 메모리 에 상기 로직 블록들을 프리로딩하는 것임을 특징으로 하는 제어기.
  18. 제13항에 있어서,
    상기 인덱스는 상기 로직 블록들이 프리로딩되는 순서를 나타내며 그리고 상기 프리로딩은 상기 순서대로 수행되는 것을 특징으로 하는 제어기.
  19. 제13항에 있어서,
    상기 인덱스는 또한, 상기 제 1 하드 디스크 드라이브 상에 저장된 하나 이상의 추가 어플리케이션들에 관련된 추가 로직 블록들의 인덱스이며,
    상기 인덱스는 상기 부팅 프로세스의 완료 이후에 프리로딩될 상기 추가 로직 블록들을 나타내며, 그리고
    상기 제어기는 또한, 상기 부팅 프로세스의 완료 이후에 상기 추가 로직 블록들을 상기 제 1 메모리 상에 프리로딩하도록 된 것을 특징으로 하는 제어기.
  20. 제12항에 있어서,
    상기 하나 이상의 어플리케이션들은, 비-운영-시스템(non-OS) 어플리케이션들이며, 상기 비-운영-시스템(non-OS) 어플리케이션들은 기본 입출력 시스템(BIOS) 혹은 상기 운영 시스템(OS)에 관련되지 않는 것을 특징으로 하는 제어기.
KR1020117008700A 2008-09-18 2009-09-15 적어도 부분적으로 부팅 동안에 어플리케이션들을 메모리에 프리로딩하는 방법 KR101595043B1 (ko)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US9814108P 2008-09-18 2008-09-18
US61/098,141 2008-09-18
US12/559,987 2009-09-15
US12/559,987 US8296555B2 (en) 2008-09-18 2009-09-15 Preloader

Publications (2)

Publication Number Publication Date
KR20110084403A KR20110084403A (ko) 2011-07-22
KR101595043B1 true KR101595043B1 (ko) 2016-02-17

Family

ID=41203813

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020117008700A KR101595043B1 (ko) 2008-09-18 2009-09-15 적어도 부분적으로 부팅 동안에 어플리케이션들을 메모리에 프리로딩하는 방법

Country Status (5)

Country Link
US (3) US8296555B2 (ko)
JP (1) JP5489182B2 (ko)
KR (1) KR101595043B1 (ko)
CN (1) CN102160035A (ko)
WO (1) WO2010033497A1 (ko)

Families Citing this family (60)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8095816B1 (en) 2007-04-05 2012-01-10 Marvell International Ltd. Processor management using a buffer
US8443187B1 (en) 2007-04-12 2013-05-14 Marvell International Ltd. Authentication of computing devices in server based on mapping between port identifier and MAC address that allows actions-per-group instead of just actions-per-single device
US8321706B2 (en) 2007-07-23 2012-11-27 Marvell World Trade Ltd. USB self-idling techniques
US8171309B1 (en) 2007-11-16 2012-05-01 Marvell International Ltd. Secure memory controlled access
KR101383573B1 (ko) * 2008-08-01 2014-04-09 삼성전자주식회사 화상형성장치 및 그의 웹 정보 제공방법
US8510560B1 (en) 2008-08-20 2013-08-13 Marvell International Ltd. Efficient key establishment for wireless networks
WO2010033497A1 (en) 2008-09-18 2010-03-25 Marvell World Trade Ltd. Preloading applications onto memory at least partially during boot up
CN102272734B (zh) * 2009-01-05 2014-09-10 马维尔国际贸易有限公司 使用非易失性存储器设备用于休眠或挂起的方法和系统
CN101866623A (zh) * 2010-03-26 2010-10-20 鸿富锦精密工业(深圳)有限公司 可避免开机等待的电泳显示装置及方法
US9304867B2 (en) 2010-09-28 2016-04-05 Amazon Technologies, Inc. System and method for providing flexible storage and retrieval of snapshot archives
US20120167122A1 (en) * 2010-12-27 2012-06-28 Nokia Corporation Method and apparatus for pre-initializing application rendering processes
TW201232400A (en) * 2011-01-20 2012-08-01 Acer Inc Method for pre-loading frequently launched application and electronic device using the same
JP2012216108A (ja) * 2011-04-01 2012-11-08 Nec Corp 情報処理装置およびプログラム転送方法
US9141394B2 (en) 2011-07-29 2015-09-22 Marvell World Trade Ltd. Switching between processor cache and random-access memory
US9436629B2 (en) 2011-11-15 2016-09-06 Marvell World Trade Ltd. Dynamic boot image streaming
WO2013108132A2 (en) 2012-01-20 2013-07-25 Marvell World Trade Ltd. Cache system using solid state drive
US8531612B1 (en) * 2012-03-13 2013-09-10 Sony Corporation Television start speed enhancement
US9110600B1 (en) 2012-03-19 2015-08-18 Amazon Technologies, Inc. Triggered data shelving to a different storage system and storage deallocation
CN102707966B (zh) * 2012-04-12 2014-09-03 腾讯科技(深圳)有限公司 加速操作系统启动的方法及装置、预取信息生成方法及装置和终端
US9823840B1 (en) 2012-05-07 2017-11-21 Amazon Technologies, Inc. Data volume placement techniques
US9503517B1 (en) 2012-05-07 2016-11-22 Amazon Technologies, Inc. Data volume placement techniques
US9804993B1 (en) 2012-05-07 2017-10-31 Amazon Technologies, Inc. Data volume placement techniques
US9246996B1 (en) 2012-05-07 2016-01-26 Amazon Technologies, Inc. Data volume placement techniques
US11379354B1 (en) 2012-05-07 2022-07-05 Amazon Technologies, Inc. Data volume placement techniques
JP6406797B2 (ja) * 2012-12-14 2018-10-17 キヤノン株式会社 省電力モードで動作可能な情報処理装置、およびその制御方法
US9575768B1 (en) 2013-01-08 2017-02-21 Marvell International Ltd. Loading boot code from multiple memories
CN103970675A (zh) 2013-01-29 2014-08-06 Lsi公司 用于使引导操作系统加速的快速引导列表
US9361122B2 (en) * 2013-02-08 2016-06-07 Htc Corporation Method and electronic device of file system prefetching and boot-up method
US9736801B1 (en) 2013-05-20 2017-08-15 Marvell International Ltd. Methods and apparatus for synchronizing devices in a wireless data communication system
US9521635B1 (en) 2013-05-21 2016-12-13 Marvell International Ltd. Methods and apparatus for selecting a device to perform shared functionality in a deterministic and fair manner in a wireless data communication system
EP3028145A1 (en) 2013-07-31 2016-06-08 Marvell World Trade Ltd. Parallelizing boot operations
US9563385B1 (en) 2013-09-16 2017-02-07 Amazon Technologies, Inc. Profile-guided data preloading for virtualized resources
CN103473102B (zh) * 2013-09-18 2016-12-07 中标软件有限公司 多操作系统的系统启动引导方法和工具
US10250673B1 (en) 2014-03-14 2019-04-02 Amazon Technologies, Inc. Storage workload management using redirected messages
US10715460B2 (en) 2015-03-09 2020-07-14 Amazon Technologies, Inc. Opportunistic resource migration to optimize resource placement
US10095589B2 (en) * 2015-06-09 2018-10-09 Acronis International Gmbh System and method for optimization of operating system restore
US11681531B2 (en) 2015-09-19 2023-06-20 Microsoft Technology Licensing, Llc Generation and use of memory access instruction order encodings
US10180840B2 (en) * 2015-09-19 2019-01-15 Microsoft Technology Licensing, Llc Dynamic generation of null instructions
KR102401772B1 (ko) * 2015-10-02 2022-05-25 삼성전자주식회사 전자 장치에서 어플리케이션 실행 장치 및 방법
US9891982B2 (en) 2015-12-04 2018-02-13 Microsoft Technology Licensing, Llc Error handling during onboarding of a service
US9798583B2 (en) 2015-12-04 2017-10-24 Microsoft Technology Licensing, Llc Onboarding of a service based on automated supervision of task completion
EP3427435A1 (en) 2016-03-08 2019-01-16 Marvell World Trade Ltd. Methods and apparatus for secure device authentication
US10289421B2 (en) * 2017-02-17 2019-05-14 Dell Products, L.P. Booting of IHS from SSD using PCIe
US10552206B2 (en) 2017-05-23 2020-02-04 Ge Aviation Systems Llc Contextual awareness associated with resources
CN109947497B (zh) * 2017-12-20 2021-06-08 Oppo广东移动通信有限公司 应用程序预加载方法、装置、存储介质及移动终端
US10452296B1 (en) 2018-03-23 2019-10-22 Amazon Technologies, Inc. Accelerated volumes
US10459655B1 (en) 2018-04-30 2019-10-29 Amazon Technologies, Inc. Rapid volume backup generation from distributed replica
US10776173B1 (en) 2018-04-30 2020-09-15 Amazon Technologies, Inc. Local placement of resource instances in a distributed system
US11343314B1 (en) 2018-04-30 2022-05-24 Amazon Technologies, Inc. Stream-based logging for distributed storage systems
US11023157B2 (en) 2018-04-30 2021-06-01 Amazon Technologies, Inc. Intermediary duplication to facilitate copy requests in distributed storage systems
US10768835B1 (en) 2018-06-27 2020-09-08 Amazon Technologies, Inc. Opportunistic storage service
US11121981B1 (en) 2018-06-29 2021-09-14 Amazon Technologies, Inc. Optimistically granting permission to host computing resources
US10956442B1 (en) 2018-07-30 2021-03-23 Amazon Technologies, Inc. Dedicated source volume pool for accelerated creation of block data volumes from object data snapshots
US10931750B1 (en) 2018-07-30 2021-02-23 Amazon Technologies, Inc. Selection from dedicated source volume pool for accelerated creation of block data volumes
US11068192B1 (en) 2019-03-26 2021-07-20 Amazon Technologies, Inc. Utilizing mutiple snapshot sources for creating new copy of volume in a networked environment wherein additional snapshot sources are reserved with lower performance levels than a primary snapshot source
US10983719B1 (en) 2019-03-28 2021-04-20 Amazon Technologies, Inc. Replica pools to support volume replication in distributed storage systems
EP3731085A1 (en) * 2019-04-25 2020-10-28 XRSpace CO., LTD. Mobile device with a shared data structure and method for operating the same
KR102292211B1 (ko) * 2019-12-10 2021-08-24 엘지전자 주식회사 전자기기
US11262918B1 (en) 2020-09-30 2022-03-01 Amazon Technologies, Inc. Data storage system with uneven drive wear reduction
US11526286B1 (en) 2021-06-29 2022-12-13 Amazon Technologies, Inc. Adaptive snapshot chunk sizing for snapshots of block storage volumes

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020069354A1 (en) * 2000-02-03 2002-06-06 Fallon James J. Systems and methods for accelerated loading of operating systems and application programs
JP2004005254A (ja) 2002-05-31 2004-01-08 Casio Comput Co Ltd 情報処理装置及びプログラム
JP2006189944A (ja) 2004-12-28 2006-07-20 Toshiba Corp アプリケーション実行方法およびアプリケーション実行プログラム
US20070011445A1 (en) * 2005-07-11 2007-01-11 Lenovo System and method for loading programs from HDD independent of operating system

Family Cites Families (227)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5155833A (en) 1987-05-11 1992-10-13 At&T Bell Laboratories Multi-purpose cache memory selectively addressable either as a boot memory or as a cache memory
DE69128565T2 (de) 1990-06-25 1998-06-04 Nec Corp Mikrorechner ausgestattet mit einer DMA-Steuerung
CA2065979C (en) 1991-06-10 1999-01-19 Stephen Patrick Thompson Mode dependent minimum fifo fill level controls processor access to video memory
GB9215619D0 (en) 1992-07-23 1992-09-09 Ncr Int Inc Method and apparatus for transmitting digital data packets on a wireless channel
GB2277816B (en) 1993-05-04 1997-09-03 Motorola Inc Data communication system
US5479514A (en) 1994-02-23 1995-12-26 International Business Machines Corporation Method and apparatus for encrypted communication in data networks
US5481733A (en) 1994-06-15 1996-01-02 Panasonic Technologies, Inc. Method for managing the power distributed to a disk drive in a laptop computer
US5469506A (en) 1994-06-27 1995-11-21 Pitney Bowes Inc. Apparatus for verifying an identification card and identifying a person by means of a biometric characteristic
US5467398A (en) 1994-07-05 1995-11-14 Motorola, Inc. Method of messaging in a communication system
US5560023A (en) 1994-09-07 1996-09-24 International Business Machines Corporation Automatic backup system for advanced power management
JPH0876872A (ja) 1994-09-07 1996-03-22 Canon Inc コンピュータ装置
US5771356A (en) 1995-01-04 1998-06-23 Cirrus Logic, Inc. Apparatus for controlling FIFO buffer data transfer by monitoring bus status and FIFO buffer thresholds
US5802278A (en) 1995-05-10 1998-09-01 3Com Corporation Bridge/router architecture for high performance scalable networking
US5673416A (en) 1995-06-07 1997-09-30 Seiko Epson Corporation Memory request and control unit including a mechanism for issuing and removing requests for memory access
JPH0944418A (ja) 1995-07-21 1997-02-14 Internatl Business Mach Corp <Ibm> 情報処理システム及びその制御方法
US6006018A (en) 1995-10-03 1999-12-21 International Business Machines Corporation Distributed file system translator with extended attribute support
US5884099A (en) 1996-05-31 1999-03-16 Sun Microsystems, Inc. Control circuit for a buffer memory to transfer data between systems operating at different speeds
WO1998001975A1 (fr) 1996-07-05 1998-01-15 Seiko Epson Corporation Procede, appareil et systeme de communication sans fil et support d'informations
JPH10320302A (ja) 1997-05-22 1998-12-04 Hitachi Ltd 情報処理装置
US6678790B1 (en) 1997-06-09 2004-01-13 Hewlett-Packard Development Company, L.P. Microprocessor chip having a memory that is reconfigurable to function as on-chip main memory or an on-chip cache
US5953020A (en) 1997-06-30 1999-09-14 Ati Technologies, Inc. Display FIFO memory management system
US6058188A (en) 1997-07-24 2000-05-02 International Business Machines Corporation Method and apparatus for interoperable validation of key recovery information in a cryptographic system
US5991519A (en) 1997-10-03 1999-11-23 Atmel Corporation Secure memory having multiple security levels
US6564318B1 (en) * 1997-12-10 2003-05-13 Phoenix Technologies Ltd. Method and apparatus for execution of an application during computer pre-boot operation and post-boot under normal OS control
US6216230B1 (en) 1998-02-11 2001-04-10 Durango Corporation Notebook security system (NBS)
US6092108A (en) 1998-03-19 2000-07-18 Diplacido; Bruno Dynamic threshold packet filtering of application processor frames
JP3713141B2 (ja) 1998-05-19 2005-11-02 インターナショナル・ビジネス・マシーンズ・コーポレーション プログラムの不正実行防止方法
US6816968B1 (en) 1998-07-10 2004-11-09 Silverbrook Research Pty Ltd Consumable authentication protocol and system
JP2000047968A (ja) 1998-07-31 2000-02-18 Sony Computer Entertainment Inc 情報処理装置及び方法、情報処理システム、データ受信端末及び方法、並びにデータ放送システム
US6226618B1 (en) 1998-08-13 2001-05-01 International Business Machines Corporation Electronic content delivery system
US6473861B1 (en) 1998-12-03 2002-10-29 Joseph Forte Magnetic optical encryption/decryption disk drive arrangement
US6463509B1 (en) * 1999-01-26 2002-10-08 Motive Power, Inc. Preloading data in a cache memory according to user-specified preload criteria
US6145069A (en) 1999-01-29 2000-11-07 Interactive Silicon, Inc. Parallel decompression and compression system and method for improving storage density and access speed for non-volatile memory and embedded memory devices
GB9905056D0 (en) 1999-03-05 1999-04-28 Hewlett Packard Co Computing apparatus & methods of operating computer apparatus
US6522628B1 (en) 1999-03-01 2003-02-18 Cisco Technology, Inc. Method and system for managing transmission resources in a wireless communication network
US7549056B2 (en) 1999-03-19 2009-06-16 Broadcom Corporation System and method for processing and protecting content
JP3792066B2 (ja) 1999-03-31 2006-06-28 シャープ株式会社 低消費電力周辺機器
US6330626B1 (en) 1999-05-05 2001-12-11 Qlogic Corporation Systems and methods for a disk controller memory architecture
JP4689006B2 (ja) * 1999-06-18 2011-05-25 フィーニックス  テクノロジーズ  リミテッド 通常のos制御下でコンピュータのプリ−ブート及びポスト−ブート作動の際にアプリケーションを実行する方法と装置
US7457897B1 (en) 2004-03-17 2008-11-25 Suoer Talent Electronics, Inc. PCI express-compatible controller and interface for flash memory
JP2001066986A (ja) 1999-08-26 2001-03-16 Sony Corp 送信装置および方法、受信装置および方法、通信システム、並びにプログラム格納媒体
US8296467B2 (en) 2000-01-06 2012-10-23 Super Talent Electronics Inc. Single-chip flash device with boot code transfer capability
US6601167B1 (en) * 2000-01-14 2003-07-29 Advanced Micro Devices, Inc. Computer system initialization with boot program stored in sequential access memory, controlled by a boot loader to control and execute the boot program
ATE263989T1 (de) 2000-01-19 2004-04-15 Infineon Technologies Ag Integrierte sicherheitsschaltung
EP1267515A3 (en) 2000-01-21 2004-04-07 Sony Computer Entertainment Inc. Method and apparatus for symmetric encryption/decryption of recorded data
US6823472B1 (en) 2000-05-11 2004-11-23 Lsi Logic Corporation Shared resource manager for multiprocessor computer system
US6711701B1 (en) 2000-08-25 2004-03-23 Micron Technology, Inc. Write and erase protection in a synchronous memory
US7010808B1 (en) 2000-08-25 2006-03-07 Microsoft Corporation Binding digital content to a portable storage device or the like in a digital rights management (DRM) system
JP4155545B2 (ja) 2000-09-25 2008-09-24 株式会社東芝 コンピュータシステムおよびデータ転送制御方法
JP4714980B2 (ja) 2000-10-17 2011-07-06 ソニー株式会社 コンテンツ受信装置及びコンテンツ受信方法
US7047273B2 (en) 2000-11-28 2006-05-16 Navic Systems, Inc. Load balancing in set top cable box environment
US7653743B2 (en) 2000-11-28 2010-01-26 Microsoft Corporation Protocol for throttling high volume messages
US7058662B2 (en) 2000-11-30 2006-06-06 Xythos Software, Inc. Maintenance of data integrity during transfer among computer networks
US6546472B2 (en) 2000-12-29 2003-04-08 Hewlett-Packard Development Company, L.P. Fast suspend to disk
JP2002215409A (ja) * 2001-01-15 2002-08-02 Nec Corp ダウンロードシステム、携帯情報端末及びプログラム管理装置
US7516325B2 (en) 2001-04-06 2009-04-07 Certicom Corp. Device authentication in a PKI
US7055038B2 (en) 2001-05-07 2006-05-30 Ati International Srl Method and apparatus for maintaining secure and nonsecure data in a shared memory system
EP1271875A1 (en) 2001-06-21 2003-01-02 Koninklijke Philips Electronics N.V. Device arranged for exchanging data, and method of manufacturing
US20030014368A1 (en) 2001-07-09 2003-01-16 Travelers Express Inc. Systems, methods and apparatus for secure printing of negotiable instruments
US6832280B2 (en) 2001-08-10 2004-12-14 Freescale Semiconductor, Inc. Data processing system having an adaptive priority controller
US20040030909A1 (en) 2001-09-14 2004-02-12 Yoichiro Sako Recording medium reproduction method and reproduction apparatus, and recording medium recording method and recording apparatus
US7103788B1 (en) 2001-10-31 2006-09-05 Microsoft Corporation Selective suspension of bus devices
US7065651B2 (en) 2002-01-16 2006-06-20 Microsoft Corporation Secure video card methods and systems
US7647320B2 (en) 2002-01-18 2010-01-12 Peoplechart Corporation Patient directed system and method for managing medical information
US7117352B1 (en) 2002-02-13 2006-10-03 Lsi Logic Corporation Debug port disable mechanism
JP2003281078A (ja) 2002-03-22 2003-10-03 Ricoh Co Ltd Dmaコントローラ
US7496952B2 (en) 2002-03-28 2009-02-24 International Business Machines Corporation Methods for authenticating a user's credentials against multiple sets of credentials
US20030188162A1 (en) 2002-03-29 2003-10-02 Brant Candelore Locking a hard drive to a host
US6954852B2 (en) 2002-04-18 2005-10-11 Ardence, Inc. System for and method of network booting of an operating system to a client computer using hibernation
US6715085B2 (en) 2002-04-18 2004-03-30 International Business Machines Corporation Initializing, maintaining, updating and recovering secure operation within an integrated system employing a data access control function
US7266842B2 (en) 2002-04-18 2007-09-04 International Business Machines Corporation Control function implementing selective transparent data authentication within an integrated system
US7089419B2 (en) 2002-04-18 2006-08-08 International Business Machines Corporation Control function with multiple security states for facilitating secure operation of an integrated system
JP2003316913A (ja) 2002-04-23 2003-11-07 Canon Inc サービス提供方法、情報処理システム、その制御プログラム及び記憶媒体
US8335915B2 (en) 2002-05-14 2012-12-18 Netapp, Inc. Encryption based security system for network storage
US7322043B2 (en) 2002-06-20 2008-01-22 Hewlett-Packard Development Company, L.P. Allowing an electronic device accessing a service to be authenticated
US7206940B2 (en) 2002-06-24 2007-04-17 Microsoft Corporation Methods and systems providing per pixel security and functionality
US7017037B2 (en) 2002-06-27 2006-03-21 Microsoft Corporation Apparatus and method to decrease boot time and hibernate awaken time of a computer system utilizing disk spin-up-time
US20040054898A1 (en) 2002-08-28 2004-03-18 International Business Machines Corporation Authenticating and communicating verifiable authorization between disparate network domains
US20050144468A1 (en) 2003-01-13 2005-06-30 Northcutt J. D. Method and apparatus for content protection in a personal digital network environment
US7194638B1 (en) 2002-09-27 2007-03-20 Cypress Semiconductor Corporation Device and method for managing power consumed by a USB device
US6901298B1 (en) 2002-09-30 2005-05-31 Rockwell Automation Technologies, Inc. Saving and restoring controller state and context in an open operating system
US20040103272A1 (en) 2002-11-27 2004-05-27 Zimmer Vincent J. Using a processor cache as RAM during platform initialization
US20060285686A1 (en) 2002-12-20 2006-12-21 Koninklijke Philips Electronics N.V. Apparatus and method for processing streams
KR100557590B1 (ko) 2002-12-26 2006-03-03 주식회사 하이닉스반도체 반도체 메모리 장치의 오토 리프레시 제어회로
US6711447B1 (en) 2003-01-22 2004-03-23 Intel Corporation Modulating CPU frequency and voltage in a multi-core CPU architecture
JP2004266342A (ja) 2003-02-03 2004-09-24 Sony Corp 無線アドホック通信システム、端末、その端末における復号方法、暗号化方法及びブロードキャスト暗号鍵配布方法並びにそれらの方法を端末に実行させるためのプログラム
US7607009B2 (en) 2003-02-10 2009-10-20 International Business Machines Corporation Method for distributing and authenticating public keys using time ordered exchanges
TW200415464A (en) 2003-02-12 2004-08-16 Acard Technology Corp SATA flash memory device
JP4039277B2 (ja) 2003-03-06 2008-01-30 ソニー株式会社 無線通信システム、端末、その端末における処理方法並びにその方法を端末に実行させるためのプログラム
US7409544B2 (en) 2003-03-27 2008-08-05 Microsoft Corporation Methods and systems for authenticating messages
US20050015602A1 (en) 2003-04-28 2005-01-20 Rees Robert Thomas Owen Method and apparatus for passing data securely between parties
JP2004334486A (ja) 2003-05-07 2004-11-25 Internatl Business Mach Corp <Ibm> ブートコードを用いた起動システム、及び起動方法
US7231468B2 (en) 2003-06-06 2007-06-12 Intel Corporation Future activity list for peripheral bus host controller
US20040257462A1 (en) 2003-06-17 2004-12-23 Goris Andrew C. Digital camera and method for slowing, delay and/or suspending advanced processing during low battery conditions to conserve battery charge
JP2005011120A (ja) * 2003-06-19 2005-01-13 Sony Corp 情報処理方法及び装置
US7499548B2 (en) 2003-06-24 2009-03-03 Intel Corporation Terminal authentication in a wireless network
TWI225200B (en) 2003-06-24 2004-12-11 Lite On Technology Corp Fast wake-up wireless signal receiving device
US8000284B2 (en) 2003-07-15 2011-08-16 Qualcomm Incorporated Cooperative autonomous and scheduled resource allocation for a distributed communication system
US7412565B2 (en) 2003-08-18 2008-08-12 Intel Corporation Memory optimization for a computer system having a hibernation mode
US7536558B2 (en) 2003-08-29 2009-05-19 Tgbw Inc. Flash memory distribution of digital content
JP2005085090A (ja) 2003-09-10 2005-03-31 Konica Minolta Business Technologies Inc 遠隔処理装置
US7401215B2 (en) 2003-09-29 2008-07-15 Sun Microsystems, Inc. Method and apparatus for facilitating cryptographic layering enforcement
US7571216B1 (en) 2003-10-02 2009-08-04 Cisco Technology, Inc. Network device/CPU interface scheme
US20050108171A1 (en) 2003-11-19 2005-05-19 Bajikar Sundeep M. Method and apparatus for implementing subscriber identity module (SIM) capabilities in an open platform
US20050114686A1 (en) 2003-11-21 2005-05-26 International Business Machines Corporation System and method for multiple users to securely access encrypted data on computer system
US20050138365A1 (en) 2003-12-19 2005-06-23 Bellipady Guruprashanth A. Mobile device and method for providing certificate based cryptography
US20050156925A1 (en) * 2004-01-16 2005-07-21 Fong Ryan P. Graphical user interface for pre-boot operating environment
US20050177674A1 (en) 2004-02-11 2005-08-11 Infineon Technologies, Inc. Configurable embedded processor
US7840763B2 (en) 2004-03-12 2010-11-23 Sca Technica, Inc. Methods and systems for achieving high assurance computing using low assurance operating systems and processes
JP4645049B2 (ja) 2004-03-19 2011-03-09 株式会社日立製作所 コンテンツ送信装置およびコンテンツ送信方法
US7606230B1 (en) 2004-05-10 2009-10-20 Marvell International Ltd. Link aggregation for routed ports
US7072211B2 (en) 2004-05-19 2006-07-04 L-3 Integrated Systems Company Systems and methods for write protection of non-volatile memory devices
JP4447977B2 (ja) 2004-06-30 2010-04-07 富士通マイクロエレクトロニクス株式会社 セキュアプロセッサ、およびセキュアプロセッサ用プログラム。
US7484016B2 (en) 2004-06-30 2009-01-27 Intel Corporation Apparatus and method for high performance volatile disk drive memory access using an integrated DMA engine
TWI248617B (en) 2004-08-13 2006-02-01 Prolific Technology Inc Data storage device
US20060059372A1 (en) 2004-09-10 2006-03-16 International Business Machines Corporation Integrated circuit chip for encryption and decryption having a secure mechanism for programming on-chip hardware
KR100634436B1 (ko) 2004-09-23 2006-10-16 삼성전자주식회사 멀티 칩 시스템 및 그것의 부트코드 페치 방법
US20060072748A1 (en) 2004-10-01 2006-04-06 Mark Buer CMOS-based stateless hardware security module
US20060075259A1 (en) 2004-10-05 2006-04-06 Bajikar Sundeep M Method and system to generate a session key for a trusted channel within a computer system
US8332653B2 (en) 2004-10-22 2012-12-11 Broadcom Corporation Secure processing environment
US7788670B2 (en) 2004-10-26 2010-08-31 Intel Corporation Performance-based workload scheduling in multi-core architectures
EP1653331B8 (en) 2004-10-29 2012-03-14 ST-Ericsson SA An apparatus and method for entering and exiting low power mode
KR100636209B1 (ko) 2004-11-12 2006-10-19 삼성전자주식회사 Mac 주소 보안 방법 및 장치
US7987356B2 (en) 2004-11-29 2011-07-26 Broadcom Corporation Programmable security platform
US7308591B2 (en) 2004-12-16 2007-12-11 International Business Machines Corporation Power management of multi-processor servers
WO2006066999A2 (en) 2004-12-22 2006-06-29 International Business Machines Corporation Method, system and computer program product for handling data
US7937198B2 (en) 2004-12-29 2011-05-03 Snap-On Incorporated Vehicle or engine diagnostic systems supporting fast boot and reprogramming
US7533258B2 (en) 2005-01-07 2009-05-12 Cisco Technology, Inc. Using a network-service credential for access control
US7725738B1 (en) 2005-01-25 2010-05-25 Altera Corporation FPGA configuration bitstream protection using multiple keys
US8037514B2 (en) 2005-03-01 2011-10-11 Cisco Technology, Inc. Method and apparatus for securely disseminating security server contact information in a network
US8225083B2 (en) 2005-03-09 2012-07-17 Vudu, Inc. Secured seeding of data in a distributed environment
US7711989B2 (en) 2005-04-01 2010-05-04 Dot Hill Systems Corporation Storage system with automatic redundant code component failure detection, notification, and repair
US9553848B2 (en) 2005-04-06 2017-01-24 Broadcom Corporation Secure conditional access and digital rights management in a multimedia processor
GB2425681A (en) 2005-04-27 2006-11-01 3Com Corporaton Access control by Dynamic Host Configuration Protocol snooping
US7814322B2 (en) 2005-05-03 2010-10-12 Sri International Discovery and authentication scheme for wireless mesh networks
US8098823B2 (en) 2005-05-03 2012-01-17 Ntt Docomo, Inc. Multi-key cryptographically generated address
US7287114B2 (en) 2005-05-10 2007-10-23 Intel Corporation Simulating multiple virtual channels in switched fabric networks
US7702825B2 (en) 2005-06-29 2010-04-20 Intel Corporation Enhancements to universal serial bus (USB) suspend and resume operations
US7376976B2 (en) 2005-07-11 2008-05-20 Microsoft Corporation Transcryption of digital content between content protection systems
BRPI0615559A2 (pt) 2005-07-20 2017-09-12 Verimatrix Inc sistema e método de autenticação de usúario de rede
US9009778B2 (en) 2005-07-29 2015-04-14 Rpx Clearinghouse Llc Segmented network identity management
US7818580B2 (en) 2005-08-09 2010-10-19 International Business Machines Corporation Control of port based authentication protocols and process to support transfer of connection information
US20070234028A1 (en) 2005-09-15 2007-10-04 Rothman Michael A Method and apparatus for quickly changing the power state of a data processing system
US7620746B2 (en) 2005-09-29 2009-11-17 Apple Inc. Functional DMA performing operation on DMA data and writing result of operation
US8139521B2 (en) 2005-10-28 2012-03-20 Interdigital Technology Corporation Wireless nodes with active authentication and associated methods
US8577044B2 (en) 2005-10-28 2013-11-05 Hewlett-Packard Development Company, L.P. Method and apparatus for automatic and secure distribution of an asymmetric key security credential in a utility computing environment
US20070136792A1 (en) 2005-12-05 2007-06-14 Ting David M Accelerating biometric login procedures
US20070136523A1 (en) 2005-12-08 2007-06-14 Bonella Randy M Advanced dynamic disk memory module special operations
EP1802030A1 (en) 2005-12-23 2007-06-27 Nagracard S.A. Secure system-on-chip
EP1977570B1 (en) 2006-01-11 2014-11-26 Qualcomm Incorporated Establishing communications between devices supporting different communication protocols
US7490177B2 (en) 2006-01-23 2009-02-10 Infineon Technologies Ag System method for performing a direct memory access for automatically copying initialization boot code in a new memory architecture
US7333464B2 (en) 2006-02-01 2008-02-19 Microsoft Corporation Automated service discovery and wireless network set-up
US20070180271A1 (en) 2006-02-02 2007-08-02 Ibm Corporation Apparatus and method for providing key security in a secure processor
US9137012B2 (en) 2006-02-03 2015-09-15 Emc Corporation Wireless authentication methods and apparatus
JP5282349B2 (ja) 2006-02-15 2013-09-04 富士通株式会社 マルチプロセッシングシステム
US7900060B2 (en) 2006-02-17 2011-03-01 Vudu, Inc. Method and system for securing a disk key
US8483718B2 (en) 2006-03-13 2013-07-09 West Corporation UMA network controller that provides access point identifiers to a location system
JP4921000B2 (ja) * 2006-03-15 2012-04-18 キヤノン株式会社 画像処理装置、画像処理装置の制御方法、及びプログラム
US20070242643A1 (en) 2006-04-14 2007-10-18 Microsoft Corporation Using a wireless beacon broadcast to provide a media message
JP4125328B2 (ja) 2006-04-17 2008-07-30 キヤノン株式会社 電子機器、電子機器による周辺機器の制御方法、プログラム及び記憶媒体
US7640440B2 (en) 2006-04-25 2009-12-29 Apple Inc. Method and apparatus for facilitating device hibernation
US8166309B2 (en) 2006-05-01 2012-04-24 Infosys Technologies, Ltd. System and method for a secure multi-level network access mechanism using virtual service set identifier broadcast
US20070260905A1 (en) 2006-05-01 2007-11-08 Integration Associates Inc. Wireless controlled wake up
US7743260B2 (en) 2006-05-17 2010-06-22 Richard Fetik Firewall+storage apparatus, method and system
US7620784B2 (en) 2006-06-09 2009-11-17 Microsoft Corporation High speed nonvolatile memory device using parallel writing among a plurality of interfaces
US20070297606A1 (en) 2006-06-27 2007-12-27 Tkacik Thomas E Multiple key security and method for electronic devices
CN100504779C (zh) 2006-06-30 2009-06-24 联想(北京)有限公司 一种加速bios运行的方法
TW200807424A (en) 2006-07-25 2008-02-01 Fortune Semiconductor Corp Programming method of one-time programmable memory of integrated circuit
JP2008033436A (ja) 2006-07-26 2008-02-14 Toshiba Corp 情報処理装置および情報処理装置の制御方法
JP4992332B2 (ja) 2006-08-03 2012-08-08 富士通株式会社 ログイン管理方法及びサーバ
US7793103B2 (en) 2006-08-15 2010-09-07 Motorola, Inc. Ad-hoc network key management
US8413229B2 (en) 2006-08-21 2013-04-02 Citrix Systems, Inc. Method and appliance for authenticating, by an appliance, a client to access a virtual private network connection, based on an attribute of a client-side certificate
JP2008085986A (ja) 2006-08-30 2008-04-10 Ricoh Co Ltd データ変換装置と電子装置とデータ変換方法
US8190917B2 (en) 2006-09-12 2012-05-29 International Business Machines Corporation System and method for securely saving and restoring a context of a secure program loader
US20080082837A1 (en) 2006-09-29 2008-04-03 Protegrity Corporation Apparatus and method for continuous data protection in a distributed computing network
US8769275B2 (en) 2006-10-17 2014-07-01 Verifone, Inc. Batch settlement transactions system and method
US7873841B2 (en) 2006-10-30 2011-01-18 Sony Ericsson Mobile Communications Ab Method of maintaining a USB active state without data transfer
US20080108322A1 (en) 2006-11-03 2008-05-08 Motorola, Inc. Device and / or user authentication for network access
US8661520B2 (en) 2006-11-21 2014-02-25 Rajesh G. Shakkarwar Systems and methods for identification and authentication of a user
US7818389B1 (en) 2006-12-01 2010-10-19 Marvell International Ltd. Packet buffer apparatus and method
US8117478B2 (en) 2006-12-29 2012-02-14 Intel Corporation Optimizing power usage by processor cores based on architectural events
US8254568B2 (en) 2007-01-07 2012-08-28 Apple Inc. Secure booting a computing device
US8239650B2 (en) 2007-01-31 2012-08-07 Broadcom Corporation Wirelessly configurable memory device addressing
US20100122017A1 (en) 2007-03-28 2010-05-13 Masayuki Toyama Memory controller, non-volatile memory system, and host device
US8095816B1 (en) 2007-04-05 2012-01-10 Marvell International Ltd. Processor management using a buffer
US8443187B1 (en) 2007-04-12 2013-05-14 Marvell International Ltd. Authentication of computing devices in server based on mapping between port identifier and MAC address that allows actions-per-group instead of just actions-per-single device
US8001592B2 (en) 2007-05-09 2011-08-16 Sony Computer Entertainment Inc. Methods and apparatus for accessing resources using a multiprocessor in a trusted mode
US8423789B1 (en) 2007-05-22 2013-04-16 Marvell International Ltd. Key generation techniques
US8365256B2 (en) 2007-05-22 2013-01-29 Cisco Technology, Inc. Authentication server with link state monitor and credential cache
US7864720B2 (en) 2007-06-01 2011-01-04 Intel Corporation Power management for wireless devices
US20080313462A1 (en) 2007-06-13 2008-12-18 Meiyuan Zhao Apparatus and method for deriving keys for securing peer links
US7546409B2 (en) 2007-06-28 2009-06-09 Intel Corporation Deferring peripheral traffic with sideband control
US8321706B2 (en) 2007-07-23 2012-11-27 Marvell World Trade Ltd. USB self-idling techniques
US8320350B2 (en) 2007-09-26 2012-11-27 Motorola Solutions, Inc. Method, system and a data frame for communication in a wireless communication system
US7991943B2 (en) 2007-10-26 2011-08-02 Standard Microsystems Corporation Implementation of one time programmable memory with embedded flash memory in a system-on-chip
US8156322B2 (en) 2007-11-12 2012-04-10 Micron Technology, Inc. Critical security parameter generation and exchange system and method for smart-card memory modules
US8798665B2 (en) 2007-11-15 2014-08-05 Qualcomm Incorporated Beacon-based control channels
US8171309B1 (en) 2007-11-16 2012-05-01 Marvell International Ltd. Secure memory controlled access
US8001381B2 (en) 2008-02-26 2011-08-16 Motorola Solutions, Inc. Method and system for mutual authentication of nodes in a wireless communication network
US7898857B2 (en) 2008-03-20 2011-03-01 Micron Technology, Inc. Memory structure having volatile and non-volatile memory portions
US8433936B2 (en) 2008-04-04 2013-04-30 Advanced Micro Devices, Inc. USB power conservation method and apparatus
US7995596B2 (en) 2008-05-13 2011-08-09 Netlogic Microsystems, Inc. System and method for offloading packet protocol encapsulation from software
US7916594B2 (en) 2008-06-18 2011-03-29 Mediatek Inc. Data processing apparatus and method for reproducing data of an optical recording medium
US8621144B2 (en) 2008-06-26 2013-12-31 Intel Corporation Accelerated resume from hibernation in a cached disk system
US8848924B2 (en) 2008-06-27 2014-09-30 University Of Washington Privacy-preserving location tracking for devices
CN101626374B (zh) 2008-07-11 2013-08-28 成都市华为赛门铁克科技有限公司 IPv6网络中协商SA的方法、系统和设备
US7835190B2 (en) 2008-08-12 2010-11-16 Micron Technology, Inc. Methods of erase verification for a flash memory device
US8510560B1 (en) 2008-08-20 2013-08-13 Marvell International Ltd. Efficient key establishment for wireless networks
US8713241B2 (en) * 2008-08-27 2014-04-29 Wireless Silicon Group, Llc Method and apparatus for an active low power mode of a portable computing device
WO2010033497A1 (en) 2008-09-18 2010-03-25 Marvell World Trade Ltd. Preloading applications onto memory at least partially during boot up
JP5075796B2 (ja) 2008-11-17 2012-11-21 株式会社東芝 通信装置、通信制御方法及び通信プログラム
CN102272734B (zh) 2009-01-05 2014-09-10 马维尔国际贸易有限公司 使用非易失性存储器设备用于休眠或挂起的方法和系统
KR101543581B1 (ko) 2009-02-25 2015-08-11 삼성전자주식회사 시스템 온 칩 및 이를 포함하는 전자 시스템
US8769285B2 (en) 2009-08-13 2014-07-01 Qualcomm Incorporated Methods and apparatus for deriving, communicating and/or verifying ownership of expressions
US8700892B2 (en) 2010-03-19 2014-04-15 F5 Networks, Inc. Proxy SSL authentication in split SSL for client-side proxy agent resources with content insertion
US8645716B1 (en) 2010-10-08 2014-02-04 Marvell International Ltd. Method and apparatus for overwriting an encryption key of a media drive
KR20120096787A (ko) 2011-02-23 2012-08-31 삼성전자주식회사 모바일 장치 인증 방법 및 이를 적용한 디스플레이 장치, 그리고 모바일 장치 인증 시스템
US8694782B2 (en) 2011-05-04 2014-04-08 Marvell World Trade Ltd. Wireless authentication using beacon messages
US8855194B2 (en) 2011-05-09 2014-10-07 Texas Instruments Incorporated Updating non-shadow registers in video encoder
US9141394B2 (en) 2011-07-29 2015-09-22 Marvell World Trade Ltd. Switching between processor cache and random-access memory
US9436629B2 (en) 2011-11-15 2016-09-06 Marvell World Trade Ltd. Dynamic boot image streaming
KR101803305B1 (ko) 2011-12-15 2018-01-10 삼성전자주식회사 애플리케이션 실행을 위한 디스플레이 장치 및 방법
WO2013138636A2 (en) 2012-03-14 2013-09-19 Marvell World Trade Ltd. Key centric identity
US9575768B1 (en) 2013-01-08 2017-02-21 Marvell International Ltd. Loading boot code from multiple memories
US9220012B1 (en) 2013-01-15 2015-12-22 Marvell International Ltd. Systems and methods for provisioning devices
WO2014138430A2 (en) 2013-03-06 2014-09-12 Marvell World Trade Ltd. Secure simple enrollment
US9402270B2 (en) 2013-09-10 2016-07-26 Marvell World Trade Ltd. Secure device bootstrap identity

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020069354A1 (en) * 2000-02-03 2002-06-06 Fallon James J. Systems and methods for accelerated loading of operating systems and application programs
JP2004005254A (ja) 2002-05-31 2004-01-08 Casio Comput Co Ltd 情報処理装置及びプログラム
JP2006189944A (ja) 2004-12-28 2006-07-20 Toshiba Corp アプリケーション実行方法およびアプリケーション実行プログラム
US20070011445A1 (en) * 2005-07-11 2007-01-11 Lenovo System and method for loading programs from HDD independent of operating system

Also Published As

Publication number Publication date
CN102160035A (zh) 2011-08-17
US20130046966A1 (en) 2013-02-21
US8296555B2 (en) 2012-10-23
KR20110084403A (ko) 2011-07-22
US20100070751A1 (en) 2010-03-18
WO2010033497A1 (en) 2010-03-25
US9652249B1 (en) 2017-05-16
JP2012507762A (ja) 2012-03-29
JP5489182B2 (ja) 2014-05-14
US8688968B2 (en) 2014-04-01

Similar Documents

Publication Publication Date Title
KR101595043B1 (ko) 적어도 부분적으로 부팅 동안에 어플리케이션들을 메모리에 프리로딩하는 방법
JP6033274B2 (ja) 先読み技術を利用して行われる、システムのオペレーティングシステムのブート、プログラム及びコンピュータシステム
JP5234473B2 (ja) ターボブートシステム及び方法
CN101421701B (zh) 用于引导非易失性存储器的方法、设备和系统
KR100673681B1 (ko) 개인용 컴퓨터에서의 인스턴트 온 기능 실행방법
US10936247B2 (en) Memory controller, storage device including the same, and method of operating the memory controller
US9164919B2 (en) Method and apparatus for inputting/outputting virtual operating system from removable storage device on a host using virtualization technique
CN103699372A (zh) 从中央存储装置引导计算机系统
GB2418043A (en) Storing data
JP2014534521A (ja) ブートデータのロード
US8984267B2 (en) Pinning boot data for faster boot
US11188267B2 (en) Method and apparatus and computer program product for handling sudden power off recovery
TWI475485B (zh) 韌體更新之方法及其相關電腦系統
AU2015100549B4 (en) Pinning boot data for faster boot
JP2006236058A (ja) 情報処理装置およびシステム起動方法
Rothman et al. BOOTING IN AN INSTANT.
WO2009017575A2 (en) Electronic device data access system and method

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: 20181123

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20200203

Year of fee payment: 5