KR100385238B1 - 그룹적응형세그먼트캐시버퍼구현방법 - Google Patents

그룹적응형세그먼트캐시버퍼구현방법 Download PDF

Info

Publication number
KR100385238B1
KR100385238B1 KR1019950043985A KR19950043985A KR100385238B1 KR 100385238 B1 KR100385238 B1 KR 100385238B1 KR 1019950043985 A KR1019950043985 A KR 1019950043985A KR 19950043985 A KR19950043985 A KR 19950043985A KR 100385238 B1 KR100385238 B1 KR 100385238B1
Authority
KR
South Korea
Prior art keywords
data
segment
group
host computer
hit
Prior art date
Application number
KR1019950043985A
Other languages
English (en)
Other versions
KR970029104A (ko
Inventor
이해승
Original Assignee
삼성전자주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 삼성전자주식회사 filed Critical 삼성전자주식회사
Priority to KR1019950043985A priority Critical patent/KR100385238B1/ko
Publication of KR970029104A publication Critical patent/KR970029104A/ko
Application granted granted Critical
Publication of KR100385238B1 publication Critical patent/KR100385238B1/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/10Address translation
    • G06F12/1027Address translation using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB]
    • G06F12/1036Address translation using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB] for multiple virtual address spaces, e.g. segmentation
    • 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/12Replacement control
    • G06F12/121Replacement control using replacement algorithms
    • G06F12/123Replacement control using replacement algorithms with age lists, e.g. queue, most recently used [MRU] list or least recently used [LRU] list

Abstract

1. 청구범위에 기재된 발명이 속한 기술분야:
하드 디스크 드라이브의 캐시버퍼에 관한 것으로, 특히 세그먼트되어 있는 캐시버퍼를 다수의 그룹으로 구분하여 운영할 수 있는 그룹 적응형 세그먼트 캐시버퍼 구현방법에 관한 것이다.
2. 발명이 해결하려고 하는 기술적 과제:
호스트컴퓨터와 같은 외부장치에서 요구하는 데이타 리드/라이트 명령에 효율적으로 적응시킬 수 있는 그룹 적응형 세그먼트 캐시메모리를 제공함에 있다.
3. 발명의 해결방법의 요지:
하드 디스크 드라이브의 그룹 적응형 세그먼트 캐시메모리 구현방법에 있어서, 호스트컴퓨터와 같은 외부장치로부터 수신되는 데이타 리드명령에 응답하여 상기 외부장치가 요구하는 데이타의 용량을 산출하는 제1과정과, 우선순위별로 상기 캐시메모리내 각 그룹을 서치하여 해당 그룹내 상기 리드데이타 용량 산출과정에서 산출된 데이타 용량이 히트하는가를 검사하는 제2과정과, 상기 검사결과 세그먼트 히트가 발생되는 경우 해당 세그먼트내의 데이타를 독출하여 출력한후 상기 캐시메모리 관리 테이블을 업데이트시키는 반면, 세그먼트 히트가 발생되지 않는 경우 상기 캐시메모리내 우선순위가 낮은 그룹을 서치하여 LRU방식에 따라 특정 세그먼트를 할당하여 주는 제3과정으로 이루어짐을 특징으로 하는 그룹 적응형 캐시메모리 구현방법.
4. 발명의 중요한 용도:
캐시메모리를 이용한 시슨템 메모리 제어방법에 사용될 수 있다.

Description

그룹 적응형 세그먼트 캐시버퍼 구현방법.
본 발명은 하드 디스크 드라이브의 캐시버퍼에 관한 것으로, 특히 세그먼트되어 있는 캐시버퍼를 별도의 그룹으로 나누어 운영할 수 있는 그룹 적응형 세그먼트 캐시버퍼 구현방법에 관한 것이다.
일반적으로 하드 디스크 드라이브(Hard Disk Drive)의 캐시버퍼(cache buffer)라 함은 데이타 리드/라이트(read/write)에 소요되는 시간을 최소화시키기 위해 호스트컴퓨터와 디스크사이에 존재하는 디스크 캐시버퍼를 의미한다. 즉 호스트컴퓨터와 캐시버퍼사이에서의 데이타전송만으로 호스트컴퓨터가 요구하는 데이타 리드/라이트 명령을 수행함으로서 데이타 처리속도의 고속화를 기할 수 있다. 통상 캐시버퍼의 블럭 대체(replacement)방법에는 RLA(Read Look Ahead)방식과LRU(Least Recently Used)방식이 있다. 상기 RLA방식은 호스트컴퓨터가 하드 디스크 드라이브에 데이타전송을 요구하면, 요구된 데이타뿐만이 아니라 상기 요구된 데이타에 연이은 데이타를 미리 리드한후 이를 캐시버퍼에 저장한다. 이후 호스트컴퓨터에서 상기 연이어서 리드된 데이타를 요구할 경우 이를 디스크에서 리드하지 않고 상기 캐시버퍼에서 리드하여 호스트컴퓨터로 전송함으로서 데이타 처리속도의 고속화를 기할 수 있는 방식이다. 반면 LRU방식은 캐시버퍼를 다수의 구역으로 세그먼트하여 데이타를 저장한다. 상기 LRU방식에서는 최근에 디스크로부터 리드된 데이타가 계속하여 상기 캐시버퍼에 존재함으로서 캐시 적중율(Hit Ratio)을 높일 수 있는 방식이다. 그러나 종래 RLA방식과 LRU방식에는 다음과 같은 문제점이 있다. 우선 RLA방식에서는 호스트컴퓨터가 요구한 데이타에 연이은 데이타의 적중(hit) 가능성이 낮다는 문제가 있다. 그 이유는 호스트컴퓨터가 특정 데이타를 요구한후 바로 다음의 데이타 요구명령이 적중할 확률은 시퀀셜(sequencial) 리드/라이트 명령인 경우 밖에는 없기 때문이다. 또한 캐시버퍼 용량만큼의 데이타를 리드하기 전에 새로운 명령이 호스트컴퓨터로부터 수신된 경우 명령 서비스에 오버헤드(overhead)가 발생할 수 있는 문제가 있다. 한편 LRU방식에서는 캐시버퍼용량에 비례하여 보통 4∼8개의 고정된 용량을 갖는 세그먼트로 구분하여 캐시버퍼를 운용한다. 이하 다수의 고정된 용량의 세그먼트로 구분되어 있는 종래 캐시버퍼의 포맷도를 보인 제1도를 참조하여 상기 LRU방식의 문제점을 설명하기로 한다. 제1도에서 캐시버퍼는 64KB의 세그먼트(Seg1∼4)로 구분되어 있다. 제1도와 같은 세그먼티드 캐시버퍼를 구비하는 하드 디스크 드라이브에서는 각 세그먼트(Seg1∼4)의 사이즈한도내에서 RLA를 실시하여야 한다. 따라서 상기 세그먼트(Seg1∼4) 사이즈(64KB)에 비해 아주 작은 사이즈의 화일 액세스시 혹은 큰 사이즈의 화일 액세스시에는 캐시버퍼 관리면에서 효율적이지 못한 문제가 발생하게 된다. 즉 다수의 고정된 세그먼트 용량을 갖는 종래 캐시버퍼에서는 호스트컴퓨터로부터 수신되는 명령에 효율적으로 대처하지 못하는 문제가 발생하게 된다.
따라서 본 발명의 목적은 호스트컴퓨터와 같은 외부장치에서 요구하는 데이타 리드/라이트 명령에 효율적으로 적응시킬 수 있는 그룹 적응형 세그먼트 캐시버퍼 구현방법을 제공함에 있다.
이하 본 발명의 바람직한 실시예를 첨부한 도면을 참조하여 본 발명의 동작예를 상세히 설명한다. 하기 설명에서 구체적인 세그먼트수, 세그먼트 용량, 그룹 용량 및 구체적인 처리 흐름과 같은 많은 특정 상세들이 본 발명의 보다 전반적인 이해를 제공하기 위해 나타나 있다. 이들 특정 상세들 없이 본 발명이 실시될 수 있다는 것은 이 기술분야에서 통상의 지식을 가진자에게 자명할 것이다. 그리고 본 발명의 요지를 불필요하게 흐릴 수 있는 공지 기능 및 구성에 대한 상세한 설명은 생략한다.
제2도는 일반적인 하드 디스크 드라이브의 개략적인 블럭구성도를 나타낸 것으로, 디스크(2)는 리드/라이트 채널부(4)를 통해 입력되는 디지탈신호를 자기형태로 저장한다. 디스크(2)와 디스크 컨트롤러(6)사이에 연결되어 있는 리드/라이트 채널부(4)는 디스크(2)에 자기형태로 기록되어 있는 데이타를 리드한후 이를 디지탈신호로 변환하여 디스크 컨트롤러(6)로 전송하는 한편 상기 디스크 컨트롤러(6)로부터 전송된 디지탈신호를 디스크(2)상에 기록한다. 또한 리드/라이트 채널부(4)는 디스크(2)상에 기록되어 있는 서보정보의 일부인 헤드위치정보를 복조(demodulation)하여 서보제어부(8)로 출력한다. 디스크 컨트롤러(6)는 호스트컴퓨터와 통신을 담당하는 한편 시스템 전체의 제어동작을 수행한다. 서보제어부(8)는 디스크 컨트롤러(6)에 의해 제어되며 상기 리드/라이트 채널부(4)로부터 수신된 서보제어신호에 대응하여 액츄에이터 및 스핀들모터(10)의 동작을 제어한다. 액츄에이터 및 스핀들모터(10)는 각각 서보제어부(8)로부터 입력되는 제어신호에 대응하여 디스크(2)상에서 수평운동 및 디스크(2)를 회전시킨다. 디스크 컨트롤러(6)에 연결되어 있는 버퍼(12)는 본 발명에 따른 그룹 적응형 캐시버퍼로서 상기 디스크 컨트롤러(6)에 의해 제어되며 디스크(2) 및 호스트컴퓨터로부터 입력되는 각종 데이타들을임시 저장한다.
제3도는 제2도중 캐시버퍼(12)의 상세포맷도를 나타낸 것으로, 상기 캐시버퍼(12)는 크게 두개의 그룹(GPΦ,GP1)으로 나뉘어 지며 LRU방식으로 관리된다. 한편 각 그룹(GPΦ,GP1)은 호스트컴퓨터로부터 수신되는 1개의 명령(command)당 1개의 세그먼트를 할당받아 리드/라이트 명령에 따른 데이타를 저장한다. 이때 각 그룹(GPΦ,GP1)내 세그먼트 용량(64KB,40KB,20KB)의 합은 세그먼트수에 상관없이 그룹 용량(128KB)을 초과할 수 없다. 또한 각 그룹(GPΦ,GP1)내 세그먼트(리드명령1,2,3)는 LRU방식이 아닌 FIFO방식으로 관리된다. 한편 각 세그먼트 사이즈는 최대/최소 세그먼트 사이즈를 초과하지 못하며 각 세그먼트 사이즈는 호스트컴퓨터가 요구하는 섹터 카운터값을 계산하여 사용한다. 상기캐시버퍼(8)의 그룹(GPΦ,GP1)은 LRU방식으로 운영되나 라이트명령이 사용된 그룹은 우선순위를 마지막으로 정하여 연속 라이트명령 이외에는 다음 명령에서 정상 시퀀서로 환원한다. 이하 제2도 및 제3도를 참조하여 호스트컴퓨터로부터 리드 혹은 라이트명령이 수신되는 경우 이에 응답하여 본 발명에 따른 그룹 적응형 세그먼트 캐시버퍼(12)의 운용방법의 제어과정을 설명하기로 한다.
우선 제1단계로 호스트컴퓨터로부터 데이타 리드명령이 수신되면, 디스크 컨트롤러(6)는 상기 호스트컴퓨터가 요구한 데이타의 스타트(start) LBA(Logic Block Address)와 라스트(last) LBA를 계산하여 데이타의 용량을 산정한다. 이후 제2단계로서 캐시버퍼(12)와 그룹중 가장 우선순위가 높은 그룹을 찾아 해당 그룹내 처음 위치한 세그먼트부터 서치(search)를 시작한다. 이때 해당 그룹내에 히트(hit)가 없으면 다음 우선순위의 그룹을 순차적으로 설정하여 상술한 바와 같은 서치동작을 반복수행한다. 만약 특정 그룹내에 히트한 세그먼트가 있으면, 상기 디스크 컨트롤러(6)는 이후 제3단계로서 히트한 세그먼트내에 있는 데이타를 독출하여 호스트컴퓨터로 전송시킨후 그룹 LRU테이블을 업데이트(update)시킨다. 반면 각 그룹내에 히트한 세그먼트가 없다면, 상기 디스크 컨트롤러(6)는 우선순위가 낮은 그룹을 찾아 사용할 수 있는 캐시버퍼(12)의 용량을 검사한다. 상기 검사결과 캐시버퍼(12) 용량이 상기 호스트컴퓨터가 요구한 데이타 용량에 비해 부족하면, 상기 디스크 컨트롤러(6)는 가장 먼저 사용한 세그먼트의 데이타를 클리어시켜 캐시버퍼(12)내 데이타 영역을 확보한다. 반면 상기 검사결과 캐시버퍼(12)내에 여분의 영역이 있을시 다음 명령을 위해 상기 여분의 영역을 남겨 놓는다.
한편 호스트컴퓨터로부터 데이타 라이트 명령이 수신되는 경우 디스크 컨트롤러(6)의 캐시버퍼(12) 운용과정은 다음과 같다. 먼저 디스크 컨트롤러(6)는 호스트컴퓨터로부터 데이타 라이트명령을 수신하는 경우 제1단계로서 디스크(2)상에 라이트할 데이타의 스타트 LBA와 라스트 LBA를 계산하여 데이타의 용량을 산정한다. 이후 제2단계로서 상기 데이타 라이트명령 이전에 수신된 명령이 데이타 라이트 명령인지를 검사한다. 상기 검사결과 상기 데이타 라이트 명령 이전에 수신된 명령이 데이타 라이트 명령인 경우 해당 그룹내에 데이타 라이트 백(back)을 수행하며 큐(Queue)의 갯수만큼 데이타 라이트명령 캐시를 허용한다. 반면 상기 검사결과 호스트컴퓨터로부터 수신된 데이타 라이트명령이 첫번째 라이트 명령일 경우 상기 캐시버퍼(12)내 마지막 그룹을 설정하여 데이타 라이트를 수행한다. 한편 디스크 컨트롤러(6)는 상기 데이타 라이트 명령 수행후 다른 그룹내에 있는 리드 데이타중 중복되는 데이타가 있는 경우, 중복 데이타부분을 최신 데이타로 업데이트 또는 사용불가 데이타로 만든다.
상술한 바와 같이 본 발명은 호스트컴퓨터가 요구하는 데이타 용량에 맞게 한 그룹내에서 변환가능하며 그 그룹들이 LRU로 관리되기 때문에 복잡한 오퍼레이팅 시스템에서나 혹은 성능 테스트시 버퍼 활용 효율을 증가시킬 수 있는 잇점이 있다. 또한 데이타 라이트 명령수신시 그룹단위로 데이타 라이트 캐시가 이루어지고 프로그래머가 규정한 그룹내에서 호스트컴퓨터가 요구한 라이트 데이타 용량에 맞게 세그먼트를 설정할 수 있기 때문에 데이타 라이트명령의 캐시구현시 큐잉 관리가 단순해지는 잇점도 있다.
제1도는 종래 캐시버퍼의 세그먼트를 보이기 위한 개략적인 포맷도.
제2도는 하드 디스크 드라이브의 개략적인 블럭구성도.
제3도는 본 발명의 일실시예에 따른 그룹 적응형 세그먼트 캐시버퍼의 개략적인 포맷도.

Claims (1)

  1. 하드 디스크 드라이브의 그룹 적응형 세그먼트 캐시메모리 구현방법에 있어서,
    호스트컴퓨터와 같은 외부장치로부터 수신되는 데이타 리드명령에 응답하여 상기 외부장치가 요구하는 데이타의 용량을 산출하는 제1과정과,
    우선순위별로 상기 캐시메모리내 각 그룹을 서치하여 해당 그룹내 상기 리드데이타 용량 산출과정에서 산출된 데이타 용량이 히트하는가를 검사하는 제2과정과,
    상기 검사결과 세그먼트 히트가 발생되는 경우 해당 세그먼트내의 데이타를 독출하여 출력한후 상기 캐시메모리 관리 테이블을 업데이트시키는 반면, 세그먼트 히트가 발생되지 않는 경우 상기 캐시메모리내 우선순위가 낮은 그룹을 서치하여 LRU방식에 따라 특정 세그먼트를 할당하여 주는 제3과정으로 이루어짐을 특징으로 하는 그룹 적응형 캐시버퍼 구현방법.
KR1019950043985A 1995-11-27 1995-11-27 그룹적응형세그먼트캐시버퍼구현방법 KR100385238B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1019950043985A KR100385238B1 (ko) 1995-11-27 1995-11-27 그룹적응형세그먼트캐시버퍼구현방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019950043985A KR100385238B1 (ko) 1995-11-27 1995-11-27 그룹적응형세그먼트캐시버퍼구현방법

Publications (2)

Publication Number Publication Date
KR970029104A KR970029104A (ko) 1997-06-26
KR100385238B1 true KR100385238B1 (ko) 2004-02-25

Family

ID=37417499

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019950043985A KR100385238B1 (ko) 1995-11-27 1995-11-27 그룹적응형세그먼트캐시버퍼구현방법

Country Status (1)

Country Link
KR (1) KR100385238B1 (ko)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100556462B1 (ko) * 1998-11-25 2006-04-21 엘지전자 주식회사 미니디스크기록/재생장치의메모리관리방법
US6263408B1 (en) * 1999-03-31 2001-07-17 International Business Machines Corporation Method and apparatus for implementing automatic cache variable update

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4920478A (en) * 1985-05-29 1990-04-24 Kabushiki Kaisha Toshiba Cache system used in a magnetic disk controller adopting an LRU system
JPH0652060A (ja) * 1992-07-28 1994-02-25 Hitachi Ltd Lruリスト制御方式
JPH0659952A (ja) * 1992-08-07 1994-03-04 Toshiba Corp 磁気ディスク装置
US5355453A (en) * 1989-09-08 1994-10-11 Auspex Systems, Inc. Parallel I/O network file server architecture
KR950020169A (ko) * 1993-12-06 1995-07-24 이헌조 캐쉬 모듈을 갖는 입출력 서브 시스템의 캐쉬 데이타 전송 제어 방법

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4920478A (en) * 1985-05-29 1990-04-24 Kabushiki Kaisha Toshiba Cache system used in a magnetic disk controller adopting an LRU system
US5355453A (en) * 1989-09-08 1994-10-11 Auspex Systems, Inc. Parallel I/O network file server architecture
JPH0652060A (ja) * 1992-07-28 1994-02-25 Hitachi Ltd Lruリスト制御方式
JPH0659952A (ja) * 1992-08-07 1994-03-04 Toshiba Corp 磁気ディスク装置
KR950020169A (ko) * 1993-12-06 1995-07-24 이헌조 캐쉬 모듈을 갖는 입출력 서브 시스템의 캐쉬 데이타 전송 제어 방법

Also Published As

Publication number Publication date
KR970029104A (ko) 1997-06-26

Similar Documents

Publication Publication Date Title
EP0354579B1 (en) A controller with a cache memory and control method of the cache memory
US6467022B1 (en) Extending adapter memory with solid state disks in JBOD and RAID environments
US5991775A (en) Method and system for dynamic cache allocation between record and track entries
JP2783748B2 (ja) 動的マップド・データ蓄積システムにおける補助記憶装置へのデータ転送のための方法および装置
US6381677B1 (en) Method and system for staging data into cache
EP0086886B1 (en) Hierarchical data storage system for digital computers
US5530829A (en) Track and record mode caching scheme for a storage system employing a scatter index table with pointer and a track directory
EP0848321B1 (en) Method of data migration
US4875155A (en) Peripheral subsystem having read/write cache with record access
US4468730A (en) Detection of sequential data stream for improvements in cache data storage
US7536505B2 (en) Storage system and method for controlling block rearrangement
KR100373313B1 (ko) 캐시 메모리를 관리하는 방법 및 시스템
EP1199637A2 (en) Disk controller comprising cache memory and method of controlling the cache
JP2872251B2 (ja) 情報処理システム
US4811280A (en) Dual mode disk controller
JPH09259033A (ja) バッファ書き込み方法
JPH07104817B2 (ja) データレコード転送方法
US5420983A (en) Method for merging memory blocks, fetching associated disk chunk, merging memory blocks with the disk chunk, and writing the merged data
US5694570A (en) Method and system of buffering data written to direct access storage devices in data processing systems
US7058692B2 (en) Computer, computer system, and data transfer method
US6931501B1 (en) Method and apparatus for merging contiguous like commands
JPH07225715A (ja) キャッシュ内のデータにアクセスする方法およびシステム
US5862363A (en) Method of controlling a disk device by disk control unit
JPH11191037A (ja) データ記憶装置
KR100385238B1 (ko) 그룹적응형세그먼트캐시버퍼구현방법

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20070418

Year of fee payment: 5

LAPS Lapse due to unpaid annual fee