KR20010050881A - 캐시 메모리의 제어 방법, 컴퓨터 시스템, 하드 디스크드라이브 장치 및 하드 디스크 제어 장치 - Google Patents

캐시 메모리의 제어 방법, 컴퓨터 시스템, 하드 디스크드라이브 장치 및 하드 디스크 제어 장치 Download PDF

Info

Publication number
KR20010050881A
KR20010050881A KR1020000058696A KR20000058696A KR20010050881A KR 20010050881 A KR20010050881 A KR 20010050881A KR 1020000058696 A KR1020000058696 A KR 1020000058696A KR 20000058696 A KR20000058696 A KR 20000058696A KR 20010050881 A KR20010050881 A KR 20010050881A
Authority
KR
South Korea
Prior art keywords
cache memory
data
hard disk
swap
mode
Prior art date
Application number
KR1020000058696A
Other languages
English (en)
Other versions
KR100388338B1 (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 KR20010050881A publication Critical patent/KR20010050881A/ko
Application granted granted Critical
Publication of KR100388338B1 publication Critical patent/KR100388338B1/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
    • 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/0893Caches characterised by their organisation or structure
    • G06F12/0897Caches characterised by their organisation or structure with two or more cache hierarchy levels
    • 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
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/31Providing disk cache in a specific location of a storage system
    • G06F2212/311In host system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/31Providing disk cache in a specific location of a storage system
    • G06F2212/312In storage controller

Landscapes

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

Abstract

상위 및 하위의 캐시 메모리(cache memory)에 공통의 데이타를 유지하지 않거나 또는 상위 및 하위의 캐시 메모리에 공통으로 유지되는 데이타를 적게함으로써 각각의 캐시 메모리에 효율이 양호하게 데이타를 유지한다.
컴퓨터 시스템은 확장 버스(20)에 접속된 HDC 카드(21)와, HDC 카드(21)에 접속된 HDD 장치(22)를 구비한다. HDC 카드(21)는 디스크 캐시(상위의 캐시 메모리)를 구비하고, HDD 장치(22)는 디스크 캐시(54)(하위의 캐시 메모리)를 구비한다. HDC 카드(21)및 HDD 장치(22)는 시스템의 기동시에, 각각의 캐시 메모리의 스와프 모드(swap mode)를 선택하기 위한 선택 정보를 송수신하고, 이 송수신된 선택 정보에 기초하여 각각 상이한 스와프 모드를 선택한다.

Description

캐시 메모리의 제어 방법, 컴퓨터 시스템, 하드 디스크 드라이브 장치 및 하드 디스크 제어 장치{METHOD FOR CONTROLLING CACHE MEMORIES, COMPUTER SYSTEM, HARD DISK DRIVE UNIT, AND HARD DISK CONTROL UNIT}
본 발명은 캐시 메모리에 효율이 양호하게 데이타를 유지하기 위한 캐시 메모리의 제어 방법, 컴퓨터 시스템, 하드 디스크 드라이브 장치 및 하드 디스크 제어 장치에 관한 것이다.
컴퓨터 시스템은 CPU, 메인 메모리, HDD(hard disk drive) 장치 등의 데이타 전송 속도가 각각 상이한 소자에 의해 구성된다. 일반적으로, 메인 메모리에는 DRAM이 사용되고 있다. DRAM의 데이타 전송 속도는 CPU와 비교하면 매우 느리기 때문에, CPU의 동작 속도를 저하시켜 버린다. HDD 장치, CD-ROM 장치 등의 외부 기억 장치의 데이타 전송 속도는 DRAM과 비교하면 매우 느리기 때문에, DRAM의 동작 속도를 저하시켜 버린다. 이와 같이, 데이타를 송수신하는 소자들 간에 속도의 차이가 있으면, 시스템 전체의 데이타 전송 속도는 데이타 전송 속도가 느린 쪽의 소자에 지배되기 때문에, 고속의 데이타 전송 속도를 갖는 소자의 본래의 성능이 발휘되지 않게 되어 시스템 전체의 성능이 저하되는 문제가 발생된다.
이들 소자간의 속도 차이를 완충하기 위해서, 컴퓨터 시스템에는 캐시 메모리(cache memory)가 설치되어 있다. 캐시 메모리는 프로그램 및 데이타의 국소성을 이용하여 데이타 전송 속도가 느린 하위의 소자에 기억되는 데이타의 일부를 기억한다. 이것에 의해, 하위의 소자에 대한 액세스를 감소시킴으로써, 컴퓨터 시스템 전체의 데이타 전송 속도를 향상시키고 있다.
캐시 메모리는 전형적으로 CPU와 메인 메모리와의 사이에 설치된다. 캐시 메모리가 복수개인 경우에는, CPU에 가까운 쪽부터 1차 캐시, 2차 캐시,…라고 칭한다. CPU에 가까울수록 그 기억 용량은 작다. 일반적으로, 이들 캐시 메모리에는 SRAM이 사용되고 있다.
또한, 메인 메모리는 외부 기억 장치용의 캐시 메모리로서 사용된다. 이것에 의해, 외부 기억 장치에 대한 액세스를 감소시켜서, 메인 메모리의 동작 속도를 향상시키고 있다. 또한, 외부 기억 장치나 소위 확장 카드 등에도 캐시 메모리가 설치되는 경우가 있다. 예컨대, HDD 장치에는 자기 디스크의 일부 데이타를 유지하는 캐시 메모리가 설치되어 있다. 이것에 의해, 자기 디스크에 대한 액세스를 감소시켜서, HDD 장치의 데이타 전송 속도를 향상시키고 있다. 이와 같이, 메인 메모리, 확장 카드, HDD 장치 등에 설치된 캐시 장치는 디스크 캐시라고 칭한다.
이들 디스크 캐시에는 일반적으로 사전 판독(Look Ahead)이라 칭하는 데이타의 판독 방법이 채용되고 있다. 사전 판독 데이타 판독 방법은 호스트 장치로부터 요구되는 영역의 요구 데이타의 판독이 종료된 뒤, 그 요구 데이타에 연속되는 영역의 데이타도 동시에 판독하는 방법이다. 이것에 의해, 어드레스가 연속적으로 크게 되는 순방향 판독의 캐시 메모리 적중률(cache memory hit ratio)을 향상시키고 있다.
도 12는 종래의 디스크 캐시의 데이타 판독 방법을 도시한 도면이다.
도 12에 있어서, 호스트 장치는 HDD 장치에 대하여 데이타의 판독 및 기록을 요구하는 장치를 의미한다. 호스트 장치 및 HDD 장치는 각각 캐시 메모리를 가지며, 이들 장치의 캐시 메모리 사이에서 데이타를 송수신한다. 이 경우, 호스트 장치의 캐시 메모리가 상위의 캐시 메모리가 되며, HDD 장치의 캐시 메모리가 하위의 캐시 메모리가 된다. 여기서, 호스트 장치 및 HDD 장치의 각각의 캐시 메모리에는 응용 프로그램으로부터 요구되는 데이타 D1을 유지하지 않는 것으로 한다.
응용 프로그램으로부터 호스트 장치로 데이타 D1이 요구되면, 호스트 장치에서는 캐시 오적중이 발생되기 때문에, 데이타 D1과 이 데이타 D1에 연속하는 어드레스의 데이타 D2를 포함하는 데이타 D3이 HDD 장치에 요구된다. HDD 장치에서는 캐시 오적중이 발생되기 때문에, 호스트 장치로부터 요구된 데이타 D3이 자기 디스크로부터 판독되어, 캐시 메모리에 유지됨과 동시에 호스트 장치로 전송된다. 이것에 의해, 호스트 장치의 캐시 메모리에는 데이타 D3이 유지된다. 또한, HDD 장치에서는 전송된 데이타 D3에 연속되는 어드레스의 데이타 D4가 자기 디스크로부터 판독되어 캐시 메모리에 유지된다.
또한, 이런 종류의 사전 판독 데이타 판독 방법으로서는, 예컨대 일본 특개평11-110139호 공보의 데이타 판독 방법 및 장치가 개시되어 있다. 이 데이타 판독 방법 및 장치에서는 어드레스가 연속적으로 작아지는 역방향의 판독이 검출되었을 때, 호스트 장치로부터 요구되는 영역의 요구 데이타의 판독이 종료된 뒤, 그 요구 데이타보다 이전의 어드레스를 판독하고, 이것에 의해, 어드레스가 연속적으로 작아지는 역방향 판독의 캐시 메모리의 적중률을 향상시키고 있다.
그러나, 종래의 캐시 메모리의 데이타 유지 방법에 있어서는, 호스트 장치 및 HDD 장치의 각각의 캐시 메모리에 동일한 데이타가 유지된다. 응용 프로그램으로부터 호스트 장치로 데이타의 판독이 요구되어, 호스트 장치의 캐시 메모리가 적중된 경우, 그 데이타는 호스트 장치로부터 상위측으로 전송된다. HDD 장치로 데이타의 판독이 요구되는 경우는 없다. 따라서, HDD 장치의 캐시 메모리에 동일한 데이타를 유지하더라도 유효하게 이용되지는 않는다.
본 발명은, 이러한 문제점을 해결하기 위해서 이루어진 것으로서, 그 목적은 상위 및 하위의 캐시 메모리에 공통의 데이타를 유지하지 않거나 또는 상위 및 하위의 캐시 메모리에 공통으로 유지되는 데이타를 적게함으로써 각각의 캐시 메모리에 효율이 양호하게 데이타를 유지할 수 있는 캐시 메모리의 제어 방법, 컴퓨터 시스템, 하드 디스크 드라이브 장치 및 하드 디스크 제어 장치를 제공하는 데에 있다.
도 1은 본 발명에 따른 실시예 1의 컴퓨터 시스템의 개략적인 구성을 도시한 도면.
도 2는 도 1에 도시된 HDD 장치의 개략적인 구성을 도시한 도면.
도 3은 도 1에 도시된 HDC 카드(21)의 개략적인 구성을 도시한 도면.
도 4는 캐시 메모리의 스와프 모드(swap mode)를 선택하는 동작의 일례를 도시한 시퀀스도.
도 5는 캐시 메모리의 스와프 모드를 선택하는 동작의 다른 예를 도시한 시퀀스도.
도 6은 본 발명에 따른 실시예 2의 컴퓨터 시스템의 개략적인 구성을 도시한 도면.
도 7은 캐시 메모리의 데이타 유지 동작의 일례를 도시한 도면.
도 8은 캐시 메모리의 데이타 유지 동작의 다른 예를 도시한 도면.
도 9는 캐시 메모리의 데이타 유지 동작의 다른 예를 도시한 도면.
도 10은 캐시 메모리의 데이타 유지 동작의 다른 예를 도시한 도면.
도 11은 캐시 메모리의 데이타 유지 동작의 다른 예를 도시한 도면.
도 12는 종래의 디스크 캐시의 데이타 판독 방법을 도시한 도면.
〈도면의 주요 부분에 대한 부호의 설명〉
10a, 10b, 10c : 외부 버스
11 : CPU
12 : 1차 캐시
13 : 2차 캐시
14 : 제1 컨트롤러 장치
15 : 메인 메모리
16 : 캐시 영역(상위의 캐시 메모리)
17, 32, 52 : 캐시 컨트롤러
20 : 확장 버스
21 : HDC 카드(하드 디스크 제어 장치)
22, 72 : HDD 장치
23, 73 : CD-ROM 장치
24a, 24b, 38a, 38b, 56, 70, 74a, 74b : 버스
31 : HDC
33, 53 : 제어용 메모리
34 : 버퍼 메모리(상위 또는 하위의 캐시 메모리)
35, 36 : I/O 포트
37, 55 : 호스트 I/F
41 : 자기 디스크
42 : 스핀들 모터
43 : 헤드 슬라이더
44 : 헤드 아암
45 : 액츄에이터
51 : HDC
54, 75 : 버퍼 메모리(하위의 캐시 메모리)
71 : 제2 컨트롤러 장치
본 발명에 따른 캐시 메모리의 제어 방법은 하위의 캐시 메모리와, 상위의 캐시 메모리를 갖는 복수의 캐시 메모리를 제어하는 방법으로서, 상위 및 하위의 캐시 메모리가 각각 상이한 스와프 모드(swap mode)로 동작하는 것을 특징으로 하는 것이다.
본 발명에 따른 컴퓨터 시스템은 하위의 캐시 메모리와, 이 하위의 캐시 메모리에 접속된 상위의 캐시 메모리를 구비한 컴퓨터 시스템으로서, 상위 및 하위의 캐시 메모리는 시스템의 기동시에, 각각의 스와프 모드를 선택하기 위한 선택 정보를 송수신하고, 송수신된 선택 정보에 기초하여 각각 상이한 스와프 모드를 선택하는 것을 특징으로 하는 것이다.
본 발명에 따른 하드 디스크 드라이브 장치는 자기 디스크에 기억되는 데이타의 일부를 기억하는 하위의 캐시 메모리를 가지며, 상위의 캐시 메모리의 기능을 갖는 호스트 장치에 접속되는 하드 디스크 드라이브 장치로서, 상위 및 하위의 캐시 메모리가 각각 상이한 스와프 모드로 동작하도록 시스템의 기동시에, 호스트 장치와의 사이에서 각각의 스와프 모드를 선택하기 위한 선택 정보를 송수신하고, 송수신된 선택 정보에 기초하여 하위의 캐시 메모리의 스와프 모드를 선택하는 것을 특징으로 하는 것이다.
본 발명에 따른 하드 디스크 제어 장치는 컴퓨터 시스템에 설치된 주변 장치의 확장용 접속 단자에 접속되는 제1 접속 단자와, 자기 디스크에 기억되는 데이타의 일부를 기억하는 하위의 캐시 메모리를 갖는 하드 디스크 드라이브 장치가 접속되는 제2 접속 단자와, 이 제2 접속 단자에 접속된 하드 디스크 드라이브 장치에 기억되는 데이타의 일부를 유지하는 상위의 캐시 메모리를 구비하고, 제2 접속 단자에 접속된 하드 디스크 드라이브 장치를 제어하는 하드 디스크 제어 장치로서, 상위 및 하위의 캐시 메모리가 각각 상이한 스와프 모드로 동작하도록 제1 접속 단자가 접속된 컴퓨터 시스템의 기동시에, 제2 접속 단자에 접속된 하드 디스크 드라이브 장치와의 사이에서 각각의 스와프 모드를 선택하기 위한 선택 정보를 송수신하고, 송수신된 선택 정보에 기초하여 상위의 캐시 메모리의 스와프 모드를 선택하는 것을 특징으로 하는 것이다.
본 발명에 따른 다른 하드 디스크 제어 장치는 상위의 캐시 메모리의 기능을 갖는 호스트 장치를 구비하는 컴퓨터 시스템에 설치된 주변 장치의 확장용 접속 단자에 접속되는 제1 접속 단자와, 하드 디스크 드라이브 장치가 접속되는 제2 접속 단자와, 제2 접속 단자에 접속된 하드 디스크 드라이브 장치에 기억되는 데이타의 일부를 유지하는 하위의 캐시 메모리를 구비하고, 제2 접속 단자에 접속된 하드 디스크 드라이브 장치를 제어하는 하드 디스크 제어 장치로서,
상위 및 하위의 캐시 메모리가 각각 상이한 스와프 모드로 동작하도록 제1 접속 단자가 접속된 컴퓨터 시스템의 기동시에, 호스트 장치와의 사이에서 각각의 스와프 모드를 선택하기 위한 선택 정보를 송수신하고, 송수신된 선택 정보에 기초하여 하위의 캐시 메모리의 스와프 모드를 선택하는 것을 특징으로 하는 것이다.
또한, 본 발명에 따른 다른 캐시 메모리의 제어 방법은 호스트 장치로부터 하위의 캐시 메모리로 데이타의 전송이 요구되었을 때, 이 요구에 따라서 호스트 장치로 전송된 데이타를 하위의 캐시 메모리로부터 소거하는 것을 특징으로 하는 것이다.
또한, 본 발명에 따른 다른 캐시 메모리의 제어 방법은 하위의 캐시 메모리에 유지된 데이타의 일부를 상위의 캐시 메모리에 유지하는 캐시 메모리의 제어 방법으로서, 상위의 캐시 메모리로부터 하위의 캐시 메모리로 데이타의 전송이 요구되었을 때, 이 요구에 따라서 하위의 캐시 메모리로부터 상위의 캐시 메모리로 전송된 데이타를 하위의 캐시 메모리로부터 소거하는 것을 특징으로 하는 것이다.
본 발명에 따른 다른 컴퓨터 시스템은 하위의 캐시 메모리와, 이 하위의 캐시 메모리에 기억되는 데이타의 일부를 유지하는 상위의 캐시 메모리를 구비한 컴퓨터 시스템으로서, 하위의 캐시 메모리는 상위의 캐시 메모리로부터 하위의 캐시 메모리로 데이타의 전송이 요구되었을 때, 이 요구에 따라서 하위의 캐시 메모리로부터 상위의 캐시 메모리로 전송된 데이타를 소거하는 것을 특징으로 하는 것이다.
본 발명에 따른 다른 하드 디스크 드라이브 장치는 자기 디스크에 기억되는 데이타의 일부를 기억하는 캐시 메모리를 갖는 하드 디스크 드라이브 장치로서, 캐시 메모리는 이 하드 디스크 드라이브 장치가 접속되는 호스트 장치로부터 데이타의 전송을 요구받았을 때, 이 요구에 따라서 호스트 장치로 전송된 데이타를 소거하는 것을 특징으로 하는 것이다.
본 발명에 따른 다른 하드 디스크 제어 장치는 컴퓨터 시스템에 설치된 주변 장치의 확장용 접속 단자에 접속되는 제1 접속 단자와, 하드 디스크 드라이브 장치가 접속되는 제2 접속 단자와, 제2 접속 단자에 접속된 하드 디스크 드라이브 장치에 기억되는 데이타의 일부를 유지하는 캐시 메모리를 구비하고, 제2 접속 단자에 접속된 하드 디스크 드라이브 장치를 제어하는 하드 디스크 제어 장치로서, 캐시 메모리는 제1 접속 단자를 통해서 호스트 장치로부터 데이타의 전송을 요구받았을 때, 이 요구에 따라서 호스트 장치로 전송된 데이타를 소거하는 것을 특징으로 하는 것이다.
이하, 본 발명에 따른 캐시 메모리의 제어 방법 및 컴퓨터 시스템의 바람직한 실시예를 도면을 참조하여 설명한다.
실시예 1.
본 발명에 따른 실시예 1의 캐시 메모리의 제어 방법은 상위 및 하위의 캐시 메모리를 각각 상이한 스와프 모드로 동작시킨다. 스와프란 캐시 메모리의 기억 용량에 공간이 없을 때, 새롭게 유지해야 할 데이타와 이미 유지되어 있는 데이타를 교체하는 것을 의미한다.
스와프 모드로서는 주로, LRU(Least Recently Used) 모드, LFU (Least Frequently Used) 모드, FIFO(first-in first-out) 모드가 사용된다. LRU 모드는 사용되지 않는 시간이 가장 긴 데이타를 스와프 아웃하는 모드이다. LFU 모드는 사용 빈도가 가장 적은 데이타를 스와프 아웃하는 모드이다. FIFO 모드는 먼저 유지된 데이타부터 순차적으로 스와프 아웃하는 모드이다. 또, 스와프 모드는 이것으로 한정하는 것이 아니며, 예컨대 복수의 세그먼트 중 세그먼트에 포함되는 데이타량이 가장 적은 세그먼트를 스와프 아웃하는 스와프 모드 등 여러 가지의 방법(스와프 모드)를 사용할 수 있다.
상위 및 하위의 캐시 메모리를 동일한 스와프 모드로 동작시키면, 각각의 캐시 메모리에 동일한 성질의 데이타가 잔류된다. 예컨대, 상위 및 하위의 캐시 메모리를 동일한 LRU 모드로 동작시킨 경우, 사용되지 않는 시간이 가장 긴 데이타가 스와프 아웃되기 때문에, 최근 사용된 데이타가 각각의 캐시 메모리에 잔류된다. 상위 및 하위의 캐시 메모리를 동일한 LFU 모드로 동작시킨 경우, 사용 빈도가 적은 데이타가 스와프 아웃되기 때문에, 사용 빈도가 많은 데이타가 각각의 캐시 메모리에 잔류된다. 상위 및 하위의 캐시 메모리를 동일한 FIFO 모드로 동작시킨 경우, 먼저 유지된 데이타가 각각의 캐시 메모리로부터 순차적으로 스와프 아웃되기 때문에, 최근 사용된 데이타가 각각의 캐시 메모리에 잔류된다.
이에 대해, 예컨대 상위의 캐시 메모리를 LFU 모드로 동작시키고, 하위의 캐시 메모리를 FIFO 모드로 동작시킨 경우, 상위의 캐시 메모리에는 사용 빈도가 많은 데이타가 잔류되고, 하위의 캐시 메모리에는 최근 사용된 데이타가 잔류된다. 이와 같이, 각각의 캐시 메모리에는 성질이 다른 데이타가 잔류되기 때문에, 양쪽의 캐시 메모리에 동일한 데이타가 유지될 가능성을 작게 할 수 있다. 즉, 상위의 캐시 메모리에 유지된 데이타를 하위의 캐시 메모리가 유지할 가능성을 작게 할 수 있기 때문에, 각각의 캐시 메모리에 효율이 양호하게 데이타를 유지시킬 수 있다.
바람직하게는, 상위 및 하위의 캐시 메모리에는 성질이 상이한 스와프 모드를 조합하면 좋다. 서로 비슷한 성질의 스와프 모드를 조합시킨 경우 보다도 양쪽의 캐시 메모리에 상이한 데이타가 잔류되는 확률이 높아지고, 캐시 메모리를 한층 더 효율이 양호하게 이용할 수 있기 때문이다. 단, 적중률을 저감시킬 수 있는 스와프 모드를 사용해서는 않된다. 데이타의 국소성을 이용하는 캐시 메모리 본래의 기능을 발휘할 수 없기 때문이다.
다음에, 이 캐시 메모리의 제어 방법을 실현하는 컴퓨터 시스템에 관해서 설명한다.
도 1은 본 발명에 따른 실시예 1의 컴퓨터 시스템의 개략적인 구성을 도시한 도면이다.
도 1에 도시한 바와 같이, 이 컴퓨터 시스템은 CPU(11), 2차 캐시(13), 제1 브리지 회로(14) 및 메인 메모리(15)를 구비한다. CPU(11)는 1차 캐시(12)를 갖는다. CPU(11)에는 외부 버스(10a)를 통해 2차 캐시(13)가 접속되어 있다. 또한, CPU(11)에는 외부 버스(10b)를 통해 제1 브리지 회로(14)가 접속되어 있다. 제1 브리지 회로(14)에는 외부 버스(10c)를 통해 메인 메모리(15)가 접속되어 있다. 1차 캐시(12) 및 2차 캐시(13)는 예컨대 SRAM에 의해 구성되어 있다. 1차 캐시(12)는 예컨대 수십 K ∼ 수백 KB(B; byte)의 기억 용량을 갖는다. 2차 캐시(13)는 예컨대 수백 K ∼ 수 MB의 기억 용량을 갖는다. 메인 메모리(15)는 예컨대 DRAM에 의해 구성되어 있다. 메인 메모리(15)는 예컨대 수십 M ∼ 수백 MB의 기억 용량을 갖는다.
제1 브리지 회로(14)에는 주변 장치를 확장하기 위한 확장 버스(20)가 접속되어 있다. 확장 버스(20)는, 예컨대 PCI(Peripheral Component Interconnect) 버스에 의해 구성되어 있다. 제1 브리지 회로(14)는 예컨대 도시 생략된 클럭 발생기, CPU 인터페이스, 2차 캐시 컨트롤러, 메인 메모리 컨트롤러, PCI 버스 인터페이스 등의 기능을 갖는다.
확장 버스(20)에는 HDC(Hard Disk Controller) 카드(21)가 접속되어 있다. 또한, HDC 카드(21)에는 버스(24a)를 통해 HDD(hard disk drive) 장치(22)가 접속되고, 버스(24b)를 통해 CD-ROM 장치(23)가 접속되어 있다. 버스(24a, 24b)는, 예컨대 ATA(AT Attachment)/ATAPI(ATA packet interface) 버스에 의해 구성되어 있다. HDC 카드(2l)는 HDD 장치의 증설이나 HDD 장치의 제어 기능을 확장하기 위해서 사용된다.
또, HDC 카드(21)는 HDD 장치(22)의 제어 기능을 확장하는 것에 한정하지 않고, 캐시 메모리를 갖는 확장 카드이면 좋다. 예컨대, SCSI(Smal1 Computer System Interface) 카드와 같은 것이라도 좋다. 또한, 확장 버스(20)는 PCI 버스로 한정하지 않으며, 버스(24a, 24b)는 ATA/ATAPI 버스로 한정하지 않는다.
도 2는 도 1에 도시된 HDD 장치의 개략적인 구성을 도시한 도면이다.
도 2에 도시된 바와 같이, HDD 장치(22)는 데이타가 기록되는 기록면을 갖는 자기 디스크(41)와, 도시 생략된 기록용 및 재생용 자기 헤드를 갖는 헤드 슬라이더(43)를 구비한다.
자기 디스크(41)는 스핀들 모터(42)의 회전축에 고정하여 부착되고, 스핀들 모터(42)에 의해 회전 구동된다. 헤드 슬라이더(43)는 헤드 아암(44)의 선단 부분에 고정되어 있다. 헤드 아암(44)은 액츄에이터(45)에 부착되고, 헤드 슬라이더(43)를 탄성 지지한다. 헤드 아암(44)은 액츄에이터(45)에 의해 자기 디스크(41)의 기록면의 상공을 회동 구동한다. 이것에 의해, 헤드 슬라이더(43)는 자기 디스크(41)의 대략 반경 방향을 이동하여, 자기 디스크(41) 기록면의 임의의 위치의 데이타가 액세스된다.
또, 자기 디스크(41)는 1장 이상 있으면 좋고, 그 한쪽 면 또는 양쪽 면에 기록면이 형성된다. 헤드 슬라이더(43) 및 헤드 아암(44)은 자기 디스크(41)의 기록면에 대응하여 설치된다.
자기 디스크(41), 스핀들 모터(42), 헤드 슬라이더(43), 헤드 아암(44)및 액츄에이터(45)로 구성되는 구동 기구는 제어 회로(50)에 의해 제어된다. 제어 회로(50)는 HDC(Hard Disk Controller)(51), 제어용 메모리(53), 디스크 캐시(54) 및 호스트 I/F(55)를 구비한다. 이들은 버스(56)를 통해 서로 접속되어 있다.
HDC(51)는 제어용 메모리(53)에 기억된 제어 프로그램, 제어 데이타에 따라서, HDD 장치(22)의 전체를 제어한다. HDC(51)는 서보 제어나 데이타의 기록/재생시의 오류 제어를 위한 연산 처리를 실행함으로써, 스핀들 모터(42) 및 액츄에이터(45)를 구동하고, 기록용 자기 헤드를 통해 자기 디스크(41)에 데이타를 기록함과 동시에, 재생용 자기 헤드를 통해 자기 디스크(41)로부터 데이타를 재생하여 판독한다. HDC(51)에는 자기 디스크(41)에 기록되는 데이타의 일부를 디스크 캐시(54)에 유지하기 위한 캐시 컨트롤러(52)가 설치되어 있다.
제어용 메모리(53)에는 HDC(51)에 의해 실행되는 제어 프로그램, 이 제어 프로그램에 사용되는 제어 데이타가 기억되어 있다. 디스크 캐시(54)는 자기 디스크(41)에 기록되는 기록 데이타를 일시적으로 기억함과 동시에, 자기 디스크(41)로부터 판독된 판독 데이타를 일시적으로 기억하는 버퍼 메모리의 기능을 갖는다. 호스트 I/F(55)에는 버스(21a)를 통해 HDC 카드(21)가 접속되어 있다. 호스트 I/F(55)는 HDC 카드(21)와의 사이에서 데이타를 송수신하는 인터페이스 회로이다.
디스크 캐시(54)는 전술한 바와 같이 자기 디스크(41)에 기록되는 데이타의 일부를 유지하는 캐시 메모리의 기능을 갖는다. 디스크 캐시(54)는 하위의 캐시 메모리에 상당한다. 디스크 캐시(54)는 예컨대 DRAM으로 이루어지며, 수 M ∼ 수십 MB의 기억 용량을 갖는다. 캐시 제어는 캐시 컨트롤러(52)에 의해 행해진다. 캐시 컨트롤러(52)는 예컨대 FIFO 모드 및 LRU 모드의 스와프 모드를 지원한다.
HDD 장치(22)는 이 컴퓨터 시스템의 기동시에 HDC 카드(호스트 장치)(21)와의 사이에서 설정 정보를 송수신하고, 송수신된 설정 정보에 기초하여 HDD 장치(22)의 초기 설정을 행한다. 이 때, HDD 장치(22)는 예컨대 자신의 장치에 의해 선택 가능한 캐시 메모리의 스와프 모드(FIFO 모드 및 LRU 모드)를 HDC 카드(21)로 전송하고, 이것에 의해서 HDC 카드(21)로부터 전송된 스와프 모드를 자신의 캐시 메모리의 스와프 모드로서 선택한다.
도 3은 도 1에 도시된 HDC 카드(21)의 개략적인 구성을 도시한 도면이다.
도 3에 도시된 바와 같이, HDC 카드(21)는 HDC(31), 제어용 메모리(33), 디스크 캐시(34), I/O 포트(35, 36) 및 호스트 I/F(37)를 구비한다. HDC(31), 제어용 메모리(33), 디스크 캐시(34) 및 호스트 I/F(37)는 버스(38c)를 통해 서로 접속되어 있다. I/O 포트(35)는 버스(38a)를 통해 HDC (31)에 접속되고, I/O 포트(36)는 버스(38b)를 통해 HDC(31)에 접속되어 있다.
HDC(31)는 제어용 메모리(33)에 기억된 제어 프로그램, 제어 데이타에 따라서, HDC 카드(21)의 전체를 제어한다. HDC(31)에는 HDD 장치(22)에 기억되는 데이타의 일부를 디스크 캐시(34)에 유지하기 위한 캐시 컨트롤러(32)가 설치되어 있다.
제어용 메모리(33)에는 HDC(31)에 의해 실행되는 제어 프로그램, 이 제어 프로그램에 사용되는 제어 데이타가 기억되어 있다. 디스크 캐시(34)는 HDD 장치(22)에 기억되는 기록 데이타를 일시적으로 기억함과 동시에, HDD 장치(22)로부터 판독된 판독 데이타를 일시적으로 기억하는 버퍼 메모리의 기능을 갖는다. I/O 포트(35)에는 버스(24a)를 통해 HDD 장치(22)가 접속되고, I/O 포트(36)에는 버스(24b)를 통해 CD-ROM 장치(23)가 접속되어 있다. 호스트 I/F(37)에는 확장 버스(20)가 접속되어 있다. 호스트 I/F(37)는 확장 버스(20)를 통해 데이타를 송수신하는 인터페이스 회로이다.
디스크 캐시(34)는 전술한 바와 같이 HDD 장치(22)에 기억되는 데이타의 일부를 유지하는 캐시 메모리의 기능을 갖는다. 디스크 캐시(34)는 HDD 장치(22)에 설치된 디스크 캐시(54)에 대하여 상위의 캐시 메모리에 상당한다. 디스크 캐시(34)는 예컨대 DRAM으로 이루어지며, 수 M ∼ 수십 MB의 기억 용량을 갖는다. 캐시 제어는 캐시 컨트롤러(32)에 의해 행해진다. 캐시 컨트롤러(32)는 예컨대 FIFO 모드, LRU 모드 및 LFU 모드를 지원한다.
HDC 카드(21)는 이 컴퓨터 시스템의 기동시에 HDD 장치(하위 장치)(22)와의 사이에서 설정 정보를 송수신하고, 송수신된 설정 정보에 기초하여 HDC 카드(21)의 초기 설정을 행한다. 이 때, HDC 카드(21)는 예컨대 HDD 장치(22)로부터 전송된 캐시 메모리의 스와프 모드 중에서 HDD 장치(22)가 선택해야 할 스와프 모드를 선택하여 HDD 장치(22)에 전송하고, 또한, HDD 장치(22)로 전송된 스와프 모드와 상이한 스와프 모드를 자신의 캐시 메모리의 스와프 모드로서 선택한다. 또, 어떤 스와프 모드를 선택하는지는 그 우선 순위가 미리 설정되어 있다.
도 4는 캐시 메모리의 스와프 모드를 선택하는 동작의 일례를 도시하는 시퀀스도이다.
컴퓨터 시스템이 기동되면, HDD 장치(22)가 선택 가능한 캐시 메모리의 스와프 모드(FIFO 모드 및 LRU 모드)가 HDD 장치(22)로부터 HDC 카드(21)로 전송된다(스텝 S1). HDC 카드(21)에서는 HDD 장치(22)로부터 스와프 모드가 전송되면(스텝 S2), 미리 설정된 우선 순위에 따라서 수신된 스와프 모드 중에서 HDD 장치(22)가 선택해야 할 스와프 모드(FIFO 모드)가 선택되고(스텝 S3), 선택된 스와프 모드가 HDD 장치(22)로 응답된다(스텝 S4).
HDD 장치(22)에서는 HDC 카드(21)로부터 스와프 모드가 전송되면(스텝 S5), 전송된 스와프 모드가 자신의 캐시 메모리의 스와프 모드로 선택된다(스텝 S6). 한편, HDC 카드(21)에서는 미리 설정된 우선 순위에 따라서 HDD 장치(22)의 스와프 모드와 상이한 스와프 모드(LRU 모드)가 자신의 캐시 메모리의 스와프 모드로 선택된다(스텝 S7).
캐시 메모리의 스와프 모드를 선택하는 방법은 도 5에 도시된 시퀀스에 의해 행할 수도 있다. HDD 장치(22)는 디폴트의 스와프 모드(FIFO 모드)가 미리 설정되어 있는 것으로 한다.
컴퓨터 시스템이 기동되면, HDD 장치(22)에 디폴트로 설정되어 있는 스와프 모드(FIFO 모드)가 HDD 장치(22)로부터 HDC 카드(21)로 전송된다(스텝 S11). HDC 카드(21)에서는 HDD 장치(22)의 스와프 모드가 전송되면(스텝 S12), 미리 설정된 우선 순위에 따라서 HDD 장치(22)의 스와프 모드와 상이한 스와프 모드(LFU 모드)가 자신의 캐시 메모리의 스와프 모드로 선택된다(스텝 S13).
또한, HDC 카드(21)가 HDD 장치(22)의 디폴트의 스와프 모드와 상이한 스와프 모드를 갖지 않을 경우에는, 그 취지를 HDC 카드(21)로부터 HDD 장치(22)로 전송하고, HDD 장치(22)가 디폴트의 스와프 모드와 상이한 스와프 모드를 선택하도록 구성할 수도 있다.
또, 도 4의 예에 있어서는 HDC 카드(21)가 스와프 모드의 결정권을 갖지만, HDC 카드(21)와 HDD 장치(22)와의 입장을 치환하여, HDD 장치(22)가 스와프 모드의 결정권을 갖도록 구성할 수도 있다. 이 경우, 스와프 모드의 결정권을 갖고 있지 않는 장치는 적어도 하나의 스와프 모드를 가지면 좋다. 또한, 도 5의 예에 있어서도 HDC 카드(21)와 HDD 장치(22)와의 입장을 치환하여, HDC 카드(21)가 디폴트의 스와프 모드를 HDD 장치(22)로 전송하도록 구성할 수도 있다.
이와 같이, 컴퓨터 시스템의 기동시에 HDC 카드(21)의 캐시 메모리(상위의 캐시 메모리)와 HDD 장치(22)의 캐시 메모리(하위의 캐시 메모리)와의 사이에서 스와프 모드를 송수신하고, 서로 상이한 스와프 모드를 선택할 수 있다. 따라서, 각각의 캐시 메모리에 최적의 스와프 모드를 선택할 수 있다.
또한, 스와프 모드를 선택하는 동작은 전술한 동작으로 한정하는 것이 아니라, 여러 가지 방법에 의해 실현할 수 있다. 예컨대, 한쪽의 캐시 메모리가 자신이 선택 불가능한 스와프 모드를 다른 쪽의 캐시 메모리로 전송하고, 다른 쪽의 캐시 메모리가 전송된 스와프 모드 중에서 자신의 스와프 모드를 선택하도록 구성할 수도 있다.
실시예 2.
본 발명에 따른 실시예 2의 캐시 메모리의 방법은 상위 및 하위의 캐시 메모리에 공통의 데이타를 유지하지 않도록 하는 것으로서, 구체적으로는 하위의 캐시 메모리로부터 상위의 캐시 메모리로 전송된 데이타를 하위의 캐시 메모리로부터 소거하는 것이다. 이것에 의해, 하위의 캐시 메모리에 한층 더 효율이 양호하게 데이타를 유지할 수 있다.
도 6은 본 발명에 따른 실시예 2의 컴퓨터 시스템의 개략적인 구성을 도시한 도면이다.
또, 도 1에 도시된 실시예 1의 컴퓨터 시스템의 각 부분과 동일한 구성 요소에는 동일한 부호를 병기하고, 그 설명을 생략한다.
도 6에 도시된 바와 같이, 확장 버스(20)에는 제2 브리지 회로(71)가 접속되어 있다. 제2 브리지 회로(71)에는 버스(70)를 통해 도시 생략된 주변 장치가 접속 가능하게 되고, 버스(74a)를 통해 HDD 장치(72)가 접속되고, 버스(74b)를 통해 CD-ROM 장치(73)가 접속되어 있다. 버스(70)는 예컨대 ISA(Industry Standard Architecture) 버스로 구성되어 있다. 버스(74a, 74b)는 예컨대 ATA(AT Attachment)/ATAPI(ATA packet interface)버스에 의해 구성되어 있다.
제2 브리지 회로(71)는 확장 버스(20)와 규격이 상이한 확장 버스에 주변 장치를 접속하기 위해서 설치되어 있다. 제2 브리지 회로(71)는 PCI 버스 인터페이스, 인터럽트 컨트롤러, DMA(direct memory access) 컨트롤러, ISA 버스 인터페이스 등의 기능을 갖는다. 또, 버스(70)는 ISA 버스로 한정하지 않으며, 버스(74a, 74b)는 ATA/ATAPI 버스로 한정하지 않는다.
메인 메모리(15)는 CPU(11)의 명령에 따라서 HDD 장치(72)와의 사이에서 데이타를 송수신한다. 이 메인 메모리(15)에는 HDD 장치(72)에 기억되는 데이타의 일부를 유지하기 위한 디스크 캐시(16)가 설치되어 있다. 디스크 캐시(16)는 HDD 장치(72)에 설치된 디스크 캐시(75)에 대해 상위의 캐시 메모리에 상당한다. 디스크 캐시(16)는, 예컨대 수 M ∼ 수십 MB의 기억 용량을 갖는다. 캐시 제어는 제1 브리지 회로(14)에 설치된 메인 메모리 컨트롤러(17)에 의해 행해진다.
메인 메모리(15)의 디스크 캐시(16)[정확하게는 메인 메모리 컨트롤러(17)]는 CPU(11)로부터 요구된 데이타가 유지되어 있지 않을 때, CPU(11)로부터 요구된 데이타와, CPU(11)로부터 다음 회(次回)에 요구되는 것으로 예측되는 데이타를 포함하는 데이타를 HDD 장치(72)에 요구하고, 이 요구에 따라서 HDD 장치(72)로부터 전송된 데이타를 유지한다. 다음 회에 요구되는 것으로 예측되는 데이타로서는, 예컨대 CPU(11)로부터 전회(前回)에 요구된 데이타나 CPU(11)로부터 요구된 데이타의 사전 판독(Look Ahead) 데이타가 사용된다.
HDD 장치(72)는 도 1에 도시된 HDD 장치(22)와 동일한 구성이고, 하위의 캐시 메모리의 기능을 갖는 디스크 캐시(75)를 구비하지만, 캐시 제어 방법이 HDD 장치(22)의 디스크 캐시(54)의 캐시 제어 방법과 상이하다. 디스크 캐시(75)는 HDD 장치(72)로부터 판독된 데이타를 소거하도록 구성되어 있다. 디스크 캐시(75)는 예컨대 수 M ∼ 수십 MB(byte)의 기억 용량을 갖는다.
HDD 장치(72)의 디스크 캐시(75)[정확하게는 도시생략된 캐시 컨트롤러]는 메인 메모리(15)로부터 요구된 데이타가 유지되고 있지 않을 때, 메인 메모리(15)로부터 요구된 데이타와, 메인 메모리(15)로부터 다음 회에 요구되는 것으로 예측되는 데이타를 포함하는 데이타를 자기 디스크(41)로부터 독출한다. 디스크 캐시(75)는 먼저 메인 메모리(15)로부터 요구된 데이타를 유지하고, 유지된 데이타를 메인 메모리(15)로 전송한다. 디스크 캐시(75)는 메인 메모리(15)로부터 요구된 데이타가 메인 메모리(15)로 전송되면, 해당 데이타를 소거하고, 메인 메모리(15)로부터 다음 회에 요구되는 것으로 예측되는 예측 데이타를 유지한다. 다음 회에 요구되는 것으로 예측되는 데이타로서는, 예컨대 메인 메모리(15)로부터 요구된 데이타의 사전 판독 데이타가 사용된다.
또한, 본원 명세서에서의「소거」란 메인 메모리로 전송된 데이타를 단순히 소거하는 것 뿐만 아니라, 예컨대 상기 데이타와 동시에 메모리 관리 영역에 유지되는 상기 데이타의 제어 데이타(태그, 유효 플래그 등)의 내용을 갱신하고, 이들 영역을 빈 영역으로서 지정하는 등의 상기 데이타의 소거와 관련된 처리를 포함한다.
도 7은 캐시 메모리의 데이타 유지 동작의 일례를 도시한 도면이다.
메인 메모리(15)의 디스크 캐시(16)(호스트 장치의 캐시 메모리) 및 HDD 장치(72)의 디스크 캐시(75)(하위 장치의 캐시 메모리)에는 CPU(11)(응용 프로그램)로부터 요구되는 데이타가 유지되고 있지 않은 것으로 한다.
응용 프로그램으로부터 메인 메모리(15)로 데이타가 요구되면, 메인 메모리(15)의 디스크 캐시(16)에서는 캐시 오적중이 발생되기 때문에 응용 프로그램으로부터 요구된 데이타와, 응용 프로그램으로부터 다음 회에 요구되는 것으로 예측되는 데이타를 포함하는 데이타 A가 HDD 장치(72)에 요구된다. HDD 장치(72)의 디스크 캐시(75)에서는 캐시 오적중이 발생되기 때문에, 메인 메모리(15)로부터 요구된 데이타 A가 자기 디스크(41)로부터 판독되어 디스크 캐시(75)에 유지되고, 또, 메인 메모리(15)로 전송된다. 이것에 의해, 메인 메모리(15)의 디스크 캐시(16)에는 데이타 A가 유지된다.
또한, HDD 장치(72)에서는 데이타 A가 메인 메모리(15)로 전송되면, 해당 데이타 A가 디스크 캐시(75)로부터 소거된다. 이어서, 호스트 장치에서는 전송된 데이타 A에 연속되는 어드레스의 데이타 B가 자기 디스크(41)로부터 판독되어 디스크 캐시(75)에 유지된다.
도 12에 도시된 종래의 데이타 판독 방법과 비교하면, 종래의 HDD 장치의 캐시 메모리에는 호스트 장치로부터 요구된 데이타 D3과, 이 데이타 D3에 연속되는 어드레스의 데이타 4(사전 판독 데이타)가 유지된다. 이에 대해, 실시예 2의 HDD 장치의 캐시 메모리에는 호스트 장치로부터 요구된 데이타 A는 유지되지 않고, 데이타 A에 연속되는 어드레스의 데이타 B(사전 판독 데이타)가 유지된다.
이 때문에, 쌍방의 기억 용량이 동일한 경우, 종래의 HDD 장치보다도 실시예 1의 HDD 장치의 캐시 메모리의 쪽이 보다 많은 사전 판독 데이타를 유지할 수 있다. 도 12에 있어서, 데이타 B1은 종래의 HDD 장치의 캐시 메모리에 유지할 수 있는 사전 판독 데이타 D4를 의미하며, 데이타 B2는 데이타 A가 캐시 메모리로부터 소거됨으로써 자기 디스크로부터 판독되는 데이타 B1에 연속되는 사전 판독 데이타를 의미한다. 이것에 의해, 데이타의 공간적인 국소성을 이용하여 캐시 메모리의 적중률을 향상시킬 수 있다. 따라서, 캐시 메모리에 효율이 양호하게 데이타를 유지할 수 있다.
또, 데이타의 국소성에는 시간적인 국소성과 공간적인 국소성이 있다. 시간적인 국소성이란 동일한 어드레스의 데이타가 반복 액세스될 가능성이 높은 것을 의미한다. 공간적인 국소성이란 액세스된 데이타 근처의 어드레스에 존재하는 데이타가 액세스될 가능성이 높은 것을 의미한다.
도 8∼도 11은 캐시 메모리의 데이타 유지 동작의 다른 예를 도시하는 도면이다.
도 8에 도시된 바와 같이, 메인 메모리(15)의 디스크 캐시(16)는 응용 프로그램으로부터 다음 회에 요구되는 것으로 예측되는 데이타로서, 응용 프로그램으로부터 전회에 요구된 데이타 A2를 사용한다. 이것에 의해, 데이타의 시간적인 국소성을 이용하여 디스크 캐시(16)의 적중률을 향상시킬 수 있다.
도 9에 도시된 바와 같이, 메인 메모리(15)의 디스크 캐시(16)는 응용 프로그램으로부터 다음 회에 요구되는 것으로 예측되는 데이타로서, 응용 프로그램으로부터 요구된 데이타 A1의 사전 판독 데이타 A2를 사용한다. 이것에 의해, 데이타의 공간적인 국소성을 이용하여 디스크 캐시(16)의 적중률을 향상시킬 수 있다.
도 10의 예에서는 메인 메모리(15)의 디스크 캐시(16)는 복수의 세그먼트(Segment), 예컨대 세그먼트 1, 세그먼트 2 및 세그먼트 3의 3개의 세그먼트를 갖는다. 세그먼트 1, 세그먼트 2 및 세그먼트 3에는 응용 프로그램으로부터 순차적으로 발행되는 커맨드(command)에 의해, HDD 장치(72)에 요구된 데이타가 반복해서 유지된다.
세그먼트 1에는 응용 프로그램의 커맨드 1에 의해 요구된 데이타 A1과, 데이타 A1의 사전 판독 데이타 A2가 유지되어 있다. 세그먼트 2에는 응용 프로그램의 커맨드 2에 의해 요구된 데이타 A3과, 데이타 A3의 사전 판독 데이타 A4가 유지되어 있다. 세그먼트 3에는 응용 프로그램의 커맨드 3에 의해 요구된 데이타 A5와, 데이타 A5의 사전 판독 데이타 A6이 유지되어 있다. 이와 같이, 캐시 메모리를 복수의 세그먼트에 의해 구성함으로써 데이타의 시간적인 국소성을 이용하여 디스크 캐시(16)의 적중률을 향상시킬 수 있다.
한편, HDD 장치(72)의 디스크 캐시(75)에는 메인 메모리(15)로부터 요구된 가장 최근의 데이타 A5 및 A6의 사전 판독 데이타 B가 유지되어 있다. 이것에 의해, 데이타의 공간적인 국소성을 이용하여 디스크 캐시(75)의 적중률을 향상시킬 수 있다.
도 11의 예에서는 HDD 장치(72)의 디스크 캐시(75)도 복수의 세그먼트, 예컨대 세그먼트 1, 세그먼트 2 및 세그먼트 3의 3개의 세그먼트를 갖는다. 메인 메모리(15)의 디스크 캐시(16)의 세그먼트 1, 세그먼트 2 및 세그먼트 3의 각각에는 응용 프로그램으로부터 순차적으로 요구된 커맨드 1, 커맨드 2 및 커맨드 3에 대응하여 HDD 장치(72)에 요구된 데이타 A1, A2 및 A 3가 유지되어 있다. HDD 장치(72)의 디스크 캐시(75)의 세그먼트 1, 세그먼트 2 및 세그먼트 3의 각각에는 메인 메모리(15)로부터 요구된 데이타 A1, A2 및 A3의 각각의 사전 판독 데이타 C1, C2 및 C3가 유지되어 있다. 이것에 의해, 데이타의 시간적인 국소성을 이용하여 디스크 캐시(75)의 적중률을 향상시킬 수 있다.
또, 복수의 세그먼트를 배치하는 방법은 이것으로 한정하지 않으며, 예컨대 다이렉트·맵핑(direct mapping), 풀·어소시어티부(full associative), 세트·어소시어티브(set associative) 등의 종래부터 잘 알려진 방법을 채용할 수도 있다. 또한, 각 세그먼트의 크기는 고정 길이로 한정하는 것이 아니며, 가변 길이로 할 수도 있다.
또, 실시예 2에서는 메인 메모리(15)의 디스크 캐시(16)(상위의 캐시 메모리) 및 HDD 장치(72)의 디스크 캐시(75)(하위의 캐시 메모리)의 2 단계의 기억 계층에 있어서 하위의 캐시 메모리가 상위의 캐시 메모리로 전송된 데이타를 유지하지 않도록 하고 있다. 이에 대해, 실시예 1과 같이, 메인 메모리, 확장 카드 및 HDD 장치의 3 단계의 기억 계층의 경우에는, 예컨대 확장 카드로부터 메인 메모리로 전송된 데이타를 확장 카드의 캐시 메모리가 유지하지 않으며, HDD 장치로부터 확장 카드로 전송된 데이타를 HDD 장치의 캐시 메모리가 유지하지 않도록 할 수 있다.
또한, 실시예 1 및 2에서는 HDD 장치를 최하위의 데이타 기억 장치로 하고 있지만, 최하위의 데이타 기억 장치는 HDD 장치로 한정하지 않으며, 예컨대 자기 테이프 장치, 광 자기 디스크 장치 등의 디스크 장치라도 좋다.
본 발명은 특히, 캐시 메모리를 갖는 주변 장치에 적합하다. 일반적으로, 1차 캐시, 2차 캐시 및 메인 메모리는 미리 컴퓨터의 마더 보드에 실장되기 때문에, 이들 메모리간의 데이타 전송 방법은 통합된 시스템으로서 최적의 설계로 되어 있다. 이에 대하여, 확장 카드, HDD 장치 등의 종래의 주변 장치는 일반적으로 개별적으로 설계되기 때문에, 반드시 상위의 기억 계층과의 관계에 있어서 최적의 설계로 이루어지는 것은 아니다. 본 발명은 하위의 캐시 메모리를 가능한 한 상위의 캐시 메모리와 중복된 데이타를 유지하지 않도록 함으로서, 데이타의 국소성을 이용하여 하위의 캐시 메모리의 적중률을 향상시킬 수 있다. 따라서, 상위의 기억 계층과의 관계에 있어서 최적의 데이타 전송 방법을 실현할 수 있다.
또한, 본 발명은 상위 및 하위의 캐시 메모리가 동일한 정도의 기억 용량을 갖는 경우에 가장 효과를 발휘한다. 상위 캐시 메모리의 기억 용량에 대한 하위의 캐시 메모리의 기억 용량이 극단적으로 클 경우에는, 상위의 캐시 메모리에 유지된 데이타와 동일한 데이타를 하위의 캐시 메모리가 유지하더라도 하위의 캐시 메모리의 기억 용량에 대한 상기 동일한 데이타의 비율은 작기 때문이다.
이에 대해, 상위 및 하위의 캐시 메모리가 각각 동일한 정도의 기억 용량을 갖는 경우에는, 상위의 캐시 메모리에 유지된 데이타와 동일한 데이타를 하위의 캐시 메모리가 유지하면, 하위의 캐시 메모리의 기억 용량에 대한 상기 동일한 데이타의 비율이 크게 된다. 따라서, 상위의 캐시 메모리로 전송된 데이타 대신에, 사전 판독 데이타 등의 다른 데이타를 유지하여, 적중률을 향상시키는 효과가 상대적으로 크게 된다.
본 발명에 따르면, 상위 및 하위의 캐시 메모리를 각각 상이한 스와프 모드로 동작시킬 수 있다. 이것에 의해, 상위의 캐시 메모리에 유지된 데이타를 하위의 캐시 메모리가 유지할 가능성을 작게 할 수 있기 때문에, 각각의 캐시 메모리에 효율이 양호하게 데이타를 유지시킬 수 있다.
또한, 본 발명에 따르면, 호스트 장치로부터 하위의 캐시 메모리로 데이타의 전송이 요구되었을 때, 이 요구에 따라서 호스트 장치로 전송된 데이타를 하위의 캐시 메모리가 소거한다. 혹은, 상위의 캐시 메모리로부터 하위의 캐시 메모리로 데이타의 전송이 요구되었을 때, 이 요구에 따라서 상위의 캐시 메모리로 전송된 데이타를 하위의 캐시 메모리가 소거한다. 이것에 의해, 하위의 캐시 메모리에 한층 더 효율이 양호하게 데이타를 유지시킬 수 있다.

Claims (33)

  1. 하위의 캐시 메모리와, 상위의 캐시 메모리를 갖는 복수의 캐시 메모리를 제어하는 방법에 있어서,
    상위 및 하위의 캐시 메모리가 각각 상이한 스와프 모드로 동작하는 것을 특징으로 하는 캐시 메모리의 제어 방법.
  2. 제1항에 있어서, 시스템의 기동시에, 상위 및 하위의 캐시 메모리 사이에서 각각의 스와프 모드를 선택하기 위한 선택 정보를 송수신하고, 송수신된 선택 정보에 기초하여 각각 상이한 스와프 모드를 선택하는 것을 특징으로 하는 캐시 메모리의 제어 방법.
  3. 제2항에 있어서, 상위 및 하위의 캐시 메모리 중 한쪽의 캐시 메모리는 다른 쪽의 캐시 메모리의 스와프 모드를 선택하기 위한 선택 정보를 다른 쪽의 캐시 메모리로 전송하고,
    상기 다른 쪽의 캐시 메모리는 상기 한쪽의 캐시 메모리로부터 전송된 선택 정보에 기초하여 상기 다른 쪽의 캐시 메모리의 스와프 모드를 선택하는 것을 특징으로 하는 캐시 메모리의 제어 방법.
  4. 제3항에 있어서, 상기 한쪽의 캐시 메모리는 상기 한쪽의 캐시 메모리의 스와프 모드를 선택하고, 선택된 스와프 모드를 다른 쪽의 캐시 메모리로 전송하고,
    상기 다른 쪽의 캐시 메모리는 전송된 스와프 모드와 상이한 스와프 모드를 상기 다른 쪽의 캐시 메모리의 스와프 모드로서 선택하는 것을 특징으로 하는 캐시 메모리의 제어 방법.
  5. 제3항에 있어서, 상기 한쪽의 캐시 메모리는 상기 한쪽의 캐시 메모리의 선택 불가능한 스와프 모드를 다른 쪽의 캐시 메모리로 전송하고,
    상기 다른 쪽의 캐시 메모리는 전송된 스와프 모드 중에서 상기 다른 쪽의 캐시 메모리의 스와프 모드를 선택하는 것을 특징으로 하는 캐시 메모리의 제어 방법.
  6. 제2항에 있어서, 상위 및 하위의 캐시 메모리 중 한쪽의 캐시 메모리는 상기 한쪽의 캐시 메모리의 선택 가능한 스와프 모드를 다른 쪽의 캐시 메모리로 전송하고,
    상기 다른 쪽의 캐시 메모리는 전송된 스와프 모드 중에서 상기 한쪽의 캐시 메모리가 선택해야 할 스와프 모드를 선택하고, 선택된 스와프 모드를 상기 한쪽의 캐시 메모리에 응답해서, 이 응답된 스와프 모드와 상이한 스와프 모드를 상기 다른 쪽의 캐시 메모리의 스와프 모드로서 선택하며,
    상기 한쪽의 캐시 메모리는 응답된 스와프 모드를 상기 한쪽의 캐시 메모리의 스와프 모드로서 선택하는 것을 특징으로 하는 캐시 메모리의 제어 방법.
  7. 제1항에 있어서, 상위 및 하위의 캐시 메모리는 LRU(Least Recently Used) 모드, LFU(Least Frequently Used) 모드, FIFO(first-in first-out) 모드 및 복수의 세그먼트 중 유지하는 데이타량이 가장 적은 세그먼트를 스와프 아웃하는 모드 중 서로 상이한 어느 하나의 스와프 모드로 동작하는 것을 특징으로 하는 캐시 메모리의 제어 방법.
  8. 하위의 캐시 메모리와,
    상기 하위의 캐시 메모리에 접속된 상위의 캐시 메모리를 구비한 컴퓨터 시스템에 있어서,
    상위 및 하위의 캐시 메모리는 시스템의 기동시에, 각각의 스와프 모드를 선택하기 위한 선택 정보를 송수신하고, 송수신된 선택 정보에 기초하여 각각 상이한 스와프 모드를 선택하는 것을 특징으로 하는 컴퓨터 시스템.
  9. 제8항에 있어서, 상위 및 하위의 캐시 메모리 중 한쪽의 캐시 메모리는 다른 쪽의 캐시 메모리의 스와프 모드를 선택하기 위한 선택 정보를 상기 다른 쪽의 캐시 메모리로 전송하는 전송 수단을 포함하고,
    상기 다른 쪽의 캐시 메모리는 상기 한쪽의 캐시 메모리로부터 전송된 선택 정보에 기초하여 상기 다른 쪽의 캐시 메모리의 스와프 모드를 선택하는 선택 수단을 포함하는 것을 특징으로 하는 컴퓨터 시스템.
  10. 제9항에 있어서, 상기 한쪽의 캐시 메모리는 상기 한쪽의 캐시 메모리의 스와프 모드를 선택하는 모드 선택 수단을 포함하고, 상기 전송 수단은 모드 선택 수단에 의해 선택된 스와프 모드를 다른 쪽의 캐시 메모리로 전송하며,
    상기 다른 쪽의 캐시 메모리의 선택 수단은 상기 한쪽의 캐시 메모리로부터 전송된 스와프 모드와 상이한 스와프 모드를 상기 다른 쪽의 캐시 메모리의 스와프 모드로서 선택하는 것을 특징으로 하는 컴퓨터 시스템.
  11. 제9항에 있어서, 상기 한쪽의 캐시 메모리의 전송 수단은 상기 한쪽의 캐시 메모리가 선택 불가능한 스와프 모드를 다른 쪽의 캐시 메모리로 전송하고,
    상기 다른 쪽의 캐시 메모리의 선택 수단은 상기 한쪽의 캐시 메모리로부터 전송된 스와프 모드 중에서 상기 다른 쪽의 캐시 메모리의 스와프 모드를 선택하는 것을 특징으로 하는 컴퓨터 시스템.
  12. 제8항에 있어서, 상위 및 하위의 캐시 메모리 중 한쪽의 캐시 메모리는 상기 한쪽의 캐시 메모리가 선택 가능한 스와프 모드를 다른 쪽의 캐시 메모리로 전송하는 후보 모드 전송 수단과, 상기 다른 쪽의 캐시 메모리로부터 전송된 스와프 모드를 상기 한쪽의 캐시 메모리의 스와프 모드로서 선택하는 모드 선택 수단을 포함하고,
    상기 다른 쪽의 캐시 메모리는 상기 한쪽의 캐시 메모리로부터 전송된 스와프 모드 중에서 상기 한쪽의 캐시 메모리가 선택해야 할 스와프 모드를 선택하는 상대 모드 선택 수단과, 상기 상대 모드 선택 수단에 의해 선택된 스와프 모드를 상기 한쪽의 캐시 메모리로 전송하는 상대 모드 전송 수단과, 상기 상대 모드 선택 수단에 의해 선택된 스와프 모드와 상이한 스와프 모드를 상기 다른 쪽의 캐시 메모리의 스와프 모드로서 선택하는 자기 모드 선택 수단을 포함하는 것을 특징으로 하는 컴퓨터 시스템.
  13. 제8항에 있어서, 상위 및 하위의 캐시 메모리는 LRU(Least Recently Used) 모드, LFU(Least Frequently Used) 모드, FIFO(first-in first-out) 모드 및 복수의 세그먼트 중 유지하는 데이타량이 가장 적은 세그먼트를 스와프 아웃하는 모드 중 서로 상이한 어느 하나의 스와프 모드로 동작하는 것을 특징으로 하는 컴퓨터 시스템.
  14. 자기 디스크에 기억되는 데이타의 일부를 유지하는 하위의 캐시 메모리를 갖는 하드 디스크 드라이브 장치와;
    상기 하드 디스크 드라이브 장치에 기억되는 데이타의 일부를 유지하는 상위의 캐시 메모리를 가지며, 하드 디스크 드라이브 장치를 제어하는 하드 디스크 제어 장치를 구비하고,
    상위 및 하위의 캐시 메모리는 컴퓨터 시스템의 기동시에, 각각의 스와프 모드를 선택하기 위한 선택 정보를 송수신하고, 송수신된 선택 정보에 기초하여 각각 상이한 스와프 모드를 선택하는 것을 특징으로 하는 컴퓨터 시스템.
  15. 자기 디스크에 기억되는 데이타의 일부를 유지하는 캐시 메모리를 갖는 하드 디스크 드라이브 장치와;
    상기 하드 디스크 드라이브 장치에 기억되는 데이타의 일부를 유지하고, 중앙 처리 장치로부터 발행되는 명령에 따라서 하드 디스크 드라이브 장치와의 사이에서 데이타를 송수신하는 메인 메모리를 구비하고,
    상기 캐시 메모리 및 상기 메인 메모리는 컴퓨터 시스템의 기동시에, 각각의 스와프 모드를 선택하기 위한 선택 정보를 송수신하고, 송수신된 선택 정보에 기초하여 각각 상이한 스와프 모드를 선택하는 것을 특징으로 하는 컴퓨터 시스템.
  16. 자기 디스크에 기억되는 데이타의 일부를 기억하는 하위의 캐시 메모리를 가지며, 상위의 캐시 메모리의 기능을 갖는 호스트 장치에 접속되는 하드 디스크 드라이브 장치에 있어서,
    상위 및 하위의 캐시 메모리가 각각 상이한 스와프 모드로 동작하도록 시스템의 기동시에, 호스트 장치와의 사이에서 각각의 스와프 모드를 선택하기 위한 선택 정보를 송수신하고, 송수신된 선택 정보에 기초하여 하위의 캐시 메모리의 스와프 모드를 선택하는 것을 특징으로 하는 하드 디스크 드라이브 장치.
  17. 컴퓨터 시스템에 설치된 주변 장치의 확장용 접속 단자에 접속되는 제1 접속 단자와, 자기 디스크에 기억되는 데이타의 일부를 기억하는 하위의 캐시 메모리를 갖는 하드 디스크 드라이브 장치가 접속되는 제2 접속 단자와, 제2 접속 단자에 접속된 하드 디스크 드라이브 장치에 기억되는 데이타의 일부를 유지하는 상위의 캐시 메모리를 구비하고, 제2 접속 단자에 접속된 하드 디스크 드라이브 장치를 제어하는 하드 디스크 제어 장치에 있어서,
    상위 및 하위의 캐시 메모리가 각각 상이한 스와프 모드로 동작하도록 제1 접속 단자가 접속된 컴퓨터 시스템의 기동시에, 제2 접속 단자에 접속된 하드 디스크 드라이브 장치와의 사이에서 각각의 스와프 모드를 선택하기 위한 선택 정보를 송수신하고, 송수신된 선택 정보에 기초하여 상위의 캐시 메모리의 스와프 모드를 선택하는 것을 특징으로 하는 하드 디스크 제어 장치.
  18. 상위의 캐시 메모리의 기능을 갖는 호스트 장치를 구비하는 컴퓨터 시스템에 설치된 주변 장치의 확장용 접속 단자에 접속되는 제1 접속 단자와, 하드 디스크 드라이브 장치가 접속되는 제2 접속 단자와, 제2 접속 단자에 접속된 하드 디스크 드라이브 장치에 기억되는 데이타의 일부를 유지하는 하위의 캐시 메모리를 구비하고, 제2 접속 단자에 접속된 하드 디스크 드라이브 장치를 제어하는 하드 디스크 제어 장치에 있어서,
    상위 및 하위의 캐시 메모리가 각각 상이한 스와프 모드로 동작하도록 제1 접속 단자가 접속된 컴퓨터 시스템의 기동시에, 호스트 장치와의 사이에서 각각의 스와프 모드를 선택하기 위한 선택 정보를 송수신하고, 송수신된 선택 정보에 기초하여, 하위의 캐시 메모리의 스와프 모드를 선택하는 것을 특징으로 하는 하드 디스크 제어 장치.
  19. 호스트 장치로부터 하위의 캐시 메모리로 데이타의 전송이 요구되었을 때, 이 요구에 따라서 호스트 장치로 전송된 데이타를 하위의 캐시 메모리로부터 소거하는 것을 특징으로 하는 캐시 메모리의 제어 방법.
  20. 제19항에 있어서, 하위의 캐시 메모리는 호스트 장치로부터 요구된 데이타에 기초하여 호스트 장치로부터 다음 회(次回)에 요구되는 것으로 예측되는 데이타를 유지하는 것을 특징으로 하는 캐시 메모리의 제어 방법.
  21. 제20항에 있어서, 호스트 장치로부터 다음 회에 요구되는 것으로 예측되는 데이타는 호스트 장치로부터 요구된 데이타의 사전 판독 데이타인 것을 특징으로 하는 캐시 메모리의 제어 방법.
  22. 하위의 캐시 메모리에 유지된 데이타의 일부를 상위의 캐시 메모리에 유지하는 캐시 메모리의 제어 방법에 있어서,
    상위의 캐시 메모리로부터 하위의 캐시 메모리로 데이타의 전송이 요구되었을 때, 이 요구에 따라서 하위의 캐시 메모리로부터 상위의 캐시 메모리로 전송된 데이타를 하위의 캐시 메모리로부터 소거하는 것을 특징으로 하는 캐시 메모리의 제어 방법.
  23. 제22항에 있어서, 호스트 장치로부터 상위의 캐시 메모리로 요구된 데이타가 상위의 캐시 메모리에 유지되고 있지 않을 때, 호스트 장치로부터 요구된 요구 데이타와, 호스트 장치로부터 요구된 데이타에 기초하여 호스트 장치로부터 다음 회에 요구되는 것으로 예측되는 제1 예측 데이타를 포함하는 데이타를 상위의 캐시 메모리가 하위의 캐시 메모리에 요구하고,
    하위의 캐시 메모리가 요구된 데이타를 상위의 캐시 메모리로 전송하고, 상위의 캐시 메모리로부터 요구된 데이타에 기초하여 상위의 캐시 메모리로부터 다음 회에 요구되는 것으로 예측되는 제2 예측 데이타를 유지하는 것을 특징으로 하는 캐시 메모리의 제어 방법.
  24. 제23항에 있어서, 제1 예측 데이타는 호스트 장치로부터 전회(前回)에 요구된 데이타이고,
    제2 예측 데이타는 상위의 캐시 메모리로부터 요구된 데이타의 사전 판독 데이타인 것을 특징으로 하는 캐시 메모리의 제어 방법.
  25. 제23항에 있어서, 제1 예측 데이타는 호스트 장치로부터 요구된 데이타의 사전 판독 데이타이고,
    제2 예측 데이타는 상위의 캐시 메모리로부터 요구된 데이타의 사전 판독 데이타인 것을 특징으로 하는 캐시 메모리의 제어 방법.
  26. 제1항 또는 제22항에 있어서, 상기 상위의 캐시 메모리는 하드 디스크 드라이브 장치를 제어하는 하드 디스크 제어 장치에 설치되는 디스크 캐시로 이루어지고,
    상기 하위의 캐시 메모리는 상기 하드 디스크 드라이브 장치에 설치되는 디스크 캐시로 이루어지는 것을 특징으로 하는 캐시 메모리의 제어 방법.
  27. 하위의 캐시 메모리와,
    상기 하위의 캐시 메모리에 기억되는 데이타의 일부를 유지하는 상위의 캐시 메모리를 구비한 컴퓨터 시스템에 있어서,
    하위의 캐시 메모리는 상위의 캐시 메모리로부터 하위의 캐시 메모리로 데이타의 전송이 요구되었을 때, 이 요구에 따라서 하위의 캐시 메모리로부터 상위의 캐시 메모리로 전송된 데이타를 소거하는 것을 특징으로 하는 컴퓨터 시스템.
  28. 제27항에 있어서, 상위의 캐시 메모리는 호스트 장치로부터 요구된 데이타가 유지되고 있지 않을 때, 호스트 장치로부터 요구된 데이타와, 호스트 장치로부터 요구된 데이타에 기초하여 호스트 장치로부터 다음 회에 요구되는 것으로 예측되는 제1 예측 데이타를 포함하는 데이타를 하위의 캐시 메모리에 요구하고,
    하위의 캐시 메모리는 상위의 캐시 메모리로부터 요구된 데이타에 기초하여 상위의 캐시 메모리로부터 다음 회에 요구되는 것으로 예측되는 제2 예측 데이타를 유지하는 것을 특징으로 하는 컴퓨터 시스템.
  29. 제8항 또는 제27항에 있어서, 상기 상위의 캐시 메모리는 하드 디스크 드라이브 장치를 제어하는 하드 디스크 제어 장치에 설치되는 디스크 캐시로 이루어지고,
    상기 하위의 캐시 메모리는 상기 하드 디스크 드라이브 장치에 설치되는 디스크 캐시로 이루어지는 것을 특징으로 하는 컴퓨터 시스템.
  30. 자기 디스크에 기억되는 데이타의 일부를 유지하는 하위의 캐시 메모리를 갖는 하드 디스크 드라이브 장치와;
    상기 하드 디스크 드라이브 장치에 기억되는 데이타의 일부를 유지하는 상위의 캐시 메모리를 가지며, 하드 디스크 드라이브 장치를 제어하는 하드 디스크 제어 장치를 구비하고,
    하위의 캐시 메모리는 하드 디스크 제어 장치로부터 하드 디스크 드라이브 장치로 데이타의 전송이 요구되었을 때, 이 요구에 따라서 하드 디스크 드라이브 장치로부터 하드 디스크 제어 장치로 전송된 데이타를 소거하는 것을 특징으로 하는 컴퓨터 시스템.
  31. 자기 디스크에 기억되는 데이타의 일부를 유지하는 캐시 메모리를 갖는 하드 디스크 드라이브 장치와;
    하드 디스크 드라이브 장치에 기억되는 데이타의 일부를 유지하고, 중앙 처리 장치로부터 발행되는 명령에 따라서 하드 디스크 드라이브 장치와의 사이에서 데이타를 송수신하는 메인 메모리를 구비하고,
    상기 캐시 메모리 및 상기 메인 메모리는 메인 메모리로부터 하드 디스크 드라이브 장치로 데이타의 전송이 요구되었을 때, 이 요구에 따라서 하드 디스크 드라이브 장치로부터 메인 메모리로 전송된 데이타를 소거하는 것을 특징으로 하는 컴퓨터 시스템.
  32. 자기 디스크에 기억되는 데이타의 일부를 기억하는 캐시 메모리를 갖는 하드 디스크 드라이브 장치에 있어서,
    캐시 메모리는 상기 하드 디스크 드라이브 장치가 접속되는 호스트 장치로부터 데이타의 전송이 요구되었을 때, 이 요구에 따라서 호스트 장치로 전송된 데이타를 소거하는 것을 특징으로 하는 하드 디스크 드라이브 장치.
  33. 컴퓨터 시스템에 설치된 주변 장치의 확장용 접속 단자에 접속되는 제1 접속 단자와, 하드 디스크 드라이브 장치가 접속되는 제2 접속 단자와, 제2 접속 단자에 접속된 하드 디스크 드라이브 장치에 기억되는 데이타의 일부를 유지하는 캐시 메모리를 구비하고, 제2 접속 단자에 접속된 하드 디스크 드라이브 장치를 제어하는 하드 디스크 제어 장치에 있어서,
    캐시 메모리는 제1 접속 단자를 통해서 호스트 장치로부터 데이타의 전송을 요구되었을 때, 이 요구에 따라서 호스트 장치로 전송된 데이타를 소거하는 것을 특징으로 하는 하드 디스크 제어 장치.
KR10-2000-0058696A 1999-10-15 2000-10-06 캐시 메모리의 제어 방법, 컴퓨터 시스템, 하드 디스크드라이브 장치 및 하드 디스크 제어 장치 KR100388338B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP29390999A JP3568110B2 (ja) 1999-10-15 1999-10-15 キャッシュメモリの制御方法、コンピュータシステム、ハードディスクドライブ装置およびハードディスク制御装置
JP99-293909 1999-10-15

Publications (2)

Publication Number Publication Date
KR20010050881A true KR20010050881A (ko) 2001-06-25
KR100388338B1 KR100388338B1 (ko) 2003-06-25

Family

ID=17800734

Family Applications (1)

Application Number Title Priority Date Filing Date
KR10-2000-0058696A KR100388338B1 (ko) 1999-10-15 2000-10-06 캐시 메모리의 제어 방법, 컴퓨터 시스템, 하드 디스크드라이브 장치 및 하드 디스크 제어 장치

Country Status (5)

Country Link
US (1) US6629200B1 (ko)
JP (1) JP3568110B2 (ko)
KR (1) KR100388338B1 (ko)
DE (1) DE10050171B4 (ko)
SG (1) SG90174A1 (ko)

Families Citing this family (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003076498A (ja) * 2001-09-05 2003-03-14 Hitachi Ltd ディスク記憶装置
US7688863B2 (en) * 2001-10-19 2010-03-30 Renesas Technology America, Inc. Methods and apparatus for sharing network bandwidth
JP2003216491A (ja) 2002-01-23 2003-07-31 Hitachi Ltd 階層キャッシュ制御方法
FR2846114A1 (fr) * 2002-10-16 2004-04-23 Thomson Licensing Sa Dispositif de memorisation d'une liste d'elements et procede de memorisation d'un element dans un tel dispositif
JP2005267546A (ja) * 2004-03-22 2005-09-29 Hitachi Ltd ディスク制御装置、及びディスク制御装置におけるネットワーク接続ストレージの接続管理方式
US7634615B2 (en) * 2004-06-10 2009-12-15 Marvell World Trade Ltd. Adaptive storage system
US7966450B2 (en) * 2005-09-01 2011-06-21 Micron Technology, Inc. Non-volatile hard disk drive cache system and method
KR100876841B1 (ko) 2006-08-22 2009-01-07 엘지전자 주식회사 캐쉬 메모리 탑재형 컴퓨터 및 그 제어 방법
KR101128234B1 (ko) * 2006-08-23 2012-03-23 엘지전자 주식회사 메모리 접근 제어 장치 및 방법
US8370294B2 (en) * 2009-05-06 2013-02-05 Microsoft Corporation File stashing for storage media
US9053060B2 (en) 2009-09-29 2015-06-09 Canon Kabushiki Kaisha Information processing apparatus having file system consistency recovery function, and control method and storage medium therefor
US8990502B2 (en) 2010-11-23 2015-03-24 International Business Machines Corporation Write cache structure in a storage system
US9098397B2 (en) * 2011-04-04 2015-08-04 International Business Machines Corporation Extending cache for an external storage system into individual servers
WO2014147840A1 (ja) * 2013-03-22 2014-09-25 富士通株式会社 アクセス制御プログラム、ディスク装置及びアクセス制御方法
JP6203592B2 (ja) * 2013-10-07 2017-09-27 株式会社日立製作所 計算機システム、キャッシュ管理方法及び計算機
US9478274B1 (en) 2014-05-28 2016-10-25 Emc Corporation Methods and apparatus for multiple memory maps and multiple page caches in tiered memory
US9535844B1 (en) 2014-06-30 2017-01-03 EMC IP Holding Company LLC Prioritization for cache systems
US10235054B1 (en) * 2014-12-09 2019-03-19 EMC IP Holding Company LLC System and method utilizing a cache free list and first and second page caches managed as a single cache in an exclusive manner
JP6194875B2 (ja) * 2014-12-11 2017-09-13 日本電気株式会社 キャッシュ装置、キャッシュシステム、キャッシュ方法、及びキャッシュプログラム

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4928239A (en) * 1986-06-27 1990-05-22 Hewlett-Packard Company Cache memory with variable fetch and replacement schemes
JP2637788B2 (ja) * 1988-09-02 1997-08-06 株式会社日立製作所 ディスクキャッシュ制御方式および情報処理システム
JPH02114345A (ja) * 1988-10-24 1990-04-26 Nec Corp キャッシュメモリ制御方式
JPH03122737A (ja) 1989-10-05 1991-05-24 Nec Corp ページング方式
JPH0588976A (ja) * 1991-09-30 1993-04-09 Pfu Ltd キヤツシユ記憶装置及びそれを用いた情報処理装置とその情報処理方法
US5386547A (en) * 1992-01-21 1995-01-31 Digital Equipment Corporation System and method for exclusive two-level caching
US5564035A (en) * 1994-03-23 1996-10-08 Intel Corporation Exclusive and/or partially inclusive extension cache system and method to minimize swapping therein
US5809280A (en) * 1995-10-13 1998-09-15 Compaq Computer Corporation Adaptive ahead FIFO with LRU replacement
US6571324B1 (en) * 1997-06-26 2003-05-27 Hewlett-Packard Development Company, L.P. Warmswap of failed memory modules and data reconstruction in a mirrored writeback cache system
US6148368A (en) * 1997-07-31 2000-11-14 Lsi Logic Corporation Method for accelerating disk array write operations using segmented cache memory and data logging
JPH11110139A (ja) * 1997-09-26 1999-04-23 Internatl Business Mach Corp <Ibm> データ読み取り方法及びデータ読み取り装置
US6243795B1 (en) * 1998-08-04 2001-06-05 The Board Of Governors For Higher Education, State Of Rhode Island And Providence Plantations Redundant, asymmetrically parallel disk cache for a data storage system

Also Published As

Publication number Publication date
DE10050171B4 (de) 2006-01-05
JP2001117817A (ja) 2001-04-27
JP3568110B2 (ja) 2004-09-22
DE10050171A1 (de) 2001-04-19
SG90174A1 (en) 2002-07-23
US6629200B1 (en) 2003-09-30
KR100388338B1 (ko) 2003-06-25

Similar Documents

Publication Publication Date Title
KR100388338B1 (ko) 캐시 메모리의 제어 방법, 컴퓨터 시스템, 하드 디스크드라이브 장치 및 하드 디스크 제어 장치
US5596736A (en) Data transfers to a backing store of a dynamically mapped data storage system in which data has nonsequential logical addresses
US8117374B2 (en) Flash memory control devices that support multiple memory mapping schemes and methods of operating same
US8032700B2 (en) Hybrid multi-tiered caching storage system
US6606714B1 (en) Disk drive using defect list to perform uninterrupted writing of non-relocated data blocks and caching of relocated data blocks for deferred writing
US6467022B1 (en) Extending adapter memory with solid state disks in JBOD and RAID environments
JP2582487B2 (ja) 半導体メモリを用いた外部記憶システム及びその制御方法
JP4163461B2 (ja) キャッシュ・バッファ制御方法及び制御装置
US5742933A (en) Rotary memory storage device with cache control method and apparatus
JP3898782B2 (ja) 情報記録再生装置
JP2001166993A (ja) 記憶制御装置およびキャッシュメモリの制御方法
JPH09237225A (ja) キャッシュ機能を有するコンピュータ及びキャッシュメモリ制御方法
US20100088466A1 (en) Storage device, storage control device, and control method
US7487298B2 (en) Disk array device, method for controlling the disk array device and storage system
US7069409B2 (en) System for addressing a data storage unit used in a computer
US6532513B1 (en) Information recording and reproduction apparatus
JP2007102436A (ja) ストレージ制御装置およびストレージ制御方法
KR20070060301A (ko) 불휘발성 메모리를 쓰기 캐시로 구비한 하드 디스크드라이버
JP3969809B2 (ja) 記憶装置におけるデータバッファの管理方法
CN2603974Y (zh) 磁盘高速缓存装置
JPH1153261A (ja) データ記憶システム及び同システムに適用するキャッシュ制御方法
KR200216750Y1 (ko) 에스씨에스아이에서접근속도향상장치
JPH0612328A (ja) キャッシュメモリのデータ蓄積方法
JPH10254781A (ja) 補助記憶装置
US20030200385A1 (en) Method and system for increasing disk drive performance

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

Year of fee payment: 8

LAPS Lapse due to unpaid annual fee