KR20070008548A - 부트-업 속도를 증가시키는 방법 - Google Patents

부트-업 속도를 증가시키는 방법 Download PDF

Info

Publication number
KR20070008548A
KR20070008548A KR1020067014644A KR20067014644A KR20070008548A KR 20070008548 A KR20070008548 A KR 20070008548A KR 1020067014644 A KR1020067014644 A KR 1020067014644A KR 20067014644 A KR20067014644 A KR 20067014644A KR 20070008548 A KR20070008548 A KR 20070008548A
Authority
KR
South Korea
Prior art keywords
data
boot
medium
regions
log
Prior art date
Application number
KR1020067014644A
Other languages
English (en)
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 KR20070008548A publication Critical patent/KR20070008548A/ko

Links

Images

Classifications

    • 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
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0866Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches for peripheral storage systems, e.g. disk cache
    • 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
    • G06F9/4406Loading of operating system

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)
  • Signal Processing For Digital Recording And Reproducing (AREA)
  • Stored Programmes (AREA)

Abstract

컴퓨터 시스템(10)에서 부트-업 속도를 증가시키는 방법이 제공된다. 시스템(10)은 데이터를 처리하기 위한 계산 장치들(20) 및 상기 계산 장치들(20)로부터 데이터를 제공하고 데이터를 수신하기 위하여 상기 계산 장치들에 결합된 데이터 저장소(60)를 포함한다. 저장소(60)는 데이터 매체(20)의 몇몇 영역들(T1, T2, T3)에 데이터를 기록 및/판독하기 위하여 동작가능하다. 영역들 사이의 액세스는 연관된 점프 지연들(SK1/2, SK2/3; SK1/3, SL3/2)을 겪는다. 저장소(60)는 매체(200)로부터 판독된 데이터를 일시적으로 저장하고 및/또는 매체에 데이터를 기록하기 위한 캐시(320)를 포함한다. 시스템(20)의 최초 부트-업시, 로그는 영역들(T1, T2, T3)이 액세스되는 시퀀스로 이루어진다. 게다가, 시스템(10)의 후속 부트-업시, 로그는 상기 후속 부트-업의 속도를 증가시키기 위하여 영역들(T1, T2, T3)에 액세스하는 시간적으로 보다 효율적인 시퀀스를 제공하도록 캐시(310, 320)에 매체(200)로부터 데이터를 일시적으로 저장하기 위하여 사용된다.
부트-업 속도, 하드 디스크 드라이브 데이터 저장 장치, 점프 지연, 데이터 캐싱 수단, 로그

Description

부트-업 속도를 증가시키는 방법{Method of increasing boot-up speed}
본 발명은 컴퓨터 시스템들에서 부트-업 속도(boot-up speed)를 증가시키는 방법들에 관한 것이며; 본 발명은 컴퓨터 시스템의 시작시 파일-요구들의 기록을 컴파일링하고 파일 요구를 최적화하기 위하여 컴퓨터 시스템의 후속 시작 동안 판독 시퀀스(read sequence)를 예측하기 위한 기록 및 검색 시퀀스들(retrieval sequence) 및 진보된 캐싱 방법들을 사용함으로써 부트-업 속도를 증가시키는 방법에 관한 것이지만, 이에 제한되는 것은 아니다. 게다가, 본 발명은 본 발명의 방법에 따라 기능화하도록 구성된 컴퓨터 장치 및/또는 그의 보조부품들에 관한 것이다.
현대의 컴퓨터 시스템들은 일반적으로 하나 이상의 프로세서들, 랜덤 액세스 메모리(random access memory) 및 비휘발성 메모리(non-volatile memory)를 포함한다. 비휘발성 메모리는 종종 하나 이상의 전기 기계적 장치들, 예를 들어 하나 이상의 픽업 장치들(pickup devices)에 관련하여 동작시 회전할 수 있는 하나 이상의 디스크형 자기 평면형 데이터 캐리어들(disk-like magnetic planar data carriers)로부터 데이터를 기록(recording)하고 및/또는 액세스하기 위하여 하나 이상의 기계적으로 작동되는 픽업 장치들을 이용하는 자기 하드 디스크 드라이브들(HDD)로서 구현된다. 상기 HDD 드라이브들이 하나 이상의 픽업 장치들과 관련하여 요구된 회전 속도로 하나 이상의 디스크형 데이터 캐리어들(disk-like data carriers)을 가속하고, 또한 그로부터 데이터를 검색하고 및/또는 그에 데이터를 기록하기 위한 목표된 블록들을 식별하기 위하여 하나 이상의 데이터 캐리어들에 관련하여 적절한 위치들로 하나 이상의 픽업 장치들을 작동할 필요성으로 인해, 상대적으로 긴 데이터 액세스 시간들을 제공하는 것이 가능하다는 것이 공지되었다. 상기 액세스 지연(access delay)의 결과로, 현대의 컴퓨터 시스템들은 종종 처음 에너지 인가(initial energization)시, 및/또는 리셋 후, 즉 "부트-업"시 운영 체계(operating system; OS) 및 목표된 소프트웨어 애플리케이션들을 랜덤 액세스 메모리에 로딩하기 위하여 수 십초를 요구한다.
현대 컴퓨터 시스템에서 부트-업 시간의 감소는 알려진 문제이고 몇몇 전략들이 제안되었다. 미국특허출원 번호 US2002/0156970호에서, 디스크 제어기 및 부트-업 프로그램을 저장하는 디스크 드라이브 사이에 배치된 비휘발성 메모리를 포함하는 컴퓨터 시스템이 기술되었다. 최초 부트-업 시퀀스에서, 예를 들어 처음에 컴퓨터에 에너지가 인가되는 중에, 부트-업 프로그램은 비휘발성 메모리의 캐시(cache)에 로딩된다. 후속하는 부트-업 시퀀스들은 디스크 드라이브 자체보다 상당히 빠른 데이터 액세스를 제공하는 캐시로부터 부트-업 프로그램을 검색하여 보다 빠른 부트-업을 제공한다. 게다가, 캐시에 저장된 데이터의 유효성(validity)은 캐시 실패들(cache misses)을 모니터링하고, 및/또는 디스크에 대한 기록들을 모니터링함으로서 유지되어, 캐시에 유지된 디스크의 섹터에 대한 기 록은 캐시와 같은 시간이 디스크 드라이브로부터 업데이트될 때까지 섹터에 대한 캐시 라인(cache line)이 무효화되게 한다. 필터 드라이버(filter driver)는 디스크에 대한 기록 동작을 모니터링하고 캐시 라인이 무효화되었는지를 결정하기 위하여 제공된다.
따라서, 현대의 하드 디스크 드라이브들(HDD)은 예를 들어 "부트-업"시 데이터를 판독하기 위한 발견적 캐싱 전략들을 이용하도록 구성된다. 예를 들어, 현대의 HDD는 :
(a) 수신한 판독 요구들의 패턴들을 검색;
(b) 어떤 정보가 다음에 요구될 것인지를 예측하기 위한 시도; 및
(c) HDD의 데이터 저장 매체(data storage medium)로부터 HDD 내부 캐시 버퍼(HDD internal cache buffer)로 예측된 정보를 판독하도록 구성된다.
따라서, 대부분, HDD는 연속적인 데이터에 대한 요구가 곧 도달할 때, HDD에서 수신된 데이터에 대한 현재 요구 이전에 몇 개의 연속적인 데이터를 빠르게 미리 판독할 것이다.
현대의 운영 체계들(OS)은 HDD 데이터 트래픽(HDD data traffic)이 최소화되도록 시스템 메모리의 데이터를 구성하고, 이로부터 데이터에 대한 요구들이 보다 빠르게 서비스될 수 있도록 HDD에서 데이터를 구성하기를 시도하도록 구성된다. 그러나, 데이터의 이런 구성은 보다 빠른 데이터 검색을 렌더링시 실제로 부분적으로만 성공적인 것으로 발견된다. 따라서, 부트-업 동안, 현대 컴퓨터 시스템은 부트-업 과정을 완료하고 그 운영 체계(OS)을 초기화하기 위하여 상당한 시간이 걸릴 것이다.
본 발명자들은 부트-업 속도 문제에 대한 보다 효율적인 해결책을 꾀하였고 부트-업 속도를 증가시키는 대안적인 방법을 연구하였다.
본 발명의 목적은 컴퓨터 시스템들에 보다 빠른 부트-업 속도를 제공하는 것이다.
본 발명의 다른 목적은 다중 부팅(multi-boot)할 수 있는 보다 복잡한 컴퓨터 시스템에 빠른 부트-업 속도를 제공하는 것이다.
본 발명의 또 다른 목적은 보다 빠른 부트-업을 제공하도록 구성될 수 있는 하드 디스크 드라이브 데이터 저장 장치(hard disk drive data storage device)를 제공하는 것이다.
본 발명의 제 1 양태에 따라, 컴퓨터 시스템에서 부트-업 속도를 증가시키는 방법이 제공되고, 상기 방법은:
(a) 데이터를 처리하기 위한 계산 수단, 및 상기 계산 수단에 데이터를 제공하고 상기 계산 수단으로부터 데이터를 수신하기 위해 상기 계산 수단에 결합된 데이터 저장 수단을 포함하도록 시스템을 구성하는 단계로서, 상기 저장 수단은 적어도 하나의 데이터 매체의 복수의 공간적으로 배치된 영역들에 데이터를 기록 및/또는 판독하기 위하여 동작가능하고, 상기 공간 영역들 사이의 액세스는 하나 이상의 연관된 점프 지연들(jump delays)을 갖는, 상기 구성 단계;
(b) 상기 적어도 하나의 데이터 매체로부터 판독된 데이터를 일시적으로 저장하고 및/또는 상기 매체에 데이터를 기록하기 위하여 그 내부에 데이터 캐싱 수단(data caching means)을 포함하도록 상기 저장 수단을 구성하는 단계;
(c) 시스템의 최초 부트-업시, 적어도 하나의 데이터 매체(200)의 하나 이상의 공간적으로 배치된 영역들이 액세스되는 시간적 시퀀스의 적어도 하나의 로그(log)를 형성하는 단계; 및
(d) 시스템의 하나 이상의 후속 부트-업들시, 상기 하나 이상의 후속 부트-업들을 가속하기 위하여 공간적으로 배치된 영역들의 액세싱의 시간적으로 보다 효율적인 시퀀스를 제공하도록 적어도 하나의 데이터 매체로부터 판독된 데이터를 데이터 캐싱 수단에 일시적으로 저장하기 위하여 적어도 하나의 로그를 사용하는 단계를 포함한다.
본 발명은 보다 빠른 부트-업을 나타내는 컴퓨터 시스템이 될 수 있는 장점이 있다.
로그는 미래 데이터 콘텐트 요구들을 예측하여 캐싱 전략을 개선하기 위하여 사용될 수 있는 장점을 가진다.
바람직하게는, 상기 방법은 예를 들어 종래에 공지된 바와 같이, 상기 하나 이상의 후속 부트-업들시, 계산 수단에 의해 지시된 공간적으로 배치된 영역들의 액세싱의 시퀀스가 상기 적어도 하나의 로그에 기록된 것에서 벗어날 때, 공간적으로 배치된 영역들에 액세스하기 위한 발견적 방법(heuristic approach)을 채택하도록 상기 시스템을 구성하는 다른 단계를 포함한다. 상기 발견적 방법의 사용은 시스템이 복잡하지만 반복적인 파일 액세스 시퀀스들(file access sequences)을 효과적으로 처리할 뿐만 아니라, 복잡하고 예측할 수 없는 파일 액세스 시퀀스를 마주하는 상황을 보다 최적으로 처리할 수 있게 한다.
바람직하게는, 상기 방법에서 복수의 시간적 시퀀스들에 대응하는 몇몇 로그들이 있고, 상기 방법은 시스템이 부트-업시 시간 시퀀스들 중 어느 것을 채택하기 위하여 선택하였는가에 따라 로그들 사이에서 스위칭하도록 상기 시스템을 구성하는 다른 단계를 더 포함한다. 특히, 시스템은 부트-업을 실행할 때 로그들 사이에서 동적으로 스위칭하도록 구성되고; 다시 말해서, 시스템은 바람직하게는 예상된 초기 채택 시퀀스 사이에서 발생하는 차들에 응답하여 부트-업 동안 동적으로 시간적 시퀀스들 사이에서 점프할 수 있고, 계산 수단으로부터의 데이터를 요구한다.
바람직하게는, 상기 방법에서, 저장 수단은 데이터 캐싱 수단을 실행하고, 하나 이상의 로그들의 기록을 관리하고, 시스템의 부트-업에 응답하여 하나 이상의 시퀀스들을 실행하기 위하여 연관된 로컬 계산 수단을 구비한 적어도 하나의 하드 디스크 드라이브(hard disk drive; HDD)로서 구현된다. 상기 방법의 실행은 상기 방법이 적어도 하나의 디스크 드라이브내에서 국부적으로 실행되게 하여, 본 발명의 방법을 실행하기 위하여 컨피그.디(conFig.d)하지 않은 이전 디스크 드라이브들과 호환할 수 있게 하는 장점을 가진다.
본 발명의 제 2 양태에 따라, 보다 빠른 부트-업을 제공하도록 구성된 컴퓨터 시스템이 제공되며,
(a) 상기 시스템은 데이터를 처리하기 위한 계산 수단, 및 상기 계산 수단에 데이터를 제공하고 상기 계산 수단으로부터 데이터를 수신하기 위해 상기 계산 수단에 결합된 데이터 저장 수단을 포함하고, 상기 저장 수단은 적어도 하나의 데이터 매체의 복수의 공간적으로 배치된 영역들에 데이터를 기록하고 및/또는 판독하기 위하여 동작가능하고, 상기 공간 영역들 사이의 액세스는 하나 이상의 연관된 점프 지연들을 가지며;
(b) 상기 저장 수단은 상기 적어도 하나의 데이터 매체로부터 판독된 데이터를 일시적으로 저장하고 및/또는 상기 데이터 매체에 데이터를 기록하기 위하여 그 내부에 데이터 캐싱 수단을 포함하고;
(c) 상기 시스템은 최초 부트-업시 적어도 하나의 데이터 매체의 하나 이상의 공간적으로 배치된 영역들이 액세스되는 시간적 시퀀스의 적어도 하나의 로그를 형성하도록 동작가능하고; 및
(d) 상기 시스템은 하나 이상의 후속 부트-업들시, 상기 하나 이상의 후속 부트-업들을 가속하기 위하여 공간적으로 배치된 영역들의 액세싱의 시간적으로 보다 효율적인 시퀀스를 제공하도록 적어도 하나의 데이터 매체로부터 판독된 데이터를 데이터 캐싱 수단에 일시적으로 저장하는 적어도 하나의 로그를 사용하도록 동작한다.
바람직하게, 상기 시스템은 또한 상기 하나 이상의 후속 부트-업들시, 계산 수단에 의해 지시된 공간적으로 배치된 영역들의 액세싱의 시퀀스가 상기 적어도 하나의 로그에 기록된 것에서 벗어날 때, 공간적으로 배치된 영역들에 액세스하기 위해 발견적 방법을 채택하도록 동작가능하다.
바람직하게, 상기 시스템은 복수의 시간적 시퀀스들에 대응하는 몇몇 로그들을 기록하고, 시스템이 부트-업시 시간적 시퀀스들 중 어느 것을 채택하기 위하여 선택하는가에 따라 로그들 사이에서 스위칭하도록 구성된다.
바람직하게, 상기 시스템은 부트-업을 실행할 때 로그들 사이에서 동적으로 스위칭하도록 구성된다.
바람직하게, 상기 시스템에서, 저장 수단은 데이터 캐싱 수단을 실행하고, 하나 이상의 로그들의 기록을 관리하고, 상기 시스템의 부트-업에 응답하여 하나 이상의 시퀀스들을 실행하기 위하여 연관된 로컬 계산 수단을 구비한 적어도 하나의 하드 디스크 드라이브(HDD)로서 구현된다.
본 발명의 제 3 양태에 따라, 보다 빠른 부트-업을 제공하기 위하여 컴퓨터 시스템에 사용하기 위한 하드 디스크 드라이브가 제공되고,
(a) 상기 시스템은 데이터를 처리하기 위한 계산 수단, 및 상기 계산 수단에 데이터를 제공하고 상기 계산 수단으로부터 데이터를 수신하기 위한 상기 계산 수단에 결합된 디스크 드라이브를 포함하고, 상기 디스크 드라이브는 적어도 하나의 데이터 매체의 복수의 공간적으로 배치된 영역들에 데이터를 기록하고 및/또는 판독하도록 동작가능하고, 상기 공간 영역들 사이의 액세스는 하나 이상의 연관된 점프 지연들을 가지며;
(b) 상기 디스크 드라이브는 상기 적어도 하나의 데이터 매체로부터 판독된 데이터를 일시적으로 저장하고 및/또는 상기 데이터 매체에 데이터를 기록하기 위하여 그 내부에 데이터 캐싱 수단을 포함하고;
(c) 상기 시스템은 최초 부트-업시 적어도 하나의 데이터 매체의 하나 이상의 공간적으로 배치된 영역들이 액세스되는 시간 시퀀스의 적어도 하나의 로그를 형성하도록 동작가능하고; 및
(d) 상기 시스템은 하나 이상의 후속 부트-업시, 상기 하나 이상의 후속 부트-업을 가속하기 위하여 공간적으로 배치된 영역들의 액세싱의 시간적으로 보다 효율적인 시퀀스를 제공하도록 적어도 하나의 데이터 매체로부터 판독된 데이터를 데이터 캐싱 수단에 일시적으로 저장하기 위하여 적어도 하나의 로그를 사용하도록 동작가능하다.
본 발명의 특징들이 본 발명의 범위에서 벗어나지 않고 임의의 결합으로 결합될 수 있다는 것이 인식될 것이다.
본 발명의 실시예들은 단지 예시적으로만 기술될 것이다.
도 1은 BIOS 소프트웨어를 포함하는 프로세서(processor)(CPU)를 포함하는 컴퓨터 시스템의 예로서, 상기 프로세서(CPU)는 연관된 랜덤 액세스 메모리(RAM), 입력/출력 유닛(input/output unit)(I/O) 및 또한 비휘발성 데이터 저장 및 검색을 위한 하드 디스크 드라이브(HDD)에 결합되고, 상기 드라이브(HDD)는 운영 체계 소프트웨어(OS) 및 상기 운영 체계(OS)과 호환할 수 있고 프로세서(CPU)상에서 실행할 수 있는 하나 이상의 소프트웨어 애플리케이션들을 수용하는, 상기 컴퓨터 시스템의 예시도.
도 2는 소프트웨어가 도 1의 컴퓨터 시스템에서 실행할 수 있는 방식을 도시하는 도면.
도 3은 픽업 장치에 의해 액세스할 수 있는 복수의 데이터 트랙들(data tracks)을 포함하는 연관된 판독/기록 픽업 장치(associated read/write pickup device) 및 그것의 작동 장치(actuation arrangement)와 함께 도 1의 하드 디스크 드라이브(HDD)의 디스크형 데이터 저장 매체(disk-like data storage medium)를 도시하는 도면.
도 4는 도 1에 도시된 하드 디스크 드라이브(HDD)의 운영 시나리오들(SC1,SC2)의 상이점에 대하여 도 3에 도시된 복수의 데이터에 대한 액세스 시간을 도시하는 시간적 흐름도.
도 5는 도 1에 도시된 하드 디스크 드라이브의 구성요소 부분들의 내부 장치를 도시하는 도면.
실험적으로, 발명자들은 연관된 하드 디스크 드라이브(HDD) 메모리에 의해 지원되는 현대의 퍼스널 컴퓨터(PC) 환경에서, HDD 메모리에 대한 대부분의 요구들이 비교적 작은데, 즉 종종 4 kByte이다. 상기 환경들은 비록 다른 환경들이 공지되었지만, 예를 들어, 리눅스, 윈도우 NT 및 윈도우 XP를 포함한다. 작은 양의 데이터에 대한 요구들은 일반적으로 HDD 드라이브들이 극히 예측하기 어렵게 한다. 본 발명자들은 작은 양의 데이터에 대한 이들 요구들이 시스템 관리, 예를 들어 현대의 FAT(DOS형 시스템들), NTFS(윈도우즈 NT 및 보다 최근의 윈도우즈 변형들) 및 EXT2(UNIX/LINUX)에 대한 컴퓨터 호스트의 주문형 페이징 및 빈번한 액세스들로 인한 것이라는 것을 인식한다. 결과적으로, 발명자들은 HDD 판독 성능이 검색 시간, 예를 들어 HDD에서 데이터 운반 디스크형 매체(data carrying disk-like media)를 회전시키는 것과 관련하여 판독 픽업 장치들(reading pickup devices)을 이동시키기 위한 시간, 및 회전 지연(rotational latency), 예를 들어 디스크형 데이터 매체를 가속하기 위한 시간에 의해 가상으로 완전히 지배되는 것을 발견하였다; HDD 드라이브들로 데이터 전달 시간 및/또는 상기 드라이브들로부터의 전달 시간은 실질적으로 무시할 수 있다. 현대의 컴퓨터에 대한 운영 체계(OS)을 부트-업하고 시작하기 위한 기간은 10 초 정도의 제 1 HDD 회전 가속, 즉 "스핀-업(spin-up)"에 의해 대부분 소요되고, 그 다음 데이터 판독 요구들을 위한 후속하는 시간적 지연들에 의해 소요된다.
발명자들은 컴퓨터 시스템의 HDD 드라이브가 전력 인가후 바로 최초 시스템 시작 과정 동안 HDD 드라이브에 의해 수신된 데이터 요구 시퀀스(data request sequence)를 레코드, 즉 로그를 형성하도록 구성될 수 있다는 것을 예상했다. 상기 환경들에서, 시스템은 종종 그의 기본적 입력/출력 시스템(BIOS) 소프트웨어 및 그 운영 체계(OS) 및 그에 따른 임의의 소프트웨어 애플리케이션들이 로딩되지 않을 것이다. 상기된 로그는 바람직하게 컴퓨터 시스템에 비교적 작은 오버헤드로 실행된다. 추후 시간 동안 시스템은 부트하고, HDD 드라이브는 높은 신뢰도로 데이터에 대한 요구를 예측하기 위하여 데이터 요구 시퀀스의 기록을 사용하고 이에 따라 HDD 드라이브의 성능을 최적화하기 위하여 그 내부의 데이터 캐싱을 최적화할 수 있다.
본 발명자들은 비록 본래 복잡하지만 부트-업 동안 데이터 요구 시퀀스 및 운영 체계(OS) 초기화가 종종 매우 잘 재생한다는 것을 인식했다. 데이터 요구 시퀀스의 상기된 로그에 의해, HDD 드라이브는 드라이브의 디스크형 데이터 매체로부터 검색될 데이터의 개선된 표시를 가진다. 게다가, 발명자들은 HDD 드라이브로부터 데이터에 대한 많은 요구들이 HDD 드라이브상에서 함께 공간적으로 클러스터된 작은 영역들에 기록된 데이터에 관련되는 것을 인식하였고, 이들 작은 영역들은 가장 우수한 HDD 드라이브 성능을 보장하기 위하여 순서화되지 않는다. 따라서, HDD 드라이브는 가장 우수한 성능들을 달성하기 위한 방식으로 내부 요구들을 순서화함으로써 상당한 검색 및 회전의 시간적 지연을 덜 수 있다.
따라서, 발명자들은 실행하기 쉽고 현재 컴퓨터 시스템 실무의 확장을 나타내는 적당한 리소스들로 잠재적으로 실행되는 부트-업 속도를 증가시키는 방법을 제안한다. 게다가, 상기 방법은 운영 체계(OS) 및 컴퓨터 시스템의 기본적인 입력/출력 시스템(BIOS)과 무관하게 실행될 수 있다. 또한, 상기 방법은 국부적으로 실행될 수 있고 컴퓨터 시스템의 OS 및 BIOS와 특정 협력을 요구하지 않는다.
부가적으로, 상기 방법은 강건하고 컴퓨터 시스템의 다른 부분들의 동작을 손상시키지 않는다; 예를 들어, 컴퓨터 시스템의 다중 부트 상태에서, 또는 구성을 변화시키기 위하여 종종 요구되는 컴퓨터 시스템에서, 상기 방법은 컴퓨터 시스템의 부트-업 속도를 항상 증가시킬 수 없지만, 반대로 동작의 다중 부트 모드로 스위칭될 때 컴퓨터 시스템의 동작을 실질적으로 느리게 하지 않는다. 바람직하게는, 다중 부트 시나리오에서, 부트-업시 요구 시퀀스가 예상된 데이터 요구 시퀀스로부터 상당히 벗어나자마자, 예를 들어 상기된 로그에 기록될 때, HDD 드라이브는 상기 환경들에서 보다 종래의 발견적 동작 모드로 간단히 복귀하도록 구성될 수 있다.
본 발명자들은 본 발명의 방법이 부트-업 속도를 증가시키기 위하여 공지된 방법들보다 실행하기 쉽다는 것을 인식하였다. 상기 공지된 방법들은 시작, 즉 부트-업 동안 데이터에 대한 대부분의 요구들이 연속적이도록 HDD 디스크상 데이터를 재할당하는 것을 포함한다. HDD 디스크상에 데이터 재할당은 실용적인 방법이지만 잠재적으로 다량의 데이터 및 연관된 부기 데이터의 물리적 이동을 위하여 보다 기술적으로 포함되고, 다중 부트 컴퓨터 시스템들에 덜 적절하다.
본 발명을 더 기술하기 위하여, 그 실시예들은 도 1 내지 도 5를 참조하여 지금 기술될 것이다.
우선 도 1을 참조하여, 일반적으로 10으로 표시된 컴퓨터 시스템이 도시된다. 시스템(10)은 예를 들어 프로세서(20)의 판독 전용 메모리상에 저장된 기본 입력/출력 소프트웨어(BIOS)(30)를 포함하는 프로세서(CPU)(20)를 포함한다. 프로세서(20)에는 랜덤 액세스 메모리(RAM)(40) 및 다른 외부 장치들(ED)에 접속할 수 있는 입력/출력 유닛(I/O)(50)이 결합된다. 게다가, 프로세서(20)는 비휘발성 데이터 저장 및 검색을 제공하기 위하여 동작할 수 있는 하드 디스크 드라이브(HDD)(60)에 결합된다. 디스크 드라이브(60)는 프로세서(20)상에서 실행할 수 있고 운영 체계(70)과 호환할 수 있는 하나 이상의 소프트웨어 애플리케이션들과 함께 운영 체계(OS)(70)을 저장하도록 구성된다.
컴퓨터 시스템(10)의 동작은 도 1을 참조하여 개괄적으로 기술될 것이다. 시스템(10)의 최초 부트-업시, 또는 시스템(10)의 리셋 후, 프로세서(20)는 우선 프로세서(20)의 하드웨어의 기본 구성, 예를 들어 그 내부의 등록하기 위한 상태 및 운영 체계(70)에 액세스하기 위한 어드레스 레퍼런스(address reference)를 정의하는 BIOS 소프트웨어(30)를 액세스한다. BIOS 소프트웨어(30)에 액세스하는 것은 프로세서(20)가 디스크 드라이브(60)로부터 운영 체계 소프트웨어(70)를 검색하고 그것을 랜덤 액세스 메모리(40)에 로딩하게 한다; 운영 체계 소프트웨어(70)는 디스크 드라이브(60)가 드라이브(60)내에 제공된 저장 매체의 여러 영역들로부터 데이터 블록들(data blocks)을 검색하게 하는 서브 파일들에 대한 레퍼런스들을 포함한다. 프로세서(20)는 운영 체계(OS)(70) 소프트웨어를 실행하기 시작하고, 상기 소프트웨어는 프로세서(20)가 드라이브(60)로부터 메모리(40)로 로딩하기 위하여 액세스하도록 동작가능하고 그 다음 프로세서(20)에서 실행하는, 드라이브(60)에 또한 저장된 하나 이상의 사용자 선택 소프트웨어 애플리케이션들을 실행하기 위한 환경을 생성하게 한다.
드라이브(60)로부터 운영 체계 소프트웨어(OS)를 로딩하는 처리에서, 드라이브(60)는 복잡성에도 불구하고, 시스템(10)이 부트할 수 있는 각각의 시간과 실질적으로 유사한 복잡한 데이터 검색 시퀀스에 따르게 된다.
도 2를 참조하여, 시스템(10)의 하드웨어(100) 및 상기된 BIOS(30), 운영 체계(OS) 소프트웨어(70) 및 소프트웨어 애플리케이션들(AP1 내지 APn) 사이의 연산 관계가 도시되고, 여기서 n은 정수이다. 운영 체계 소프트웨어(OS)(70)는 하나 이상의 소프트웨어 애플리케이션들(AP1 내지 APn)에 대한 환경을 제공하고, 운영 체 계(70) 그 자체는 시스템(10)의 하드웨어(100)가 기능하게 하는 BIOS 소프트웨어에 따른다. 하드웨어(100)는 프로세서(20), 메모리(RMA)(40), 입력/출력 유닛(I/O)(50) 및 디스크 드라이브(60)를 포함한다.
도 3도를 참조하여, 드라이브(60)의 디스크형 데이터 저장 매체(200)가 도시된다. 바람직하게, 드라이브는 시스템(10)을 위하여 요구된 데이터 저장 용량에 따른 하나 이상의 상기 매체(200)를 포함한다. 매체(200)는 실질적으로 판독/기록 픽업 장치(220)와 관련하여 화살표(210)에 의해 표시된 바와 같은 회전 방향에 사용시 매체(200)를 회전하기 위한 드라이브 모터(도시되지 않음)에 결합하기 위한 중앙 장착 개구(central mounting aperture)를 가진 비교적 얇은 평면형 라운드 디스크형 구성 요소이다; 픽업 장치는 매체(200)상 데이터 기록의 성질로 인해 예를 들어 자기 타입 픽업(magnetic-type pickup) 및/또는 광 타입 픽업(optical-type pickup)으로서 구현될 수 있다. 매체(200)의 하나 이상의 평면형 면들은 데이터 시퀀스들을 포함하는 기록된 데이터 트랙들, 예를 들어 트랙들(T1, T2, T3)이다; 그러나, 매체(200)는 이들 3개의 트랙들보다 많은 트랙들을 포함할 수 있고, 이들 3개의 트랙들은 본 발명을 예시하기 위하여 기술된다. 데이터 블록들은 트랙들(T1, T2, T3)의 각도부들에 해당한다.
픽업 장치(220)는 화살표(240)에 의해 표시된 바와 같이 실질적으로 방사식 방향(radial direction)으로 매체에 관련하여 이동할 수 있는 작동되는 지지부(230)상에 장착된다.
예시적인 시나리오에서, 드라이브(60)로부터 운영 체계(OS)(70) 데이터 판독 시, 픽업 장치(220)는 프로세서(20)에 의해 매체(200) 주변 근처 트랙(T1)으로부터 판독하고, 그 다음 매체(200)의 중앙 영역 근처 트랙(T2)으로 점프하고, 마지막으로 트랙들(T1, T2) 사이의 공간적으로 중간의 트랙(T3)으로 점프하기 위하여 요구받는다. 트랙들(T1, T2, T3) 사이의 점프들은 요구된 데이터 블록들에 해당하는 각도부들이 픽업 장치(220)를 통과할 때까지 매체(200)와 같은 회전 지연을 실질적으로 포함할 수 있다.
도 4에서, 시간 진행을 나타내는 축(t)(300)을 포함하는 시간도가 제공된다. 상기 도면은 제 1 시나리오(SC1)를 도시하고, 여기서 픽업 장치(220)는 기간(RT1) 동안 트랙(T1)으로부터 데이터를 판독하고 프로세서(20)에 상기 데이터를 출력하고, 그 후 픽업 장치(220)는 트랙(T1)으로부터 트랙(T2)으로 점프 기간(SK1/2) 동안 작동되고, 그 후 픽업 장치(220)는 기간(RT2) 동안 트랙(T2)으로부터 데이터를 판독하고 상기 데이터를 프로세서(20)에 출력하고, 그 후 픽업 장치(220)는 점프 기간(SK2/3) 동안 트랙(T3)으로 작동되고, 그 후 픽업 장치(220)는 기간(RT3) 동안 트랙(T3)으로부터 데이터를 판독하고 상기 데이터를 프로세서(20)에 출력한다. 제 1 시나리오(SC1)는 종래에 공지된 표준 형태의 액세스 시퀀스를 나타낸다.
본 발명자들은 예를 들어 부트-업시 제 2 시나리오(SC2)가 제 1 시나리오에 비해 바람직한 것을 인식하였다. 제 2 시나리오(SC2)에서, 픽업 장치(220)는 기간(RT1) 동안 트랙(T1)으로부터 데이터를 판독하고 상기 데이터를 프로세서(20)로 출력하고, 그 후 픽업 장치(220)는 기간(SK1/3) 동안 트랙(T3)으로 작동되고, 그 후 픽업 장치(220)는 기간(RT3) 동안 트랙(T3)으로부터 데이터를 판독하고 상기 데 이터를 출력하고 그것을 기간(BST3) 동안 드라이브(60)의 캐시 메모리에 저장하고, 그 후 픽업 장치(220)는 기간(SK3/2) 동안 트랙(T2)으로 작동되고, 그 후 픽업 장치(220)는 기간(RT2) 동안 트랙(T2)으로부터 데이터를 판독하고 상기 데이터를 프로세서(20)에 출력하고, 그 후 드라이브(60)는 트랙(T3)에 해당하는 메모리 캐시내에 저장된 데이터를 프로세서(20)에 출력한다.
실제로, 기간들(RT1, RT2, RT3)은 점프 기간들(SK1/2,SK2/3,SK1/3 및 SK3/2) 보다 기간 면에서 상당히 짧다. 게다가, 점프 기간(SK1/3)은 제 1 시나리오(SC1)와 비교하여 실행시 보다 빠르게 제 2 시나리오(SC2)를 렌더링하는 기간(SK1/2)보다 상당히 짧다.
상기된 바와 같이, 장치(60)는 제 1 시나리오(SC1)를 따르도록 최초 부트-업시 동작가능하고 액세스된 트랙들의 로그, 각각의 트랙에서 검색된 데이터 양, 점프 기간들 및 트랙들의 상대적 공간 병렬 배치(relative spatial juxtaposition)를 기록한다. 바람직하게는, 로그는 메모리 캐시의 비휘발성 메모리, 예를 들어 컴퓨터 시스템(10)의 전력 다운 동안 데이터 콘텐트를 유지하는 배터리-백업-전력 인가 랜덤 액세스 메모리(battery-backup-powered random access memory)에 저장되고; 만약 요구되면, 로그는 드라이브(60)가 공전하고 프로세서(20)로부터 데이터 요구들을 사용시 서비스하지 않을 때 드라이브(60)의 전용 어드레스 영역들(private address areas)에 전달될 수 있다. 시스템(10)의 후속 부트-업시, 드라이브(60)는 비휘발성 메모리로부터 로그를 액세스하고 제 2 시나리오(CS2)가 적절한지를 결정하고, 이 시나리오를 채택하고, 이에 따라 컴퓨터 시스템(10)이 보다 빠르게 부트- 업할 수 있게 한다. 제 2 시나리오(SC2)가 매체(200)상 데이터의 재정렬을 포함하지 않는 것이 인식될 것이다.
제 2 시나리오(SC2)를 실행하기 위하여, 디스크 드라이브(60)는 바람직하게는 도 5에 도시된 바와 같이 실행된다. 드라이브(60)는 매체(200) 및 연관된 픽업 장치들(220) 사이에서 데이터를 처리하기 위한 디스크 드라이브 제어기(KNT)(disk drive controller; 310) 및 프로세서(20)를 포함하고, 제어기(310)는 시스템(10)에서 부트-업 시간을 감소시키기 위하여 예를 들어 제 2 시나리오(SC2)에서 트랙(T3)으로부터 데이터의 블록들을 저장하기 위하여 결합된 데이터 캐시(DK)(data cache; 320)를 가진다.
드라이브(60)는 부트-업시 도 4에 도시된 것과 유사한 캐싱 방법을 사용하도록 구성된다. 그러나, 예를 들어 부트-업이 복수의 다른 부트-업 시퀀스들 중에서 가변할 수 있는 다중 부트-업 시나리오에서, 드라이브(60)는 바람직하게 종래 발견적 형태의 트랙 액세스 방법을 이용하는 것으로 복귀되도록 구성된다.
제어기(310)가 로그로부터 주어진 트랙 시퀀스를 예상하고, 예를 들어 부트-업 동안 액세스될 후속 트랙들의 어드레스들을 레코딩하는 트랙(T1)을 질의하는 중에, 다른 시퀀스가 요구되는 것을 발견하는 경우, 제어기(310)는 로그를 버리지 않지만 다른 시퀀스를 채택하기 위하여 로그를 업데이트하기 위한 다른 시퀀스를 모니터링하는 환경들에 구성될 수 있다.
선택적으로, 제어기(310)는 트랙(T1)에 저장된 바와 같이 프로세서(20)에 의해 발행된 실제 판독 시퀀스들을 저장하는 것이 아니라, 도 4에 도시된 캐시 방식 으로 매체(200)에 대한 자신의 액세스 시퀀스를 내부적으로 최적화할 수 있다. 상기 방법은 최적화를 위한 필요한 처리가 중요 부트-업 시간 보다 오히려 공전 시간에서 행해질 수 있다는 장점이 있다.
다른 선택적인 고안으로서, 상기된 로그는 데이터에 대한 요구들 사이에서 프로세서(20)에 의해 나타난 시간적 지연들을 고려하도록 구성될 수 있고; 상기 시간적 지연들은 제어기가 매체(200)로부터 예상된 판독 요구들로 데이터 캐시(320)를 충전하게 하도록 바람직하게 사용될 수 있다.
또 다른 선택적인 개선은 다중 부트 컴퓨터 시스템에서 발생할 때, 다수의 다른 부트-업 시퀀스들의 복수의 로그들에 관한 것이다. 이 개선에서, 트랙 시퀀스들의 다른 구성에 대한 변화는 제어기(310)에 의해 채택된 제어기(310)의 하나의 로그에 따라 트랙 액세스들의 시퀀스를 해석하고 상당한 성능 손실없이 다른 로그들 사이에서 스위칭을 유발할 것이다. 로그들 사이에서 스위칭을 제공하기 위하여, 로그들은 제어기(310)가 지연 및 데이터 손실없이 효율적으로 그리고 신뢰적으로 정의된 점프 지점들 사이에서 점프하게 하는 상기 정의된 점프 지점들을 구비한다.
상기에 기술된 본 발명의 실시예들이 본 발명의 범위에서 벗어나지 않고 변형될 수 있다는 것이 인식될 것이다.
상기 기술된 본 발명의 방법은 공지된 상태로부터 시작하는 임의의 반복적인 액세스 패턴으로 확장될 수 있다. 예를 들어, 상기 방법은 전력 다운 상태뿐만 아니라, 공전, 슬리프(sleep) 또는 하이버네이션(hibernation) 상태로부터 컴퓨터 시 스템(10)의 "작동(wake-up)"에 관한 것이다. 상기 방법은 특성 애플리케이션 시작 및 셧다운 시퀀스들 같은 임의의 반복적 액세스 패턴으로 확장될 수 있다. 따라서, 본 발명은 컴퓨터 시스템 부트-업으로 단순히 제한되지 않는다.
바람직하게는, 상기 방법은 실질적으로 하드 디스크 드라이브(60)내에 집중되어 실행되고 프로세서(20)에 대해 맹백하므로, 본 발명의 방법을 실행하지 않는 이전 형태의 디스크 드라이브와 호환을 유지할 수 있다. 상기 방법의 사용은 실제로 상기된 로그가 우선 설정되는 이전 부트-업과 비교하여, 시스템(10)이 후속 부트-업시 보다 빠르게 부트-업할 수 있는 것을 결정할 수 있다.
비록 하나의 실행이 단지 제한된 지식 및 제한된 지능이 이전 부트-업 단계들에서 컴퓨터 시스템(10)내에서 이용 가능한 것을 함유하는 부트-업의 성질로 인해 보다 어려운 것으로 인식되지만, 프로세서(20)를 사용함으로써 적어도 부분적으로 상기 방법을 실행할 수 있다는 것이 본 발명자들에 의해 발견되었다.
본 발명은 부트-업 처리할 수 있는 컴퓨터 시스템의 형태를 포함하는 임의의 형태의 장치에 적당하다. 상기 장치는 소형 광 디스크 저장 메모리들(miniature optical disk storage memories)을 이용하는 디지털 카메라들 및 휴대용 오디오 비주얼 표현 장치(portable audio-visual presentation apparatus)에서, 예를 들어 사용자들에서 복잡한 오디오/비주얼 표현을 제공하는 상호작용 장난감들 같은 퍼스널 오디오 엔터테인먼트 장치에서 소형 광 디스크 데이터 저장 장치들을 가진 이동 전화들을 포함한다.
상기에서, 그리고 첨부된 청구항들과 관련하여, "포함하다(include)", "통합 하다(incorporate)", "내포하다(contain)", "구비하다(comprise)", "이다(is)" 및 "가지다(have)" 같은 표현들은 비 배타적으로 구성되고, 즉 여기에 명확하게 제공되지 않은 다른 아이템들 또는 구성요소들에 허용하는 것으로 구성된다.

Claims (11)

  1. 컴퓨터 시스템(10)에서 부트-업 속도(boot-up speed)를 증가시키는 방법에 있어서:
    (a) 데이터를 처리하기 위한 계산 수단(20), 및 상기 계산 수단(20)에 데이터를 제공하고 상기 계산 수단(20)으로부터 데이터를 수신하기 위해 상기 계산 수단(20)에 결합된 데이터 저장 수단(60)을 포함하도록 상기 시스템(10)을 구성하는 단계로서, 상기 저장 수단(60)은 적어도 하나의 데이터 매체(200)의 복수의 공간적으로 배치된 영역들에 데이터를 기록 및/또는 판독하도록 동작가능하고, 상기 공간 영역들 사이의 액세스는 하나 이상의 연관된 점프 지연들을 갖는, 상기 구성 단계;
    (b) 상기 적어도 하나의 데이터 매체(200)로부터 판독된 데이터를 일시적으로 저장하고 및/또는 상기 매체에 데이터를 기록하기 위하여 그 내부에 데이터 캐싱 수단(data caching means; 320)을 포함하도록 상기 저장 수단(60)을 구성하는 단계;
    (c) 상기 시스템(10)의 최초 부트-업시, 상기 적어도 하나의 데이터 매체(200)의 하나 이상의 공간적으로 배치된 영역들이 액세스되는 시간적 시퀀스의 적어도 하나의 로그(log)를 형성하는 단계; 및
    (d) 상기 시스템(10)의 하나 이상의 후속 부트-업시, 상기 하나 이상의 후속 부트-업을 가속화하기 위하여 상기 공간적으로 배치된 영역들의 액세싱의 시간적으로 보다 효율적인 시퀀스를 제공하도록 상기 적어도 하나의 데이터 매체(200)로부 터 판독된 데이터를 상기 데이터 캐싱 수단(310, 320)에 일시적으로 저장하기 위하여 상기 적어도 하나의 로그를 사용하는 단계를 포함하는, 부트-업 속도 증가 방법.
  2. 제 1 항에 있어서,
    상기 하나 이상의 후속 부트-업시, 상기 계산 수단에 의해 지시된 상기 공간적으로 배치된 영역들의 액세싱의 시퀀스가 상기 적어도 하나의 로그에 기록된 것에서 벗어날 때 상기 공간적으로 배치된 영역들을 액세스하기 위한 발견적 방법(heuristic approach)을 채택하도록 상기 시스템(10)을 구성하는 단계를 더 포함하는, 부트-업 속도 증가 방법.
  3. 제 1 항에 있어서,
    복수의 시간적 시퀀스들에 대응하는 몇몇 로그들이 있고, 상기 방법은 상기 시스템이 부트-업시 상기 시간적 시퀀스들 중 어느 것을 채택하기 위하여 선택하는가에 따라 상기 로그들 사이에서 스위칭하도록 상기 시스템(10)을 구성하는 다른 단계를 포함하는, 부트-업 속도 증가 방법.
  4. 제 3 항에 있어서,
    상기 시스템(10)은 부트-업을 실행할 때 상기 로그들 사이에서 동적으로 스위칭하도록 구성되는, 부트-업 속도 증가 방법.
  5. 제 1 항에 있어서,
    상기 저장 수단(60)은, 상기 데이터 캐싱 수단(320)을 실행하고, 상기 하나 이상의 로그들의 기록(recording)을 관리하고, 상기 시스템(10)의 부트-업에 응답하여 하나 이상의 시퀀스들을 실행하기 위하여 연관된 로컬 계산 수단(310)을 구비한 적어도 하나의 하드 디스크 드라이브(hard disk drive; HDD)로서 구현되는, 부트-업 속도 증가 방법.
  6. 보다 빠른 부트-업을 제공하도록 구성된 컴퓨터 시스템(10)에 있어서,
    (a) 상기 시스템(10)은 데이터를 처리하기 위한 계산 수단(20), 및 상기 계산 수단(20)에 데이터를 제공하고 상기 계산 수단(20)으로부터 데이터를 수신하기 위해 상기 계산 수단(20)에 결합된 데이터 저장 수단(60)을 포함하고, 상기 저장 수단(60)은 적어도 하나의 데이터 매체(200)의 복수의 공간적으로 배치된 영역들에 데이터를 기록하고 및/또는 판독하도록 동작가능하고, 상기 공간 영역들 사이의 액세스는 하나 이상의 연관된 점프 지연들을 가지며;
    (b) 상기 적어도 하나의 데이터 매체(200)로부터 판독된 데이터를 일시적으로 저장하고 및/또는 상기 데이터 매체에 데이터를 기록하기 위하여 그 내부에 데이터 캐싱 수단(310, 320)을 포함하고;
    (c) 상기 시스템(10)은 최초 부트-업시 상기 적어도 하나의 데이터 매체(200)의 하나 이상의 공간적으로 배치된 영역들이 액세스되는 시간적인 시퀀스의 적어도 하나의 로그를 형성하도록 동작가능하고; 및
    (d) 상기 시스템(10)은 하나 이상의 후속 부트-업시, 상기 하나 이상의 후속 부트-업들을 가속하기 위하여 상기 공간적으로 배치된 영역들의 액세싱의 시간적으로 보다 효율적인 시퀀스를 제공하도록 상기 적어도 하나의 데이터 매체(200)로부터 판독된 데이터를 상기 데이터 캐싱 수단(310, 320)에 일시적으로 저장하기 위하여 적어도 하나의 로그를 사용하도록 동작가능한, 컴퓨터 시스템(10).
  7. 제 6 항에 있어서,
    상기 시스템(10)은 또한 상기 하나 이상의 후속 부트-업시, 상기 계산 수단(20)에 의해 지시된 상기 공간적으로 배치된 영역들의 액세싱의 시퀀스가 상기 적어도 하나의 로그에 기록된 것에서 벗어날 때, 상기 공간적으로 배치된 영역들에 액세스하기 위한 발견적 방법을 채택하도록 동작가능한, 컴퓨터 시스템(10).
  8. 제 6 항에 있어서,
    복수의 시간적 시퀀스들에 대응하는 몇몇 로그들을 기록하도록 구성되고, 상기 시스템(10)이 부트-업시 시간적 시퀀스들 중 어느 것을 채택하기 위하여 선택하는가에 따라 상기 로그들 사이에서 스위칭하도록 구성되는, 컴퓨터 시스템(10).
  9. 제 8 항에 있어서,
    부트-업을 실행할 때, 상기 로그들 사이에서 동적으로 스위칭하도록 구성되 는, 컴퓨터 시스템(10).
  10. 제 6 항에 있어서,
    상기 저장 수단(60)은, 상기 데이터 캐싱 수단(310, 320)을 실행하고, 상기 하나 이상의 로그들의 기록을 관리하고, 상기 시스템(20)의 부트-업에 응답하여 하나 이상의 시퀀스들을 실행하기 위하여 연관된 로컬 계산 수단(310)을 구비한 적어도 하나의 디스크 드라이브(HDD)로서 구현되는, 컴퓨터 시스템(10).
  11. 보다 빠른 부트-업을 제공하기 위하여 컴퓨터 시스템(10)에 사용하기 위한 하드 디스크 드라이브(60)에 있어서,
    (a) 상기 시스템(10)은 데이터를 처리하기 위한 계산 수단(20), 및 상기 계산 수단(20)에 데이터를 제공하고 상기 계산 수단(20)으로부터 데이터를 수신하기 위해 상기 계산 수단(20)에 결합된 상기 디스크 드라이브(60)를 포함하고, 상기 디스크 드라이브(60)는 적어도 하나의 데이터 매체(200)의 복수의 공간적으로 배치된 영역들에 데이터를 기록하고 및/또는 판독하도록 동작가능하고, 상기 공간 영역들 사이의 액세스는 하나 이상의 연관된 점프 지연들을 가지고;
    (b) 상기 디스크 드라이브(60)는 상기 적어도 하나의 데이터 매체(200)로부터 판독된 데이터를 일시적으로 저장하고 및/또는 상기 데이터 매체(200)에 데이터를 기록하기 위해 그 내부에 데이터 캐싱 수단(310, 320)을 포함하고;
    (c) 상기 시스템(10)은 최초 부트-업시 상기 적어도 하나의 데이터 매체(20) 의 하나 이상의 공간적으로 배치된 영역들이 액세스되는 시간적인 시퀀스의 적어도 하나의 로그를 형성하도록 동작가능하고; 및
    (d) 상기 시스템(10)은 하나 이상의 후속 부트-업시, 상기 하나 이상의 후속 부트-업들을 가속하기 위하여 상기 공간적으로 배치된 영역들의 액세싱의 시간적으로 보다 효율적인 시퀀스를 제공하도록 상기 적어도 하나의 데이터 매체(200)로부터 판독된 데이터를 상기 데이터 캐싱 수단(310, 320)에 일시적으로 저장하기 위하여 상기 적어도 하나의 로그를 사용하도록 동작가능한, 하드 디스크 드라이브.
KR1020067014644A 2004-01-21 2005-01-03 부트-업 속도를 증가시키는 방법 KR20070008548A (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
EP04100183.5 2004-01-21
EP04100183 2004-01-21

Publications (1)

Publication Number Publication Date
KR20070008548A true KR20070008548A (ko) 2007-01-17

Family

ID=34802668

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020067014644A KR20070008548A (ko) 2004-01-21 2005-01-03 부트-업 속도를 증가시키는 방법

Country Status (6)

Country Link
US (1) US20080256295A1 (ko)
EP (1) EP1709532A1 (ko)
JP (1) JP2007526556A (ko)
KR (1) KR20070008548A (ko)
CN (1) CN1910552A (ko)
WO (1) WO2005071538A1 (ko)

Families Citing this family (35)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7669044B2 (en) * 2006-09-29 2010-02-23 Microsoft Corporation Accelerated system boot
US20080320217A1 (en) * 2007-06-22 2008-12-25 Levine Frank E Executing I/O Requests For A Disk Drive
JP4795378B2 (ja) * 2008-04-01 2011-10-19 レノボ・シンガポール・プライベート・リミテッド コンピュータおよびブート方法
US8230208B2 (en) * 2009-04-20 2012-07-24 Intel Corporation Booting an operating system of a system using a read ahead technique
US8443167B1 (en) 2009-12-16 2013-05-14 Western Digital Technologies, Inc. Data storage device employing a run-length mapping table and a single address mapping table
US20110225408A1 (en) * 2010-03-10 2011-09-15 Ren Guo Cache boot mechanism
US8194340B1 (en) 2010-03-18 2012-06-05 Western Digital Technologies, Inc. Disk drive framing write data with in-line mapping data during write operations
US8699185B1 (en) 2012-12-10 2014-04-15 Western Digital Technologies, Inc. Disk drive defining guard bands to support zone sequentiality when butterfly writing shingled data tracks
US8693133B1 (en) 2010-03-22 2014-04-08 Western Digital Technologies, Inc. Systems and methods for improving sequential data rate performance using sorted data zones for butterfly format
US8856438B1 (en) 2011-12-09 2014-10-07 Western Digital Technologies, Inc. Disk drive with reduced-size translation table
US9330715B1 (en) 2010-03-22 2016-05-03 Western Digital Technologies, Inc. Mapping of shingled magnetic recording media
US8687306B1 (en) 2010-03-22 2014-04-01 Western Digital Technologies, Inc. Systems and methods for improving sequential data rate performance using sorted data zones
US8656149B2 (en) 2010-06-07 2014-02-18 International Business Machies Corporation Rapid activation of service management processor subsystem for server device
US8621133B1 (en) 2010-06-29 2013-12-31 Western Digital Technologies, Inc. Reading multiple metadata files across multiple tracks
WO2012036665A1 (en) * 2010-09-13 2012-03-22 Hewlett-Packard Development Company, L.P. Operating speed of a component
US8756361B1 (en) 2010-10-01 2014-06-17 Western Digital Technologies, Inc. Disk drive modifying metadata cached in a circular buffer when a write operation is aborted
US8954664B1 (en) 2010-10-01 2015-02-10 Western Digital Technologies, Inc. Writing metadata files on a disk
US8793429B1 (en) 2011-06-03 2014-07-29 Western Digital Technologies, Inc. Solid-state drive with reduced power up time
US8756382B1 (en) 2011-06-30 2014-06-17 Western Digital Technologies, Inc. Method for file based shingled data storage utilizing multiple media types
EP2557497A1 (en) * 2011-08-08 2013-02-13 Advanced Digital Broadcast S.A. Method for improving booting of a computing device
US9213493B1 (en) 2011-12-16 2015-12-15 Western Digital Technologies, Inc. Sorted serpentine mapping for storage drives
US8819367B1 (en) 2011-12-19 2014-08-26 Western Digital Technologies, Inc. Accelerated translation power recovery
US8612706B1 (en) 2011-12-21 2013-12-17 Western Digital Technologies, Inc. Metadata recovery in a disk drive
WO2014019117A1 (en) * 2012-07-30 2014-02-06 Hewlett-Packard Development Company, L. P. Booting printer
US9110677B2 (en) * 2013-03-14 2015-08-18 Sandisk Technologies Inc. System and method for predicting and improving boot-up sequence
CN103617009A (zh) * 2013-12-10 2014-03-05 北京奇虎科技有限公司 一种开机启动中通过缓存向磁盘写数据的方法和装置
US9082458B1 (en) 2014-03-10 2015-07-14 Western Digital Technologies, Inc. Data storage device balancing and maximizing quality metric when configuring arial density of each disk surface
CN103902041B (zh) * 2014-03-10 2018-04-27 联想(北京)有限公司 一种信息处理方法及电子设备
US8953269B1 (en) 2014-07-18 2015-02-10 Western Digital Technologies, Inc. Management of data objects in a data object zone
US9875055B1 (en) 2014-08-04 2018-01-23 Western Digital Technologies, Inc. Check-pointing of metadata
US10467015B2 (en) * 2015-09-08 2019-11-05 Dell Products, Lp Method for out of band device configuration deployment and system therefor
US10289421B2 (en) * 2017-02-17 2019-05-14 Dell Products, L.P. Booting of IHS from SSD using PCIe
CN112559055B (zh) * 2019-09-25 2023-12-26 阿里巴巴集团控股有限公司 一种计算机系统的启动方法及装置、电子设备、存储介质
US11467850B2 (en) * 2020-11-11 2022-10-11 Micron Technology, Inc. Computing device reboot
US11416263B1 (en) 2021-02-12 2022-08-16 Western Digital Technologies, Inc. Boosted boot procedure by background re-arrangement of read patterns

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2637788B2 (ja) * 1988-09-02 1997-08-06 株式会社日立製作所 ディスクキャッシュ制御方式および情報処理システム
US5235692A (en) * 1990-08-31 1993-08-10 International Business Machines Corporation Disk rotational position controls for channel operations in a cached peripheral subsystem
US5787482A (en) * 1995-07-31 1998-07-28 Hewlett-Packard Company Deadline driven disk scheduler method and apparatus with thresholded most urgent request queue scan window
JPH10124327A (ja) * 1996-10-16 1998-05-15 Nec Corp インストラクションキャッシュミス率削減方法
JP3159118B2 (ja) * 1997-04-18 2001-04-23 日本電気株式会社 ライトバックデータ選択方法及びプログラムを記録した機械読み取り可能な記録媒体
US6047363A (en) * 1997-10-14 2000-04-04 Advanced Micro Devices, Inc. Prefetching data using profile of cache misses from earlier code executions
US6539456B2 (en) * 1999-10-13 2003-03-25 Intel Corporation Hardware acceleration of boot-up utilizing a non-volatile disk cache

Also Published As

Publication number Publication date
US20080256295A1 (en) 2008-10-16
JP2007526556A (ja) 2007-09-13
EP1709532A1 (en) 2006-10-11
WO2005071538A1 (en) 2005-08-04
CN1910552A (zh) 2007-02-07

Similar Documents

Publication Publication Date Title
KR20070008548A (ko) 부트-업 속도를 증가시키는 방법
JP4806689B2 (ja) インスタントプレイが可能なメディアプレーヤー
KR101347285B1 (ko) 하드디스크 드라이브의 선반입 방법, 이에 적합한 기록매체 그리고 이에 적합한 장치
CN100362462C (zh) 磁盘阵列缓存的管理方法
US20090132621A1 (en) Selecting storage location for file storage based on storage longevity and speed
US7590799B2 (en) OSD deterministic object fragmentation optimization in a disc drive
RU2005132448A (ru) Использование внешних устройств памяти для улучшения производительности системы
TW200540806A (en) Data storage device, control method thereof and magnetic disk storage device
US8433847B2 (en) Memory drive that can be operated like optical disk drive and method for virtualizing memory drive as optical disk drive
JPH07219848A (ja) キャッシュ制御システム
JP3568110B2 (ja) キャッシュメモリの制御方法、コンピュータシステム、ハードディスクドライブ装置およびハードディスク制御装置
CN103617133A (zh) 一种Windows系统中虚拟内存压缩方法和装置
WO2007099421A2 (en) Cache feature in electronic devices
US6233664B1 (en) Apparatus and method for swapping contents between main memory and auxiliary memory and web video phone adopting the apparatus
US7600062B2 (en) Method and apparatus for micro-code execution
JP6529678B2 (ja) アプリケーションの実行を加速する方法及びデバイス
TW201435579A (zh) 用於從作業系統安裝映像檔的快照啓動多個伺服器之系統與方法
US20060136674A1 (en) Buffering apparatus and buffering method using ring buffer
US7415592B2 (en) Ring-buffer based buffering apparatus and method of using memory apparatus
KR20010069857A (ko) 펌웨어 업그레이드가 가능한 휴대용 재생 장치 및 방법
CN100468545C (zh) 旋转记录介质驱动设备的驱动方法及带该设备的电子设备
KR101677372B1 (ko) 디스크 블록 요청 예측 장치 및 방법
JP2022172698A (ja) 情報処理装置、情報処理システム、および情報処理方法
TW201506790A (zh) 系統開機方法以及開機系統
JPH10105445A (ja) 記憶装置

Legal Events

Date Code Title Description
WITN Application deemed withdrawn, e.g. because no request for examination was filed or no examination fee was paid