[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

KR20050114028A - Cooperative caching device and method for san file systems - Google Patents

Cooperative caching device and method for san file systems Download PDF

Info

Publication number
KR20050114028A
KR20050114028A KR1020040039221A KR20040039221A KR20050114028A KR 20050114028 A KR20050114028 A KR 20050114028A KR 1020040039221 A KR1020040039221 A KR 1020040039221A KR 20040039221 A KR20040039221 A KR 20040039221A KR 20050114028 A KR20050114028 A KR 20050114028A
Authority
KR
South Korea
Prior art keywords
block
cache
information
manager
location
Prior art date
Application number
KR1020040039221A
Other languages
Korean (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 KR1020040039221A priority Critical patent/KR20050114028A/en
Publication of KR20050114028A publication Critical patent/KR20050114028A/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/17Details of further file system functions
    • G06F16/172Caching, prefetching or hoarding of files
    • 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
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/067Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/26Using a specific storage system architecture
    • G06F2212/263Network storage, e.g. SAN or NAS

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Human Computer Interaction (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

SAN 파일시스템을 위한 협력 캐시 장치 및 방법이 개시된다. 위치관리자는 할당된 블록들의 위치정보를 관리한다. 페이지 실패관리자는 로컬 캐시영역에서 블록의 검색실패시 원하는 블록의 위치를 검색하기 위한 질의를 다른 시스템에게 전달하고, 질의를 전달받은 시스템으로부터 제공받은 블록의 위치정보에 해당하는 시스템에 블록의 전송을 요청한다. 전송관리자는 블록을 요청한 다른 시스템에게 요청받은 블록을 전송한다. 운영체제 버퍼관리자는 위치관리자에 의해 검색된 블록의 유효성 여부를 확인하고, 블록이 유효한 경우에는 처리를 종료하며, 유효하지 않은 경우에는 페이지 실패관리자에게 페이지폴트처리를 요청한다. 본 발명에 따르면, SAN환경내에 분산되어 있는 시스템들의 캐시정보를 서로 공유하여 가상적인 더 큰 캐시를 형성함으로써 캐시 히트율을 높이고 디스크 접근 횟수를 줄이고, 서버의 부하를 감소시키며, 캐시 시스템의 성능을 향상시킬 수 있다.Disclosed are a cooperative cache apparatus and method for a SAN file system. The location manager manages location information of allocated blocks. When a page failure manager fails to find a block in the local cache area, the page failure manager sends a query to another system to send the block to the system corresponding to the location information of the block provided from the received system. request. The transmission manager transmits the requested block to other systems that requested the block. The operating system buffer manager checks the validity of the block retrieved by the location manager, terminates the processing if the block is valid, and requests the page fault manager to process the page fault. According to the present invention, the cache information of the systems distributed in the SAN environment are shared with each other to form a virtual larger cache, thereby increasing the cache hit rate, reducing the number of disk accesses, reducing the load on the server, and improving the performance of the cache system. Can be improved.

Description

SAN 파일시스템을 위한 협력 캐시 장치 및 방법{Cooperative Caching device and method for SAN file systems}Cooperative Caching device and method for SAN file systems

본 발명은 SAN 파일시스템 환경에서 사용되는 협력 캐시 관리 장치 및 방법에 관한 것으로, 보다 상세하게는, SAN 파일시스템 환경에서 디스크 접근 횟수를 줄이고 시스템 간의 메시지 송수신 비용을 줄이기 위해 각 시스템의 캐시 데이터를 서로 공유하여 관리하고 사용하는 협력 캐시 장치 및 방법에 관한 것이다.The present invention relates to a cooperative cache management apparatus and method used in a SAN file system environment, and more particularly, to cache data of each system in order to reduce the number of disk accesses and to reduce the cost of transmitting and receiving messages between systems in a SAN file system environment. A cooperative cache apparatus and method for sharing, managing, and using the same.

도 1은 종래의 협력 캐시 시스템의 동작 구조를 도시한 도면이다. 1 is a diagram illustrating an operation structure of a conventional cooperative cache system.

도 1을 참조하면, SAN(Storage Area Network) 파일시스템 환경에서 사용되는 기존의 협력 캐시 알고리즘은 분산되어 있는 시스템들이 각각 관리하던 캐시 정보를 상호 협력(cooperation)을 통해 서로 교환하여 관리함으로써 가상의(virtual) 대형 캐시를 형성한다. 캐시의 크기가 증가함으로 인해 전역 캐시 적중률이 증가하게 되며, 캐시에 존재하지 않는 데이터를 찾기 위해 서버의 디스크에 접근하는 횟수가 줄어들게 된다. 따라서 작은 크기의 지역 캐시만을 사용하는 단일 캐시 시스템을 사용할 경우에 비해 서버의 부하가 줄어들고 데이터 접근시간이 빨라진다. Referring to FIG. 1, the existing cooperative cache algorithms used in a storage area network (SAN) file system environment exchange virtually the cache information managed by each of the distributed systems through mutual cooperation. virtual) form a large cache. As the size of the cache increases, the global cache hit ratio increases, and the number of times the server's disk is accessed to find data that does not exist in the cache is reduced. This reduces the load on the server and speeds up data access time compared to using a single cache system that uses only a small local cache.

종래의 협력 캐시 알고리즘에서는 공유하는 캐시 정보를 하나의 서버가 모두 관리하는 방법과 여러 개의 서버가 이를 나누어 관리하는 방법을 사용하고 있다. 하나의 서버가 캐시 정보를 관리하게 되는 경우에는 캐시 정보를 관리하는 서버에 과부하가 걸려 전역 캐시의 정보 검색 시간이 느려지며, 이로 인해 데이터 접근 시간이 늘어나는 문제가 발생한다. 여러 개의 서버가 캐시 정보를 나누어 관리하는 경우에는 하나의 서버에 과부하가 걸리는 문제점은 발생하지 않으나, 캐시 정보를 나누어 관리하는 서버들 간에 캐시 정보 관리 및 사용을 위해 주고받는 메시지 수가 늘어나가 된다. 이렇게 메시지 수가 늘어나게 되면 메시지 송수신을 위해 사용되는 통신 비용이 증가하고, 메시지 처리를 위한 서버의 부하가 늘어나게 되는 문제점이 발생한다. In the conventional cooperative cache algorithm, a single server manages all shared cache information and a plurality of servers divide and manage them. When one server manages the cache information, the server managing the cache information is overloaded, which slows down the information retrieval time of the global cache, thereby increasing the data access time. When multiple servers divide and manage cache information, the problem of overloading one server does not occur, but the number of messages exchanged for managing and using cache information between servers managing divided cache information increases. As the number of messages increases, a communication cost used for transmitting and receiving messages increases, and a load of a server for processing a message increases.

본 발명이 이루고자 하는 기술적 과제는 SAN 파일시스템 환경에서 여러 시스템의 캐시 정보를 공유하여 관리하며 캐시 정보 관리를 위해 주고받는 메시지 수를 줄일 수 있는 새로운 형식의 자료구조를 처리할 수 있고, 메시지의 수를 감소시키면서도 일관성을 유지할 수 있게 하는 SAN 파일시스템 환경에서 사용되는 협력 캐시 관리 장치 및 방법을 제공하는 데 있다.The technical problem to be achieved by the present invention is to share and manage the cache information of multiple systems in the SAN file system environment, can process a new data structure that can reduce the number of messages sent and received for managing cache information, the number of messages The present invention provides a cooperative cache management apparatus and method used in a SAN file system environment that can maintain consistency while reducing the complexity.

본 발명이 이루고자 하는 다른 기술적 과제는 SAN 파일시스템 환경에서 여러 시스템의 캐시 정보를 공유하여 관리하며 캐시 정보 관리를 위해 주고받는 메시지 수를 줄일 수 있는 새로운 형식의 자료구조를 처리할 수 있고, 메시지의 수를 감소시키면서도 일관성을 유지할 수 있게 하는 SAN 파일시스템 환경에서 사용되는 협력 캐시 관리 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체를 제공하는 데 있다.Another technical problem to be achieved by the present invention is to share and manage cache information of various systems in a SAN file system environment, and to process a new format data structure that can reduce the number of messages sent and received for managing cache information, The present invention provides a computer-readable recording medium that records a program for executing a cooperative cache management method used in a SAN file system environment that can be used in a SAN file system environment to reduce the number and maintain consistency.

상기의 기술적 과제를 달성하기 위한, 본 발명에 따른 SAN 파일시스템을 위한 협력 캐시 장치는, 할당된 블록들의 위치정보를 관리하는 위치관리자; 로컬 캐시영역에서 상기 블록의 검색실패시 원하는 블록의 위치를 검색하기 위한 질의를 다른 시스템에게 전달하고, 상기 질의를 전달받은 시스템으로부터 제공받은 블록의 위치정보에 해당하는 시스템에 블록의 전송을 요청하는 페이지 실패관리자; 블록의 전송을 요청한 다른 시스템에게 요청받은 블록을 전송하는 전송관리자; 및 상기 위치관리자에 의해 검색된 블록의 유효성 여부를 확인하고, 상기 블록이 유효한 경우에는 처리를 종료하며, 유효하지 않은 경우에는 상기 페이지 실패관리자에게 페이지폴트처리를 요청하는 운영체제 버퍼관리자;를 구비한다.In order to achieve the above technical problem, a cooperative cache device for a SAN file system according to the present invention, the location manager for managing the location information of the allocated blocks; When a search fails in the local cache area, a query for searching for a location of a desired block is transmitted to another system, and a request for transmission of a block is made to a system corresponding to location information of a block provided from the system receiving the query. Page failure manager; A transmission manager for transmitting the requested block to another system requesting the transmission of the block; And an operating system buffer manager for checking the validity of the block retrieved by the location manager, terminating the processing if the block is valid, and requesting the page failure manager to process the page fault.

상기의 다른 기술적 과제를 달성하기 위한, 본 발명에 따른 SAN 파일시스템을 위한 협력 캐시 방법은, 복수의 시스템이 SAN에 부착된 저장장치를 공유하는 환경하에서 각각의 시스템이 캐시 정보를 공유하여 관리하고 사용하는 협력 캐시 방법에 있어서, 상기 복수의 시스템 중에서 제1시스템이 자신의 로컬 캐시영역에서 블록을 검색하는 단계; 상기 제1시스템이 블록의 검색에 실패하면 원하는 블록의 위치를 검색하기 위한 질의를 상기 복수의 시스템 중에서 제2시스템에게 전달하는 단계; 상기 제1시스템이 상기 제2시스템으로부터 제공받은 블록의 위치정보에 해당하는 시스템에 블록의 전송을 요청하는 단계; 및 상기 제1시스템이 상기 블록의 전송을 요청한 시스템으로부터 해당 블록을 수신하는 단계;를 포함한다.In order to achieve the above technical problem, the cooperative caching method for a SAN file system according to the present invention, each system shares and manages the cache information in an environment where a plurality of systems share a storage device attached to the SAN A cooperative cache method, comprising: searching for a block in a local cache area of a first system by a first system; If the first system fails to retrieve the block, forwarding a query to a second system of the plurality of systems to search for a location of a desired block; Requesting, by the first system, the block to be transmitted to a system corresponding to the location information of the block received from the second system; And receiving, by the first system, the block from the system that requested the transmission of the block.

이에 의해, SAN환경내에 분산되어 있는 시스템들의 캐시정보를 서로 공유하여 가상적인 더 큰 캐시를 형성함으로써 캐시 히트율을 높이고 디스크 접근 횟수를 줄이고, 서버의 부하를 감소시키며, 캐시 시스템의 성능을 향상시킬 수 있다.As a result, the cache information of the systems distributed in the SAN environment are shared with each other to form a virtually larger cache, thereby increasing the cache hit rate, reducing the number of disk accesses, reducing the load on the server, and improving the performance of the cache system. Can be.

이하에서, 첨부된 도면들을 참조하여 본 발명에 따른 SAN 파일시스템을 위한 협력 캐시 장치 및 방법의 바람직한 실시예에 대해 상세하게 설명한다. Hereinafter, with reference to the accompanying drawings will be described in detail a preferred embodiment of the cooperative cache apparatus and method for a SAN file system according to the present invention.

도 2는 본 발명에 따른 SAN 파일시스템을 위한 협력 캐시 장치의 구성을 도시한 도면이다.2 is a diagram illustrating a configuration of a cooperative cache device for a SAN file system according to the present invention.

도 2를 참조하면, 본 발명에 따른 SAN 파일시스템을 위한 협력 캐시 장치를 구성하는 여러 개의 시스템(210, 220, 230)이 SAN(240)에 부착된 저장장치(250 내지 280)를 공유한다. SAN(240)은 서버(미도시)에 개별적으로 연결되던 저장장치(250 내지 280)를 광 채널과 같은 고속의 전용 네트워크에 직접 연결하여 중앙 집중적인 저장 시스템의 관리를 가능하게 한다. 또한, SAN(240)은 서버를 거치지 않고 네트워크에 연결된 저장장치(250 내지 280)를 직접 접근하는 환경하에서 보다 효과적으로 저장장치(250 내지 280)에 저장된 데이터를 접근하여 변경 및 읽기를 수행한다. Referring to FIG. 2, several systems 210, 220, and 230 constituting a cooperative cache device for a SAN file system according to the present invention share storage devices 250 to 280 attached to the SAN 240. The SAN 240 directly connects the storage devices 250 to 280, which are individually connected to servers (not shown), to a high-speed dedicated network such as an optical channel to enable centralized management of the storage system. In addition, the SAN 240 accesses and stores data stored in the storage devices 250 to 280 more effectively in an environment of directly accessing the storage devices 250 to 280 connected to the network without going through a server.

도 3은 도 2에 도시된 Node A(210), Node B(220) 및 Node C(230)로 명명된 각각의 시스템의 상세한 구성을 도시한 블록도이다.FIG. 3 is a block diagram showing a detailed configuration of each system named Node A 210, Node B 220, and Node C 230 shown in FIG.

도 3을 참조하면, 각각의 시스템(210 내지 230)은 CLM(310), LM(320), CM(330), LLM(340), PFH(350), DM(360), AM(370), 및 버퍼(380)로 구성된다. Referring to FIG. 3, each system 210-230 includes a CLM 310, an LM 320, a CM 330, an LLM 340, a PFH 350, a DM 360, an AM 370, And a buffer 380.

클러스터 잠금관리자(Cluster Lock Manager : CLM)(310)는 전체 시스템의 잠금을 관리하며, 로컬잠금관리자(Local Lock Manager : LLM)(340)는 자신의 잠금을 관리한다. The cluster lock manager (CLM) 310 manages locks of the entire system, and the local lock manager (LLM) 340 manages its locks.

위치관리자(Location Manager : LM)(320)은 각각의 시스템(210 내지 230)에 위치하여 시스템에 할당된 블록들의 위치정보를 관리하고, 블록위치를 검색하여 검색결과를 제공하는 위치정보 관리자이다. 각각의 시스템(210 내지 230)은 블록 요청시나 블록정보를 강제로 무효화 시켜야 할 때, 최신블록 요청시, 또는 블록의 중복 체크시에 블록위치를 검색하기 위해서 LM(320)에 질의를 내린다. 블록 검색이 지역 캐시영역에서 성공적으로 완료되면 지역 히트(local hit)되었다고 하고, 블록 검색이 지역 캐시영역에서 실패하면 페이지 폴트(page fault)가 발생되었다고 한다. The location manager (LM) 320 is a location information manager located in each system 210 to 230 to manage location information of blocks assigned to the system, and search for block location to provide a search result. Each system 210 to 230 queries the LM 320 to retrieve the block position at the time of a block request or forcibly invalidating the block information, at the latest block request, or at a duplicate check of the block. If the block search is successfully completed in the local cache area, it is said to be a local hit. If the block search fails in the local cache area, a page fault is generated.

유효성관리자(Consistency Manager : CM)(330)는 캐시의 일관성을 유지하는 일을 수행하는 관리자이다. 본 발명에서는 블록 변경시에 내용을 곧바로 변경시키지 않고 변경된 블록을 접근하게 되었을 때 이를 변경시키는 방법인 LWI(Lazy Write Invalidate) 알고리즘이 사용된다. Consistency Manager (CM) 330 is a manager that performs the task of maintaining the consistency of the cache. In the present invention, a Lazy Write Invalidate (LWI) algorithm, which is a method of changing a block when the changed block is accessed without changing the content immediately, is used.

페이지 실패관리자(Page Fault Handler : PFH)(350)는 페이지 폴트가 일어났을 때, 즉 시스템(210 내지 230)이 원하는 블록을 로컬 캐시영역에서 검색하는데 실패하게 될 경우 이를 해결하는 모든 절차를 수행하는 관리자이다. 따라서, PFH(350)는 페이지 폴트 시에 원하는 블록의 위치를 검색하기 위해 다른 시스템의 LM에게 질의를 내리고 해당 시스템의 LM으로부터 수신된 위치정보에 대응하는 시스템의 DM에게 원하는 블록을 전송하도록 요청한다. The Page Fault Handler (PFH) 350 performs all procedures to solve the problem when a page fault occurs, that is, when the system 210 to 230 fail to retrieve the desired block from the local cache area. I'm an administrator. Accordingly, the PFH 350 inquires the LM of another system to search for the position of the desired block at the page fault and requests the DM of the system corresponding to the position information received from the LM of the system to transmit the desired block. .

전송관리자(Delivery Manager : DM)(360)는 시스템의 블록을 요청한 시스템(210 내지 230)에게 해당 블록을 전송하는 작업을 수행한다.The delivery manager (DM) 360 transmits the block to the systems 210 to 230 that have requested the block of the system.

에이지 정보관리자(Age Manager : AM)(370)는 가장 비활동적인 시스템(210 내지 230)을 선택하기 위한 정보를 제공하는 관리자이다. 본 발명세서는 캐시 교체시에 가장 비활동적인 시스템(즉, 오랫동안 참조되지 않은 블록의 수가 많은 시스템)을 찾아서 교체하게 될 블록을 전송하는데 AM(370)은 이에 대한 정보를 관리한다.Age Manager (AM) 370 is an administrator who provides information for selecting the most inactive systems 210-230. The present invention sends the block that will find and replace the most inactive system (i.e., a system with a large number of blocks that have not been referenced for a long time) at cache replacement, and the AM 370 manages the information about it.

운영체제 버퍼관리자(Operation system buffer manager : OSBM)(380)는 검색된 블록의 유효성 여부를 확인하고, 블록의 유효성 여부에 따른 동작을 수행한다. OSBM(380)은 블록이 유효한 경우에는 처리를 종료하며, 유효하지 않은 경우에는 PFH(350)에게 페이지 폴트 처리를 요청한다. 또한, OSBM(380)은 교체대상으로 선정된 정보에 대해 디스크 접근 횟수를 줄이고 다른 시스템의 캐시에 중복되어 있는 정보들이 있는지 확인하기 위해 정보의 유효성 여부에 대한 검증을 수행한다. An operating system buffer manager (OSBM) 380 checks whether a retrieved block is valid and performs an operation according to whether the block is valid. The OSBM 380 terminates the processing if the block is valid, and requests the page fault processing from the PFH 350 if the block is invalid. In addition, the OSBM 380 verifies the validity of the information in order to reduce the number of disk accesses and to check whether there is duplicate information in the cache of another system.

본 발명에 따른 협력 캐시 장치에서 캐시 내의 블록 정보들을 기술하는 메타정보를 관리하는 자료구조를 도시한 도면이다.A diagram illustrating a data structure for managing meta information describing block information in a cache in a cooperative cache apparatus according to the present invention.

도 4를 참조하면, 메타정보에는 블록의 현재위치, 블록의 변경 여부, 블록의 중복 여부, 및 블록의 최신본 여부에 대한 정보가 포함된다. 그리고 메타정보는 LM(320)에 의해서 파일단위로 관리되며, LM(320)은 각각의 파일이 담당하는 블록들의 정보들을 위치테이블(Location Table)을 이용하여 관리한다. 또한 모든 파일은 라운드 로빈(round robin) 방법에 의해 각각의 시스템(210 내지 230)에 분산되어 관리된다. 위치테이블의 구조는 각각의 파일에 대한 정보를 기억하기 위해 만들어진 inode번호, inode에 따른 블록번호, 그리고 블록들의 위치정보들로 구성된다. 종래의 기술들은 이러한 정보를 저장하고 관리하기 위해 바이트 단위의 정보를 기록하는 것에 비해 본 발명에서는 비트 단위의 정보만을 기록하여 정보 저장 공간의 사용을 줄일 수 있다. Referring to FIG. 4, the meta information includes information about a block's current position, whether a block is changed, whether a block is overlapped, and whether a block is newest. The meta information is managed in units of files by the LM 320, and the LM 320 manages information of blocks that each file is in charge of using a location table. In addition, all files are distributed and managed in the respective systems 210 to 230 by a round robin method. The structure of the location table consists of an inode number created to store information about each file, a block number according to the inode, and location information of blocks. Conventional techniques can reduce the use of information storage space by recording only the information in units of bits in the present invention, compared to recording information in units of bytes to store and manage such information.

블록들의 위치정보는 각각의 시스템(210 내지 230)마다 2비트씩 할당하여 처음 비트는 해당 블록이 있는지 여부를 나타내고, 두 번째 비트는 해당 블록이 최신정보인가를 나타낸다. 도 4에 도시된 테이블을 참조하면, 파일번호 2의 블록 19를 소유하고 있는 시스템은 블록 19에 대해서 시스템의 처음 비트가 1로 세팅된 시스템으로서 시스템 N1 및 시스템 N3임을 알 수 있다. 그리고 두 번째 비트가 1로 설정된 시스템 N1은 최신정보의 블록을 가지고 있음을 알 수 있다. 본 발명에 따른 SAN 파일시스템을 위한 협력 캐시 장치에서 각각의 시스템(210 내지 230)은 원하는 블록에 접근하기 위하여 먼저 자신의 지역 캐시영역을 검색한다. 페이지 폴트 시에는 다른 시스템의 캐시영역이나 디스크를 검색하여 원하는 블록에 접근한다. The location information of the blocks is allocated 2 bits for each system 210 to 230 so that the first bit indicates whether there is a corresponding block, and the second bit indicates whether the corresponding block is up to date. Referring to the table shown in FIG. 4, it can be seen that the system owning block 19 of file number 2 is a system N1 and a system N3 as the system in which the first bit of the system is set to 1 for block 19. It can be seen that the system N1 having the second bit set to 1 has a block of the latest information. In the cooperative cache device for the SAN file system according to the present invention, each system 210 to 230 first searches its local cache area to access a desired block. When a page fault occurs, it searches the cache area or disk of another system to access the desired block.

도 5는 본 발명에 따른 협력 캐시 장치를 구성하는 지역 시스템에서 캐시 정보를 찾은 경우의 처리과정을 도시한 도면이다. FIG. 5 is a diagram illustrating a process of finding cache information in a local system constituting a cooperative cache apparatus according to the present invention.

도 5를 참조하면, OSBM(380)는 검색된 블록의 유효성 여부 확인을 위해 유효성 검증 질의를 CM(330)에게 보낸다(①). CM(330)은 블록의 유효성을 검증하여 유효한 것인지 여부를 OSBM(380)에게 통지한다(②). OSBM(380)은 블록이 유효한 경우에는 처리를 종료하며, 유효하지 않은 경우에는 PFH(350)에게 페이지 폴트 처리를 요청한다(③). PFH(350)는 LM(320)에게 해당 블록의 최신정보 위치를 질의하고(④), LM(320)으로부터 응답을 수신한다(⑤). PFH(350)는 최신정보를 갖고 있는 시스템에 블록 요청을 전송하고(⑥), 블록 요청을 수신한 시스템의 DM은 요청받은 블록을 PFH(350)에게 전송한다(⑦). PFH(350)는 전송받은 블록을 OSBM(380)에게 전달하고 처리과정을 종료한다(⑧). Referring to FIG. 5, the OSBM 380 transmits a validation query to the CM 330 to confirm whether a retrieved block is valid (①). The CM 330 verifies the validity of the block and notifies the OSBM 380 whether it is valid (2). The OSBM 380 terminates the processing if the block is valid, and requests the page fault processing from the PFH 350 if the block is invalid (③). The PFH 350 inquires the LM 320 of the latest information position of the block (④), and receives a response from the LM 320 (⑤). The PFH 350 transmits a block request to the system having the latest information (6), and the DM of the system receiving the block request transmits the requested block to the PFH 350 (7). The PFH 350 transfers the received block to the OSBM 380 and terminates the processing (⑧).

도 6은 본 발명에 따른 협력 캐시 장치를 구성하는 지역 시스템에서 캐시 정보를 찾지 못한 경우의 처리과정을 도시한 도면이다.FIG. 6 is a diagram illustrating a processing process when cache information is not found in a local system constituting a cooperative cache apparatus according to the present invention.

도 6을 참조하면, 시스템(210 내지 230)이 원하는 블록을 로컬 캐시영역에서 검색하는데 실패한 경우(즉, 페이지 폴트가 발생한 경우)하면, OSBM(380)은 블록의 위치를 검색하기 위해 PFH(350)에게 처리를 요청한다(①). PFH(350)는 LM(320)에게 질의를 전송하고(②), LM(320)은 이에 응답하여 블록 위치를 검색하여 PFH(350)에게 제공한다③). 블록이 다른 시스템의 캐시영역에 존재하지 않는 경우 PFH(350)는 디스크(250 내지 280)로부터 블록의 전송을 지시함으로써 페이지 폴트 처리 수행을 종료한다. 블록이 다른 시스템의 캐시영역에 존재하는 경우, PFH(350)는 블록을 갖고 있는 시스템의 DM에게 블록 복사본의 전송을 요청한다(④). 해당 시스템의 DM은 PFH(350)에게 해당 블록 복사본을 전송한다(⑤). PFH(350)는 전송받은 블록을 OSBM(380)에 전달함으로써 페이지 폴트 처리를 완료한다(⑥).Referring to FIG. 6, if the system 210 to 230 fails to retrieve the desired block in the local cache area (ie, a page fault has occurred), the OSBM 380 may retrieve the PFH 350 to retrieve the block's location. ) To request processing (①). The PFH 350 transmits a query to the LM 320 (2), and the LM 320 retrieves the block position and responds to the PFH 350 (3) in response thereto. If the block does not exist in the cache area of another system, the PFH 350 ends the page fault processing by instructing the block to be transmitted from the disks 250 to 280. If the block exists in the cache area of another system, the PFH 350 requests the DM of the system having the block to transmit the copy of the block (④). The DM of the system transmits a copy of the block to the PFH 350 (⑤). The PFH 350 completes the page fault process by delivering the received block to the OSBM 380 (6).

본 발명에 따른 SAN 파일시스템을 위한 협력 캐시 장치에서는 쓰기와 읽기의 연산으로 변경된 블록의 위치정보에 대해서 종래기술들과 달리 추가적인 메시지 교환 없이 위치정보를 변경시킨다. 도 6을 참조하여 설명한 바와 같이 페이지 폴트가 발생했을 경우 블록의 위치정보를 알아내기 위해 해당 블록을 관리하는 LM에게 질의를 내린다. 이 질의는 블록의 복사본을 요청한 시스템으로 가져오는 것을 의미하기 때문에 검색과 동시에 블록 위치 정보의 요청한 시스템 부분을 중복으로 변경시킨다. 만약 블록전송이 실패하는 경우에는 블록 전송을 담당하는 DM이 LM에게 전송실패를 알려 위치 정보를 재조정한 후 작업을 완료한다.In the cooperative cache apparatus for the SAN file system according to the present invention, unlike the prior art, the location information of the block changed by the operation of writing and reading is changed without additional message exchange. As described with reference to FIG. 6, when a page fault occurs, a query is made to the LM managing the block to determine the location information of the block. Since this query means bringing a copy of the block to the requesting system, the requested system part of the block location information is duplicated at the same time as the search. If the block transmission fails, the DM in charge of the block transmission notifies the LM of the transmission failure, readjusts the location information, and completes the work.

도 7은 본 발명에 따른 협력 캐시 장치를 구성하는 시스템 N1이 블록 읽기 연산을 수행하기 전과 읽기 연산을 수행한 후의 위치정보 테이블 자료구조의 예를 도시한 도면이다.FIG. 7 is a diagram illustrating an example of a location information table data structure before the system N1 constituting the cooperative cache device according to the present invention performs a block read operation and after a read operation.

도 7을 참조하면, 시스템 N1이 inode 번호가 2인 파일에 대해 블록 ID 24인 블록을 검색하고자 할 때 먼저 파일에 대한 잠금을 획득한 후 위치정보 테이블에서 읽기 연산을 요청한 블록의 위치를 검색한다. 그리고 검색과 동시에 위치정보 테이블에 읽기를 요청한 시스템이 블록을 가지고 있는 것으로 블록상태를 기록한다. 즉, 해당 블록이 있는지 여부를 나타내는 첫 번째 비트와 해당 블록이 최신인지를 나타내는 두 번째 비트를 모두 1로 바꾼다. Referring to FIG. 7, when the system N1 wants to search for a block with block ID 24 for a file having an inode number 2, first acquires a lock on the file and then searches for a location of a block for which a read operation is requested in the location information table. . At the same time as the search, the block status is recorded as having the block requested by the system. That is, the first bit indicating whether or not the block exists and the second bit indicating whether the block is up to date are all changed to 1.

도 8은 본 발명에 따른 협력 캐시 장치를 구성하는 시스템 N3가 inode 번호가 2인 파일의 블록 ID가 24인 블록에 대해 쓰기 연산을 수행하기 전과 쓰기 연산을 수행한 후의 위치정보 테이블 자료구조의 예를 도시한 도면이다.8 is an example of a location table data structure before and after a write operation is performed on a block whose block ID is 24 by a system N3 constituting a cooperative cache device according to the present invention; Figure is a diagram.

도 8을 참조하면, 시스템 N3은 먼저 파일에 대한 쓰기 잠금을 획득한 후 해당 블록을 읽기 연산과 마찬가지로 위치정보 테이블에서 쓰기 작업을 수행시킬 블록의 위치정보를 검색한다. 그리고 쓰기 연산을 요청한 시스템만이 최신 정보의 블록을 가지고 있는 것으로 블록의 위치정보를 변경시킨다. 종래기술들은 이 때 최신 정보가 아닌 블록들을 갖고 있는 시스템들에게 모두 블록 제거 메시지를 전송하여 해당 블록을 각 시스템의 캐시에서 제거하는 과정을 거치도록 하고 있다. 그러나 매번 이러한 과정을 거치는 경우 메시지 수가 많아져 시스템의 부하가 늘어나 처리시간이 길어지고 성능이 저하되는 문제점이 발생한다. 따라서, 본 발명에 따른 협력 캐시 장치는 이러한 메시지 교환을 최대한 지연시키는 방법을 사용하고 제거 대상이 되는 기존 정보를 갖는 시스템들의 위치 정보만 변경하도록 하여 시스템의 메시지 교환에 따른 부하를 효과적으로 감소시킨다. 즉, 쓰기 연산을 요청한 시스템의 해당 블록의 소유 여부를 나타내는 첫 번째 비트와 최신본 여부를 나타내는 두 번째 비트를 모두 1로 바꾸고, 이전의 블록을 소유하고 있는 나머지 시스템들의 위치 정보에 대해서는 최신본 여부를 나타내는 두 번째 비트만 모두 0으로 변경한다.Referring to FIG. 8, the system N3 first acquires a write lock on a file, and then searches the block position information of a block to be written in the position information table in the same manner as a read operation. Only the system requesting the write operation has a block of the latest information, which changes the location information of the block. In the prior art, all of the systems having blocks that are not up-to-date information are sent a block removal message to remove the block from the cache of each system. However, if this process is performed every time, the number of messages increases and the system load increases, resulting in a long processing time and a decrease in performance. Therefore, the cooperative cache apparatus according to the present invention uses a method for delaying such message exchange as much as possible and changes only the location information of systems having existing information to be removed, thereby effectively reducing the load caused by the message exchange of the system. That is, the first bit indicating whether the corresponding block of the system requesting the write operation is owned and the second bit indicating whether it is newest are replaced with 1, and the location information of the remaining systems that own the previous block is up to date. Change only the second bit of all to 0.

도 9는 본 발명에 따른 협력 캐시 장치에서 캐시 정보에 대한 교체과정을 도시한 도면이다.9 is a diagram illustrating a process of replacing cache information in the cooperative cache apparatus according to the present invention.

도 9를 참조하면, OSBM(380)은 교체대상으로 선정된 정보에 대해 디스크 접근 횟수를 줄이고 다른 시스템의 캐시에 중복되어 있는 정보들이 있는지 확인하기 위해 먼저 CM(330)에 유효성 여부에 대한 검증 질의 처리 단계를 수행한다(①). CM(330)은 LM(320)에 해당 블록의 유효성 여부를 질의한다(②). LM(320)은 요청받은 블록의 변경 여부 및 최신정보 여부를 판별하여 다른 시스템에 의해 변경이 되지 않았거나 최신정보인 경우 "유효", 그렇지 않다면 "유효하지 않다"는 응답을 CM(330)에게 전달한다(③). CM(330)은 해당 블록이 유효하지 않다면 OSBM(380)에게 교체 대상 블록을 바로 삭제하도록 응답하고 처리를 종료한다(④). 이와 달리, 해당 블록이 최신정보이고 최신 정보를 중복하여 갖고 있는 또 다른 시스템이 존재하는 경우에 DM(330)은 OSBM(380)에게 교체 대상 블록을 바로 삭제하도록 응답하고 처리를 종료한다(④). 한편, 해당 블록이 최신정보이고 최신 정보를 중복하여 갖고 있는 또 다른 시스템이 존재하지 않으며 이전 정보를 갖고 있는 시스템이 존재하는경우에 LM(320)은 ③번 응답절차에서 최신정보를 갖지 않는 시스템들에 대한 목록으로 구성된 무효화 목록(Invalidating List)를 함께 반환한다. CM(330)은 무효화 목록에 포함된 시스템들에게 강제로 해당 블록에 대한 무효화 메시지를 전송하고 캐시 정보에 대한 교체 처리를 완료한다(⑤).Referring to FIG. 9, the OSBM 380 first checks the validity of the validity of the CM 330 in order to reduce the number of disk accesses and check whether there is duplicate information in the cache of another system. Perform the processing step (①). The CM 330 queries the LM 320 whether the corresponding block is valid (②). The LM 320 determines whether the requested block has been changed or not, and sends a response to the CM 330 that it is "valid" if it is not changed by the other system or is the latest information. (③). If the block is not valid, the CM 330 responds to the OSBM 380 to immediately delete the replacement block and terminates the process (④). On the other hand, when another system having the latest information and the corresponding block is duplicated, the DM 330 responds to the OSBM 380 to immediately delete the replacement block and terminates the process (④). . On the other hand, if the corresponding block is the latest information and there is no other system having the latest information overlapping, and if there is a system having the previous information, the LM 320 does not have the latest information in step 3). Returns an Invalidating List consisting of a list of. The CM 330 forcibly transmits the invalidation message for the block to the systems included in the invalidation list and completes the replacement process for the cache information (⑤).

본 발명에 따른 SAN 파일시스템 환경에서 사용되는 협력 캐시 관리 장치 및 방법은 상술한 캐시정보의 교체과정에서 교체대상이 되는 캐시정보를 선정하기 위해 종래기술들이 사용하던 방법과 다른 새로운 방법을 채용한다. 또한, 본 발명에 따른 협력 캐시 관리 장치 및 방법은 캐시 교체시에 비활동적인 시스템, 즉 오랫동안 참조되지 않은 캐시 정보를 많이 갖고 있는 시스템을 찾아 해당 시스템에서 가장 오랫동안 사용하지 않은 캐시 정보를 교체대상으로 선정한다. 이 때, 비활동적인 시스템을 선택할 때에는 정확하게 가장 비활동적인 시스템을 선택하지 않고 대체적으로 비활동적이라 예측되는 시스템을 선택하는 정책을 사용한다. 가장 정확하게 비활동적인 시스템을 선택하는 것은 최선의 정책으로 더 좋은 성능을 기대할 수도 있으나, 비활동적인 시스템에 대한 정보를 유지하기위해 필요한 관리 및 시스템 간의 메시지 통신비용이 늘어나 오히려 성능을 저하시킬 수 있다. 따라서 정보 유지에 필요한 비용을 고려하여 성능에 크게 영향을 주지 않을 정도의 비용만으로 대체적으로 비활동적인 시스템을 선택하는 정책을 사용한다. The cooperative cache management apparatus and method used in a SAN file system environment according to the present invention employs a new method different from the methods used in the prior art for selecting cache information to be replaced in the process of replacing the aforementioned cache information. In addition, the apparatus and method for cooperative cache management according to the present invention searches for an inactive system, that is, a system having a large amount of cache information that has not been referenced for a long time, and replaces the cache information that has not been used for the longest time in the system. Select. At this time, when selecting an inactive system, a policy is used to select a system which is generally predicted to be inactive instead of accurately selecting the most inactive system. Choosing the most inactive system with the highest accuracy may yield better performance with the best policy, but it can slow down performance due to the increased management and message communication costs required to maintain information about the inactive system. . Therefore, considering the cost of maintaining information, a policy is used to select a system that is generally inactive at a cost that does not significantly affect performance.

한편, 본 발명에 따른 협력 캐시 관리 장치 및 방법에서는 상술한 정책을 수행하기 위해 에이지 정보관리자를 구비한다. 각각의 시스템은 일단 블록이 처음 사용이 되고 다시 사용되기까지의 경과된 시간을 N단계로 나누는데, 단계가 높을수록 경과시간이 오래됨을 의미한다. 그리고 가장 높은 단계에 해당하는 블록의 개수를 유지하도록 하며 이를 각 시스템의 에이지 정보라 정의한다. 각각의 시스템은 에이지 정보 관리자를 통해 다른 시스템들과 에이지 정보를 서로 교환한다. 에이지 정보 관리자는 대체로 비활동적인 시스템을 선택하기 위해 다음과 같은 과정으로 에이지 관리한다. 각 시스템 간의 에이지 정보 교환을 위해 사용되는 추가적인 메시지 교환 횟수를 줄이기 위해 먼저 블록 검색이나 시스템 간의 블록 전송시 각각의 시스템의 현재 에이지 정보를 첨부하여 같이 보냄으로써 부가적인 메시지 수를 줄인다. 그리고 일정시간 동안 서로 메시지를 주고받지 않은 시스템에 대해서는 에이지 정보를 최근 정보로 갱신하기 위해 강제적으로 메시지를 교환하여 에이지 정보를 수집하게 된다. 따라서 에이지 정보 교환을 위해 사용되는 메시지 수는 최소화하며 시스템들 간의 에이지 정보 관리가 이루어지게 된다. 에이지 정보관리자는 각각의 시스템에 대한 에이지 정보를 에이지 리스트로 저장하고, 교체 대상 캐시 정보 선정시 이 정보를 이용하여 높은 단계에 해당하는 에이지 정보를 많이 갖고 있는 시스템을 대체로 비활동적인 시스템으로 간주하여 처리한다.On the other hand, the cooperative cache management apparatus and method according to the present invention includes an age information manager to perform the above-described policy. Each system divides the elapsed time before a block is first used and then used again by N steps, meaning that the higher the step, the longer the elapsed time. The number of blocks corresponding to the highest level is maintained, and this is defined as age information of each system. Each system exchanges age information with other systems through the Age Information Manager. The Age Information Manager generally manages the age process to select inactive systems by: In order to reduce the number of additional message exchanges used for the exchange of age information between systems, the number of additional messages is first reduced by attaching the current age information of each system as a block search or a block transmission between systems. And for a system that has not exchanged messages with each other for a certain time, the age information is collected by forcibly exchanging messages to update the age information with the latest information. Therefore, the number of messages used for age information exchange is minimized, and age information management between systems is performed. The age information manager stores the age information of each system as an age list, and uses this information when selecting the replacement target cache information to consider a system having a lot of high age information as an inactive system. Process.

본 발명은 또한 컴퓨터로 읽을 수 있는 기록매체에 컴퓨터가 읽을 수 있는 코드로서 구현하는 것이 가능하다. 컴퓨터가 읽을 수 있는 기록매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록장치를 포함한다. 컴퓨터가 읽을 수 있는 기록매체의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 플로피디스크, 광데이터 저장장치 등이 있으며, 또한 캐리어 웨이브(예를 들어 인터넷을 통한 전송)의 형태로 구현되는 것도 포함한다. 또한 컴퓨터가 읽을 수 있는 기록매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어 분산방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수 있다.The invention can also be embodied as computer readable code on a computer readable recording medium. The computer-readable recording medium includes all kinds of recording devices in which data that can be read by a computer system is stored. Examples of computer-readable recording media include ROM, RAM, CD-ROM, magnetic tape, floppy disk, optical data storage, and the like, and may also be implemented in the form of a carrier wave (for example, transmission over the Internet). Include. The computer readable recording medium can also be distributed over network coupled computer systems so that the computer readable code is stored and executed in a distributed fashion.

이상에서 본 발명의 바람직한 실시예에 대해 도시하고 설명하였으나, 본 발명은 상술한 특정의 바람직한 실시예에 한정되지 아니하며, 청구범위에서 청구하는 본 발명의 요지를 벗어남이 없이 당해 발명이 속하는 기술분야에서 통상의 지식을 가진 자라면 누구든지 다양한 변형 실시가 가능한 것은 물론이고, 그와 같은 변경은 청구범위 기재의 범위 내에 있게 된다.Although the preferred embodiments of the present invention have been shown and described above, the present invention is not limited to the specific preferred embodiments described above, and the present invention belongs to the present invention without departing from the gist of the present invention as claimed in the claims. Various modifications can be made by those skilled in the art, and such changes are within the scope of the claims.

발명에 따른 SAN 파일시스템을 위한 협력 캐시 장치 및 방법에 의하면, SAN 파일시스템 환경에서 여러 시스템의 캐시 정보를 공유하여 관리하기 위한 새로운 형식의 자료구조를 개발하여 캐시 정보 관리에 필요한 저장공간 비용을 감소시킬 수 있다. 또한, 캐시정보의 관리를 위해 주고받는 메시지 수를 줄여 SAN 파일 시스템 내의 각 시스템의 부하감소를 통한 성능 개선 및 통신비용 감소 효과를 얻을 수 있다. 나아가, 캐시정보의 일관성 유지 및 교체 대상이 되는 캐시를 선정하기 위해 각각의 시스템 간에 주고받는 메시지의 수를 효과적으로 감소시켜 SAN 파일시스템의 각 시스템 간의 통신비용 및 부하를 감소시켜 성능을 높이는 효과를 얻게 된다.According to the cooperative cache apparatus and method for a SAN file system according to the present invention, a new format data structure for sharing and managing cache information of multiple systems in a SAN file system environment is developed to reduce the storage space cost required for managing cache information. You can. In addition, by reducing the number of messages sent and received for managing cache information, it is possible to improve performance and reduce communication costs by reducing the load of each system in the SAN file system. Furthermore, by effectively reducing the number of messages exchanged between systems in order to maintain the consistency of cache information and to select caches to be replaced, the performance and performance of the system can be improved by reducing the communication cost and load between systems in the SAN file system. do.

도 1은 종래의 협력 캐시 시스템의 동작 구조를 도시한 도면,1 is a view illustrating an operation structure of a conventional cooperative cache system;

도 2는 본 발명에 따른 SAN 파일시스템을 위한 협력 캐시 장치의 구성을 도시한 도면,2 is a diagram illustrating a configuration of a cooperative cache device for a SAN file system according to the present invention;

도 3은 도 2에 도시된 Node A(210), Node B(220) 및 Node C(230)로 명명된 각각의 시스템의 상세한 구성을 도시한 블록도,FIG. 3 is a block diagram showing a detailed configuration of each system named Node A 210, Node B 220 and Node C 230 shown in FIG.

도 4는 본 발명에 따른 협력 캐시 장치에서 캐시 내의 블록 정보들을 기술하는 메타정보를 관리하는 자료구조를 도시한 도면,4 is a diagram illustrating a data structure for managing meta information describing block information in a cache in a cooperative cache apparatus according to the present invention;

도 5는 본 발명에 따른 협력 캐시 장치를 구성하는 지역 시스템에서 캐시 정보를 찾은 경우의 처리과정을 도시한 도면,5 is a diagram illustrating a process of finding cache information in a local system constituting a cooperative cache apparatus according to the present invention;

도 6은 본 발명에 따른 협력 캐시 장치를 구성하는 지역 시스템에서 캐시 정보를 찾지 못한 경우의 처리과정을 도시한 도면, FIG. 6 is a diagram illustrating a processing process when cache information is not found in a local system constituting a cooperative cache apparatus according to the present invention; FIG.

도 7은 본 발명에 따른 협력 캐시 장치를 구성하는 일 시스템이 캐시 정보를 읽기 요청한 경우 자료구조의 변화과정을 도시한 도면, FIG. 7 is a diagram illustrating a process of changing a data structure when a system constituting a cooperative cache device requests to read cache information according to the present invention; FIG.

도 8은 본 발명에 따른 협력 캐시 장치를 구성하는 일 시스템이 캐시 정보를 쓰기 요청한 경우 자료구조의 변화과정을 도시한 도면, 그리고,FIG. 8 is a diagram illustrating a process of changing a data structure when a system constituting a cooperative cache device requests to write cache information according to the present invention. FIG.

도 9는 본 발명에 따른 협력 캐시 장치에서 캐시 정보에 대한 교체과정을 도시한 도면이다.9 is a diagram illustrating a process of replacing cache information in the cooperative cache apparatus according to the present invention.

Claims (9)

할당된 블록들의 위치정보를 관리하는 위치관리자;A location manager for managing location information of allocated blocks; 로컬 캐시영역에서 상기 블록의 검색실패시 원하는 블록의 위치를 검색하기 위한 질의를 다른 시스템에게 전달하고, 상기 질의를 전달받은 시스템으로부터 제공받은 블록의 위치정보에 해당하는 시스템에 블록의 전송을 요청하는 페이지 실패관리자;When a search fails in the local cache area, a query for searching for a location of a desired block is transmitted to another system, and a request for transmission of a block is made to a system corresponding to location information of a block provided from the system receiving the query. Page failure manager; 블록의 전송을 요청한 다른 시스템에게 요청받은 블록을 전송하는 전송관리자; 및A transmission manager for transmitting the requested block to another system requesting the transmission of the block; And 상기 위치관리자에 의해 검색된 블록의 유효성 여부를 확인하고, 상기 블록이 유효한 경우에는 처리를 종료하며, 유효하지 않은 경우에는 상기 페이지 실패관리자에게 페이지폴트처리를 요청하는 운영체제 버퍼관리자;를 포함하는 것을 특징으로 하는 SAN 파일시스템을 위한 협력 캐시 장치.And an operating system buffer manager which checks whether the block retrieved by the location manager is valid, terminates the processing if the block is valid, and requests page fault processing from the page failure manager if the block is invalid. Cooperative cache device for SAN filesystems. 제 1항에 있어서,The method of claim 1, 캐시의 일관성을 유지하며, 변경이 요구되는 블록에 접근할 때 해당 블록을 변경하는 유효성관리자를 더 포함하는 것을 특징으로 하는 SAN 파일시스템을 위한 협력 캐시 장치.Cooperative cache device for the SAN file system, characterized in that it further comprises a validator for maintaining the consistency of the cache, and changes the block when accessing the block requiring a change. 제 1항에 있어서,The method of claim 1, 캐시 교체시에 가장 오랫동안 참조되지 않은 블록의 수가 많은 시스템을 찾아서 교체하게 될 블록을 전송하기 위해 필요한 정보를 관리하는 에이지 정보관리자를 더 포함하는 것을 특징으로 하는 SAN 파일시스템을 위한 협력 캐시 장치.And a aging information manager for managing information required to transmit a block that will find and replace a system having a longest number of unreferenced blocks at the time of cache replacement. 제 1항 내지 제3항 중 어느 한 항에 있어서,The method according to any one of claims 1 to 3, 상기 블록의 위치정보는 블록의 존재여부를 나타내는 제1비트 및 블록의 최신정보여부를 나타내는 제2비트로 구성되는 것을 특징으로 하는 SAN 파일시스템을 위한 협력 캐시 장치.The location information of the block is a cooperative cache device for a SAN file system, characterized in that it comprises a first bit indicating whether the block exists or the second bit indicating whether the latest information of the block. 복수의 시스템이 SAN에 부착된 저장장치를 공유하는 환경하에서 각각의 시스템이 캐시 정보를 공유하여 관리하고 사용하는 협력 캐시 방법에 있어서,A cooperative cache method in which each system shares, manages, and uses cache information in an environment in which a plurality of systems share a storage device attached to a SAN. 상기 복수의 시스템 중에서 제1시스템이 자신의 로컬 캐시영역에서 블록을 검색하는 단계;A first system searching for a block in its local cache area among the plurality of systems; 상기 제1시스템이 블록의 검색에 실패하면 원하는 블록의 위치를 검색하기 위한 질의를 상기 복수의 시스템 중에서 제2시스템에게 전달하는 단계;If the first system fails to retrieve the block, forwarding a query to a second system of the plurality of systems to search for a location of a desired block; 상기 제1시스템이 상기 제2시스템으로부터 제공받은 블록의 위치정보에 해당하는 시스템에 블록의 전송을 요청하는 단계; 및Requesting, by the first system, the block to be transmitted to a system corresponding to the location information of the block received from the second system; And 상기 제1시스템이 상기 블록의 전송을 요청한 시스템으로부터 해당 블록을 수신하는 단계;를 포함하는 것을 특징으로 하는 SAN 파일시스템을 위한 협력 캐시 방법.And receiving, by the first system, the block from the system that requested the transmission of the block. 제 5항에 있어서,The method of claim 5, 블록에 대한 변경의 요구여부를 확인하는 단계; 및Checking whether a change to the block is required; And 변경이 요구되는 것으로 확인되면 해당 블록에 접근할 때 블록을 변경하는 단계;를 더 포함하는 것을 특징으로 하는 SAN 파일시스템을 위한 협력 캐시 방법.If it is determined that a change is required, changing the block when the corresponding block is accessed. 제 5항에 있어서,The method of claim 5, 캐시정보의 사용시간에 따라 에이지 정보를 소정의 단계로 나누는 단계;Dividing the age information into predetermined steps according to the usage time of the cache information; 상기 소정의 단계로 나누어진 캐시정보 중에서 가장 높은 단계의 개수만 추출하여 저장하는 단계; 및Extracting and storing only the number of the highest steps among the cache information divided into the predetermined steps; And 상기 각각의 시스템의 에이지 정보를 별도의 메시지 교환없이 캐시정보 검색 및 교환시 교환하고 일정기간 캐시 정보 검색 및 교환이 일어나지 않은 시스템에 한하여 추가적인 에이지 정보 메시지를 교환하는 단계;를 포함하는 것을 특징으로 하는 SAN 파일시스템을 위한 협력 캐시 방법.Exchanging the age information of each system at the time of searching and exchanging cache information without a separate message exchange, and exchanging additional age information message only in a system in which cache information retrieval and exchange have not occurred for a predetermined period of time. Cooperative cache method for SAN filesystems. 제 5항 내지 제 7항 중 어느 한 항에 있어서,The method according to any one of claims 5 to 7, 상기 블록의 위치정보는 블록의 존재여부를 나타내는 제1비트 및 블록의 최신정보여부를 나타내는 제2비트로 구성되는 것을 특징으로 하는 SAN 파일시스템을 위한 협력 캐시 방법.The location information of the block is composed of a first bit indicating whether the block exists, and a second bit indicating whether the latest information of the block. 복수의 시스템이 SAN에 부착된 저장장치를 공유하는 환경하에서 각각의 시스템이 캐시 정보를 공유하여 관리하고 사용하는 협력 캐시 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체에 있어서,A computer-readable recording medium having recorded thereon a program for executing a cooperative caching method in which each system shares, manages, and uses cache information in an environment in which a plurality of systems share a storage device attached to a SAN, 상기 복수의 시스템 중에서 제1시스템이 자신의 로컬 캐시영역에서 블록을 검색하는 단계;A first system searching for a block in its local cache area among the plurality of systems; 상기 제1시스템이 블록의 검색에 실패하면 원하는 블록의 위치를 검색하기 위한 질의를 상기 복수의 시스템 중에서 제2시스템에게 전달하는 단계;If the first system fails to retrieve the block, forwarding a query to a second system of the plurality of systems to search for a location of a desired block; 상기 제1시스템이 상기 제2시스템으로부터 제공받은 블록의 위치정보에 해당하는 시스템에 블록의 전송을 요청하는 단계; 및Requesting, by the first system, the block to be transmitted to a system corresponding to the location information of the block received from the second system; And 상기 제1시스템이 상기 블록의 전송을 요청한 시스템으로부터 해당 블록을 수신하는 단계;를 포함하는 것을 특징으로 하는 SAN 파일시스템을 위한 협력 캐시 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체.And receiving, by the first system, the block from the system that requested the transmission of the block. A computer-readable recording recording a program for executing a cooperative cache method for a SAN file system on a computer. media.
KR1020040039221A 2004-05-31 2004-05-31 Cooperative caching device and method for san file systems KR20050114028A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020040039221A KR20050114028A (en) 2004-05-31 2004-05-31 Cooperative caching device and method for san file systems

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020040039221A KR20050114028A (en) 2004-05-31 2004-05-31 Cooperative caching device and method for san file systems

Publications (1)

Publication Number Publication Date
KR20050114028A true KR20050114028A (en) 2005-12-05

Family

ID=37288445

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020040039221A KR20050114028A (en) 2004-05-31 2004-05-31 Cooperative caching device and method for san file systems

Country Status (1)

Country Link
KR (1) KR20050114028A (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8335903B2 (en) 2007-03-21 2012-12-18 Samsung Electronics Co., Ltd. Method and system for processing access to disk block
US9692825B2 (en) 2010-11-16 2017-06-27 Intel Corporation Endpoint caching for data storage systems
WO2024172428A1 (en) * 2023-02-13 2024-08-22 삼성전자주식회사 Electronic device and method for data caching

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8335903B2 (en) 2007-03-21 2012-12-18 Samsung Electronics Co., Ltd. Method and system for processing access to disk block
US9692825B2 (en) 2010-11-16 2017-06-27 Intel Corporation Endpoint caching for data storage systems
WO2024172428A1 (en) * 2023-02-13 2024-08-22 삼성전자주식회사 Electronic device and method for data caching

Similar Documents

Publication Publication Date Title
US9959279B2 (en) Multi-tier caching
US8566549B1 (en) Synchronizing performance requirements across multiple storage platforms
EP2545458B1 (en) Method and memory cache data center
US6883068B2 (en) Methods and apparatus for implementing a chche replacement scheme
US8868831B2 (en) Caching data between a database server and a storage system
CN105549905B (en) A kind of method that multi-dummy machine accesses distributed objects storage system
US8463846B2 (en) File bundling for cache servers of content delivery networks
EP2411918B1 (en) Virtualized data storage system architecture
US8078819B2 (en) Arrangements for managing metadata of an integrated logical unit including differing types of storage media
US6745295B2 (en) Designing a cache with adaptive reconfiguration
JP4115093B2 (en) Computer system
EP1316019B1 (en) Managing replacement of data in a cache on a node based on caches of other nodes
CN111124301A (en) Data consistency storage method and system of object storage device
US20050198062A1 (en) Method and apparatus for accelerating data access operations in a database system
US20160212203A1 (en) Multi-site heat map management
US20200081867A1 (en) Independent evictions from datastore accelerator fleet nodes
JP4229626B2 (en) File management system
JP4290975B2 (en) Database processing method and apparatus, processing program therefor, disaster recovery method and system
CN112749198B (en) Multistage data caching method and device based on version number
US20130297969A1 (en) File management method and apparatus for hybrid storage system
US8402198B1 (en) Mapping engine for a storage device
CN111782612A (en) File data edge caching method in cross-domain virtual data space
CN114844846A (en) Multi-level cache distributed key value storage system based on programmable switch
US7558919B1 (en) Dynamic cache partitioning
JP5661355B2 (en) Distributed cache system

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E601 Decision to refuse application