KR100246870B1 - 디스크 구동 제어 방법 및 장치 - Google Patents

디스크 구동 제어 방법 및 장치 Download PDF

Info

Publication number
KR100246870B1
KR100246870B1 KR1019960027411A KR19960027411A KR100246870B1 KR 100246870 B1 KR100246870 B1 KR 100246870B1 KR 1019960027411 A KR1019960027411 A KR 1019960027411A KR 19960027411 A KR19960027411 A KR 19960027411A KR 100246870 B1 KR100246870 B1 KR 100246870B1
Authority
KR
South Korea
Prior art keywords
disk
cache
data
computer system
access
Prior art date
Application number
KR1019960027411A
Other languages
English (en)
Other versions
KR970007642A (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 KR970007642A publication Critical patent/KR970007642A/ko
Application granted granted Critical
Publication of KR100246870B1 publication Critical patent/KR100246870B1/ko

Links

Classifications

    • 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/0804Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches with main memory updating
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Power Sources (AREA)

Abstract

[과제]
하드디스크의 전력 절약화, 하드디스크를 장착한 컴퓨터 시스템의 수행성능 및 데이터 보전성의 요구를 충족시킬 수 있는 디스크 구동 제어 방법 및 장치를 제공한다.
[해결 수단]
디스크 캐쉬를 갖는 컴퓨터 시스템에 장착된 디스크를 구동 제어하는 디스크 구동 제어 방법에 있어서, (a) 컴퓨터 시스템에서 디스크로 액세스되었는지를 검출하여 통지하는 액세스 검출 단계와, (b) 전번의 플러시이후 소정 시간(T2)이 경과한때만 상기 디스크 캐쉬를 플러시하는 제1플러시 단계와, (c) 상기 디스크 액세스의 통지를 받아 전번의 디스크 액세스이후 상기 소정 시간(T3 또는 T4)를 경과한때만 상기 디스크 캐쉬를 플러시하는 제2플러시 단계와, (d) 상기 디스크 액세스의 통지를 받아 전번의 디스크 액세스이후 상기 소정시간(T3 또는 T4)을 경과하기 전이라도 디스크 액세스 회수가 소정값(I 또는 J)에 도달한때 상기 디스크 캐쉬를 플러시하는 제3플러시 단계를 포함하는 것을 특징으로하는 디스크 구동 제어 방법.

Description

디스크 구동 제어 방법 및 장치
제1도는 본 발명의 실시예에 이용되는 컴퓨터 파일 구조를 도해한 도면.
제2도는 파워 매니저(power manager)(61)로 실현되는 하드디스크의 전력 절약 제어 루틴을 흐름도 나타낸 도면.
제3도는 파일 시스템에 착안하여 도해한 컴퓨터 시스템의 구조.
제4도는 디스크 캐쉬(disk cache)를 실행하기 위한 매카니즘을 도해한 도면.
* 도면의 주요부분에 대한 부호의 설명
10 : 컴퓨터 시스템 11, 21 : 파일 시스템
12, 22 : 서브 파일 시스템 A 13, 23 : 서브 파일 시스템 B
14, 15 : 디스크 캐쉬 (disk cache)
16, 26 : 하드디스크용 디바이스 드라이버
17, 27 : 네트워크 카드용 디바이스 드라이버
17′ : TCP/IP
18 : 하드디스크 (로럴 디스크)
19, 29 : 네트워크 카드 (network card)
20 : 다른 컴퓨터 시스템 28 : 하드디스크 (리모트 디스크)
30 : 네트워크
41, 42 : 응용 프로그램 (application program)
51 : 동기 (sync) 52 : 동기 대몬 (sync daemon)
61 : 파워 매니저 (power manager) 62 : PM 서버 (PM sever)
63 : PM 이벤트 핸들러 (PM event handler)
[발명의 목적]
[발명이 속하는 기술분야 및 그 분야의 종래기술]
본 발명은 디스크 캐쉬(disk cache)를 갖는 컴퓨터 시스템에 장착된 디스크를 구동 제어하기 위한 디스크 구동 제어 방법 및 장치에 관한 것이며, 특히 하드디스크 드라이브(HDD)의 모터를 적절하게 정지시키므로써 전력 절약화를 실행하는 타입의 디스크 구동 제어 방법 및 장치에 관한 것이다. 더욱 상세하게 설명하면, 본 발명은 하드디스크의 전력 절약화, 하드디스크를 포함하는 컴퓨터 시스템의 수행성능(performance) 및 데이터 보전성(date security)과 같은 다양한 요구를 충족시킬 수 있는 디스크 구동 제어 방법 및 장치에 관한 것이다.
[종래 기술]
오늘날, 기술 혁신으로 인해 데스크탑(desktop)형, 노트북형등 각종 퍼스널 컴퓨터(PC)가 개발되어 시판되고 있다.
컴퓨터 기본 구조는 CPU(Central Processing Unit) 및 메모리이다.
즉, CPU는 메모리를 액세스하여 사용자가 요구하는 테스크(task)를 실행한다. 메모리에는 일반적으로 응용 프로그램(application program, AP), 운영시스템(operating system, OS) 및 CPU에 의해 실행되는 각종 프로그램이 로딩(loading)되어 있고 또한 CPU용 작업 데이터(wark data)가 기억되어 있다. 그러나, 이와 같은 메모리는 DREM과 고가의 휘발성 반도체 메모리 디바이스이스(volatile semiconductor memory device)를 사용하기 때문에, 기억 용량이 제한 (수MB - 수십MB)된다. 그러므로, 통상 컴퓨터 시스템에는 보조 메모리(auxiliary memory) 디바이스로서 비휘발성이면서 대용량인 외부 메모리 디바이스(external memory device)(DASD라 칭함)가 설치되어 있다. 오늘날 가장 대중적인 외부 메모리 디바이스들중 하나로서 하드디스크(hard disk)(또는 하드디스크 드라이브(Hard Disk Drive, HDD))를 들 수 있다. 1993년에서 1994년에 걸쳐서, HDD에 대한 기록 밀도(recording density) 및 처리 속도(processing speed)는 크게 증대되었고, 심지어 1GB 용량을 갖는 HDD의 구입비용은 상당히 절감되었다.
컴퓨터 시스템의 하드디스크로의 액세스(즉, 데이터 및 프로그램의 입, 출력)는 통상적으로 운영 시스템의 커넬 영역(kernel area)에 상주하는 파일 시스템(file system)의 제어하에서 동작된다. 일반적으로, 컴퓨터 시스템에 의해 사용되는 하드디스크형은 컴퓨터 시스템 자체의 표준 또는 옵션(option)으로서 설치된 “로컬 디스크(local disk)” 및 네트워크를 통해서 액세스되는 다른 컴퓨터 시스템에 설치된 “리모트 디스크(remote disk)”(리모트 디스크는 다른 컴퓨터 시스템의 로컬 디스크이다)로 구별된다.
[컴퓨터 파일 시스템]
지금부터 컴퓨터내에서의 데이터 입, 출력을 제어하는 파일 시스템이 간략하게 서술될 것이다. 제3도는 주로 파일 시스템을 관찰하므로써 컴퓨터 시스템(100)의 구조(architecture)를 도시한 것이다.
제3도에서, 실행중인 응용 프로그램(41, 또는 42)이 하드디스크(HDD)(18 또는 28)를 액세스할 때, 파일 시스템(11)이 호출(call)된다. 응용 프로그램 자체는 액세스 요청지(destination of an acess request)가 로컬 디스크(18)인지 또는 리모트 디스크(28)인지를 인식할 필요가 없다. 만일 액세스 요청지가 로컬 디스크(18)이면, 파일 시스템(11)은 시스템 호출을 하위(lower) 서브 파일 시스템(A12)으로 재지정(redirect)시킨다. 시스템(10)내의 로컬 디스크(18)의 액세스를 제어하는 파일 시스템인 서브 파일 시스템(A12)은 HDD 디바이스 드라이브(D/D)를 통해서 하드디스크(18)를 동작시키는 하드웨어를 사용한다. 서브 파일 시스템(A12)의 구체적인 예로서 “JFS(Journal File System)”을 들 수 있다. 액세스 요청지가 네트워크(예를 들어, LAN)를 통해서 접속되는 다른 시스템의 하드디스크(즉, 리모트 디스크)(28)일 때, 파일 시스템(11)은 시스템 호출을 서브 파일 시스템(B13)으로 재지정시킨다. 서브 파일 시스템(B13)은 리모트 디스크(28)를 마치 로컬 디스크처럼 상위(upper) 소프트웨어로 향하게 하고 네트워크를 통해 접속되는 다른 시스템(20)상의 서브 파일 시스템과 관련하여 트렌스패런트(transparent)(즉, 응용 프로그램 및 데이터를 공유할 수 있음)하게 하는 파일 시스템이다. 서브 파일 시스템B의 구체적인 예로서 미국 선 마이크로 시스템즈(SUN MICROSYSTEMS)사기 제공하는“NFS(Network File System)”을 들 수 있다. 서브 파일 시스템 (B13)은 카드 디바이스 드라이버(card device driver)(17)로 네트워크 접속용으로 사용되는 네트워크 카드(network card)(19)와 같은 하드웨어를 조작하여 다른 시스템(20)의 네트워크 카드(29) 및 네트워크 카드 디바이스 드라이버(27)를 통해서 리모트 디스크(28)를 액세스한다. 서브 파일 시스템B 및 네트워크 카드 디바이스 드라이버간에“TCP/IP(Transmission Control Protocol/Internet Protocol)”와 같은 프로토콜이 존재할 수 있다.
제3도에서 참조 번호(14 또는 15)로 도시된 블록은 소위 디스크 캐쉬(disk cache)이다. 디스크 캐쉬는 메모리로의 액세스 시간 및 하드디스크로의 액세스 시간간의 속도차를 흡수(adsord)하여 컴퓨터 본체 및 하드디스크간의 데이터 교환 속도/수행성능을 개선시킨다. CPU가 점점 파워업되고 고속으로 되는 반면에, 디스크 액세스 속도를 고속으로 하는 데에는 탐색 동작(seek operation)등의 기계적인 제어를 포함하기 때문에 한계가 있다. 이러한 이유로, 수많은 컴퓨터 시스템에 디스크 캐쉬가 채용되고 있다.
[디스크 캐쉬]
디스크 캐쉬가 간략하게 서술될 것이다.
디스크 캐쉬는 물리적으로 메모리의 일부를 할당받는 것이고 통상적으로 각 파일 시스템의 작업 영역에 위치된다. 디스크 캐쉬의 기본 원리는 CPU 및 메모리간에 위치되는 캐쉬 메모리의 기본 원리와 거의 동일하다. 캐쉬 히트(cache hit)의 경우에, 응용 프로그램은 디스크(실제로는 메모리)에만 액세스하므로 디스크 자체를 직접적으로 액세스 한 필요성은 상당히 감소된다.
데이터 판독(READ) 액세스의 경우, 하드디스크로부터 일단 판독된 데이터는 디스크 캐쉬에 기억되므로, 이 데이터를 후에 하드디스크로부터 다시 판독할 필요가 없다.
데이터 기록(WRITE) 액세스의 경우, 하드디스크의 데이터를 매번 갱신하지 않아도 되는 “write back”방법 및 디스크 캐쉬 및 하드디스크상의 데이터를 갱신하는 “write through” 방법이 있다. “write back”방법에 따르면, 기록 동작은 새로운 데이터를 디스크(실제로는 메모리)에 기록하는 것만으로 완료되고 응용 프로그램은 다음 작업(예를 들어, 대화 상자(dialogue box)를 사용자에게 표시)을 즉각적으로 시작된다. 한편, “write through” 방법에 의하면, 디스크 액세스는 데이터가 갱신될 때마다 동작되므로 시스템(10)의 수행성능은 양호하게 되지 않는다. 따라서 많은 경우에, “write back” 방법은 디스크 캐쉬(예를 들어, UNIX또는 OS/2(“OS/2”는 IBM사의 상표이다)와 같은 운영시스템은 “write back” 방법을 사용한다.)에 대해 사용된다. 상기 “write back” 방법에 의하면, 데이터 기록동작에는 디스크를 액세스할 필요가 없다.
또한, 응용 프로그램은 데이터 및 기록하는 동안 해당 데이터가 디스크 캐쉬에 있는지 여부를 인식한 필요가 없다. 즉. 응용 프로그램은 단지 파일 시스템만을 호출하면 된다.
[캐쉬 플래시(cache flush)]
“write back” 방법에 의하면, 갱신된 데이터는 디스크 캐쉬에 기록되지만 하드 디스트상에 기록되지 않는다. 이러한 이유로, 디스크 캐쉬 및 하드 디스트간의 데이코 코히어런시(coherency)는 유지되지 않는다. 그러므로, 인코히런트한 데이터를 보전(즉, 예측되지 않은 사태로 인한 데이터의 손실을 방지)하기 위하여 캐쉬로부터 하드디스크로 갱신된 데이터를 기록하는 작업이 필요로 된다. 이 작업을 “캐쉬 플러시(cache flush)”(또는 간단히 플러시라 칭함)라 칭한다.
제4도는 캐쉬 플러시를 수행하는 매카니즘을 도시한 것이다. 동기 루틴(sync routine)(51)은 파일 시스템을 대신하여 캐쉬 플러시를 수행하는 프로그램이다. 동기 루틴(51)은 커넬 영역에 상주하는 실시간 라이브러리들(run time libraries)중 하나이고 캐쉬 플러시 기능을 포함한다.
또한, 제4도에서 “동기 대몬(sync daemon)”이라고 칭하는 프로그램(52)은 사용자 영역에 상주하고 소정 시간 간격(예를 들면, 1분 또는 30초)에서 동기 루틴(51)을 호출하는 프로그램이다.
동기 대본(52)은 주기적으로 시스템 루틴을 호출한다. 동기 루틴(51)은 데이터를 갱신하는 디스크 캐쉬(14 및 15)중에서 “더티(dirty)”캐쉬 라인을 각 하드디스크(18-1 및 18-2)에 플러시한다. 각 캐쉬 라인상의 TAG 메모리를 검사하여 데이터가 갱신되었는지 여부(즉, 데이터가 하드디스크상의 데이터와 인코히런트한지 여부)를 결정한다. 캐쉬 플러시의 실행은 특히 변경되는 데이터가 많을 때 더욱 효율적으로 수행된다. 플래시를 실행하는 하드디스크(18 또는 28)에 대한 실제 하드웨어 동작은 하드디스크(18-1, 18-2,..,)의 디바이스 드라이버(16 및 17)로 수행된다.
[데이터 보전성(data security)]
현재 UNIX와 같은 고수행성능의 운영 시스템에서, 높은 데이터의 보전성(data security)을 실현하기 위한 각종 아이디어가 실행되고 있다.
예를 들면, 파일 시스템은 응용 프로그램이 디스크 액세스를 요청할때마다 “로그(log)”에 트랜잭션 데이터(transaction data)를 기록한다. 이 트랜잭션 데이터는 액세스 시간등으로 이루어져 있고 한 섹터에서 기껏해야 1바이트 정도의 크기이다. 로깅은 트랜잭션 데이터를 디스크 캐쉬 플러시의 시간에서 하드디스크상에 기록된다. 예를 들어, 예측할 수 없는 전원 정지등에 의한 경우, 디스크 액세스의 히스토리는 트랜잭션 데이터로부터 유추될 수 있기 때문에 로그는 손실된 데이터 회복에 매우 유용하다.
데이터 일관성 보전이라는 본래의 목적을 위하여, 응용 프로그램이 실제 디스크 액세스를 요청할 때에만 트랜잭션 데이터는 로깅될 필요가 있다. 데이터 액세스가 실제 디스크 액세스에 의해 수행되는지 또는 디스크 캐쉬 액세스에 의해 수행되는지 여부를 파일 시스템이 결정할 수 없기 때문에, 트랜잭션 데이터는 데이터 액세스가 발생될 때마다 로깅되어야 한다. 따라서, 요청된 데이터 액세스가 간단히 실행 시간(run time)라이브러리를 호출하고 데이터 일관성에 영향을 미치지 않을 때조차도 트랜잭션 데이터는 로깅되어 버린다.
상술한 동기 대몬(52)에 의해 동기 루틴(51)을 주기적으로 호출하는 것은 라이브러리 호출의 일종이다. 동기 루틴(51) 자체는 작은 프로그램으로서 디스크 캐쉬상에 계속 상주하는 경우가 많다. 즉, 동기 대몬(52)에 의한 동기 루틴(51)의 호출이 형식적인 디스크 액세스일지라도, 트랜잭션 데이터는 로깅된다. 트랜잭션 데이터는 데이터를 디스크 캐쉬에 기록하므로써 로깅되기 때문에, 디스크 캐귀는 이와 같은 로깅에 의래 갱신되어 더티(dirty)하게 된다. 동기 루틴(51)은 더티한 디스크 캐쉬를 플러시하기 위해 호출되는 것이지만. 디스크 캐쉬가 더티하게 되지 않을 때라도 동기 대몬(52)에 의해 호출되는 동기 루틴(51)에 의해 간단히 더티하게 되러 불필요하게 캐쉬 플러시한다. 더티한 데이터가 많을 때에 캐쉬 플러시를 수행하는 편이 효율적이라는 것은 말할 필요도 없다. 상술된 작은 양의 트랜잭션 데이터를 위한 불필요한 캐쉬 플러시는 컴퓨터 시스템의 수행성능을 저하시킨다.
(주)
*디스크 캐쉬 : 본 기술 분야에서, “디스크 캐쉬”는 파일 시스템이 자신의 작업 영역에서 제어되는 주 메모리에 할당되는 특정 영역일 수 있고 또한 하드디스크 드라이브 유닛내에 제공되는 버퍼 메모리일 수 있다. 다만, 본 명세서에서 디스크 캐쉬는 전자를 의미한다.
**“Daemon” : “대몬”이란 사용자 영역에 로딩되고 항상 응용 프로그램의 백그라운드(background)에서 동작하는 프로그램의 일반 명칭이다. 본 명세서에서 대본은 소정 시간 간격으로 특정 작업을 호출하는 프로그램이다.
[발명이 이루고자 하는 기술적 과제]
그런데, 최근에 퍼스널 컴퓨터에 대한 전력 소모를 감소시키고자 하는 요구가 점점 증대되고 있다. 노트북 PC의 경우. 이와 같은 요구는 내장 배터리 팩(pack)의 지속 시간을 연장시켜야만 한다는 것에 기인하며, 데스크탑 PC의 경우, 에너지원이 유한하다라는 생태학적인 관점에 의한 것이다. 예컨대, 미국 환경 보호청(EPA)은 “Energy Star”라 칭하는 에너지 절약을 위한 자기 규제 프로그램(selp-imposed program)을 발표하였고 절전 기능의 장비를 데스크탑 PC에 장착할 것을 권장하고 있다.
PC의 전력 절약화는 PC 내부의 각 전기 회로의 전력 소모를 감소시키는 것과 더불어 PC 내부에 수용된 전기 회로나 주변 디바이스가 덜 사용중일 때 이들에 대한 전력 공급을 적절하게 저하 또는 차단시키므로써 실현된다. 후자의 것을 특히 “파워 매니지먼트(power management)”라고 칭한다. 이전의 디스크 액세스후 소정 시간이 경과했을 때 디스크 드라이브 모터를 정지시키는(즉, HDD가 소정 시간동안 계속해서 아이들(idle) 상태로 있음) “HDD 오프”는 파워 매니지먼트의 대표적인 예이다. (다만, 디스크 드라이브용 디스크 회전 모터 및 자기 헤드 슬라이더 모터 두 개의 모터가 있지만, 본원에서 “모터”라고 하는 것은 두 개의 모터중 특히 전자를 가리킨다.
그런데, UNIX와 같은 고기능의 운영 시스템에서, 실제 디스크 액세스 요청이 응용 프로그램에 의해 소정 시간동안 행해지지 않았는데에도 하드디스크를 멈출 수 없는 기이한 현상이 초래되었다. 왜냐하면 동기 루틴(51)이 동기 대몬(52)에 의해서 단시간 간격(예컨대 1분 또는 30초)으로 호출될 때마다 트랜잭션 데이터가 로깅되기 때문이다. 이 결과, 실제로는 데이터의 재기록이 없더라도 디스크 캐쉬는 더티하게 되어 버린다(상술). 하드디스크가 실제로 아이들 상태가 되어도, 동기 대몬(52)은 주기적으로 동기 루틴(51)을 호출하고 이에 따라 하드디스크는 다시 작동하게 된다.
캐쉬 플러시는 디스크 캐쉬에 더티한 데이터양이 증가되는 시간에서 수행하는 편이 효율적이지만, 디스크 캐쉬가 단지 트랜잭션 데이터를 로깅하므로써 더티하게 되는 경우, 캐쉬 플래시 동작이 효율적으로 되지 날아 컴퓨터 시스템의 수행성능을 저하시킨다.
이와 같은 문제를 손쉽고 직접적으로 해결하는 방법의 하나는 동기 대몬이 호출되는 시간 간격을 길게 하는 것이다. 그러나, 캐쉬 플러시 간격을 길게 했을 때, 디스크 캐쉬의 더티한 데이터는 장 시간동안 하드디스크상에서 갱신되지 않고, 따라서 데이터 일관성은 유지되지 않는다. 특히 예측할 수 없는 사태로 전원이 차단된 경우의 손상은 대단히 크다. 또 다른 해결책으로서, 현재 및 장래 컴퓨터 시스템에 요구되는 데이터 일관성 관점에서 이들 해결책 모두 유사한 위험성을 가진다.
또한 , 하드디스크의 전력 절약화에 관한 유사한 문제는 예를 들어 닛케이 일렉트로닉스, 1994년 7월 4일호(NO.612) 98페이지에 언급되어 있다.
본 발명의 다른 목적은 하드디스크 드라이브 모터를 적절하게 정지시키므로써 전력 절약화를 실현하는 디스크 구동 제어 방법 및 장치를 제공하는 것이다.
본 발명의 또 다른 목적은 하드디스크의 전력 절약화와 데이터 보전성의 두가지 요구를 충족시킬 수 있는 디스크 구동 제어 방법 및 장치를 제공하는 것이다.
본 발명의 또 다른 목적은 디스크 캐쉬를 최적의 타이밍에서 플러시시키는 디스크 구동 제어 방법 및 장치를 제공하는 것이다.
[발명의 구성 및 작용]
본 발명은 상기 과제를 고려하여 이루어진 것으로 본 발명의 제1특징은 디스크 캐쉬를 갖는 컴퓨터 시스템에 설치된 디스크 구동 제어하는 디스크 구동 제어 방법에 있어서, (a) 컴퓨터 시스템에서 디스크를 액세스하였는지를 검출하여 통지하는 액세스 검출 단계와, (b) 전번의 플러시이후 소정 시간(T2)이 경과한 때만 상기 디스크 캐쉬를 플러시하는 제1플러시 단계와, (c) 디스크 액세스의 통지를 받아 제1디스크 액세스이후 소정 시간(T3 또는 T4)을 경과한 때만 상기 디스크 캐쉬를 플러시하는 제2플러시 단계와, (d) 디스크 액세스의 통지를 받아 전번의 디스크 액세스이후 소정시간(T3 또는 T4)을 경과하기 전이라도 디스크 액세스 회수가 수정값(I 또는 J)에 도달한 때 상기 디스크 캐쉬를 플러시하는 제3플러시 단계를 포함하는 것을 특징으로 하는 디스크 구동 제어 방법이다.
본 발명의 제2특징을 따르면, 디스크 캐쉬를 갖는 컴퓨터 시스템에 설치된 디스크를 구동 제어하는 디스크 구동 제어 방법에 있어서, (a) 컴퓨터 시스템에서 디스크를 액세스하였는지를 검출하여 통지하는 액세스 검출 단계와, (b)상기 액세스 검출 수단으로부터 통지를 받아 전번의 디스크 액세스이후 소정 시간(T3 또는 T4)을 경과한 때만 상기 디스크 캐쉬를 플러시하는 제2플러시 단계와, (c) 상기 액세스 검출 수단으로부터 통지를 받아 전번의 디스크 액세스이후 소정 시간(T3 또는 T4)을 경과하기 전이라도 디스크 액세스 회수가 수정값(I 또는 J)에 도달한 때는 상기 디스크 캐쉬를 플러시하는 제3플러시 단계를 포함하는 것을 특징으로 하는 디스크 구동 제어 방법이다.
본 발명의 제3특징에 따르면, 디스크 캐쉬를 갖는 컴퓨터 시스템에 설치된 디스크를 구동 제어하는 디스크 구동 제어 방법에 있어서, (a) 컴퓨터 시스템에서 디스크를 액세스하였는지를 검출하여 통지하는 액세스 검출 단계와, (b)상기 액세스 검출 수단으로부터 통지를 받아 전번의 디스크 액세스이후 소정 시간(T3 또는 T4)을 경과한 때만 상기 디스크 캐쉬를 플러시하는 제2플러시 단계를 포함하는 것을 특징으로 하는 디스크 구동 제어 방법이다.
본 발명의 제4특징을 따르면, 디스크 캐쉬를 갖는 컴퓨터 시스템에 설치된 디스크를 구동 제어하는 디스크 구동 제어 방법에 있어서, (a) 컴퓨터 시스템에서 디스크를 액세스하였는지를 검출하여 통지하는 액세스 검출 단계와, (b)상기 액세스 검출 수단으로부터 통지를 받아 전번의 디스크 액세스이후 소정 시간(I 또는 J)을 경과한 때만 상기 디스크 캐쉬를 플러시하는 제3플러시 단계를 포함하는 것을 특징으로 하는 디스크 구동 제어 방법이다.
본 발명의 제5특징을 따르면, 디스크 캐쉬를 갖는 컴퓨터 시스템에 설치된 디스크를 구동 제어하는 디스크 구동 제어 방법에 있어서, (a) 컴퓨터 시스템에서 디스크를 액세스하였는지를 검출하여 통지하는 액세스 검출 단계와, (b) 전번의 클러시이후 고정 시간(T2)을 경과한 때만 상기 디스크 캐쉬를 플러시하는 제1플러시 단계를 포함하는 것을 특징으로 하는 디스크 구동 제어 방법이다.
본 발명의 제6특징을 따르면, 디스크 캐쉬를 갖는 컴퓨터 시스템에 설치된 디스크를 구동 제어하는 디스크 구동 제어 방법에 있어서, (a) 컴퓨터 시스템에서 디스크를 액세스하였는지를 검출하여 통지하는 액세스 검출 단계와, (b)상기 디스크 캐쉬를 플러시하는 플러시 수단과, (c)전번의 플러시이후 소정 시간(T2)을 경과한때만 상기 플러시 수단이 상기 디스크 캐쉬를 플러시 시키도록 하는 제1플러시 강제 수단(flush forcing means)과, (d) 상기 액세스 검출 수단으로부터 통지를 받아 전번의 디스크 액세스이후 소정 시간(T3 또는 T4)을 경과한 때만 상기 플러시 수단에 상기 디스크 캐쉬를 플러시시키는 제2플러시 강제 수단과, (e) 상기 액세스 검출 수단으로부터 통지를 받아 전번의 디스크 액세스이후 소정 시간(T3 또는 T4)을 경과하기 전이라도 디스크 액세스 회수가 소정값(I 또는 J)에 도달한 때는 상기 플러시 수단이 상기 디스크 캐쉬를 플러시시키도록 하는 제3플러시 강제 수단을 포함하는 것을 특징으로 하는 디스크 구동 제어 방법이다.
본 발명의 제7특징을 따르면, 디스크 캐쉬를 갖는 컴퓨터 시스템에 설치된 디스크를 구동 제어하는 디스크 구동 제어 방법에 있어서, (a) 컴퓨터 시스템에서 디스크를 액세스하였는지를 검출하여 통지하는 액세스 검출 단계와, (b)상기 디스크 캐쉬를 플러시하는 플러시 수단과, (c) 상기 액세스 검출 수단에서 통지를 받아 전번의 디스크 액세스이후 소정시간 (T3 또는 T4)을 경과한때만 상기 플러시 수단이 상기 디스크 캐쉬를 플러시 시키도록 하는 제2플러시 강제 수단과, (d) 상기 액세스 검출 수단으로부터 통지를 받아 전번의 디스크 액세스이후 소정 시간(T3 또는 T4)을 경과하기 전이라도 디스크 액세스 회수가 소정값(I 또는 J)에 도달한 때는 상기 플러시 수단이 상기 디스크 캐쉬를 플러시시키도록하는 제3플러시 강제 수단을 포함하는 것을 특징으로 하는 디스크 구동 제어 장치이다.
본 발명의 제8특징을 따르면, 디스크 캐쉬를 갖는 컴퓨터 시스템에 설치된 디스크를 구동 제어하는 디스크 구동 제어 방법에 있어서, (a) 컴퓨터 시스템에서 디스크를 액세스하였는지를 검출하여 통지하는 액세스 검출 단계와, (b)상기 디스크 캐쉬를 플러시하는 플러시 수단과, (c) 상기 액세스 검출 수단에서 통지를 받아 전번의 디스크 액세스이후 소정시간 (T3 또는 T4)을 경과한때만 상기 플러시 수단이 상기 디스크 캐쉬를 플러시시키도록 하는 제2플러시 강제 수단을 포함하는 것을 특징으로 하는 디스크 구동 제어 방법이다.
본 발명의 제9특징을 따르면, 디스크 캐쉬를 갖는 컴퓨터 시스템에 설치된 디스크를 구동 제어하는 디스크 구동 제어 방법에 있어서, (a) 컴퓨터 시스템에서 디스크를 액세스하였는지를 검출하여 통지하는 액세스 검출 단계와, (b)상기 디스크 캐쉬를 플러시하는 플러시 수단과, (c) 상기 액세스 검출 수단에서 통지를 받아 전번의 디스크 액세스회수가 소정값(I 또는 J)에 도달한 때는 상기 플러시 수단이 상기 디스크 캐쉬를 플러시시키도록 하는 제3플러시 강제 수단을 포함하는 것을 특징으로 하는 디스크 구동 제어 방법이다.
본 발명의 제10특징을 따르면, 디스크 캐쉬를 갖는 컴퓨터 시스템에 설치된 디스크를 구동 제어하는 디스크 구동 제어 방법에 있어서, (a) 컴퓨터 시스템에서 디스크를 액세스하였는지를 검출하여 통지하는 액세스 검출 단계와, (b)상기 디스크 캐쉬를 플러시하는 플러시 수단과, (c) 전번의 플러시로부터 소정 시간(T2)을 경과한때만 상기 플러시 수단이 상기 디스크 캐쉬를 플러시시키도록 하는 제1플러시 강제 수단을 포함하는 것을 특징으로 하는 디스크 구동 제어 방법이다.
또한, 본 발명의 제1내지 제10의 각 특징으로 따른 디스크 구동 제어 방법 및 장치에서, 최후의 디스크 액세스이후 소정 시간(T1)을 경과할 때 상기 디스크 회전 모터를 정지시킨다.
그러므로, 본 발명에 의하면, 소전 시간(T2)을 적절한 길이로 설정하므로써 짧은 간격에서의 플러시를 피할 수 있다.
또한, 최후 디스크 액세스 이후 소정의 시간(T3 또는 T4)이 경과되기까지는 플러시되지 않기 때문에 불필요한 디스크 액세스는 제거된다. 최후 디스크 액세스 이후 소정 시간(T3 또는 T4)이 경과되었다면 또는 소정 시간(T3 또는 T4)동안 디스크 액세스 카운터가 소정 임계값(I 또는 J)을 초과하고 캐쉬에서의 데이터 불일치가 증가(즉 더티 데이터의 양이 증가)했을 때, 캐쉬는 데이터 일관성을 유지하기 위해 플러시된다.
본 발명의 디스크 구동 제어 방법 및 장치를 따르면, 불필요하고 원치않는 캐쉬 플러시에 수반하는 디스크 액세스를 제거할 수 있다. 더구나, 최적의 타이밍에서 캐쉬 플러시를 수행할 수 있다. 결과적으로, HDD 오프 모드(즉, 최후 디스크 엑세스이후 소정 시간 경과(T1)될 때 회전 모터를 절지시키는 동작 모드)가 적절하게 실행되고 하드디스크의 전력 절약화가 실현될 수 있다. 또한, 전체 디스크 액세스 회수가 감소되므로 디스크가 내장된 컴퓨터 시스템의 수행성능이 향상된다.
요약하면, 본 발명에 따르면, 하드디스크의 전력 절약화, 하드디스크가 내장된 컴퓨터 시스템의 수행성능의 향상 및 데이터 보전성 유지와 같은 각각의 요구를 충족시킬 수 있는 디스크 구동 제어 방법 및 장치를 제공 할 수 있다.
본 발명은 “캐쉬 플러시를 수행하지 않으므로써 데이터가 손실되는 위험성은 디스크 액세스 회수에 비례한다.”라고 하는 상관관계에 착안한 것이다. 본 발명은 메모리 용량이 크고 하드디스크를 멈출 필요성이 반드시 없는 서버(sever) 머신 보다는 오히려 메모리 용량이 비교적 작고 이에 따라서 디스크 캐쉬 용량도 비교적 작은 저급형(low-end) PC에 대해 효율적이다.
본 발명의 또 다른 목적, 특징이나 장점이 후술되는 본 발명의 실시예나 첨부한 도면을 참조로 더욱 상세하게 설명될 것이다.
[본 실시예의 설명]
본 발명의 일실시예를 도면을 참조하면서 상세히 설명한다.
[A.컴퓨터 시스템(10)의 구성]
제1도는 본 발명의 일 실시예에 따른 컴퓨터 시스템(10)을 구성을 파일 시스템에 관련하여 도시한 것이다. 제3도에서 제1도와 동일한 구성요소에는 동일 참조 번호를 병기하거나 간략화를 위해 생략했다.
본 실시예에서, 파워 매니저(power manager)(PM) 서버 (62)는 동기 대몬을 디스에이블하고 시스템(10)의 파워 매니지먼트 동작을 실행하는 파워 매니저(PM)(61)는 디스크 캐쉬(14, 15)의 플러시 동작을 제어한다. 제1도에 도시한 바와 같이, PM 서버(62)는 운영 시스템의 사용자 영역에 상주하며 파워 메니저(61)는 커넬 영역에 상주한다. 이들에 관한 상세한 설명이 후술된다.
PM 서버(62)는 사용자의 파워 메니저(61)는 커넬 영역에 상주한다. 이들에 관한 상세한 설명이 후술된다.
PM 서버(62)는 사용자의 파워 메니지먼트 요청(사용자 정책(user policy))에 관해서는 서버(sever)로서 기능한다. 즉, PM_GUI(PM 아이콘 더블 클릭)나 PM_명령(키 입력에 의해 실행되는 파워 메니지먼트 요청)을 API(응용 프로그램 인터페이스)를 통해 수신시, PM 서버(62)는 시스템을 호출하여 파워 매니저(61)를 인에이블시킨다. 최후 사용자 입력이후 소정 시간이 경과하거나(시스템 아이들 타이머에 대한 타이밍이 종료됨) 또는 내장 배터리의 잔존 용량이 소정값 이하가 되는 등의 외부 현상이 발생된 것을 PM이벤트 핸들러(PM event handler)(63)에서 통지받으면, PM 서버(62)는 시스템을 호출하여 파워 매니저(61)를 인에이블시킨다. 또한, PM 서버(62)는 파워매니저(61)를 인에이블하기 위해 시스템 호출하기까지의 기간동안 동기 대몬(52)을 디스에이블시킨다.
파워 매니저 (61)는 컴퓨터 시스템(10)의 파워 매니지먼트 동작을 실행하는 프로그램이고 PM 서버(62)에서 시스템 호출을 받으므로써 시스템(10)을 제어하는 권리를 양도받는다. 본 실시예에 파워 매니저(61)는 특히 하드디스크(18-1, ...)의 모터(도시되지 않음)을 정지시킨다. “HDD 오프”모드로 적절하게 실현하기 위해선 실현하기 위해선, 파워 매니저(61)는 디스크 액세스가 발생했다는 것을 하드디스크 조작용 각 디바이스 드라이버(16, 17)로부터 통지를 받는 기능(제1도에서 파선으로 도시됨)과, 각 디바이스 드라이버(16)에 대해 하드디스크(18-1, ...)의 모터를 정지시키도록 요청하는 기능(제2도에서 일점쇄선으로 도시)과 캐쉬 플러시를 위한 동기 루틴(51)을 호출하는 기능을 포함한다. 파워 매니저(61)는 자체 시스템(10)중 로컬 디스크(18-1, ...)에 대해서만 모터 정지를 요청할 수 있으며, 리모트 디스크(28)의 모터를 정지시키지 못한다(왜냐하면, 디스크(28)는 다른 시스템(20)의 제어하에 있기 때문이다). 파워 매니저(61)에 의한 HDD 오프 운영의 상세한 것에 관하여는 다음 B항 및 제2도를 참조하기 바람.
또한, PM 서버(62)가 파워 매니저(61)를 인에이블하고 나서 디스에이블하기까지의 기간동안 컴퓨터 시스템(10)이 통상적인 운영 보드일 때, 동기 루틴(51)을 주기적으로 호출하는 동기 대몬(52)에 의해 디스크 캐쉬의 데이터 코히어런시가 유지되지만, 시스템(10)이 파워 매니지먼트 모드에 있을 때, 파워 매니저(61)는 동기 대몬(52)대신에 동기 루틴(51)을 호출하게 된다.
[B.하드디스크의 전력 절약화 제어 루틴]
제2도는 파워 매니저(61)로 실현되는 하드디스크의 전력 절약 제어루틴을 도시한 플로우 챠트이다. 제2도에서 시스템(10)의 보조 기억 장치는 하나의 로컬 디스크(18)와 하나의 리모트 디스크(28)임을 전제로 하고 있는 점에 유의해야 한다.
[로컬 디스크 및 리모트 디스크에 액티비티가 없을 때]
먼저, 단계(S10)에서는 로컬 디스크(18)로의 최후의 액세스이후 소정시간 T1이 경과했는지 여부를 판별한다. 이 판별이 긍정적이면, 단계(S11)를 경유하여 로컬 디스크 (18)의 모터를 정지하고 나서 다음 단계(S12)로 진행한다. 당연히 모터 정지로 인해 소비전력을 저감한다. 한편, 판별 결과가 부정적이면, 직접 단계(S12)로 진행한다. 파워 매니저(61)는 하드디스크 디바이스 드라이버(16)에서 발송된 통지를 수신하는데(상술됨), 이로 인해 로컬 디스크(18)를 액세스했는지 여부를 알 수 있다. 하드디스크(18)의 모터 정지는 상기 디바이스 드라이버(16)에 요청하므로써 이루어진다.
단계(S12)에서, 현재 로컬 디스크(18)의 액티비티(즉, 로컬 디스크(18)로의 액세스)가 있는지 여부를 판별한다. 이 판별은 상술된 하드디스크용 디바이스(16)를 통해 이루어진다. 판별 결과가 긍정적이면, 단계(S20)로 점프한다(후술됨). 반대로 부정적이면, 다음 단계(S14)로 진행한다.
단계(S14)에서는 현재 네트워크 카드(19)의 액티비티(즉, 리모트 디스크(28)의 액서스)가 있는지 여부를 판별한다. 이 판별은 (상술된) 네트워크 카드용 디바이스 드라이버(17)를 통해 이루어진다. 판별 결과가 긍정적이면, 단계(S30)로 점프한다(후술됨). 반대로 부정적이면, 다음 단계(S16)로 진행한다. 단계(S16)에서 디스크 캐쉬(14, 15)에 대하여 최후에 플러시한후 소정 시간 T2가 경과했는지 여부를 판별한다. 판별 결과가 부정적이면, 디스크 캐쉬(14,15)를 플러시하는 것은 시기 상조이며 시스템(10)의 파워 수행성능을 저하시킬지도 모르기 때문에 아무것도 하지 않고 본 루틴 선두(즉 단계(S10))로 되돌아간다.
반대로, 단계(S16)에서의 긍정적 판별결과는 디스크 캐쉬(14, 15)에 기억된 갱신 내용이 장시간 하드디스크에 기록되어 있지 않은 상태임을 의미한다. 응용 프로그램은 데이터의 판독 또는 기록처가 디스크 캐쉬인지 하드디스크 인지를 의식하지 않고 작업을 실행한다. 또한, 파일 시스템은 응용에 의해 갱신되는 데이터를 하드디스크에 “write though”하지 않는다(상술됨). 따라서, 장시간 캐쉬 플러시하지 않으면, 그사이에 실행한 작업으로 디스크 캐쉬의 데이터 코히어런시를 대폭 잃어버릴 가능성이 높다. 따라서, 다음 단계(S18)로 나아가 디스크 캐쉬(14, 15)의 플러시를 행한다. 이 단계에서, 캐쉬 플러시는 동기 루틴(51)을 호출하는 파워 매니저(61)에 의해 수행된다. 플래시를 완료하면 본 루틴의 선두인 단계(S10)로 되돌아가 상술한 처리(단계 S10 내지 S18)를 반복한다.
또한 소정시간 T2는 시스템(10)의 설계자에 의해 임의로 설정된다. 다만, 처리 단계(S16)중에 소정 시간 T2가 경과되면, 단계(S11)에서 모터를 정지시켰음에도 불구하고 디스크 모터를 재시동하는 경우도 있다. 따라서, T2를 충분히 길게 설정해 두는 편이 하드디스크의 전력 절약 효과 및 시스템(10)의 수향성능을 높힌다.
[로컬 디스크에 액티비티가 있을 때]
단계(S12)에서 로컬 디스크(18)의 액티비티를 검출한 때는 프로그램제어는 메인 루틴에서 빠져나와 단계(S20)로 점프한다. 단계(S20)에서, 로컬 디스크(18)에 전번 액세스한 이후 경과한 시간이 소정 시간 T3이내인지 여부를 판별한다. 이 판별 결과가 긍정적이면 카운트값 I를 1만큼 증가시켜(단계 S22) i를 소정값 I에 도달했는지 여부를 판별한다. 그리하여 i가 I이하이면 본 서브루틴에서 빠져나와 메인 루틴의 단계(S14)로 점프한다. 반대로 i가 I를 초과하고 있으면 I를 0으로 클리어하고 나서(단계S26) 단계(S18)로 점프하여 디스크 캐쉬(S14, 15)를 플러시한다. 이 플러시는 동기 루틴(51)을 호출하므로써 이루어진다.
한편, 단계(S20)에서 로컬 디스크(18)로의 전번 액세스이후 소정 시간 T3이 경과하였다면, 단계(S26)로 점프하여 i를 0으로 클리어하고 다시 단계(S18)로 점프하여 디스크 캐쉬(14, 15)를 플러시한다.
파일 시스템은 하드디스크에 “write though”하지 않는다. 따라서, 로컬 디스크(18)에 대한 디스크 액세스가 일어난 회수에 따라 디스크 캐쉬(14)의 더티 데이터가 증대하여 데이터 보전성에 위험이 따를 가능성이 높아진다. 그러나. 디스크 액세스가 일어날 때마다 캐쉬 플러시 한다면 “write though”방식과 마찬가지로 수행성능이 낮아지고 만다. 본 서브 루틴(단계20 내지 S26)에 의하면 로컬 디스크(18)에 대한 액세스가 연달아 일어나도 소정회수 I이내이면 데이터 보전성에 대한 위험이 아직 작다고 생각할 수 있기 때문에 캐쉬 플러시는 행하지 않도록 되어 있다. 반대로 전번 캐쉬 플러시후 디스크 액세스가 소정 회구 I를 초가하면 일반적으로 데이터 인코히어런시를 무시하기 어려워지게 되므로 어려워지게 되므로 캐쉬 플러시를 행하게 되어 있다. 예컨대 루틴은 캐쉬 플러시하지 않으므로써 증대하는 데이터 손실이라는 위험성은 디스크 액세스 빈도에 비례한다라고 하는 상관 관계에 착안한 것으로서 시스템(10)의 수행성능과 데이터 보전성 둘다의 요구가 충족되어 있다고 할 수 있을 것이다.
[리모트 디스크에 액티비티가 있을 때]
단계(S14)에서 내트워크 카드의 액티비티가 검출된 때는 메인 루틴에서 빠져나와 단계(S30)로 점프한다. 단계(S30)에서는 리모트 디스크(28)로 전번 액세스한 이후의 경과시간이 소정시간 T4이내인지의 여부를 판별한다. 이 판별 결과가 긍정적이면 카운터값 j를 I씩 증분하여(단계 S32) j가 소정값 J에 도달했는지 여부를 판별한다(단계S34). 그리하여 j가 J이하이면 본서브루틴에서 빠져나와 메인 루틴 단계(S14)로 점프한다. 반대로 j가 J를 초과하고 있으면 j를 0으로 클리어하고 나서(단계36)로 점프하여 디스크 캐쉬(14, 15)를 플러시한다. 이 플러시는 동기 루틴(51)을 호출하므로써 이루어진다.
한편 단계(S30)에서 리모트 디스크(28)로의 전번 액세스이후 소정 시간 T4가 경과하고 있는 것이 판명되면 단계(S36)로 점프하여 j를 0으로 클리어하고 다시 단계(S18)로 점프하여 디스크 캐쉬(14, 15)를 플러시한다.
리모트 디스크(28)에 관하여 디스크 캐쉬(14)의 데이터 일관성은 디스크 액세스의 수에 비례하여 손실될 수 있다. 그러나, 매 디스크 액세스마다 디스크캐쉬가 플러시된다면 컴퓨터 시스템(10)의 성능은 저하될 것이다. 본 서브 루틴(단계30 내지 S36)에서는 상술한 서브 루틴(S20 내지 S26)과 마찬가지로, 리모트 디스크(28)에 대한 액세스가 연달아 일어나더라도 소정회수 J이내이면 컴퓨터 시스템(10)을 우선 수행시키고 캐쉬 플러시는 행하지 않는다. 반대로 디스크 액세스 카운터 j가 소정 임계값 J를 초과하면 데이터 일관성을 우선시키고 디스크 캐쉬는 플러시된다. 요컨대 본 서브 루틴은 캐쉬 플러시하지 않으므로써 갱신된 데이터의 손실이라는 위험성은 캐쉬가 액세스되는 회수에 비례한다는 특성에 따라 수행된다. 또한, 시스템(10)의 성능을 향상시키고 데이터 일관성 유지라는 두가지 요구사항이 만족된다.
본 실시예의 파워 매니저(61)에 의하면 소정 조건하에서 하드디스크 모터를 확실히 정지시킬 수 있다고 하는 것은 제2도의 단계(S11)로 알 수 있을 것이다. 즉 제2도에 나타낸 바와 같은 전력 절약 제어 루틴에 따르면 동기 대몬(52)을 사용한 때와 같이 대단히 짧은 시간 간격의 경과후엔 동기루틴(51)이 호출되는 일은 없다. 따라서, 동기 루틴(51)과 같은 실행 시간 라이브러리의 호출 및 관련된 트랜잭션 로그에 대한 갱신은 더 이상 HDD를 계속해서 활성화시키지 않고, HDD 모터는 정지될 수 있다. 또 파워 매니저(61)는 적당한 타이밍으로 동기 루틴(51)을 호출하므로써 데이터 보전성을 유지할 수 있다. 또 T1, T2, T3, T4, I, J의 각 값은 디폴트값이라도 좋고 사용자 프로그래머블값이어도 좋다.
또한, 제2도의 예는 하나의 로컬 디스크와 하나의 리모트 디스크를 갖고 있는 경우인에 로컬 및 리모트측상의 하드디스크의 개수가 변화는 경우에도, 당업자라면 상기 실시예를 적절하게 변경 또는 수정을 행할 수 있다.
[E. 부록]
이상, 특정한 실시예를 참조하면서 본 발명에 관하여 상세히 설명해왔다. 그러나, 본 발명의 요지를 일탈하지 않는 범위에서 당업자가 이 실시예의 수정이나 대용을 할 수 있는 것은 명백하다. 요컨대 상기 실시예로만 본 발명이 한정적으로 해석될 수 있는 것은 아니다. 본 발명의 오지를 판단하기 위하여는 서두에 기재한 특허 청구 범위의 난을 참작하여야 한다.
이상, 상세히 기술한 바와 이 본 발명에 의하면 하드디스크의 전력 절약화, 하드디스크를 장착한 컴퓨터 시스템의 수행성능 및 데이터 보전성의 요구를 충족시킬 수 있는 디스크 구동 제어 방법 및 장치를 제공할 수 있다.
특히, 본 발명에 관한 디스크 구동 제어 방법 및 장치에 의하면, 필요이상 또는 원치않는 캐쉬 플러시에 수반하는 디스크 액세스를 생략할 수 있다. 이 결과 HDD 오프 모드(즉, 최후 디스크 액세스이후 소정 시간 경과(TI)후에 회전 모터를 정지시키는 동작 모드)를 적절하게 실행시키는 것이 가능하게 되며 하드디스크의 전력 절약화를 실현할 수 있다. 또, 전체 디스크 액세스 회수가 저감되므로 당연히 디스크를 장착한 컴퓨터 시스템의 수행성능도 향상된다.
본 발명은 캐쉬 플러시 하지 않음으로써 증대하는 데이터의 손실이라는 위험성은 디스크 액세스 빈도에 비례한다라는 상관 관계에 착안한 것이다. 본 발명은 메모리 용량이 크고 또 하드디스크를 멈출 필요성이 그다지 없는 서버형 머신 보다는 오히려 메모리 용량이 비교적 작고 따라서 디스크 캐쉬용량도 비교적 작은 저급형의 PC에 대해 특히 효율적이다.

Claims (12)

  1. 데이터를 저장하는 캐쉬와 회전가능한 디스크를 가지는 디스크 드라이브를 구비하는 컴퓨터 시스템에서 디스크 드라이브를 제어하는 장치에 있어서, ① 디스크 액세스 요청을 검출하는 검출 수단과, ② 상기 캐쉬로부터 상기 디스크로 데이터를 기록하는 동기 수단과, ③ 상기 검출 수단에 응답해서 디스크 액세스 요청의 소정의 임계값을 검출하고 상기 동기 수단을 인에이블하는 파워 매니지먼트 수단을 포함하고, ④데이터가 상기 캐쉬로부터 상기 디스크로 최종 기록된 후 소정 시간 간격이 경과된 수 또는 상기 소정의 임계값이 어떤 값보다 더 큰 경우에, 상기 동기 수단은 데이터를 상기 캐쉬로부터 상기 디스크로 기록하는, 디스크 드라이브를 제어하는 장치.
  2. 제1항에 있어서, 상기 디스크는 로컬 디스크인, 디스크 드라이브를 제어하는 장치.
  3. 제1항에 있어서, 상기 디스크는 리모트 디스크인, 디스크 드라이브를 제어하는 장치.
  4. 제1항에 있어서, ① 초기 소정 간격에서 상기 동기 루틴을 인에이블하는 동기 대몬(sync daemon)과, ② 상기 동기 대몬을 디스에이블하는 서버를 더 포함하는, 디스크 드라이브를 제어하는 장치.
  5. 컴퓨터 시스템에 있어서, ① 중앙 처리 유닛과, ② 상기 중앙 처리 유닛과 통신하는 메모리와, ③ 데이터를 저장하는 회전가능한 디스크를 가지며 상기 중앙 처리 유닛 및 상기 메모리와 통신하는 디스크 드라이브와, ④ 상기 디스크에 기록될 데이터를 저장하도록 상기 중앙 처리 유닛, 상기 메모리, 상기 디스크 드라이브와 통신하는 캐쉬와, ⑤ 상기 디스크 액세스 요청을 검출하는 검출 수단과, ⑥ 상기 캐쉬로부터 상기 디스크로 데이터를 기록하는 동기 수단과, ⑦ 상기 검출 수단에 응답해서 소정수의 디스크 액세스 요청을 검출하고 상기 동기 수단을 인에이블하는 파워 매니지먼트 수단을 포함하고, ⑧ 데이터가 상기 캐쉬로부터 상기 디스크로 최종 기록되고 나서 소정시간 간격이 경과된 수 또는 상기 소정 임계값이 어떤 값보다 더 크다면 상기 동기 수단은 데이터를 상기 캐쉬로부터 상기 디스크로 기록하는. 컴퓨터 시스템.
  6. 제5항에 있어서, 상기 디스크는 로컬 디스크인, 컴퓨터 시스템.
  7. 제5항에 있어서, 상기 디스크는 리모트 디스크인, 컴퓨터 시스템.
  8. 제5항에 있어서, ① 데이터를 상기 캐쉬로부터 상기 디스크로 기록하는 동기 수단과, ② 초기 소정 간격에서 상기 동기 루틴을 인에이블하는 동기 대몬(sync daemon)과, ③ 상기 동기 대몬을 디스에이블하는 서버 수단을 더 포함하는, 컴퓨터 시스템.
  9. 컴퓨터 시스템에 있어서, ① 중앙 처리 유닛과, ② 상기 중앙 처리 유닛과 통신하는 메모리와, ③ 데이터를 저장하는 회전가능한 디스크를 가지며 상기 중앙 철기 유닛 및 상기 메모리와 통신하는 디스크 드라이브와, ④ 상기 디스크에 기록될 데이터를 저장하도록 상기 중앙 처리 유닛, 상기 메모리, 상기 디스크 드라이브와 통신하는 캐쉬와, ⑤ 디스크 액세스 요청을 검출하는 검출 수단과, ⑥ 데이터를 상기 캐쉬로부터 상기 디스크로 기록하는 동기 수단과, ⑦ 상기 캐쉬로부터 상기 디스크로 데이터를 최종 기록한 때로부터 경과된 시간이 소정 간격을 초과하면 상기 동기 수단을 인에이블하는 파워 매니저를 포함하는, 컴퓨터 시스템.
  10. 제9항에 있어서, 상기 디스크는 로컬 디스크인, 컴퓨터 시스템.
  11. 제9항에 있어서, 상기 디스크인 리모트 디스크인, 컴퓨터 시스템.
  12. 제9항에 있어서, ① 데이터를 상기 캐쉬로부터 상기 디스크로 기록하는 기록 수단과, ②초기 소정 간격에서 상기 동기 루틴을 인에이블하는 동기 대몬(sync daemon)과, ③상기 동기 대몬을 디스에이블하는 서버를 더 포함하는, 컴퓨터 시스템.
KR1019960027411A 1995-07-21 1996-07-08 디스크 구동 제어 방법 및 장치 KR100246870B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP95-185771 1995-07-21
JP7185771A JP3062050B2 (ja) 1995-07-21 1995-07-21 ディスク駆動制御方法及び装置

Publications (2)

Publication Number Publication Date
KR970007642A KR970007642A (ko) 1997-02-21
KR100246870B1 true KR100246870B1 (ko) 2000-03-15

Family

ID=16176606

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019960027411A KR100246870B1 (ko) 1995-07-21 1996-07-08 디스크 구동 제어 방법 및 장치

Country Status (3)

Country Link
US (1) US5797022A (ko)
JP (1) JP3062050B2 (ko)
KR (1) KR100246870B1 (ko)

Families Citing this family (39)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6378038B1 (en) * 1999-03-31 2002-04-23 International Business Machines Corporation Method and system for caching data using raid level selection
JP4325817B2 (ja) 1999-04-05 2009-09-02 株式会社日立製作所 ディスクアレイ装置
KR20010038434A (ko) * 1999-10-25 2001-05-15 윤종용 컴퓨터 시스템의 전력 소모를 줄이기 위한 하드 디스크 파워 다운 방법
US20070245165A1 (en) 2000-09-27 2007-10-18 Amphus, Inc. System and method for activity or event based dynamic energy conserving server reconfiguration
US7032119B2 (en) * 2000-09-27 2006-04-18 Amphus, Inc. Dynamic power and workload management for multi-server system
US20030196126A1 (en) 2002-04-11 2003-10-16 Fung Henry T. System, method, and architecture for dynamic server power management and dynamic workload management for multi-server environment
US20060248360A1 (en) * 2001-05-18 2006-11-02 Fung Henry T Multi-server and multi-CPU power management system and method
US7039780B2 (en) * 2001-06-05 2006-05-02 Hewlett-Packard Development Company, L.P. Digital camera memory system
CN101197900B (zh) * 2003-07-29 2010-11-03 株式会社理光 图像形成装置、图像处理方法、图像处理程序和记录介质
EP1503570A3 (en) * 2003-07-29 2005-07-27 Ricoh Company, Ltd. Image forming apparatus as client of a distributed file system, image processing method, image processing program and recording medium
JP2005135126A (ja) * 2003-10-30 2005-05-26 Hitachi Ltd フラグメント防止ファイルシステム
JP2007257577A (ja) * 2006-03-27 2007-10-04 Nec Corp Raid制御装置、方法及びプログラム並びにディスクアレイ装置
US7765361B2 (en) * 2006-11-21 2010-07-27 Microsoft Corporation Enforced transaction system recoverability on media without write-through
US8019940B2 (en) 2006-12-06 2011-09-13 Fusion-Io, Inc. Apparatus, system, and method for a front-end, distributed raid
US8489817B2 (en) 2007-12-06 2013-07-16 Fusion-Io, Inc. Apparatus, system, and method for caching data
US8443134B2 (en) * 2006-12-06 2013-05-14 Fusion-Io, Inc. Apparatus, system, and method for graceful cache device degradation
US8706968B2 (en) * 2007-12-06 2014-04-22 Fusion-Io, Inc. Apparatus, system, and method for redundant write caching
US9104599B2 (en) 2007-12-06 2015-08-11 Intelligent Intellectual Property Holdings 2 Llc Apparatus, system, and method for destaging cached data
JP2008257773A (ja) * 2007-04-02 2008-10-23 Toshiba Corp 不揮発性半導体記憶装置、不揮発性半導体記憶装置の制御方法、不揮発性半導体記憶システム、及びメモリカード
EP2191359A1 (en) * 2007-08-21 2010-06-02 Thomson Licensing Method and system for preventing corruption of hard disk drive file system
US9519540B2 (en) 2007-12-06 2016-12-13 Sandisk Technologies Llc Apparatus, system, and method for destaging cached data
US8312204B2 (en) * 2009-01-23 2012-11-13 Seagate Technology Llc System and method for wear leveling in a data storage device
JP5209591B2 (ja) * 2009-11-16 2013-06-12 株式会社日立製作所 省電力機能を有するストレージシステム
US8589655B2 (en) 2010-09-15 2013-11-19 Pure Storage, Inc. Scheduling of I/O in an SSD environment
US11614893B2 (en) 2010-09-15 2023-03-28 Pure Storage, Inc. Optimizing storage device access based on latency
US9026829B2 (en) * 2010-09-25 2015-05-05 Intel Corporation Package level power state optimization
US8775868B2 (en) 2010-09-28 2014-07-08 Pure Storage, Inc. Adaptive RAID for an SSD environment
US8661193B1 (en) 2010-10-29 2014-02-25 Western Digital Technologies, Inc. Disk drive with partial sector management
US8578100B1 (en) 2010-11-08 2013-11-05 Western Digital Technologies, Inc. Disk drive flushing write data in response to computed flush time
US8966184B2 (en) 2011-01-31 2015-02-24 Intelligent Intellectual Property Holdings 2, LLC. Apparatus, system, and method for managing eviction of data
US9141527B2 (en) 2011-02-25 2015-09-22 Intelligent Intellectual Property Holdings 2 Llc Managing cache pools
JP2012203583A (ja) * 2011-03-24 2012-10-22 Toshiba Corp 情報処理装置およびプログラム
US8654619B1 (en) 2011-09-29 2014-02-18 Western Digital Technologies, Inc. Method and apparatus for operating a disk drive
US9767032B2 (en) 2012-01-12 2017-09-19 Sandisk Technologies Llc Systems and methods for cache endurance
US9251086B2 (en) 2012-01-24 2016-02-02 SanDisk Technologies, Inc. Apparatus, system, and method for managing a cache
US10162873B2 (en) * 2012-12-21 2018-12-25 Red Hat, Inc. Synchronization of physical disks
CN106533281A (zh) * 2015-09-11 2017-03-22 德昌电机(深圳)有限公司 电动工具及其电机驱动电路
US10262138B2 (en) * 2016-09-15 2019-04-16 Paypal, Inc. Techniques for ransomware detection and mitigation
FR3092677B1 (fr) * 2019-02-11 2021-01-22 Commissariat Energie Atomique Procédé de gestion d’une mémoire cache d’un calculateur électronique

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01154261A (ja) * 1987-12-11 1989-06-16 Toshiba Corp 情報処理装置
US5504907A (en) * 1991-02-14 1996-04-02 Dell Usa, L.P. Power management system with adaptive control parameters for portable computer
GB2260631B (en) * 1991-10-17 1995-06-28 Intel Corp Microprocessor 2X core design
US5381539A (en) * 1992-06-04 1995-01-10 Emc Corporation System and method for dynamically controlling cache management
US5437022A (en) * 1992-12-17 1995-07-25 International Business Machines Corporation Storage controller having additional cache memory and a means for recovering from failure and reconfiguring a control unit thereof in response thereto
US5446906A (en) * 1993-06-30 1995-08-29 Intel Corporation Method and apparatus for suspending and resuming a keyboard controller
US5513359A (en) * 1993-07-23 1996-04-30 International Business Machines Corporation Desktop computer having a single-switch suspend/resume function
US5497494A (en) * 1993-07-23 1996-03-05 International Business Machines Corporation Method for saving and restoring the state of a CPU executing code in protected mode
US5452277A (en) * 1993-12-30 1995-09-19 International Business Machines Corporation Adaptive system for optimizing disk drive power consumption
AU2364095A (en) * 1994-05-12 1995-12-05 Ast Research, Inc. Cpu activity monitoring through cache watching
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
US5666538A (en) * 1995-06-07 1997-09-09 Ast Research, Inc. Disk power manager for network servers

Also Published As

Publication number Publication date
JP3062050B2 (ja) 2000-07-10
KR970007642A (ko) 1997-02-21
JPH0944314A (ja) 1997-02-14
US5797022A (en) 1998-08-18

Similar Documents

Publication Publication Date Title
KR100246870B1 (ko) 디스크 구동 제어 방법 및 장치
Douglis et al. Adaptive disk spin-down policies for mobile computers
US9690496B2 (en) Using external memory devices to improve system performance
US7472222B2 (en) HDD having both DRAM and flash memory
US6799244B2 (en) Storage control unit with a volatile cache and a non-volatile backup cache for processing read and write requests
US20060075185A1 (en) Method for caching data and power conservation in an information handling system
JP5623284B2 (ja) 逆データ・バックアップのための方法、コンピュータ・プログラム及びシステム
US20030074524A1 (en) Mass storage caching processes for power reduction
JP2006323826A (ja) データベース管理システムでログ書込みを実行するシステム
JP6417951B2 (ja) ストレージ制御装置およびストレージ制御プログラム
JPH07219848A (ja) キャッシュ制御システム
US20120110258A1 (en) Storage device cache
US7383450B2 (en) Low power firmware
US20070124542A1 (en) Method and system to control write caches to reduce risk of data loss
US7047356B2 (en) Storage controller with the disk drive and the RAM in a hybrid architecture
US7370217B2 (en) Regulating file system device access
JPH10254780A (ja) ディスクキャッシュ制御方式
JPH11297083A (ja) 不揮発性メモリを利用したバックアップ記憶装置
WO2007085978A2 (en) A method of controlling a page cache memory in real time stream and best effort applications
Nishikawa et al. Potentiality of Power Management on Database Systems with Power Saving Function of Disk Drives.

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
LAPS Lapse due to unpaid annual fee