KR102580545B1 - Apparatus and method for managing a disk cache - Google Patents
Apparatus and method for managing a disk cache Download PDFInfo
- Publication number
- KR102580545B1 KR102580545B1 KR1020160048019A KR20160048019A KR102580545B1 KR 102580545 B1 KR102580545 B1 KR 102580545B1 KR 1020160048019 A KR1020160048019 A KR 1020160048019A KR 20160048019 A KR20160048019 A KR 20160048019A KR 102580545 B1 KR102580545 B1 KR 102580545B1
- Authority
- KR
- South Korea
- Prior art keywords
- disk cache
- disk
- data
- cache
- read
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0866—Addressing 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0866—Addressing 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
- G06F12/0871—Allocation or management of cache space
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/28—Using a specific disk cache architecture
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/46—Caching storage objects of specific type in disk cache
- G06F2212/466—Metadata, control data
Abstract
본 발명은 디스크 캐시 운용 장치 및 방법을 제공하며, 본 발명에 따른 디스크 캐시 운용 장치는, 디스크 캐시에 저장된 데이터에 대한 정보가 저장되는 메타 데이터 저장부; 상기 메타 데이터 저장부로부터 전송된 정보를 모니터링하는 운용 모니터링부; 상기 운용 모니터링부에 의해 모니터링된 운용 로그를 저장하는 운용 로그 저장부; 상기 운용 로그 저장부에 저장된 운용 로그를 분석하여, 상기 디스크 캐시에 저장된 데이터가 실제로 이용되는 이용률을 분석하는 운용 분석부; 및 상기 운용 분석부의 제어에 따라 상기 디스크 캐시에 저장될 데이터의 옵션을 설정하며, 상기 옵션에 따라 상기 디스크 캐시를 제어하는 옵션 설정부를 포함한다.The present invention provides a disk cache operating device and method, and the disk cache operating device according to the present invention includes a metadata storage unit that stores information about data stored in the disk cache; an operation monitoring unit that monitors information transmitted from the meta data storage unit; an operation log storage unit that stores an operation log monitored by the operation monitoring unit; an operation analysis unit that analyzes the operation log stored in the operation log storage unit and analyzes a utilization rate of data stored in the disk cache; and an option setting unit that sets options for data to be stored in the disk cache according to the control of the operation analysis unit and controls the disk cache according to the options.
Description
본 발명은 스토리지 시스템에 구비된 디스크 캐시를 운용하는 장치 및 방법에 관한 것이다.
The present invention relates to an apparatus and method for operating a disk cache provided in a storage system.
사용자 어플리케이션이 실행되는 장치의 CPU와 스토리지 시스템에 구비된 디스크 간 데이터의 이동을 처리하는 속도에는 큰 차이가 있다. There is a big difference in the speed of processing data movement between the CPU of the device where the user application runs and the disk provided in the storage system.
디스크 캐시는 디스크로부터 데이터를 읽는 속도를 증가시키기 위해 이용되는 메모리 장치로서, 특히, 스토리지에서 읽은 블록 내용을 보존하는 기능을 수행한다. A disk cache is a memory device used to increase the speed of reading data from a disk. In particular, it performs the function of preserving the contents of blocks read from storage.
디스크 캐시를 이용하면, 디스크로부터 읽은 데이터가 디스크 캐시에 저장되어 읽혀지므로 디스크에 대한 접근이 방지된다. When using a disk cache, data read from the disk is stored in the disk cache and then read, thereby preventing access to the disk.
디스크에 저장된 데이터 접근이 많은 경우, 디스크 캐시를 이용하면, 어플리케이션이 실행되는 장치는 필요한 데이터에 접근하기 위해 디스크에 직접 접근하는 것보다 효과적으로 데이터에 접속할 수 있다.When there is a lot of access to data stored on the disk, using a disk cache allows the device running the application to access the data more effectively than accessing the disk directly to access the necessary data.
그러나, 디스크 캐시에 저장된 데이터가 어플리케이션 단말기가 원하는 데이터가 아닌 경우, 디스크 캐시의 효용성이 떨어질 수 있다.
However, if the data stored in the disk cache is not the data desired by the application terminal, the effectiveness of the disk cache may be reduced.
따라서, 본 발명의 목적은 디스크 캐시에 저장된 데이터가 실제로 이용되는 이용률을 분석하여, 상기 디스크 캐시에 저장될 데이터를 변경할 수 있는, 디스크 캐시 운용 장치 및 방법을 제공하는 것이다.
Accordingly, the purpose of the present invention is to provide a disk cache operation device and method that can change the data to be stored in the disk cache by analyzing the utilization rate at which data stored in the disk cache is actually used.
상술한 목적을 달성하기 위한 본 발명에 따른 디스크 캐시 운용 장치는, 디스크 캐시에 저장된 데이터에 대한 정보가 저장되는 메타 데이터 저장부; 상기 메타 데이터 저장부로부터 전송된 정보를 모니터링하는 운용 모니터링부; 상기 운용 모니터링부에 의해 모니터링된 운용 로그를 저장하는 운용 로그 저장부; 상기 운용 로그 저장부에 저장된 운용 로그를 분석하여, 상기 디스크 캐시에 저장된 데이터가 실제로 이용되는 이용률을 분석하는 운용 분석부; 및 상기 운용 분석부의 제어에 따라 상기 디스크 캐시에 저장될 데이터의 옵션을 설정하며, 상기 옵션에 따라 상기 디스크 캐시를 제어하는 옵션 설정부를 포함한다.
A disk cache operation device according to the present invention for achieving the above-described object includes a metadata storage unit that stores information about data stored in the disk cache; an operation monitoring unit that monitors information transmitted from the meta data storage unit; an operation log storage unit that stores an operation log monitored by the operation monitoring unit; an operation analysis unit that analyzes the operation log stored in the operation log storage unit and analyzes a utilization rate at which data stored in the disk cache is actually used; and an option setting unit that sets options for data to be stored in the disk cache according to the control of the operation analysis unit and controls the disk cache according to the options.
본 발명에 의하면, 디스크에 저장되어 있는 데이터가 디스크 캐시에 임시로 저장되며, 이에 따라, 어플리케이션 장치가 상기 데이터를 빠르게 이용할 수 있다. 이를 위해, 본 발명은 디스크 캐시에 자주 접근되는 데이터를 로드하기 위해 필요한 디스크 캐시의 설정을, 동적으로 변경시킬 수 있다.
According to the present invention, data stored on a disk is temporarily stored in a disk cache, so that an application device can quickly use the data. To this end, the present invention can dynamically change the settings of the disk cache necessary to load frequently accessed data into the disk cache.
도 1은 본 발명에 따른 디스크 캐시 운용 장치가 적용되는 통신 시스템을 나타낸 예시도.
도 2는 도 1에 도시된 스토리지 시스템 및 디스크 캐시 운용 장치를 구체적으로 나타낸 예시도.
도 3은 본 발명에 따른 디스크 캐시 운용 방법의 일실시예 흐름도.
도 4 및 도 5는 본 발명에 따른 디스크 캐시 운용 방법 중 디스크 캐시를 운용할 옵션을 선택하는 방법을 나타낸 일실시예 흐름도.
도 6은 본 발명에 따른 디스크 캐시 운용 방법에 적용되는 디스크 캐시의 저장 방법을 나타낸 예시도.1 is an exemplary diagram showing a communication system to which a disk cache operation device according to the present invention is applied.
FIG. 2 is an exemplary diagram illustrating in detail the storage system and disk cache operation device shown in FIG. 1.
Figure 3 is a flowchart of an embodiment of a disk cache operation method according to the present invention.
Figures 4 and 5 are flowcharts showing an embodiment of a method for selecting an option to operate a disk cache among the disk cache operating methods according to the present invention.
Figure 6 is an example diagram showing a disk cache storage method applied to the disk cache operation method according to the present invention.
본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시 예들을 참조하면 명확해질 것이다. 그러나 본 발명은 이하에서 개시되는 실시 예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 본 실시 예들은 본 발명의 개시가 완전하도록 하고, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다. 명세서 전체에 걸쳐 동일 도면부호는 동일 구성 요소를 지칭한다.The advantages and features of the present invention and methods for achieving them will become clear by referring to the embodiments described in detail below along with the accompanying drawings. However, the present invention is not limited to the embodiments disclosed below and may be implemented in various different forms. The present embodiments are merely provided to ensure that the disclosure of the present invention is complete and to provide common knowledge in the technical field to which the present invention pertains. It is provided to fully inform those who have the scope of the invention, and the present invention is only defined by the scope of the claims. Like reference numerals refer to like elements throughout the specification.
본 발명의 실시 예들을 설명함에 있어서 공지 기능 또는 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략할 것이다. 그리고 후술되는 용어들은 본 발명의 실시 예에서의 기능을 고려하여 정의된 용어들로서 이는 사용자, 운용자의 의도 또는 관례 등에 따라 달라질 수 있다. 그러므로 그 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다.
In describing embodiments of the present invention, if it is determined that a detailed description of a known function or configuration may unnecessarily obscure the gist of the present invention, the detailed description will be omitted. The terms described below are terms defined in consideration of functions in embodiments of the present invention, and may vary depending on the intention or custom of the user or operator. Therefore, the definition should be made based on the contents throughout this specification.
이하, 본 발명의 실시 예에 따른 디스크 캐시 운용 장치 및 방법에 대하여 첨부된 도면을 참조하여 상세하게 설명한다.
Hereinafter, a disk cache operation device and method according to an embodiment of the present invention will be described in detail with reference to the attached drawings.
도 1은 본 발명에 따른 디스크 캐시 운용 장치가 적용되는 통신 시스템을 나타낸 예시도이며, 도 2는 도 1에 도시된 스토리지 시스템 및 디스크 캐시 운용 장치를 구체적으로 나타낸 예시도이다. FIG. 1 is an exemplary diagram showing a communication system to which a disk cache operating device according to the present invention is applied, and FIG. 2 is an exemplary diagram specifically showing the storage system and disk cache operating device shown in FIG. 1.
도 2에서, 디스크(220)에서 읽혀진 데이터는 디스크 캐시(210)에 존재하며, 상기 디스크 캐시(210)에 자주 접근되는 데이터를 저장하기 위해, 본 발명에 따른 디스크 캐시 운용 장치(100)는 상기 디스크 캐시를 운용하는 설정을 동적으로 변경시킬 수 있다. 특히, 상기 디스크 캐시(210)에서 읽기가 반복적으로 이뤄질 때, 상기 디스크 캐시(210)는 중요한 의미를 갖는다. 따라서, 이하에서는, 상기 디스크 캐시(210)의 읽기 동작을 일례로 하여 본 발명이 설명된다.
In FIG. 2, data read from the
본 발명에 따른 디스크 캐시 운용 장치(100)가 적용되는 통신 시스템은, 도 1 및 도 2에 도시된 바와 같이, 디스크 캐시(210)와 디스크(220)를 포함하는 스토리지 시스템(200), 상기 스토리지 시스템(200)에 각종 데이터를 저장하거나 상기 스토리지 시스템(200)에 저장된 데이터를 이용하는 어플리케이션 장치(300) 및 상기 디스크 캐시(210)에 저장된 데이터가 실제로 이용되는 이용률을 분석하여, 상기 디스크 캐시(210)에 저장될 데이터를 변경할 수 있는 디스크 캐시 운용 장치(100)를 포함한다.A communication system to which the disk
상기 어플리케이션 장치(300)가 상기 디스크(220)에 저장된 데이터에 대한 접근을 요청할 때, 입출력 시간이 오래 걸리는 디스크 연산은, 상기 디스크 캐시(210)에서 수행될 수 있다. 이를 통해, 상기 어플리케이션 장치(300)가 상기 디스크(220)에 직접 접근할 때 발생되는 지연 시간은 감소될 수 있다. When the
상기 어플리케이션 장치(300)가 분석 작업을 주로 함에 따라, 반복적으로 동일한 데이터가 이용되는 데이터 처리 패턴이 존재할 때, 상기 디스크 캐시(210)의 효율성은 증가될 수 있다.As the
대용량이며 순차적으로 입출력 되는 데이터에 접근하는 방식과, 읽기 패턴에 따라 데이터에 접근하는 방식은 다르다. The method of accessing large amounts of data that is sequentially input/output is different from the method of accessing data depending on the reading pattern.
같은 데이터가 반복적으로 이용되는 경우, 반복되는 데이터가 상기 디스크 캐시(210)에 저장되면, 분석 과정에서 데이터에 대한 접속이 빠르게 진행될 수 있으며, 이에 따라 분석 과정이 빠르게 진행될 수 있다. When the same data is used repeatedly, if the repeated data is stored in the
그러나, 한 번 설정된 디스크 캐시(210)의 데이터 저장 방법이 상기 스토리지 시스템(200)의 환경에 따라 동적으로 변경되지 않으면, 상기 디스크 캐시(210)를 이용하는 효율이 감소될 수 있다.However, if the data storage method of the
따라서, 본 발명은 상기 디스크 캐시(210)에 어떤 정보가 읽혀 로드되는 것이 좋을지를 판단하여, 상기 디스크 캐시(210)의 데이터 저장 방법을 변경할 수 있다. Accordingly, the present invention can change the data storage method of the
상기 디스크(220)보다 상대적으로 사이즈가 작은 데이터가, 상기 디스크 캐시(210)에 저장되므로, 데이터 읽기 적중률이 기대 수준보다 떨어질 수 있다. 이를 방지하기 위해, 본 발명은 상기 디스크 캐시(210)의 데이터 저장 방법을 재정의하고 반영할 수 있다. Since data that is relatively smaller in size than the
이에 따라, 상기 디스크 캐시(210)에 보존되는 데이터가 효율적으로 상기 어플리케이션 장치(300)에 의해 읽혀질 수 있고, 부적절하게 데이터가 교체되는 현상이 방지될 수 있으며, 데이터 접근 응답 시간이 감소될 수 있다. Accordingly, data preserved in the
즉, 본 발명은 상기 디스크(220)와 상기 디스크 캐시(210) 간의 운용 옵션을 설정할 수 있고, 상기 운용 옵션을 상황에 따라 재설정할 수 있는, 디스크 캐시 운용 장치 및 방법을 제공한다. That is, the present invention provides a disk cache operating device and method that can set operating options between the
부연하여 설명하면, 고성능 분석 컴퓨팅 환경에 적용되는 스토리지 시스템(200) 또는 대량의 데이터를 제공하는 스토리지 시스템(200)이, 빠르게 데이터를 어플리케이션 장치(300)로 제공할 수 있도록, 상기 스토리지 시스템(200)에 상기 디스크 캐시(210)가 구비된다. To explain further, the
이 경우, 본 발명에 따른 디스크 캐시 운용 장치(100)는, 상기 디스크 캐시(210)에 자주 접근되는 데이터가 상기 디스크 캐시(210)에 미리 저장될 수 있도록, 상기 디스크 캐시(210)의 운용 방법을 동적으로 변경시킬 수 있다. In this case, the disk
상기 스토리지 시스템(200)에 구비되는 상기 디스크(220)는 대량의 데이터를 저장하는 기능을 수행한다. 상기 디스크(220)는, HDD 디스크와 같은 저장 장치가, 필요한 데이터를 찾기 위해 파일로 접근할 수 있도록, 장치 파일을 마운트 시키며, 블록 I/O 인터페이스를 통해 데이터를 읽거나 쓴다. 상기 디스크(220)는 고용량을 제공할 수 있으나, 데이터를 읽는 지연 시간이 길기 때문에, 주기억 장치나 CPU가 데이터를 읽고 처리하는 속도가 느릴 수 있다.The
자주 접근하는 특성을 가진 데이터가 상기 디스크 캐시(210)에 저장되면, 어플리케이션 장치(300)는, 상기 디스크(220)에 직접 접근하여 읽고 쓰는 것에 비해, 보다 더 빠르게 필요한 데이터에 접근할 수 있다.
When data with frequently accessed characteristics is stored in the
이하에서는, 도 2를 참조하여 본 발명에 따른 디스크 캐시 운용 장치(100)가 상세히 설명된다.Hereinafter, the disk
본 발명에 따른 디스크 캐시 운용 장치(100)는 도 2에 도시된 바와 같이, 디스크 캐시(210)에 저장된 데이터에 대한 정보가 저장되는 메타 데이터 저장부(115), 상기 메타 데이터 저장부(115)로부터 전송된 정보를 모니터링하는 운용 모니터링부(111), 상기 운용 모니터링부(111)에 의해 모니터링된 운용 로그를 저장하는 운용 로그 저장부(112), 상기 운용 로그 저장부(112)에 저장된 운용 로그를 분석하여, 상기 디스크 캐시(210)에 저장된 데이터가 실제로 이용되는 이용률을 분석하는 운용 분석부(113) 및 상기 운용 분석부(113)의 제어에 따라 상기 디스크 캐시(210)에 저장될 데이터의 옵션을 설정하며, 상기 옵션에 따라 상기 디스크 캐시(210)를 제어하는 옵션 설정부(114)를 포함한다. As shown in FIG. 2, the disk
첫째, 상기 메타 데이터 저장부(115)는, 상기 디스크 캐시(210)에 저장된 데이터의 일관성이 유지되는 지에 대한 상태 정보 및 데이터 읽기 오류 설정 정보 등이 저장된다. First, the
둘째, 상기 운용 모니터링부(111)는 상기 디스크 캐시(210)를 통해 수행되는 읽기/쓰기 동작을 모니터링 하여, 상기 디스크(220)에서 상기 디스크 캐시(210)로 읽혀지는 데이터에 대한 정보를 저장하거나, 상기 디스크 캐시에 저장된 내용이 상기 디스크(220)에 쓰여지는 오퍼레이션 동작 정보를 저장한다. Second, the
또한, 상기 운용 모니터링부(111)는 상기 메타 데이터 저장부(115)로부터 전송되는 정보들을 이용하여, 상기 디스크 캐시(210)에 대한 각종 정보를 모니터링할 수 있다.Additionally, the
상기 디스크 캐시(210)의 운용 로그 정보 이외에도, 상기 디스크(220)에 저장되거나 상기 디스크(220)로부터 읽혀지는 데이터에 접근하는 패턴은, 상기 디스크 캐시(210)의 동작에 영향을 준다. 따라서, 블록 데이터에 대한 I/O에 관한 데이터 사이즈, 데이터 저장 주소 정보도, 상기 운용 모니터링부(111)에 의해 수집될 수 있다. In addition to the operation log information of the
상기 디스크 캐시(210)의 동작 중 특히, 읽기와 관련한 데이터에는, 디스크 캐시 읽기 데이터 사이즈, 데이터 저장 주소, 캐시 슬롯 번호 등이 포함될 수 있다. In particular, data related to read during the operation of the
셋째, 상기 운용 로그 저장부(112)는 상기 운용 모니터링부(111)에서 모니터링된 데이터를 저장한다.Third, the operation
넷째, 상기 운용 분석부(113)는 상기 운용 로그 저장부(112)에 저장된 디스크 캐시의 동작과 관련된 운용 데이터를 기반으로, 현재, 상기 디스크 캐시(210)가 효율적으로 사용되고 있는 지의 여부를 실시간으로 분석한다. Fourth, the
즉, 상기 운용 분석부(113)는 상기 운용 로그 저장부(112)에 저장되어 있는 운용 기록 분석 정보를 토대로 하여, 상기 디스크 캐시(210)가 활용되고 있는 상황을 판단한다. That is, the
상기 운용 분석부(113)가 이용하는 분석 지표에는 읽기 적중률, 쓰기 적중률, 캐시에 저장된 시간, 여유 공간 사이즈 등이 포함될 수 있다.Analysis indicators used by the
다섯째, 상기 옵션 설정부(114)는 상기 디스크 캐시(210)가 동작하는데 필요한 옵션들을 동적으로 재설정한다.Fifth, the
상기 옵션 설정부(114)는 상기 운용 분석부(113)에서 나온 분석 정보에 기반하여, 상기 디스크 캐시(210)의 읽기 적중률이 향상될 수 있도록, 디스크 캐시 설정 값을 설정하며, 설정된 값을 상기 디스크 캐시(210)에 적용한다. The
변경된 옵션은 상기 디스크 캐시(210)에 동적으로 반영된다. 따라서, 상기 디스크 캐시(210)는 상기 변경된 옵션에 따라, 읽기와 쓰기 동작을 수행한다.Changed options are dynamically reflected in the
상기 옵션 설정의 대상에는 데이터 미리 읽기, 윈도우 사이즈 등이 포함될 수 있다. The object of the option setting may include data pre-reading, window size, etc.
상기 옵션 설정부(114)는 기대 적중률이 나올 수 있는 임계 지정 시간 동안, 모니터링 되어 변경된 설정을 지속할지 또는 중단할지를 결정할 수 있다.
The
도 3은 본 발명에 따른 디스크 캐시 운용 방법의 일실시예 흐름도이며, 특히, 본 발명에 따른 디스크 캐시 운용 장치(100)가 상기 디스크 캐시(210)의 옵션을 변경하는 방법을 나타낸다. Figure 3 is a flowchart of an embodiment of a disk cache operating method according to the present invention, and in particular, shows a method by which the disk
즉, 상기 디스크 캐시 운용 장치(100)는 상기 디스크 캐시(210)의 운용 로그를 저장하고(S100), 상기 디스크 캐시의 운용 패턴을 분석하여 상기 디스크 캐시(210)를 운용할 옵션을 선택한 후(S200), 데이터를 상기 디스크 캐시(210)에 저장하기 위한 옵션을 재설정할 수 있다(S300).That is, the disk
부연하여 설명하면, 상기 디스크 캐시 운용 장치(100)는 상기 디스크 캐시(210)의 운용 상태를 모니터링하고(S100), 필요한 경우, 상기 디스크 캐시(210)를 운용할 옵션을 새롭게 선택하며(S200), 선택된 옵션을 이용하여 상기 디스크 캐시(210)를 운용할 수 있다.To elaborate, the disk
도 4 및 도 5는 본 발명에 따른 디스크 캐시 운용 방법 중 디스크 캐시를 운용할 옵션을 선택하는 방법을 나타낸 일 실시예 흐름도이다. 즉, 도 4 및 도 5는 도 3에 도시된 디스크 캐시 운용 패턴 분석 및 디스크 캐시 운용 옵션 선택 과정(S200)을 상세히 나타낸 예시도이다. Figures 4 and 5 are flowcharts showing an embodiment of a method for selecting an option to operate a disk cache among the disk cache operating methods according to the present invention. That is, FIGS. 4 and 5 are exemplary diagrams showing in detail the disk cache operation pattern analysis and disk cache operation option selection process (S200) shown in FIG. 3.
도 6은 본 발명에 따른 디스크 캐시 운용 방법에 적용되는 디스크 캐시의 저장 방법을 나타낸 예시도이며, 특히, 도 6의 (a)는 디스크 캐시가 순차 읽기를 수행할 때 상기 디스크 캐시의 윈도우 사이즈가 증가되는 것을 나타내며, 도 6의 (b)는 디스크 캐시가 랜덤 읽기를 수행할 때 상기 디스크 캐시의 읽기 패턴을 나타낸다. Figure 6 is an exemplary diagram showing a disk cache storage method applied to the disk cache operation method according to the present invention. In particular, Figure 6 (a) shows the window size of the disk cache when the disk cache performs sequential read. This indicates an increase, and Figure 6(b) shows the read pattern of the disk cache when the disk cache performs random read.
특히, 도 4 및 도 5는 상기 어플리케이션 장치(300)가 상기 디스크 캐시(210)에 보존되어 있는 데이터를 읽을 때, 또는 상기 스토리지 시스템(200)에서 쓸 데이터를 디스크 캐시가 가지고 있을 때, 적용될 분석 조건과 옵션 설정 규칙을 나타낸다. In particular, FIGS. 4 and 5 show analysis to be applied when the
부연하여 설명하면, 도 4 및 도 5는 상기 디스크 캐시(210)가 읽기 동작을 수행할 때, 상기 디스크 캐시 운용 장치(100)가 상기 디스크 캐시(210)의 운용을 분석 및 설정하는 방법을 나타낸다.To elaborate, FIGS. 4 and 5 show a method by which the disk
또한, 도 6의 (a)는 디스크 캐시(210)가 순차 읽기를 수행한다고 판단될 때, 상기 디스크 캐시(210)의 읽기 윈도우가 b1 및 b2만큼 확장되는 것을 나타낸다. 상기 디스크 캐시(210)는 확장된 b1 및 b2만큼 데이터를 상기 디스크(220)로부터 더 로드하여 저장할 수 있다. Additionally, (a) of FIG. 6 shows that when it is determined that the
또한, 도 6의 (b)는 디스크 캐시(210)가 랜덤 읽기를 수행한다고 판단될 때, 상기 디스크 캐시(210)가 랜덤 읽기 패턴에 따라 동작하는 것을 나타낸다. 디스크 캐시(210)는 랜덤 읽기 패턴에 따라 상기 디스크(220)로부터 로드한 데이터를 b0, b2, b4 등에 저장할 수 있다. In addition, (b) of FIG. 6 shows that the
우선, 상기 디스크 캐시 운용 장치(100)는 상기 디스크 캐시(210)의 데이터 읽기 패턴 검사를 위해, 상기 디스크(220)로부터 상기 디스크 캐시(210)로 읽혀 지는 데이터의 주소 및 읽기 패턴 등을 검사한다(S202). First, the disk
다음, 순차 읽기는 다중 블록을 조작할 가능성이 높은 읽기 연산이다. 따라서, 데이터가 순차적으로 읽히는 경우 즉, 순차 읽기 검사 결과(S204)가 참(true)이면, 상기 디스크 캐시 운용 장치(100)는 상기 디스크(220)에서 읽게 될 데이터를 미리 가져다 놓기 위해 상기 옵션 설정부(114)의 디스크 캐시의 [데이터 미리 읽기] 값을 활성화(enabled)로 설정한다(S208). Next, sequential read is a read operation that has a high possibility of manipulating multiple blocks. Therefore, when data is read sequentially, that is, if the sequential read check result (S204) is true, the disk
또한, 상기 디스크 캐시 운용 장치(100)는, 도 6의 (a)에 도시된 바와 같이, [윈도우 사이즈]를 α 만큼 증가시켜(S210), 상기 디스크(220)로부터 상기 디스크 캐시(210)로 데이터를 읽는다.In addition, as shown in (a) of FIG. 6, the disk
순차 읽기 검사 결과(S204)가 거짓이면, 즉, 디스크 캐시(210)가 랜덤 읽기를 수행하고 있다고 판단되면, 상기 디스크 캐시 운용 장치(100)는 상기 디스크 캐시(210)가 도 6의 (b)에 도시된 바와 같이, 랜덤한 패턴에 따라 동작하도록 상기 디스크 캐시(210)의 운용 옵션을 선택할 수 있다(S206). If the sequential read check result (S204) is false, that is, if it is determined that the
부연하여 설명하면, 랜덤 읽기 검사 결과가 참(true)이면, 상기 디스크 캐시 운용 장치(100)는 [데이터 미리 읽기] 값을 enabled로 설정하고, 도 6의 (b)에 도시된 바와 같이, 랜덤으로 읽기 패턴에 따라 데이터가 상기 디스크 캐시(210)로 읽혀 지도록 한다.To explain further, if the random read check result is true, the disk
다음, [윈도우 사이즈]를 조정한 후(S212), 읽기 적중률이 증가하면(S214) 윈도우 사이즈는 유지된다(S216). Next, after adjusting [window size] (S212), if the read hit rate increases (S214), the window size is maintained (S216).
그러나, [윈도우 사이즈] 조정 후(S212), 읽기 적중률이 증가하지 않으며(S214), 읽기 실패율(miss rate)이 증가하면(218), 상기 디스크 캐시 운용 장치(100)는, [윈도우 사이즈]를 원래대로 되돌리며(S220), [데이터 미리 읽기] 값을 비활성화(disabled)로 설정할 수 있다(S222). However, after adjusting the [window size] (S212), if the read hit rate does not increase (S214) and the read miss rate increases (218), the disk
다음, [윈도우 사이즈]가 초기 값을 유지하고 있는 경우, 즉, 윈도우 사이즈가 확장되지 않은 경우(S212)에, 읽기 실패율이 증가한다는 것은(S218) 상기 디스크(220)로부터 상기 디스크 캐시(210)로 데이터를 가져오는 데 지연 시간이 길어져, 상기 디스크 캐시(210)에 데이터가 준비되지 않았다는 것을 의미한다. Next, when [Window Size] maintains the initial value, that is, when the window size is not expanded (S212), the read failure rate increases (S218) when the
따라서, 이 경우, 상기 디스크 캐시 운용 장치(100)는 데이터를 읽는 시간이 줄어들 수 있도록, [윈도우 사이즈]를 1/2 사이즈로 감소시켜(S220), 작게 나뉜 데이터가 상기 디스크 캐시(210)로 읽혀질 수 있도록 설정을 변경할 수 있다(S222).Therefore, in this case, the disk
다음, [윈도우 사이즈]가 enabled된 상태에서(S210), 읽기 적중률이 증가하고 있으면, 캐시 동작이 향상된 것이므로, [윈도우 사이즈]는 확장된 사이즈로 유지된다(S216).Next, when [Window size] is enabled (S210), if the read hit rate is increasing, cache operation has been improved, so [Window size] is maintained at the expanded size (S216).
마지막으로, [데이터 미리 읽기] 값이 enabled된 상태에서(S208), 읽기 실패율이 증가하고 있으면, 더 큰 데이터를 읽기를 위해 [윈도우 사이즈]만큼 데이터를 읽는 효과가 없다. Lastly, when the [Read Data Ahead] value is enabled (S208) and the read failure rate is increasing, there is no effect of reading data as much as [Window Size] to read larger data.
따라서, 상기 디스크 캐시 운용 장치(100)는, [윈도우 사이즈]를 감소시키고(S220), [데이터 미리 읽기]를 초기화 시킨다(S222). Accordingly, the disk
또한, 상기 디스크 캐시 운용 장치(100)는 디스크 캐시의 여유 공간이 유지 되는지의 여부를 검사하여(S224), 여유 공간 유지율이 유지 되도록 한다. 상기 디스크 캐시 운용 장치(100)는 여유 공간 유지를 위해 삭제할 데이터를 선택하고, 선택된 데이터를 삭제할 수 있다(S226).Additionally, the disk
상기한 바와 같이, 본 발명은 읽기 캐싱 연산 동안 발생된 히스토리를 저장하고, 주기적으로 히스토리를 분석하여, 캐싱을 위해 디스크 캐시(210)의 설정을 변경한다. 이를 위해, 상기 디스크 캐시 운용 장치(100)는, 데이터의 읽기 패턴과 읽기 히스토리에 따라, 상기 디스크 캐시(210)의 설정을 변경할 수 있다. As described above, the present invention stores the history generated during a read caching operation, periodically analyzes the history, and changes the settings of the
부연하여 설명하면, 본 발명은 읽기 동작에 따라 캐싱되는 데이터의 입출력 패턴과, 캐싱된 데이터의 읽기 적중률에 따라, 상기 디스크 캐시(210)의 윈도우 사이즈를 조절할 수 있으며, 동적으로 상기 디스크 캐시(210)의 캐싱 옵션을 재설정할 수 있다. 또한, 본 발명은 블록 디스크로부터 읽는 데이터를 미리 선택함으로써 상기 디스크 캐시(210)를 최적화시킬 수 있다.
To elaborate, the present invention can adjust the window size of the
한편, 본 발명에 따른 디스크 캐시 운용 장치 및 방법을 실시 예에 따라 설명하였지만, 본 발명의 범위는 특정 실시 예에 한정되는 것은 아니며, 본 발명과 관련하여 통상의 지식을 가진 자에게 자명한 범위 내에서 여러 가지의 대안, 수정 및 변경하여 실시할 수 있다.
Meanwhile, although the disk cache operation device and method according to the present invention have been described according to embodiments, the scope of the present invention is not limited to the specific embodiments, and is within the scope of the present invention and is obvious to those skilled in the art. It can be implemented with various alternatives, modifications and changes.
따라서, 본 발명에 기재된 실시 예 및 첨부된 도면들은 본 발명의 기술 사상을 한정하기 위한 것이 아니라 설명하기 위한 것이고, 이러한 실시 예 및 첨부된 도면에 의하여 본 발명의 기술 사상의 범위가 한정되는 것은 아니다. 본 발명의 보호 범위는 청구범위에 의하여 해석되어야 하며, 그와 동등한 범위 내에 있는 모든 기술 사상은 본 발명의 권리 범위에 포함되는 것으로 해석되어야 할 것이다.
Accordingly, the embodiments described in the present invention and the accompanying drawings are not intended to limit the technical idea of the present invention, but are for illustrative purposes, and the scope of the technical idea of the present invention is not limited by these embodiments and the attached drawings. . The scope of protection of the present invention should be interpreted in accordance with the claims, and all technical ideas within the equivalent scope should be interpreted as being included in the scope of rights of the present invention.
100 : 디스크 캐시 운용 장치
111 : 운용 모니터링부
112 : 운용 로그 저장부
113 : 운용 분석부
114 : 옵션 설정부
115 : 메타 데이터 저장부
200 : 스토리지 시스템
210 : 디스크 캐시
220 : 디스크
300 : 어플리케이션 장치100: Disk cache operating device
111: Operation monitoring department
112: Operation log storage unit
113: Operation analysis department
114: Option setting section
115: metadata storage unit
200: storage system
210: disk cache
220: disk
300: application device
Claims (10)
디스크 캐시에 저장된 데이터의 일관성이 유지되는지에 대한 상태 정보 및 데이터 읽기 오류 설정 정보가 저장되는 메타 데이터 저장부;
상기 메타 데이터 저장부로부터 전송된 정보를 이용하여 디스크 캐시에 대한 운용 로그를 모니터링하는 운용 모니터링부;
상기 운용 모니터링부에서 모니터링 운용 로그 데이터를 저장하는 운용 로그 저장부;
상기 운용 모니터링부에서 모니터링되어 상기 운용 로그 저장부에 저장되어 있는 운용 로그를 분석하여, 디스크 캐시에 저장된 데이터의 하기 지표를 분석하는 운용 분석부; 및
상기 운용 분석부의 분석 결과에 따라 디스크 캐시가 동작하는 데 필요한 옵션을 동적으로 설정하는 옵션 설정부를 포함하되,
상기 운용 분석부가 분석하는 지표는 읽기 적중률, 쓰기 적중률, 캐시에 저장된 시간, 및 여유 공간 사이즈를 포함하고,
상기 옵션 설정부가 설정하는 옵션은 데이터 미리 읽기 및 윈도우 사이즈를 포함하는 디스크 캐시 운용 장치.A device that operates the disk cache in a storage system including a disk cache and a disk,
a metadata storage unit that stores status information about whether the consistency of data stored in the disk cache is maintained and data read error setting information;
an operation monitoring unit that monitors an operation log for the disk cache using information transmitted from the metadata storage unit;
an operation log storage unit that stores monitoring operation log data from the operation monitoring unit;
An operation analysis unit that analyzes the operation log monitored by the operation monitoring unit and stored in the operation log storage unit, and analyzes the following indicators of data stored in the disk cache; and
An option setting unit that dynamically sets the options necessary for the disk cache to operate according to the analysis results of the operation analysis unit,
The indicators analyzed by the operation analysis unit include read hit rate, write hit rate, time stored in cache, and free space size,
The options set by the option setting unit include data pre-reading and window size.
디스크에서 디스크 캐시로 읽혀지는 데이터에 대한 정보를 저장하고 디스크 캐시에 저장된 내용이 디스크에 쓰여지는 오퍼레이션 동작 정보를 저장하기 위하여, 디스크 캐시를 통해 수행되는 읽기/쓰기 동작을 모니터링 하도록 구성되는 디스크 캐시 운용 장치.The method of claim 1, wherein the operation monitoring unit
Disk cache operation configured to monitor read/write operations performed through the disk cache in order to store information about data read from the disk into the disk cache and operation operation information by which the contents stored in the disk cache are written to the disk. Device.
상기 운용 분석부에 의해 분석된 상기 지표에 기반하여, 디스크 캐시의 읽기 적중률이 향상될 수 있도록 디스크 캐시 설정 값을 설정하고, 설정된 값을 디스크 캐시에 적용하도록 구성되는 디스크 캐시 운용 장치.The method of claim 1, wherein the option setting unit
A disk cache operating device configured to set a disk cache setting value so that the read hit rate of the disk cache can be improved based on the indicator analyzed by the operation analysis unit and apply the set value to the disk cache.
디스크 캐시에 저장된 데이터의 일관성이 유지되는지에 대한 상태 정보 및 데이터 읽기 오류 설정 정보가 저장된 메타 데이터 저장부로부터 전송된 정보를 이용하여 디스크 캐시에 대한 운용 로그를 모니터링하는 것;
상기 모니터링된 운용 로그를 저장하는 것;
상기 모니터링 및 저장된 운용 로그를 분석하여, 디스크 캐시에 저장된 데이터의 지표 - 여기서, 지표에는 읽기 적중률, 쓰기 적중률, 캐시에 저장된 시간, 및 여유 공간 사이즈가 포함됨 - 를 분석하는 것; 및
상기 지표 분석 결과에 따라 디스크 캐시가 동작하는 데 필요한 옵션 - 여기서, 옵션에는 데이터 미리 읽기 및 윈도우 사이즈가 포함됨 - 을 동적으로 설정하는 것을 포함하는 디스크 캐시 운용 방법.A method of operating the disk cache in a storage system including a disk cache and a disk,
Monitoring the operation log for the disk cache using information transmitted from a metadata storage unit that stores status information and data read error setting information about whether the consistency of data stored in the disk cache is maintained;
storing the monitored operation log;
Analyzing the monitored and stored operation logs to analyze indicators of data stored in the disk cache, where the indicators include read hit rate, write hit rate, time stored in cache, and free space size; and
A disk cache operating method comprising dynamically setting options required for disk cache operation - where the options include data pre-reading and window size - according to the indicator analysis results.
디스크에서 디스크 캐시로 읽혀지는 데이터에 대한 정보를 저장하고 디스크 캐시에 저장된 내용이 디스크에 쓰여지는 오퍼레이션 동작 정보를 저장하기 위하여, 디스크 캐시를 통해 수행되는 읽기/쓰기 동작을 모니터링 하는 것을 포함하는 디스크 캐시 운용 방법.The method of claim 6, wherein monitoring the operation log
A disk cache that includes monitoring read/write operations performed through the disk cache to store information about data read from the disk into the disk cache and to store operation operation information by which the content stored in the disk cache is written to the disk. How to operate.
상기 데이터의 지표를 분석하는 것에 의해 분석된 상기 지표에 기반하여, 디스크 캐시의 읽기 적중률이 향상될 수 있도록 디스크 캐시 설정 값을 설정하고, 설정된 값을 디스크 캐시에 적용하는 것을 포함하는 디스크 캐시 운용 방법.The method of claim 6, wherein dynamically setting the option is
A disk cache operating method comprising setting a disk cache setting value to improve the read hit rate of the disk cache based on the indicator analyzed by analyzing the indicator of the data, and applying the set value to the disk cache. .
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020160048019A KR102580545B1 (en) | 2016-04-20 | 2016-04-20 | Apparatus and method for managing a disk cache |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020160048019A KR102580545B1 (en) | 2016-04-20 | 2016-04-20 | Apparatus and method for managing a disk cache |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20170119850A KR20170119850A (en) | 2017-10-30 |
KR102580545B1 true KR102580545B1 (en) | 2023-09-21 |
Family
ID=60300642
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020160048019A KR102580545B1 (en) | 2016-04-20 | 2016-04-20 | Apparatus and method for managing a disk cache |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR102580545B1 (en) |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120096225A1 (en) * | 2010-10-13 | 2012-04-19 | Microsoft Corporation | Dynamic cache configuration using separate read and write caches |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS5233450A (en) * | 1975-09-10 | 1977-03-14 | Hitachi Ltd | Microwave integrated circuit unit |
KR102195896B1 (en) * | 2014-01-10 | 2020-12-28 | 삼성전자주식회사 | Device and method of managing disk cache |
-
2016
- 2016-04-20 KR KR1020160048019A patent/KR102580545B1/en active IP Right Grant
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120096225A1 (en) * | 2010-10-13 | 2012-04-19 | Microsoft Corporation | Dynamic cache configuration using separate read and write caches |
Also Published As
Publication number | Publication date |
---|---|
KR20170119850A (en) | 2017-10-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10776276B2 (en) | Bypass storage class memory read cache based on a queue depth threshold | |
US10635323B2 (en) | Managing storage system | |
US9355112B1 (en) | Optimizing compression based on data activity | |
US20200334163A1 (en) | Storage class memory queue depth threshold adjustment | |
US9858197B2 (en) | Cache management apparatus of hybrid cache-based memory system and the hybrid cache-based memory system | |
US7930481B1 (en) | Controlling cached write operations to storage arrays | |
US20130145095A1 (en) | Melthod and system for integrating the functions of a cache system with a storage tiering system | |
JP6106028B2 (en) | Server and cache control method | |
KR20170002866A (en) | Adaptive Cache Management Method according to the Access Chracteristics of the User Application in a Distributed Environment | |
CN111258967A (en) | Data reading method and device in file system and computer readable storage medium | |
US20180349287A1 (en) | Persistent Storage Device Information Cache | |
US20150095553A1 (en) | Selective software-based data compression in a storage system based on data heat | |
CN112214420A (en) | Data caching method, storage control device and storage equipment | |
CN103514112A (en) | Data storage method and system | |
US8380962B2 (en) | Systems and methods for efficient sequential logging on caching-enabled storage devices | |
US20120047330A1 (en) | I/o efficiency of persistent caches in a storage system | |
US11500799B2 (en) | Managing access to a CPU on behalf of a block application and a non-block application | |
KR102580545B1 (en) | Apparatus and method for managing a disk cache | |
Oe et al. | Automated tiered storage system consisting of memory and flash storage to improve response time with input-output (IO) concentration workloads | |
KR102264544B1 (en) | Method for filtering cached input/output data based on data generation/consumption | |
CN105574008A (en) | Task scheduling method and equipment applied to distributed file system | |
US9501414B2 (en) | Storage control device and storage control method for cache processing according to time zones | |
US20180067860A1 (en) | Read ahead management in a multi-stream workload | |
US20230315627A1 (en) | Cache line compression prediction and adaptive compression | |
CN114374687B (en) | File transmission method and device between thermomagnetic storage and blue light storage |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right |