KR20150050764A - Locality-aware SSD Cache Module based on Server Environment - Google Patents

Locality-aware SSD Cache Module based on Server Environment Download PDF

Info

Publication number
KR20150050764A
KR20150050764A KR1020130131411A KR20130131411A KR20150050764A KR 20150050764 A KR20150050764 A KR 20150050764A KR 1020130131411 A KR1020130131411 A KR 1020130131411A KR 20130131411 A KR20130131411 A KR 20130131411A KR 20150050764 A KR20150050764 A KR 20150050764A
Authority
KR
South Korea
Prior art keywords
storage
cache
ssd
cache module
ssd cache
Prior art date
Application number
KR1020130131411A
Other languages
Korean (ko)
Other versions
KR101573375B1 (en
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 KR1020130131411A priority Critical patent/KR101573375B1/en
Publication of KR20150050764A publication Critical patent/KR20150050764A/en
Application granted granted Critical
Publication of KR101573375B1 publication Critical patent/KR101573375B1/en

Links

Images

Classifications

    • 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/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0604Improving or facilitating administration, e.g. storage management
    • 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/0671In-line storage system
    • G06F3/0683Plurality of storage devices

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

A locality-based SSD cache module based on the server environment is provided. An SSD cache module according to an embodiment of the present invention, comparts SSD to the size of a block used in the cache of an OS within a server system, and uses and manages the same as an SSD cache. Therefore, the present invention can maximize the function of the SSD cache.

Description

스토리지 서버 환경에서 지역성 기반 SSD 캐시 모듈{Locality-aware SSD Cache Module based on Server Environment}[0001] The present invention relates to a locality-based SSD cache module in a storage server environment,

본 발명은 캐시 모듈에 관한 것으로, 더욱 상세하게는 서버 환경에서 지역성 기반으로 SSD(Solid State Disk or Drive)를 캐시로 관리하는 SSD 캐시 모듈 및 이를 적용한 서버 시스템에 관한 것이다.
The present invention relates to a cache module, and more particularly, to an SSD cache module that manages a solid state disk or drive (SSD) as a cache based on locality in a server environment and a server system using the same.

한편, 현재 서버 환경에서 Extended File System이 많이 사용되고 있으며, Extended File System은 지역성을 기반으로 하여 Block Group이라는 논리적인 묶음으로 설계되어 있기 때문에 HDD 환경에서 성능상 이점을 제공하고 있다.Meanwhile, the Extended File System is widely used in the present server environment, and since the Extended File System is designed as a logical bundle called Block Group based on the locality, it provides a performance advantage in HDD environment.

도 1은 HDD 환경에서 6개의 파일 시스템을 성능 평가한 결과이며 Extended File System이 HDD 환경에서 성능상의 이점을 제공하는 것을 확인할 수 있다. 도 1을 분석해보면 BTRFS가 Intial Write와 Rewrite에 대하여 다른 File System과 비교하여 월등한 성능을 나타내는 것을 보이나, 전체적인 성능을 평가하였을 경우 매우 낮은 성능을 보이는 것을 알 수 있다.FIG. 1 is a result of performance evaluation of six file systems in the HDD environment, and it can be confirmed that the Extended File System provides the performance advantages in the HDD environment. Analysis of FIG. 1 shows that the BTRFS shows superior performance compared to other file systems for Intial Write and Rewrite, but the performance is very low when the overall performance is evaluated.

한편, SSD는 HDD에 비교하여 성능상 큰 이점을 보이지만, 가격과 수명으로 인하여 서버 환경에서 Primary Storage Device로 사용상 어려움이 존재한다. 현재까지 설계된 파일 시스템의 경우, 성능상의 이유로 특정 영역이 다른 영역에 비하여 많은 write 횟수를 보이고 있으며, 이런 지역성의 특성은 SSD의 수명에 큰 영향을 주는 문제가 있다.
On the other hand, SSD shows a big advantage in performance compared to HDD, but due to price and lifetime, it is difficult to use as a primary storage device in server environment. In the case of the file system designed up to now, there is a problem that the specific area has a larger number of write times than the other area due to the performance reasons, and the characteristic of the local characteristic has a great influence on the lifetime of the SSD.

본 발명은 상기와 같은 문제점을 해결하기 위하여 안출된 것으로서, 본 발명의 목적은, HDD 특성을 반영하고 있는 대다수의 파일 시스템을 사용하는 스토리지 서버 환경에서 지역성을 기반으로 하는 특성을 고려하여, SSD를 캐시로 이용함에 있어 그 성능을 극대화할 수 있는 방법 및 시스템을 제공함에 있다.
SUMMARY OF THE INVENTION The present invention has been made to solve the above problems, and it is an object of the present invention to provide a storage server environment using a large number of file systems reflecting HDD characteristics, And to provide a method and system for maximizing its performance in cache usage.

상기 목적을 달성하기 위한 본 발명의 일 실시예에 따른, 서버 시스템은, 제1 스토리지; 제2 스토리지; 및 상기 제1 스토리지에 데이터를 저장하고, 상기 제2 스토리지에 데이터를 저장하는 프로세서;를 포함하고, 상기 프로세서에는, 상기 제2 스토리지를, OS(Operating System)의 캐시에서 사용하는 블록 크기로 구획하여 스토리지 캐시로 사용 및 관리하는 스토리지 캐시 모듈이 실행된다.According to an aspect of the present invention, there is provided a server system including: a first storage; A second storage; And a processor for storing data in the first storage and storing data in the second storage, wherein the processor divides the second storage into block sizes used in a cache of an operating system (OS) The storage cache module that is used and managed by the storage cache is executed.

그리고, 상기 스토리지 캐시 모듈은, 상기 OS의 캐시와 상기 제1 스토리지 사이에서 미들웨어로 기능할 수 있다.The storage cache module may function as a middleware between the cache of the OS and the first storage.

또한, 상기 스토리지 캐시를 구성하는 블록 크기의 하한은 4KB일 수 있다.In addition, the lower limit of the block size constituting the storage cache may be 4 KB.

그리고, 상기 프로세서는, Extended File System으로 상기 제1 스토리지의 데이터 저장을 관리할 수 있다.The processor may manage data storage of the first storage with an Extended File System.

또한, 상기 스토리지 캐시 모듈은, 상기 스토리지 캐시의 블록들을 이중 연결 리스트(Double Linked List)로 관리할 수 있다.The storage cache module may manage the blocks of the storage cache as a double linked list.

그리고, 상기 스토리지 캐시 모듈은, 빈 블록의 개수가 정해진 개수 미만이면, 사용 빈도를 기준으로 일부의 블록들을 상기 제1 스토리지에 옮길 수 있다.If the number of empty blocks is less than the predetermined number, the storage cache module may move some blocks to the first storage based on the frequency of use.

또한, 상기 스토리지 캐시 모듈은, 파워-오프 명령시, 상기 스토리지 캐시에 저장된 블록들을 상기 제1 스토리지에 플러싱(flushing)할 수 있다.The storage cache module may also flush the blocks stored in the storage cache to the first storage upon a power-off command.

그리고, 상기 제1 스토리지는, HDD(Hard Disk Drive)이고, 상기 제2 스토리지는, SSD(Solid State Disk)일 수 있다.The first storage may be a hard disk drive (HDD), and the second storage may be a solid state disk (SSD).

한편, 본 발명의 다른 실시예에 따른, 스토리지 캐시 관리 방법은, 제1 스토리지에 데이터를 저장하는 단계; 및 제2 스토리지를, OS(Operating System)의 캐시에서 사용하는 블록 크기로 구획하여 스토리지 캐시로 사용 및 관리하는 단계;를 포함한다.
According to another aspect of the present invention, there is provided a storage cache management method comprising: storing data in a first storage; And partitioning the second storage into a block size used in a cache of an operating system (OS) and using and managing the second storage as a storage cache.

이상 설명한 바와 같이, 본 발명의 실시예들에 따르면, SSD의 블록 크기를 OS의 캐쉬와 동일하게 하여 SSD 캐시의 성능을 극대화할 수 있고, 이중 연결 리스트에 의한 블록 관리로 블록 써치 시의 오버헤드를 최소화시킬 수 있다.As described above, according to the embodiments of the present invention, it is possible to maximize the performance of the SSD cache by making the block size of the SSD equal to the cache of the OS, and the overhead of block search Can be minimized.

아울러, 빈 블록의 개수가 부족해지면, LRU 블록 교체 정책에 의거 최근 사용 빈도가 낮은 블록들의 데이터를 HDD로 옮겨, 합리적인 저장공간 관리가 가능하고, 파워-오프 명령시 SSD 캐시에 저장된 모든 블록들을 HDD에 플러싱하여 안정적인 데이터 관리가 가능하다.
In addition, when the number of empty blocks becomes insufficient, it is possible to transfer data of blocks having the latest frequency of use to the HDD in accordance with the LRU block replacement policy, and to manage the storage space reasonably. All the blocks stored in the SSD cache in the power- So that stable data management is possible.

도 1은 HDD 환경 파일 시스템 성능 평가 비교를 나타낸 그래프,
도 2는 Linux 기반의 SSD 캐쉬 아키텍쳐의 설명에 제공되는 도면,
도 3은 SSD 캐시 모듈의 아키텍쳐를 도시한 도면,
도 4는 Read/Write Request I/O 처리 과정을 도시한 흐름도,
도 5는 Read/Write Request I/O에 연동한 블록 관리 수행 과정의 일 예를 도시한 도면, 그리고,
도 6은 본 발명의 일 실시예에 따른 서버 시스템의 블록도이다.
1 is a graph showing comparison of HDD environment file system performance evaluation,
2 is a diagram provided in the description of a Linux-based SSD cache architecture,
3 is a diagram illustrating the architecture of an SSD cache module,
4 is a flowchart showing a process of a Read / Write Request I / O,
FIG. 5 is a diagram illustrating an example of a block management performing process in conjunction with a Read / Write Request I / O,
6 is a block diagram of a server system according to an embodiment of the present invention.

이하에서는 도면을 참조하여 본 발명을 보다 상세하게 설명한다.Hereinafter, the present invention will be described in detail with reference to the drawings.

도 2는 Linux 기반의 SSD(Solid State Drive or Disk) 캐쉬 아키텍쳐의 설명에 제공되는 도면이다. 도 2의 상부에는 SSD를 캐쉬 관리를 위한 SSD 캐시 모듈(SSD Cache Module)을 제외한 아키텍쳐를 도시하였고, 도 2의 하부는 SSD 캐시 모듈을 포함시킨 아키텍쳐를 도시하였다.FIG. 2 is a diagram provided for explaining a Linux-based Solid State Drive or Disk (SSD) cache architecture. In the upper portion of FIG. 2, an SSD cache module (SSD cache module) for cache management is shown. The lower portion of FIG. 2 shows an SSD cache module.

도시된 바와 같이, SSD 캐시 모듈은 OS(Operating System)의 페이지 캐시(Page Cache)와 HDD(Hard Disk Drive) 사이에서 미들웨어로 기능한다. HDD는 File System에 의해 데이터/파일 저장이 관리되는데, File System은 Extended File System이다.As shown, the SSD cache module functions as a middleware between a page cache of an operating system (OS) and a hard disk drive (HDD). HDD manages data / file storage by File System, and File System is Extended File System.

즉, SSD 캐시 모듈은 지역성을 특성으로 하는 Extended File System을 사용하는 HDD를 기반으로 하는 서버 환경에서 동작한다.That is, the SSD cache module operates in a server environment based on an HDD using an Extended File System having a locality characteristic.

SSD 캐시 모듈은 SSD를 OS의 페이지 캐시에서 사용하는 블록 크기로 구획하여 SSD 캐시로 사용한다. 이때, SSD 캐시를 구성하는 블록 크기의 하한은 4KB로 관리한다.The SSD cache module divides the SSD into block sizes used by the OS's page cache and uses it as an SSD cache. At this time, the lower limit of the block size constituting the SSD cache is 4 KB.

Linux 기반 서버 환경에서 Extended File System이 요청되는 make_request 요청을 분석한 결과 99% 이상이 4KB 이상의 write 또는 read request로 판명되었기 때문이다. 한편, 1% 미만의 0~2KB 크기 request size를 갖는 request는 Extended File System의 metadata access request로 분석되었다.In a Linux-based server environment, an analysis of the make_request request for the Extended File System resulted in more than 99% of the requests being written or read more than 4KB. On the other hand, a request with a request size of 0 ~ 2KB less than 1% was analyzed as metadata access request of Extended File System.

이에 따라, SSD 캐시 모듈은 4KB 미만의 데이터 request가 발생하면 4KB 블록을 할당하여 해당 영역에 저장하고, 4KB 보다 클 경우 request의 정보를 분할하여 write한다.Accordingly, if a data request of less than 4 KB is generated, the SSD cache module allocates a 4 KB block and stores it in the corresponding area. If the SSD cache module is larger than 4 KB, the SSD cache module divides and writes the request information.

한편, 서버 시스템에 대한 파워-오프 명령이 있는 경우, SSD 캐시 모듈은 SSD 캐시에 저장된 모든 블록들을 HDD에 플러싱(flushing) 한다. 안정적인 데이터 저장을 위함이다.On the other hand, if there is a power-off command to the server system, the SSD cache module flushes all the blocks stored in the SSD cache to the HDD. It is for stable data storage.

도 3은 SSD 캐시 모듈의 아키텍쳐를 도시한 도면이다. 도 3에 도시된 바와 같이, SSD 캐시 모듈은 SSD 캐시 비트맵, DIT(Device Interface Translator) 및 SSD 캐시 블록 관리 모듈을 포함한다.3 is a diagram illustrating an architecture of an SSD cache module. As shown in FIG. 3, the SSD cache module includes an SSD cache bitmap, a Device Interface Translator (DIT), and an SSD cache block management module.

SSD 캐시 비트맵은 SSD 캐시 블록들의 사용 상황이 비트들로 나타나 있고, DIT는 SSD와 HDD 간의 경로(주소) 변환을 담당하며, SSD 캐시 블록 관리 모듈은 SSD 캐시를 구성하는 블록들을 사용 블록, 빈 블록 및 싱크 블록으로 구분하여 관리한다.In the SSD cache bitmap, the usage status of the SSD cache blocks is represented by bits, the DIT is responsible for the path (address) conversion between the SSD and the HDD, and the SSD cache block management module uses the blocks constituting the SSD cache, Block and sync block.

SSD 캐시 블록 관리 모듈에서 SSD 캐시의 블록들은 이중 연결 리스트(Double Linked List)로 관리된다. 이는, 블록 써치 시에 오버헤드를 최소화시켜 그 속도를 향상시키기 위함이다.In the SSD cache block management module, the blocks of the SSD cache are managed as a double linked list. This is to minimize the overhead in block search and to improve the speed.

또한, SSD 캐시 블록 관리 모듈은 빈 블록의 개수가 부족해지면(정해진 개수 미만이 되면), LRU(Least Recently Used) 블록 교체 정책에 의거, 최근 사용 빈도가 낮은 블록들의 데이터를 HDD로 옮긴다.In addition, when the number of free blocks becomes insufficient (less than a predetermined number), the SSD cache block management module moves the data of the recently used blocks to the HDD according to the LRU (Least Recently Used) block replacement policy.

도 4는 Read/Write Request I/O 처리 과정을 도시한 흐름도이다. 도 4에 도시된 바와 같이, Read Request의 경우, 비트맵을 통해 SSD 캐시에 저장되지 않은 데이터에 대한 Read Request로 판단되면, HDD에 액세스하여 데이터를 획득한다.4 is a flowchart illustrating a process of a Read / Write Request I / O process. As shown in FIG. 4, in the case of Read Request, if it is determined as a Read Request for data not stored in the SSD cache through the bit map, the HDD is accessed to acquire data.

반면, 비트맵을 통해 SSD 캐시에 저장된 데이터에 대한 Read Request로 판단되면, SSD에 액세스하여 데이터를 획득한다.On the other hand, if it is determined as a Read Request for data stored in the SSD cache through the bitmap, the SSD is accessed to acquire the data.

한편, Write Request의 경우, 비트맵을 통해 해당 블록이 존재하지 않음이 확인된 경우, SSD 캐시 블록 관리 모듈에서 빈 블록을 써치하여 데이터를 기록한다. SSD 캐시 블록 관리 모듈에서 SSD 캐시의 빈 블록들은 이중 연결 리스트로 관리되므로, 빈 블록 써치에 많은 오버헤드가 발생하지 않는다.On the other hand, in the case of Write Request, if it is confirmed that the corresponding block does not exist through the bitmap, the SSD cache block management module searches for an empty block and records the data. In the SSD cache block management module, the empty blocks of the SSD cache are managed as a double linked list, so that there is not much overhead in empty block search.

반면, 비트맵을 통해 해당 블록이 존재함이 확인된 경우, SSD 캐시 블록 관리 모듈에서 해당 블록을 써치하여 해당 블록에 데이터를 기록한다. SSD 캐시 블록 관리 모듈에서 SSD 캐시의 사용 블록들은 이중 연결 리스트로 관리되므로, 사용 블록 써치에 많은 오버헤드가 발생하지 않는다.On the other hand, if it is confirmed through the bitmap that the corresponding block exists, the SSD cache block management module searches the corresponding block and records the data in the corresponding block. In the SSD cache block management module, the use blocks of the SSD cache are managed as a double linked list, so that there is not much overhead in the used block search.

도 5는 Read/Write Request I/O에 연동하여 SSD 캐시 블록 관리 모듈이 블록 관리를 수행하는 과정의 일 예를 도시한 도면이다.5 is a diagram illustrating an example of a process of performing block management by the SSD cache block management module in conjunction with Read / Write Request I / O.

도 2에 도시된 Linux 기반의 SSD 캐쉬 아키텍쳐가 적용가능한 서버 시스템에 대해, 이하에서 도 6을 참조하여 상세히 설명한다. 도 6은 본 발명의 일 실시예에 따른 서버 시스템의 블록도이다.A server system to which the Linux-based SSD cache architecture shown in FIG. 2 is applicable will be described in detail with reference to FIG. 6 is a block diagram of a server system according to an embodiment of the present invention.

본 실시예에 따른 서버 시스템(100)은, 도 6에 도시된 바와 같이, 통신 인터페이스(110), 사용자 입력부(120), 프로세서(130), SSD(140) 및 HDD(150)를 포함한다.The server system 100 according to the present embodiment includes a communication interface 110, a user input unit 120, a processor 130, an SSD 140, and a HDD 150, as shown in FIG.

통신 인터페이스(110)는 인터넷을 통해 클라이언트 시스템과 통신 연결하는 수단이고, 사용자 입력부(120)는 사용자 입력을 위한 수단으로, 도 2의 User Inerface에 연동된다.The communication interface 110 is a means for communicating with the client system via the Internet, and the user input unit 120 is a means for user input, and is interlocked with the user interface of FIG.

SSD(140)와 HDD(150)는 모두 데이터 저장을 위한 수단으로, SSD(140)는 SSD 캐시로 활용된다. SSD(140)와 HDD(150)는, 각각 도 2의 Solid State Disk와 Hard Disk Drive에 해당한다.The SSD 140 and the HDD 150 are both means for storing data, and the SSD 140 is used as an SSD cache. The SSD 140 and the HDD 150 correspond to the solid state disk and the hard disk drive of FIG. 2, respectively.

프로세서(130)는 서버 시스템(100)에서 SSD(140)와 HDD(150)에 데이터를 저장하고 읽어들이는 수단으로, 도 2에 도시된 User Inerface, File System, SSD Cache Module, Block Device Module은 프로세서(130)에서 실행된다.The processor 130 is a means for storing and reading data in the SSD 140 and the HDD 150 in the server system 100. The user interface, the file system, the SSD cache module, and the block device module shown in FIG. And is executed in the processor 130.

도 2에 도시된 Page Cache는 프로세서(130) 내에 구비시킬 수도 있고, 외부에 별도의 하드웨어로 구현할 수도 있다.The page cache shown in FIG. 2 may be provided in the processor 130 or may be implemented as an external hardware.

한편, SSD(140)와 HDD(150)는 스토리지의 일종으로 예시한 것으로, 다른 종류의 스토리지로 대체될 수 있음은 물론이다.It should be noted that the SSD 140 and the HDD 150 are illustrated as a kind of storage and may be replaced with other types of storage.

또한, 이상에서는 본 발명의 바람직한 실시예에 대하여 도시하고 설명하였지만, 본 발명은 상술한 특정의 실시예에 한정되지 아니하며, 청구범위에서 청구하는 본 발명의 요지를 벗어남이 없이 당해 발명이 속하는 기술분야에서 통상의 지식을 가진자에 의해 다양한 변형실시가 가능한 것은 물론이고, 이러한 변형실시들은 본 발명의 기술적 사상이나 전망으로부터 개별적으로 이해되어져서는 안될 것이다.
While the present invention has been particularly shown and described with reference to exemplary embodiments thereof, it is to be understood that the invention is not limited to the disclosed exemplary embodiments, but, on the contrary, It will be understood by those skilled in the art that various changes in form and details may be made therein without departing from the spirit and scope of the present invention.

100 : 서버 시스템 110 : 통신 인터페이스
120 : 사용자 입력부 130 : 프로세서
140 : SSD(Solid State Disk) 150 : HDD(Hard Disk Drive)
100: server system 110: communication interface
120: user input unit 130: processor
140: Solid State Disk (SSD) 150: Hard Disk Drive (HDD)

Claims (9)

제1 스토리지;
제2 스토리지; 및
상기 제1 스토리지에 데이터를 저장하고, 상기 제2 스토리지에 데이터를 저장하는 프로세서;를 포함하고,
상기 프로세서에는,
상기 제2 스토리지를, OS(Operating System)의 캐시에서 사용하는 블록 크기로 구획하여 스토리지 캐시로 사용 및 관리하는 스토리지 캐시 모듈이 실행되는 것을 특징으로 하는 서버 시스템.
A first storage;
A second storage; And
And a processor for storing data in the first storage and storing data in the second storage,
In the processor,
Wherein a storage cache module for partitioning the second storage into block sizes used in a cache of an operating system (OS) and using and managing the storage cache as a storage cache is executed.
제 1항에 있어서,
상기 스토리지 캐시 모듈은,
상기 OS의 캐시와 상기 제1 스토리지 사이에서 미들웨어로 기능하는 것을 특징으로 하는 서버 시스템.
The method according to claim 1,
The storage cache module comprises:
And a middleware between the cache of the OS and the first storage.
제 1항에 있어서,
상기 스토리지 캐시를 구성하는 블록 크기의 하한은 4KB인 것을 특징으로 하는 서버 시스템.
The method according to claim 1,
Wherein the lower limit of the block size constituting the storage cache is 4 KB.
제 1항에 있어서,
상기 프로세서는,
Extended File System으로 상기 제1 스토리지의 데이터 저장을 관리하는 것을 특징으로 하는 서버 시스템.
The method according to claim 1,
The processor comprising:
And the data storage of the first storage is managed by the Extended File System.
제 1항에 있어서,
상기 스토리지 캐시 모듈은,
상기 스토리지 캐시의 블록들을 이중 연결 리스트(Double Linked List)로 관리하는 것을 특징으로 하는 서버 시스템.
The method according to claim 1,
The storage cache module comprises:
And the blocks of the storage cache are managed as a double linked list.
제 1항에 있어서,
상기 스토리지 캐시 모듈은,
빈 블록의 개수가 정해진 개수 미만이면, 사용 빈도를 기준으로 일부의 블록들을 상기 제1 스토리지에 옮기는 것을 특징으로 하는 서버 시스템.
The method according to claim 1,
The storage cache module comprises:
If the number of free blocks is less than the predetermined number, transfers some blocks to the first storage based on the frequency of use.
제 1항에 있어서,
상기 스토리지 캐시 모듈은,
파워-오프 명령시, 상기 스토리지 캐시에 저장된 블록들을 상기 제1 스토리지에 플러싱(flushing) 하는 것을 특징으로 하는 서버 시스템.
The method according to claim 1,
The storage cache module comprises:
And flushes the blocks stored in the storage cache to the first storage when a power-off command is issued.
제 1항에 있어서,
상기 제1 스토리지는, HDD(Hard Disk Drive)이고,
상기 제2 스토리지는, SSD(Solid State Disk)인 것을 특징으로 하는 서버 시스템.
The method according to claim 1,
The first storage is an HDD (Hard Disk Drive)
Wherein the second storage is a solid state disk (SSD).
제1 스토리지에 데이터를 저장하는 단계; 및
제2 스토리지를, OS(Operating System)의 캐시에서 사용하는 블록 크기로 구획하여 스토리지 캐시로 사용 및 관리하는 단계;를 포함하는 것을 특징으로 하는 스토리지 캐시 관리 방법.
Storing data in a first storage; And
And partitioning the second storage into a block size used in a cache of an operating system (OS) and using and managing the second storage as a storage cache.
KR1020130131411A 2013-10-31 2013-10-31 Locality-aware SSD Cache Module based on Server Environment KR101573375B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020130131411A KR101573375B1 (en) 2013-10-31 2013-10-31 Locality-aware SSD Cache Module based on Server Environment

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020130131411A KR101573375B1 (en) 2013-10-31 2013-10-31 Locality-aware SSD Cache Module based on Server Environment

Publications (2)

Publication Number Publication Date
KR20150050764A true KR20150050764A (en) 2015-05-11
KR101573375B1 KR101573375B1 (en) 2015-12-03

Family

ID=53388427

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020130131411A KR101573375B1 (en) 2013-10-31 2013-10-31 Locality-aware SSD Cache Module based on Server Environment

Country Status (1)

Country Link
KR (1) KR101573375B1 (en)

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100755700B1 (en) 2005-12-27 2007-09-05 삼성전자주식회사 Storage apparatus using non volatile memory and method for managing the same
US8195878B2 (en) 2009-02-19 2012-06-05 Pmc-Sierra, Inc. Hard disk drive with attached solid state drive cache

Also Published As

Publication number Publication date
KR101573375B1 (en) 2015-12-03

Similar Documents

Publication Publication Date Title
US9996542B2 (en) Cache management in a computerized system
US8819367B1 (en) Accelerated translation power recovery
US20170024140A1 (en) Storage system and method for metadata management in non-volatile memory
US7711916B2 (en) Storing information on storage devices having different performance capabilities with a storage system
CN107391391B (en) Method, system and the solid state hard disk of data copy are realized in the FTL of solid state hard disk
US9489239B2 (en) Systems and methods to manage tiered cache data storage
KR102252419B1 (en) System and method for efficient address translation on Flash memory device
US20150067283A1 (en) Image Deduplication of Guest Virtual Machines
US10261703B2 (en) Sharing read-only data among virtual machines using coherent accelerator processor interface (CAPI) enabled flash
US20170147208A1 (en) Method for constructing nvram-based efficient file system
US20200133875A1 (en) Method, apparatus and computer program product for managing data access
CN110502455B (en) Data storage method and system
JP6713934B2 (en) Storage device and its operating method and system
US8874860B2 (en) Logical buffer pool extension
US20160350003A1 (en) Memory system
KR20220139784A (en) Object storage method and distributed object storage and system using the same
US20190294590A1 (en) Region-integrated data deduplication implementing a multi-lifetime duplicate finder
US20210263862A1 (en) Maintaining ghost cache statistics for demoted data elements
KR100995546B1 (en) Database system based on hybrid storage device nand flash memory and non-volatile ram, and method of updating data in the database system
US20110264848A1 (en) Data recording device
EP3136245B1 (en) Computer
KR101020781B1 (en) A method for log management in flash memory-based database systems
KR101573375B1 (en) Locality-aware SSD Cache Module based on Server Environment
US11550732B2 (en) Calculating and adjusting ghost cache size based on data access frequency
US10055304B2 (en) In-memory continuous data protection

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
AMND Amendment
E601 Decision to refuse application
AMND Amendment
X701 Decision to grant (after re-examination)
GRNT Written decision to grant