KR20110124395A - Method for managing the read and write cache in the system comprising hybrid memory and ssd - Google Patents

Method for managing the read and write cache in the system comprising hybrid memory and ssd Download PDF

Info

Publication number
KR20110124395A
KR20110124395A KR1020100043729A KR20100043729A KR20110124395A KR 20110124395 A KR20110124395 A KR 20110124395A KR 1020100043729 A KR1020100043729 A KR 1020100043729A KR 20100043729 A KR20100043729 A KR 20100043729A KR 20110124395 A KR20110124395 A KR 20110124395A
Authority
KR
South Korea
Prior art keywords
cache
memory
ssd
read
volatile memory
Prior art date
Application number
KR1020100043729A
Other languages
Korean (ko)
Other versions
KR101180288B1 (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 KR1020100043729A priority Critical patent/KR101180288B1/en
Publication of KR20110124395A publication Critical patent/KR20110124395A/en
Application granted granted Critical
Publication of KR101180288B1 publication Critical patent/KR101180288B1/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/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0683Plurality of storage devices
    • G06F3/0685Hybrid storage combining heterogeneous device types, e.g. hierarchical storage, hybrid arrays
    • 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/061Improving I/O performance
    • 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/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0659Command handling arrangements, e.g. command buffers, queues, command scheduling

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)

Abstract

PURPOSE: A hybrid memory and R/W(Read and Write) cache management method of a system in which is constituted by a hybrid memory and SSD is provided to improve the function of reading and writing by effectively managing a R/W cache considering of the property of the memory and the SSD. CONSTITUTION: A hybrid memory includes a non-volatile memory(130) and a volatile memory(120). A SSD(Solid State Disk)(110) is connected to the hybrid memory through a bus. The SSD is operated ad a storage unit. The hybrid memory is operated as the cache of the SSD. The volatile memory includes a first R/W cache. The non-volatile memory includes a second R/W cache. The first cache data of the volatile memory is selectively eliminated in order to move to the second R/W cache of the non-volatile memory.

Description

하이브리드 메모리와 SSD 로 구성된 시스템에서의 읽기 캐시 및 쓰기 캐시 관리 방법 {METHOD FOR MANAGING THE READ AND WRITE CACHE IN THE SYSTEM COMPRISING HYBRID MEMORY AND SSD}METHODS FOR MANAGING THE READ AND WRITE CACHE IN THE SYSTEM COMPRISING HYBRID MEMORY AND SSD}

본 발명은 하이브리드 메모리와 SSD로 구성 된 시스템에서의 읽기 캐시 및 쓰기 캐시의 관리 방법에 관한 것으로서, 특히 휘발성 메모리, 비휘발성 메모리 및 SSD의 특성을 활용하여 시스템 성능의 향상을 위해서 읽기 캐시와 쓰기 캐시를 동시에 효율적으로 관리 해주는 방법에 관한 것이다.The present invention relates to a method of managing a read cache and a write cache in a system consisting of a hybrid memory and an SSD, and in particular, a read cache and a write cache for improving system performance by utilizing characteristics of a volatile memory, a nonvolatile memory, and an SSD. It is about how to efficiently manage the same time.

현재 컴퓨터 시스템의 읽기 캐시 및 쓰기 캐시는 휘발성 메모리로 구성이 되어 자주 쓰이고 자주 읽히는 데이터를 디스크가 아닌 캐시에서 읽고 쓸 수 있도록 함으로써 디스크로의 읽기 및 쓰기 횟수를 줄여 읽기 및 쓰기 성능을 높이는데 사용이 되고 있다. 이는 휘발성 메모리의 읽기 및 쓰기 성능이 디스크에 비해 좋다는 장점을 활용한 것이다. 하지만 휘발성 메모리는 집적도가 낮기 때문에 용량 대비 가격이 높다는 단점이 있어 휘발성 메모리만을 사용하여 캐시를 구성하면 사용할 수 있는 휘발성 메모리의 크기가 제한이 되기 때문에 휘발성 메모리에 저장될 수 있는 데이터의 양이 한정이 되어 디스크로의 읽기 및 쓰기 횟수가 증가하게 된다.The read and write caches of today's computer systems are composed of volatile memory, allowing read and write performance to be reduced by reducing the number of reads and writes to disk by reading and writing frequently used and frequently read data from the cache instead of the disk. It is becoming. This takes advantage of the volatile memory's read and write performance over disk. However, since volatile memory has a low density and a high price / capacity, configuring a cache using only volatile memory limits the size of available volatile memory, so the amount of data that can be stored in volatile memory is limited. This increases the number of reads and writes to the disk.

상기 문제의 해결을 위하여 종래 특허 US5343437, US6263398 등은 휘발성 메모리를 1차적인 메모리로 사용하고, 비휘발성 메모리를 2차적인 메인 메모리로 사용하는 이종 메모리를 이용한 이단계 메인메모리 구조를 제안하였다. 비휘발성 메모리는 휘발성 메모리에 비해 쓰기 성능이 떨어지고 쓰기 횟수에 제한을 가진다는 단점은 가지고 있으나 읽기 성능은 휘발성 메모리와 비슷하고, 집적도가 높아 휘발성 메모리보다 같은 가격 대비 용량이 크다는 장점을 가지고 있다. 따라서 휘발성 메모리와 비휘발성 메모리로 구성된 메인 메모리 구조에서는 휘발성 메모리로만 구성된 메인 메모리 구조보다 더 큰 용량을 가질 수 있기 때문에 이로 인해 많은 데이터를 캐시 시킬 수 있기 때문에 디스크로의 쓰기 및 읽기 횟수를 줄일 수 있다는 장점이 있다.
In order to solve the above problem, the conventional patent US5343437, US6263398 and the like proposed a two-stage main memory structure using heterogeneous memory that uses volatile memory as a primary memory and nonvolatile memory as a secondary main memory. Nonvolatile memory has the disadvantages of poor write performance and limited number of writes compared to volatile memory, but read performance is similar to volatile memory, and its density is higher than volatile memory. Therefore, the main memory structure consisting of volatile and nonvolatile memory can have a larger capacity than the main memory structure consisting only of volatile memory, which can cache a lot of data, thereby reducing the number of writes and reads to the disk. There is an advantage.

따라서, 본 발명에서 이루고자 하는 기술적 과제는 하이브리드 메모리와 SSD로 구성된 시스템에서 읽기 캐시 및 쓰기 캐시를 관리하는 방법에 관한 것으로써, 메인 메모리를 휘발성 메모리만이 아닌 비휘발성 메모리와의 하이브리드 구조를 통해 용량을 증가시켰고 이 구조에서의 읽기 캐시 및 쓰기 캐시 관리 방법과 저장 장치를 기존의 하드디스크가 아닌 차세대 저장 장치인 SSD를 사용하여 SSD의 특성을 활용한 읽기 캐시 및 쓰기 캐시 관리 방법을 통해 전체적인 시스템의 성능을 향상시키는데 있다.Accordingly, a technical problem to be achieved in the present invention relates to a method of managing a read cache and a write cache in a system consisting of a hybrid memory and an SSD, the capacity of the main memory through a hybrid structure with non-volatile memory as well as volatile memory In this structure, the read cache and write cache management method and the storage device using SSD, the next generation storage device rather than the existing hard disk, utilize the characteristics of the SSD and read cache and write cache management method through the method of the whole system. To improve performance.

읽기 캐시 관리 방법에서는 휘발성 메모리에서 비휘발성 메모리로의 데이터 이동 시 불필요한 데이터를 선택적 제거시킴으로써 읽기 캐시의 성능을 높이고, 이로 인해 비휘발성 메모리로의 불필요한 데이터 쓰기 횟수를 줄임으로써 비휘발성 메모리의 공간을 효율적으로 사용할 수 있고 수명 역시 늘릴 수 있게 된다. The read cache management method improves the read cache performance by selectively removing unnecessary data when moving data from volatile memory to nonvolatile memory, thereby reducing the number of unnecessary data writes to the nonvolatile memory, thereby efficiently saving the space of the nonvolatile memory. It can be used as a product and its life can be extended.

쓰기 캐시 관리 방법에서는 SSD의 멀티 채널 구조를 고려하여 쓰기 캐시 내에서 슈퍼페이지(페이지*채널수)로 관리를 해줌으로써, SSD로의 쓰기 연산에 있어서 병렬처리(Parallelis) 를 높여 성능을 향상시키는 효과를 얻게 되고, 비휘발성 메모리에서 휘발성 메모리로의 슈퍼페이지 이동 시 전체를 이동하는 것이 아닌 자주 쓰이는 페이지만을 복사함으로써 불필요한 페이지 이동 시간을 줄여 쓰기 캐시의 성능을 향상시키는 효과를 얻게 되고, 비휘발성 메모리로의 추가 쓰기 횟수를 줄여 수명을 늘리는 효과를 가져오게 된다. In the write cache management method, considering the multi-channel structure of the SSD, it manages as superpages (pages * channels) in the write cache, thereby improving performance by increasing parallelism (Parallelis) in write operations to the SSD. When a superpage is moved from nonvolatile memory to volatile memory, copying only frequently used pages, instead of moving the entire page, reduces unnecessary page movement time and improves the performance of the write cache. This reduces the number of extra writes and increases the lifespan.

또한, 읽기 캐시와 쓰기 캐시의 워크로드 특성에 따른 크기 변화를 통해 캐시를 최대한으로 활용할 수 있게 된다.
In addition, the size of the read cache and write cache changes depending on the workload characteristics, so that the cache can be utilized to the maximum.

본 발명의 실시예에 따른 메모리 시스템은, 휘발성 메모리 및 비휘발성 메모리를 포함하는 하이브리드 메모리; 및 하이브리드 메모리와 버스를 통하여 연결된 SSD 를 포함하고, SSD 가 저장장치로써 동작하며, 하이브리드 메모리는 SSD 의 캐쉬로써 동작한다. A memory system according to an embodiment of the present invention, a hybrid memory including a volatile memory and a nonvolatile memory; And an SSD connected via a hybrid memory and a bus, wherein the SSD operates as a storage device and the hybrid memory operates as a cache of the SSD.

바람직하게는, 메모리 시스템은, 휘발성 메모리는 제 1 읽기 캐시, 및 제 1쓰기 캐시를 포함하고, 비휘발성 메모리는 제 2 읽기 캐시, 및 제 2쓰기 캐시를 포함한다. Preferably, the memory system includes volatile memory including a first read cache and a first write cache, and nonvolatile memory includes a second read cache and a second write cache.

바람직하게는, 메모리 시스템에서, 휘발성 메모리의 제 1 읽기 캐시의 데이터는 선택적 제거에 의하여 비휘발성 메모리의 제 2 읽기 캐시로 이동된다. Preferably, in the memory system, data in the first read cache of volatile memory is moved to the second read cache of nonvolatile memory by selective removal.

바람직하게는, 메모리 시스템에서, 선택적 제거에 의하여 이동되는 데이터는 SSD 로부터 제 1 읽기 캐시로 프리 패치 (pre-fetch) 된 데이터이다. Preferably, in the memory system, the data moved by selective removal is data pre-fetched from the SSD into the first read cache.

바람직하게는, 메모리 시스템에서, 자주 쓰이는 데이터는 선택적 제거에 의하여 상기 제 1 읽기 캐시 또는 상기 제 2 읽기 캐시로부터 상기 비휘발성 메모리의 상기 제 1 쓰기 캐시 및 상기 제 2 쓰기 캐시 중 하나로 이동된다. Advantageously, in a memory system, frequently used data is moved from said first read cache or said second read cache to one of said first write cache and said second write cache of said non-volatile memory by selective removal.

바람직하게는, 메모리 시스템에서, 선택적 제거에 의하여 이동되는 데이터는 순차적 데이터이다. Preferably, in the memory system, the data moved by selective removal is sequential data.

바람직하게는, 메모리 시스템에서, 비휘발성 메모리의 제 2 쓰기 캐시로부터 SSD 로의 쓰기 성능을 높이기 위하여, 제 2 쓰기 캐리에서의 데이터는 SSD 의 내부 구조를 고려하여 슈퍼페이지 단위로 관리된다. Preferably, in the memory system, in order to increase the write performance from the second write cache of the nonvolatile memory to the SSD, the data in the second write carry is managed in units of superpages in consideration of the internal structure of the SSD.

바람직하게는, 메모리 시스템에서, 제 2 쓰기 캐시의 슈퍼 페이지 중에서 사용 빈도가 높은 페이지만을 휘발성 메모리로 복사시킨다. Preferably, in the memory system, only the most frequently used pages of the super pages of the second write cache are copied to the volatile memory.

바람직하게는, 메모리 시스템에서, 슈퍼 페이지의 크기는 SSD 의 읽기 및 쓰기의 기본 연산 단위인 페이지 및 SSD 내부의 채널수의 곱으로 정의된다. Preferably, in the memory system, the size of the super page is defined as the product of the number of channels within the SSD and the page, which is a basic operation unit of reading and writing of the SSD.

바람직하게는, 메모리 시스템에서, 워크로드에 기초하여 읽기 연산이 많을 경우 제 1 읽기 캐시 및 제 2 읽기 캐시의 크기를 늘리고, 쓰기 연산이 많을 경우 제 1 쓰기 캐시 및 제 2 쓰기 캐시의 크기를 늘린다. Advantageously, in a memory system, increase the size of the first read cache and the second read cache if there are many read operations based on the workload, and increase the size of the first write cache and the second write cache if there are many write operations. .

본 발명의 실시예에 따른, 휘발성 메모리, 비휘발성 메모리 및 SSD를 포함하는 메모리 시스템을 관리하는 방법은, 외부로부터 디스크 읽기 명령을 수신하는 단계; 디스크 읽기 명령에 응답하여 SSD 에 저장된 데이터를 휘발성 메모리의 읽기 캐시에 쓰는 단계; 휘발성 메모리의 읽기 캐시에 여유 공간이 있는지 여부를 확인하는 단계; 및 읽기 캐시에 여유 공간이 없을 경우, 프리패칭된 데이터를 비휘발성 메모리의 읽기 캐시로 이동시키는 단계를 포함한다. According to an embodiment of the present invention, a method of managing a memory system including a volatile memory, a nonvolatile memory, and an SSD may include: receiving a disk read command from an external device; Writing data stored in the SSD to a read cache of the volatile memory in response to the disk read command; Checking whether there is free space in the read cache of the volatile memory; And if there is no free space in the read cache, moving the prefetched data to the read cache of the nonvolatile memory.

본 발명의 실시예에 따른, 휘발성 메모리, 비휘발성 메모리 및 SSD를 포함하는 메모리 시스템을 관리하는 방법은, 외부로부터 디스크 읽기 명령을 수신하는 단계; 디스크 읽기 명령에 응답하여 SSD 에 저장된 데이터를 휘발성 메모리의 읽기 캐시에 쓰는 단계; 휘발성 메모리의 읽기 캐시에 여유 공간이 있는지 여부를 확인하는 단계; 및 읽기 캐시에 여유 공간이 없을 경우, 사용 빈도가 높은 데이터를 비휘발성 메모리의 읽기 캐시로 이동시키는 단계를 포함한다. According to an embodiment of the present invention, a method of managing a memory system including a volatile memory, a nonvolatile memory, and an SSD may include: receiving a disk read command from an external device; Writing data stored in the SSD to a read cache of the volatile memory in response to the disk read command; Checking whether there is free space in the read cache of the volatile memory; And when there is no free space in the read cache, moving the frequently used data to the read cache of the nonvolatile memory.

본 발명의 실시예에 따른, 휘발성 메모리, 비휘발성 메모리 및 SSD를 포함하는 메모리 시스템을 관리하는 방법은, 외부로부터 디스크 읽기 명령을 수신하는 단계; 디스크 읽기 명령에 응답하여 SSD 에 저장된 데이터를 휘발성 메모리의 읽기 캐시에 쓰는 단계; 휘발성 메모리의 읽기 캐시에 여유 공간이 있는지 여부를 확인하는 단계; 및 읽기 캐시에 여유 공간이 없을 경우, 사용 빈도가 높은 데이터를 비휘발성 메모리의 읽기 캐시로 이동시키는 단계를 포함한다. According to an embodiment of the present invention, a method of managing a memory system including a volatile memory, a nonvolatile memory, and an SSD may include: receiving a disk read command from an external device; Writing data stored in the SSD to a read cache of the volatile memory in response to the disk read command; Checking whether there is free space in the read cache of the volatile memory; And when there is no free space in the read cache, moving the frequently used data to the read cache of the nonvolatile memory.

본 발명의 실시예에 따른, 휘발성 메모리, 비휘발성 메모리 및 SSD를 포함하는 메모리 시스템을 관리하는 방법은, 외부로부터 디스크 읽기 명령을 수신하는 단계; 디스크 읽기 명령에 응답하여 SSD 에 저장된 데이터를 휘발성 메모리의 읽기 캐시에 쓰는 단계; 휘발성 메모리의 읽기 캐시에 여유 공간이 있는지 여부를 확인하는 단계; 및 읽기 캐시에 여유 공간이 없을 경우, 순차적 데이터를 비휘발성 메모리의 읽기 캐시로 이동시키는 단계를 포함한다. According to an embodiment of the present invention, a method of managing a memory system including a volatile memory, a nonvolatile memory, and an SSD may include: receiving a disk read command from an external device; Writing data stored in the SSD to a read cache of the volatile memory in response to the disk read command; Checking whether there is free space in the read cache of the volatile memory; And when there is no free space in the read cache, moving the sequential data to the read cache of the nonvolatile memory.

본 발명의 실시예에 따른, 휘발성 메모리, 비휘발성 메모리 및 SSD를 포함하는 메모리 시스템을 관리하는 방법은, 외부로부터 디스크 쓰기 명령을 수신하는 단계; 비휘발성 메모리의 쓰기 캐시에 포함된 페이지들의 사용 빈도를 검출하는 단계; 및 사용 빈도에 기초하여 사용 빈도가 높은 페이지를 비휘발성 메모리의 쓰기 캐시로부터 휘발성 메모리의 쓰기 캐시로 복사하는 단계를 포함한다.
According to an embodiment of the present invention, a method of managing a memory system including a volatile memory, a nonvolatile memory, and an SSD may include: receiving a disk write command from an external device; Detecting a frequency of use of pages included in a write cache of the nonvolatile memory; And copying the frequently used pages from the write cache of the nonvolatile memory to the write cache of the volatile memory based on the usage frequency.

이상에서 살펴본 바와 같이, 본 발명은 하이브리드 메모리와 SSD로 이루어진 시스템에서 각 메모리 및 SSD의 특성을 고려한 읽기 캐시와 쓰기 캐시의 효율적인 관리를 제안함으로써 결과적으로 시스템의 읽기 및 쓰기 성능 향상에 있어서 기여를 하였다. As described above, the present invention proposes an efficient management of the read cache and the write cache in consideration of the characteristics of each memory and SSD in a system consisting of a hybrid memory and an SSD, consequently contributed to improving the read and write performance of the system. .

휘발성 메모리의 특성인 빠른 읽기 및 쓰기 능력을 활용하기 위해 읽기 캐시에서는 캐시 데이터 및 프리페치 데이터의 저장에 사용을 하고, 쓰기 캐시에서는 자주 쓰이는 데이터만을 저장함으로써 캐시의 성능을 최적화 시킨다.In order to take advantage of the fast read and write capability, which is characteristic of volatile memory, the read cache is used to store cache data and prefetch data, and the write cache optimizes cache performance by storing only frequently used data.

비휘발성 메모리는 휘발성 메모리에 비해 같은 가격에 더 큰 용량을 가진다는 특성이 있고 읽기 성능이 휘발성 메모리와 비슷하다는 특성이 있으나, 쓰기 성능이 떨어지고 쓰기 횟수 제한이 있다는 단점이 있다는 것을 극복하기 위해, 읽기 캐시에서는 선택적 제거 기법, 쓰기 캐시에서는 슈퍼 페이지 관리 및 자주 쓰이는 데이터 이동을 통해 이러한 단점들에 대해서 해결이 가능하게 된다. Nonvolatile memory has the characteristics that it has a larger capacity at the same price than volatile memory and that read performance is similar to volatile memory, but to overcome the disadvantages of poor write performance and limited number of writes, Selective elimination techniques in the cache, super page management in the write cache, and frequently used data movement can address these shortcomings.

SSD의 읽기 및 쓰기 단위는 페이지(2KB)이고, 내부적으로 병렬성 증가를 위해 여러 채널로 구성이 되어 있어서 쓰기 캐시에서 슈퍼 페이지로 관리를 해줌으로써 하이브리드 메모리에서 디스크로의 쓰기 연산 시 이 특성을 활용하여 성능을 높일 수 있다. SSD read and write units are pages (2KB), and internally composed of multiple channels to increase parallelism, it manages them as super pages in the write cache to take advantage of this property when writing from hybrid memory to disk. It can improve performance.

또한 읽기 캐시 및 쓰기 캐시가 한 메모리에서 관리된다는 특성을 활용하여 워크로드 특성에 따른 크기 변환을 사용함으로써 메모리에서의 캐시가 보다 효율적으로 관리될 수 있도록 만든다.
It also takes advantage of the fact that read caches and write caches are managed in one memory, which makes it possible to manage the cache in memory more efficiently by using size conversion based on workload characteristics.

도 1은 본 발명에 따른 하이브리드 메모리와 SSD를 포함한 전체 시스템 구조의 예를 도시한 것이다.
도 2는 본 발명의 일 실시예에 따른 하이브리드 메모리에서 읽기 캐시의 관리 방법에 관한 예를 도시한 도이다.
도 3 은 본 발명에 따른 하이브리드 메모리에서 쓰기 캐시의 관리 방법에 관한 예를 도시한 도이다.
도 4는 본 발명에 따른 휘발성 메모리 (120) 와 비휘발성 메모리 (130) 에서의 읽기 캐시와 쓰기 캐시의 적응적 크기 변환에 관한 예를 도시한 도면이다.
1 illustrates an example of an overall system structure including a hybrid memory and an SSD according to the present invention.
2 is a diagram illustrating an example of a method of managing a read cache in a hybrid memory according to an embodiment of the present invention.
3 is a diagram illustrating an example of a method of managing a write cache in a hybrid memory according to the present invention.
4 is a diagram illustrating an example of adaptive size conversion of the read cache and the write cache in the volatile memory 120 and the nonvolatile memory 130 according to the present invention.

이하, 본 발명의 바람직한 실시 예를 도면을 참조하여 설명한다. 단, 하기 실시 예는 본 발명을 예시하는 것을 뿐 본 발명의 내용이 하기 실시 예에 한정되는 것은 아니다. Hereinafter, preferred embodiments of the present invention will be described with reference to the drawings. However, the following examples are merely to illustrate the present invention is not limited to the contents of the present invention.

도 1은 본 발명에 따른 하이브리드 메모리와 SSD를 포함한 전체 시스템 구조의 예를 도시한 것으로 중앙처리장치 (100), 하이브리드 메모리, Solid State Disk (SSD ; 110) 으로 구성되며, 하이브리드 메모리는 휘발성 메모리 (120) 와 비휘발성 메모리 (130) 로 이루어지게 된다. 휘발성 메모리 (120) 및 비휘발성 메모리 (130) 은 호스트 버스 (Host Bus) 를 통하여 연결될 수도 있으며, 호스트 버스 (Host Bus) 는 브리지 (140) 을 통하여 SSD (110) 에 연결될 수 있다.1 illustrates an example of an overall system structure including a hybrid memory and an SSD according to the present invention, and includes a central processing unit 100, a hybrid memory, and a solid state disk (SSD) 110. The hybrid memory includes a volatile memory ( 120 and the nonvolatile memory 130. The volatile memory 120 and the nonvolatile memory 130 may be connected through a host bus, and the host bus may be connected to the SSD 110 through the bridge 140.

휘발성 메모리 (120) 는 쓰기 및 읽기 속도가 빠르다는 장점이 있으나 용량 대비 가격이 비싸다는 단점을 가지고 있으며, 비휘발성 메모리 (130) 는 휘발성 메모리 (120) 에 비해 쓰기 속도가 느리고 쓰기 횟수에 제한이 있다는 단점이 있으나 집적도가 높아 용량 대비 가격이 싸고 읽기 속도가 휘발성 메모리와 비슷하다는 장점을 가지고 있다. The volatile memory 120 has the advantage of fast writing and reading speed, but has a disadvantage of being expensive for capacity. The nonvolatile memory 130 has a slower writing speed and a limited number of writes than the volatile memory 120. It has the disadvantage of high density, low price for capacity, and similar read speed to volatile memory.

SSD (110) 는 하드디스크를 대체할 낸드 플래시 메모리 기반의 저장 장치로써 임의 요청에 대해 하드디스크보다 성능이 좋다는 장점이 있고, 내부 구조가 공개 되어 있어서 읽기 및 쓰기 연산에 대해 성능 예측이 가능하다는 장점을 가진다. SSD 110 is a NAND flash memory-based storage device to replace the hard disk has the advantage that the performance is better than the hard disk for any request, and the internal structure is disclosed that the performance can be predicted for read and write operations Has

SSD (110) 내부는 여러 채널로 구성이 되어 있어 각 채널이 독립적으로 읽기 및 쓰기 연산이 가능하기 때문에 이 채널을 동시에 사용하게 되면 SSD의 성능을 높일 수 있게 된다. 이렇게 하이브리드 메모리와 SSD로 이루어진 구조에서 각 특성을 활용하여 읽기 캐시 및 쓰기 캐시를 관리를 한다면 전체 시스템의 성능을 높일 수 있다.Since the SSD 110 is composed of several channels, each channel can be read and write independently, and thus the performance of the SSD can be increased by using these channels simultaneously. If you manage the read cache and write cache by using each characteristic in the structure of hybrid memory and SSD, the performance of the entire system can be improved.

도 2는 본 발명의 일 실시예에 따른 하이브리드 메모리에서 읽기 캐시의 관리 방법에 관한 예를 도시한 도이다. 2 is a diagram illustrating an example of a method of managing a read cache in a hybrid memory according to an embodiment of the present invention.

읽기 캐시를 사용하는 목적은 메모리보다 디스크에서 데이터를 읽어오는 것이 느리기 때문에 메모리에 자주 읽히는 데이터를 저장함으로써 읽기 성능을 높이기 위함이다. 본 발명에서는 디스크 대신에 SSD 가 사용되었으므로, 읽기 캐시는 중앙 처리 장치에서 SSD 에 접근할 때 임시적으로 데이터를 저장하는 저장공간의 역할을 한다. 읽기 캐시는 하이브리드 메모리의 휘발성 메모리 (120) 및/또는 비휘발성 메모리 (130) 에 존재할 수 있다.The purpose of using the read cache is to improve read performance by storing data that is frequently read in memory because reading data from disk is slower than memory. In the present invention, since the SSD is used instead of the disk, the read cache serves as a storage space for temporarily storing data when the SSD is accessed from the central processing unit. The read cache may be in volatile memory 120 and / or nonvolatile memory 130 of hybrid memory.

하이브리드 메모리에서의 읽기 캐시 관리는 휘발성 메모리 (120) 와 비휘발성 메모리 (130) 으로 나뉘어서 관리된다. 우선 읽기 캐시의 관리 방법에 따라 자주 읽히는 데이터는 우선적으로 휘발성 메모리 (120) 에 저장이 된다. 또한, 읽기 캐시에서는 읽힐 데이터를 예측해서 디스크로부터 데이터를 읽어오는 프리페치 데이터가 존재를 하게 된다. 이렇게 휘발성 메모리 (120) 에 저장이 되다가 휘발성 메모리 (120) 가 다 차게 되면 비휘발성 메모리 (130) 으로 데이터가 이동을 하게 되는데, 이 때 휘발성 메모리 (120) 에서 비휘발성 메모리 (130) 로 모든 데이터가 이동을 하는 것이 아니라 선택적 제거라는 방법을 통해 휘발성 메모리 (120) 에 저장할 필요가 없는 데이터를 제거하고 비휘발성 메모리 (130) 로 이동시킨다. The read cache management in the hybrid memory is managed by being divided into the volatile memory 120 and the nonvolatile memory 130. First, data that is frequently read is first stored in the volatile memory 120 according to the management method of the read cache. In addition, in the read cache, prefetch data that reads data from the disk in anticipation of the data to be read is present. The data is stored in the volatile memory 120 and the data is moved to the nonvolatile memory 130 when the volatile memory 120 is full. At this time, all data from the volatile memory 120 to the nonvolatile memory 130 are transferred. Does not move but removes data that does not need to be stored in the volatile memory 120 and moves to the nonvolatile memory 130 through a method called selective removal.

이렇게 선택적 제거를 하는 이유는 비휘발성 메모리 (130) 가 상대적으로 휘발성 메모리 (120) 에 비해 쓰기 속도가 느리고 또한 쓰기 횟수에 제한이 있기 때문에 불필요한 데이터를 비휘발성 메모리 (130) 에 저장하는 것이 성능에 영향을 미치기 때문이다. The reason for this selective removal is that the nonvolatile memory 130 has a relatively slow write speed and a limited number of writes compared to the volatile memory 120, and therefore, storing unnecessary data in the nonvolatile memory 130 has a negative effect on performance. Because it affects.

선택적 제거 방법은 세 가지의 실시 형태를 가질 수 있다. The selective removal method can have three embodiments.

우선 첫 번째로는 프리페치된 데이터를 선택적 제거 시키는 방법이다. 프리페치란 하이브리드 메모리 컨트럴러 (미도시) 가 중앙처리장치로부터 데이터 읽기 명령을 받을 경우, 추후에 읽어들일 것이라 예상되는 데이터를 미리 SSD (110) 로부터 휘발성 메모리 (120) 로 읽어들이는 것을 의미한다. The first method is to selectively remove prefetched data. Prefetch means that when the hybrid memory controller (not shown) receives a data read command from the central processing unit, data that is expected to be read later is read from the SSD 110 into the volatile memory 120 in advance. .

휘발성 메모리 (120) 에서 프리페치 된 데이터가 자주 읽히지 않았기 때문에 비휘발성 메모리 (130) 로 밀려난 것이므로 이를 비휘발성 메모리 (130) 에 저장한다고 할지라도 읽힐 확률이 낮다. 따라서 이는 불필요한 쓰기 연산을 발생시키기 때문에 이 프리페치 된 데이터를 선택적 제거시키는 것이 비휘발성 메모리 (130) 의 안정성에 있어서도 더 좋게 된다. Since the data prefetched from the volatile memory 120 is not read frequently, it is pushed to the nonvolatile memory 130, and therefore stored in the nonvolatile memory 130 has a low probability of being read. Therefore, since this causes unnecessary write operations, selective removal of this prefetched data is better in terms of stability of the nonvolatile memory 130.

두 번째로는, 많이 쓰이는 데이터 (Write-intensive Data) 를 선택적 제거시키는 방법이다. 즉, 접근 빈도가 높은 데이터를 선택적 제거시키는 방법이다. 휘발성 메모리 (120) 에서는 쓰기 횟수에 제한이 없기 때문에 자주 쓰이는 데이터가 문제가 되지 않았지만 비휘발성 메모리 (130) 는 쓰기 횟수에 제한을 가지고 있기 때문에 자주 쓰이는 데이터를 선택적 제거 시키는 방법이 읽기 캐시의 성능 향상을 위해 더욱 좋을 것이다. The second method is to selectively remove write-intensive data. In other words, this method selectively removes data with high access frequency. Frequently used data is not a problem because there is no limit on the number of writes in volatile memory (120). However, since nonvolatile memory (130) has a limit on the number of writes, a method of selectively removing frequently used data improves the performance of the read cache. Would be better for you.

다만, 프리페치 데이터의 경우 비휘발성 메모리로 이동시키나 이와 는 다르게, 많이 사용되는 데이터는 휘발성 메모리의 쓰기 캐시로 옮김으로써 쓰기 연산이 왔을 때, 디스크에 쓰는 것이 아닌 쓰기 캐시에 쓰도록 해주게 된다. However, in case of prefetch data, the data is moved to the nonvolatile memory. However, the data that is used frequently is moved to the write cache of the volatile memory so that when a write operation occurs, the data is written to the write cache instead of the disk.

마지막으로는 순차적 데이터를 선택적 제거 시키는 방법이다. Finally, the method of selectively removing sequential data.

순차적 데이터는 임의 데이터에 비해 읽힐 확률이 낮기 때문에 이를 캐시시키는 것은 불필요하게 읽기 캐시의 저장 공간만을 차지하게 된다. 따라서, 휘발성 메모리 (120) 에서 비휘발성 메모리 (130) 로의 데이터 이동 시, 순차적 데이터를 선택적 제거함으로써 상대적으로 비휘발성 메모리 (130) 의 저장 공간을 늘리고 불필요한 쓰기 연산을 방지할 수 있을 것이다. Because sequential data is less likely to be read than random data, caching them unnecessarily takes up storage space in the read cache. Accordingly, when data is moved from the volatile memory 120 to the nonvolatile memory 130, the sequential data may be selectively removed to relatively increase the storage space of the nonvolatile memory 130 and prevent unnecessary write operations.

도 3 은 본 발명에 따른 하이브리드 메모리에서 쓰기 캐시의 관리 방법에 관한 예를 도시한 도이다. 3 is a diagram illustrating an example of a method of managing a write cache in a hybrid memory according to the present invention.

쓰기 캐시 역시 읽기 캐시와 마찬가지로 자주 쓰이는 데이터를 메모리에 저장을 함으로써 디스크로의 쓰기 횟수를 줄여 성능을 높이는 역할을 하게 된다. Like the read cache, the write cache saves frequently used data in memory and increases performance by reducing the number of writes to disk.

쓰기 캐시 역시 휘발성 메모리 (와 비휘발성 메모리으로 나누어서 관리를 하게 된다. 우선, 비휘발성 메모리에서는 슈퍼페이지(페이지*채널수)로 관리가 되어진다. 슈퍼페이지로 관리가 되는 이유는 데이터가 SSD (110) 에 쓰일 때 성능을 높이기 위함이다. The write cache is also managed by dividing it into volatile memory (and nonvolatile memory). First, in nonvolatile memory, it is managed as a superpage (number of pages * channels). This is to improve performance when used in.

SSD (110) 는 내부가 여러 채널로 구성되어 있어서 병렬 연산이 가능한데 슈퍼페이지로 데이터를 관리함으로써 이 병렬성을 극대화 시킬 수 있게 된다. 따라서, SSD (110) 의 채널 수에 따라서 슈퍼페이지의 크기가 달라질 수 있게 된다. Since the SSD 110 is composed of several channels, parallel operation is possible, and the parallelism can be maximized by managing data with a superpage. Therefore, the size of the superpage may vary according to the number of channels of the SSD 110.

비휘발성 메모리 (130) 에서 슈퍼페이지로 관리를 하다가 자주 쓰이는 페이지가 있게 되면 이를 휘발성 메모리 (120) 로 복사를 하게 된다. When a non-volatile memory 130 is managed as a super page and frequently used pages are copied to the volatile memory 120.

이는 자주 쓰이는 페이지가 비휘발성 메모리 (130) 에 있게 되면 쓰기 연산 횟수가 늘어나기 때문에 이를 줄이기 위함이다. 또한, 슈퍼페이지가 아닌 페이지를 복사함으로써 이동 오버헤드도 줄이고 휘발성 메모리 (120) 에서의 쓰기 캐시 관리도 보다 효율적으로 할 수 있게 된다.This is to reduce the number of write operations when frequently used pages are in the nonvolatile memory 130. In addition, by copying a page other than the super page, the moving overhead is reduced and the write cache management in the volatile memory 120 can be more efficiently performed.

위와 같이 복사의 과정을 거치게 될 경우, 그 복사된 페이지는 휘발성 메모리 (120) 및 비휘발성 메모리 (130) 양 측에 동시에 존재하게 된다. When the copy process is performed as described above, the copied page is simultaneously present in both the volatile memory 120 and the nonvolatile memory 130.

휘발성 메모리 (120) 의 쓰기 캐시의 내용이 업데이트가 되게 되면, 나중에 휘발성 메모리 (120) 의 쓰기 캐시 공간이 부족해 비휘발성 메모리 (130) 나 디스크로 이동을 해야 될 때, 만약 비휘발성 메모리 (130) 에 이 페이지를 가지는 슈퍼페이지가 존재하게 되면 비휘발성 메모리 (130) 에서 업데이트를 시키게 되고, 만약 비휘발성 메모리 (130) 에 존재하지 않으면, 디스크에서 슈퍼페이지를 읽어와 비휘발성 메모리 (130) 에서 그 페이지만을 업데이트 시키게 된다.When the contents of the write cache of the volatile memory 120 are updated, when the write cache space of the volatile memory 120 is insufficient and needs to be moved to the nonvolatile memory 130 or the disk later, the nonvolatile memory 130 If a superpage with this page exists in the nonvolatile memory 130, the update is performed. If the nonpage exists in the nonvolatile memory 130, the superpage is read from the disk and the superpage is read from the nonvolatile memory 130. Only the page will be updated.

비휘발성 메모리 (130) 에서 휘발성 메모리 (120) 로 페이지를 이동하는 것이 아닌 복사를 하는 이유는 나중에 휘발성 메모리 (120) 에 저장 공간이 없을 때 다시 비휘발성 메모리 (130) 로 쓰기가 되어야 하는데 이에 대한 추가 쓰기 연산을 줄이기 위해서이다. The reason for copying rather than moving pages from nonvolatile memory 130 to volatile memory 120 should be written back to nonvolatile memory 130 later when there is no storage space in volatile memory 120. This is to reduce extra write operations.

이렇게, 중복된 데이터가 휘발성 메모리 (120) 와 비휘발성 메모리 (130) 에 존재를 하게 되면 쓰기 캐시 저장 공간의 활용에 있어서 불이익이 있지만 비휘발성 메모리 (130) 의 용량이 크기 때문에 이 오버헤드 보다는 추가 쓰기 연산 오버헤드가 더 크다고 생각이 된다. As such, when duplicate data exists in the volatile memory 120 and the nonvolatile memory 130, there is a disadvantage in utilizing the write cache storage space, but the additional capacity is larger than this overhead because the capacity of the nonvolatile memory 130 is large. It is thought that the write operation overhead is greater.

따라서 이렇게 쓰기 캐시 관리를 해줌으로써 SSD (110) 로의 쓰기 성능도 증가시키게 되고, 비휘발성 메모리 (130) 로의 불필요한 쓰기 연산을 줄일 수 있게 되고, 휘발성 메모리 (120) 를 자주 쓰이는 페이지의 쓰기 캐시로써 활용하여 성능을 높일 수 있다는 장점이 있다. Therefore, by performing the write cache management, the write performance to the SSD 110 is also increased, unnecessary write operations to the nonvolatile memory 130 can be reduced, and the volatile memory 120 is used as a write cache of a frequently used page. There is an advantage that can increase the performance.

도 4는 본 발명에 따른 휘발성 메모리 (120) 와 비휘발성 메모리 (130) 에서의 읽기 캐시와 쓰기 캐시의 적응적 크기 변환에 관한 예를 도시한 도면이다. 4 is a diagram illustrating an example of adaptive size conversion of the read cache and the write cache in the volatile memory 120 and the nonvolatile memory 130 according to the present invention.

휘발성 메모리 (120) 와 비휘발성 메모리 (130) 에 읽기 캐시와 쓰기 캐시가 공존하게 되기 때문에 이에 대한 크기 변환이 성능에 있어서 크게 영향을 미치게 될 것이다. 따라서, 우선은 워크로드 특성에 따른 크기 변화를 생각해 볼 수 있는데, 쓰기 연산이 많은 워크로드의 경우 쓰기 캐시를 크게 할당을 하고 읽기 캐시를 작게 할당을 할 수 있게 된다.Since the read cache and the write cache coexist in the volatile memory 120 and the nonvolatile memory 130, the size conversion thereof will greatly affect the performance. Therefore, first of all, consider the change in size according to the workload characteristics. For a workload with many write operations, it is possible to allocate a large write cache and a small read cache.

반대로 읽기 연산이 많은 워크로드의 경우는 반대로 캐시 크기 할당을 해주면 된다. 또한, 휘발성 메모리 (120) 에서의 캐시 크기와 비휘발성 메모리 (130) 에서의 캐시 크기를 바꿔 줌으로써 성능 변화를 보일 수도 있을 것이다.
Conversely, for workloads with many read operations, cache size allocation may be required. In addition, performance may be changed by changing the cache size in the volatile memory 120 and the cache size in the nonvolatile memory 130.

이상에서 보는 바와 같이, 본 발명이 속하는 기술 분야의 당업자는 본 발명이 그 기술적 사상이나 필수적 특징을 변경하지 않고서 다른 구체적인 형태로 실시 될 수 있다는 것을 이해할 수 있을 것이다. As described above, those skilled in the art to which the present invention pertains will understand that the present invention may be implemented in other specific forms without changing the technical spirit or essential features.

그러므로 이상에서 기술한 실시 예는 모든 면에서 예시적인 것이며 한정적인 것이 아닌 것으로 이해해야만 하고, 본 발명의 범위는 상기 상세한 설명보다는 후술하는 특허청구범위에 의하여 나타내어지며, 특허청구범위의 의미 및 범위 그리고 그 등가개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본 발명의 범위에 포함되는 것으로 해석되어야 한다.
Therefore, the embodiments described above are to be understood in all respects as illustrative and not restrictive, and the scope of the present invention is indicated by the following claims rather than the above description, and the meaning and scope of the claims and All changes or modifications derived from the equivalent concept should be interpreted as being included in the scope of the present invention.

100 : 중앙 처리 장치
120 : 휘발성 메모리
130 : 비휘발성 메모리
140 : 브리지
110 : SSD (Solid State Disk)
100: central processing unit
120: volatile memory
130: nonvolatile memory
140: the bridge
110: SSD (Solid State Disk)

Claims (15)

휘발성 메모리 및 비휘발성 메모리를 포함하는 하이브리드 메모리; 및
상기 하이브리드 메모리와 버스를 통하여 연결된 SSD 를 포함하고,
상기 SSD 가 저장장치로써 동작하며, 상기 하이브리드 메모리는 상기 SSD 의 캐쉬로써 동작하는, 메모리 시스템.
A hybrid memory including a volatile memory and a nonvolatile memory; And
An SSD connected via a bus and the hybrid memory,
Wherein said SSD operates as a storage device and said hybrid memory operates as a cache of said SSD.
제 1 항에 있어서,
상기 휘발성 메모리는 제 1 읽기 캐시, 및 제 1쓰기 캐시를 포함하고,
상기 비휘발성 메모리는 제 2 읽기 캐시, 및 제 2쓰기 캐시를 포함하는, 메모리 시스템.
The method of claim 1,
The volatile memory includes a first read cache, and a first write cache,
And the non-volatile memory includes a second read cache and a second write cache.
제 1 항에 있어서,
상기 휘발성 메모리의 제 1 읽기 캐시의 데이터는 선택적 제거에 의하여 상기 비휘발성 메모리의 제 2 읽기 캐시로 이동되는, 메모리 시스템.
The method of claim 1,
Data in the first read cache of the volatile memory is moved to a second read cache of the nonvolatile memory by selective removal.
제 3 항에 있어서,
상기 선택적 제거에 의하여 이동되는 데이터는 상기 SSD 로부터 상기 제 1 읽기 캐시로 프리 패치 (pre-fetch) 된 데이터인, 메모리 시스템.
The method of claim 3, wherein
And the data moved by the selective removal is data pre-fetched from the SSD into the first read cache.
제 1 항에 있어서,
자주 쓰이는 데이터는 선택적 제거에 의하여 상기 제 1 읽기 캐시 또는 상기 제 2 읽기 캐시로부터 상기 비휘발성 메모리의 상기 제 1 쓰기 캐시 및 상기 제 2 쓰기 캐시 중 하나로 이동되는, 메모리 시스템.
The method of claim 1,
Frequently used data is moved from the first read cache or the second read cache to one of the first write cache and the second write cache of the nonvolatile memory by selective removal.
제 3 항에 있어서,
상기 선택적 제거에 의하여 이동되는 데이터는 순차적 데이터인, 메모리 시스템.
The method of claim 3, wherein
And the data moved by the selective removal is sequential data.
제 2 항에 있어서,
상기 비휘발성 메모리의 제 2 쓰기 캐시로부터 상기 SSD 로의 쓰기 성능을 높이기 위하여, 상기 제 2 쓰기 캐리에서의 데이터는 SSD 의 내부 구조를 고려하여 슈퍼페이지 단위로 관리되는, 메모리 시스템.
The method of claim 2,
In order to increase the write performance of the non-volatile memory from the second write cache to the SSD, the data in the second write carry is managed in units of superpages in consideration of the internal structure of the SSD.
제 7 항에 있어서,
상기 제 2 쓰기 캐시의 슈퍼 페이지 중에서 사용 빈도가 높은 페이지만을 휘발성 메모리로 복사시키는, 메모리 시스템.
The method of claim 7, wherein
And copy only the most frequently used pages of the super write pages of the second write cache to volatile memory.
제 7 항 또는 제 8 항에 있어서,
슈퍼 페이지의 크기는 SSD 의 읽기 및 쓰기의 기본 연산 단위인 페이지 및 SSD 내부의 채널수의 곱으로 정의되는, 메모리 시스템.
The method according to claim 7 or 8,
The size of a super page is defined as the product of the number of pages within the SSD and the page, which is the basic unit of operation for reading and writing the SSD.
제 2 항에 있어서,
워크로드에 기초하여 읽기 연산이 많을 경우 제 1 읽기 캐시 및 제 2 읽기 캐시의 크기를 늘리고, 쓰기 연산이 많을 경우 제 1 쓰기 캐시 및 제 2 쓰기 캐시의 크기를 늘리는, 메모리 시스템.
The method of claim 2,
Based on the workload, increase the size of the first read cache and the second read cache if there are many read operations, and increase the size of the first write cache and the second write cache if there are many write operations.
휘발성 메모리, 비휘발성 메모리 및 SSD를 포함하는 메모리 시스템을 관리하는 방법으로서,
외부로부터 디스크 읽기 명령을 수신하는 단계;
상기 디스크 읽기 명령에 응답하여 상기 SSD 에 저장된 데이터를 상기 휘발성 메모리의 읽기 캐시에 쓰는 단계;
상기 휘발성 메모리의 읽기 캐시에 여유 공간이 있는지 여부를 확인하는 단계;
상기 읽기 캐시에 여유 공간이 없을 경우, 프리패칭된 데이터를 상기 비휘발성 메모리의 읽기 캐시로 이동시키는 단계를 포함하는, 메모리 관리 방법.
A method of managing a memory system including volatile memory, nonvolatile memory, and SSD,
Receiving a disk read command from the outside;
Writing data stored in the SSD to a read cache of the volatile memory in response to the disk read command;
Checking whether there is free space in a read cache of the volatile memory;
If there is no free space in the read cache, moving prefetched data to a read cache of the nonvolatile memory.
휘발성 메모리, 비휘발성 메모리 및 SSD를 포함하는 메모리 시스템을 관리하는 방법으로서,
외부로부터 디스크 읽기 명령을 수신하는 단계;
상기 디스크 읽기 명령에 응답하여 상기 SSD 에 저장된 데이터를 상기 휘발성 메모리의 읽기 캐시에 쓰는 단계;
상기 휘발성 메모리의 읽기 캐시에 여유 공간이 있는지 여부를 확인하는 단계; 및
상기 읽기 캐시에 여유 공간이 없을 경우, 사용 빈도가 높은 데이터를 상기 비휘발성 메모리의 읽기 캐시로 이동시키는 단계를 포함하는, 메모리 관리 방법.
A method of managing a memory system including volatile memory, nonvolatile memory, and SSD,
Receiving a disk read command from the outside;
Writing data stored in the SSD to a read cache of the volatile memory in response to the disk read command;
Checking whether there is free space in a read cache of the volatile memory; And
If there is no free space in the read cache, moving the frequently used data to the read cache of the nonvolatile memory.
휘발성 메모리, 비휘발성 메모리 및 SSD를 포함하는 메모리 시스템을 관리하는 방법으로서,
외부로부터 디스크 읽기 명령을 수신하는 단계;
상기 디스크 읽기 명령에 응답하여 상기 SSD 에 저장된 데이터를 상기 휘발성 메모리의 읽기 캐시에 쓰는 단계;
상기 휘발성 메모리의 읽기 캐시에 여유 공간이 있는지 여부를 확인하는 단계; 및
상기 읽기 캐시에 여유 공간이 없을 경우, 사용 빈도가 높은 데이터를 상기 비휘발성 메모리의 읽기 캐시로 이동시키는 단계를 포함하는, 메모리 관리 방법.
A method of managing a memory system including volatile memory, nonvolatile memory, and SSD,
Receiving a disk read command from the outside;
Writing data stored in the SSD to a read cache of the volatile memory in response to the disk read command;
Checking whether there is free space in a read cache of the volatile memory; And
If there is no free space in the read cache, moving the frequently used data to the read cache of the nonvolatile memory.
휘발성 메모리, 비휘발성 메모리 및 SSD를 포함하는 메모리 시스템을 관리하는 방법으로서,
외부로부터 디스크 읽기 명령을 수신하는 단계;
상기 디스크 읽기 명령에 응답하여 상기 SSD 에 저장된 데이터를 상기 휘발성 메모리의 읽기 캐시에 쓰는 단계;
상기 휘발성 메모리의 읽기 캐시에 여유 공간이 있는지 여부를 확인하는 단계; 및
상기 읽기 캐시에 여유 공간이 없을 경우, 순차적 데이터를 상기 비휘발성 메모리의 읽기 캐시로 이동시키는 단계를 포함하는, 메모리 관리 방법.
A method of managing a memory system including volatile memory, nonvolatile memory, and SSD,
Receiving a disk read command from the outside;
Writing data stored in the SSD to a read cache of the volatile memory in response to the disk read command;
Checking whether there is free space in a read cache of the volatile memory; And
If there is no free space in the read cache, moving the sequential data to the read cache of the nonvolatile memory.
휘발성 메모리, 비휘발성 메모리 및 SSD를 포함하는 메모리 시스템을 관리하는 방법으로서,
외부로부터 디스크 쓰기 명령을 수신하는 단계;
상기 비휘발성 메모리의 쓰기 캐시에 포함된 페이지들의 사용 빈도를 검출하는 단계; 및
상기 사용 빈도에 기초하여 사용 빈도가 높은 페이지를 상기 비휘발성 메모리의 쓰기 캐시로부터 상기 휘발성 메모리의 쓰기 캐시로 복사하는 단계를 포함하는, 메모리 관리 방법.

A method of managing a memory system including volatile memory, nonvolatile memory, and SSD,
Receiving a disk write command from the outside;
Detecting a frequency of use of pages included in the write cache of the nonvolatile memory; And
Copying a high usage page based on the usage frequency from a write cache of the nonvolatile memory to a write cache of the volatile memory.

KR1020100043729A 2010-05-11 2010-05-11 Method for managing the read and write cache in the system comprising hybrid memory and ssd KR101180288B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020100043729A KR101180288B1 (en) 2010-05-11 2010-05-11 Method for managing the read and write cache in the system comprising hybrid memory and ssd

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020100043729A KR101180288B1 (en) 2010-05-11 2010-05-11 Method for managing the read and write cache in the system comprising hybrid memory and ssd

Publications (2)

Publication Number Publication Date
KR20110124395A true KR20110124395A (en) 2011-11-17
KR101180288B1 KR101180288B1 (en) 2012-09-07

Family

ID=45394144

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020100043729A KR101180288B1 (en) 2010-05-11 2010-05-11 Method for managing the read and write cache in the system comprising hybrid memory and ssd

Country Status (1)

Country Link
KR (1) KR101180288B1 (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20150025274A (en) * 2013-08-28 2015-03-10 삼성전자주식회사 Apparatus and method for managing cache in memory system based on hybrid chache, and the memory system
US9846542B2 (en) 2014-04-15 2017-12-19 Samsung Electronics Co., Ltd. Storage controller, storage device, storage system and method of operating the storage controller
CN113515471A (en) * 2016-06-14 2021-10-19 伊姆西Ip控股有限责任公司 Method and apparatus for managing storage system

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101836597B1 (en) * 2016-02-02 2018-03-08 전북대학교산학협력단 Module for managing cache using high speed memory and method for the same
KR101847861B1 (en) 2016-12-21 2018-04-11 성균관대학교산학협력단 Apparatus and method of computing and storage for data management
US10782880B2 (en) 2017-08-30 2020-09-22 Electronics And Telecommunications Research Institute Apparatus and method for providing storage for providing cloud services

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20150025274A (en) * 2013-08-28 2015-03-10 삼성전자주식회사 Apparatus and method for managing cache in memory system based on hybrid chache, and the memory system
US9846542B2 (en) 2014-04-15 2017-12-19 Samsung Electronics Co., Ltd. Storage controller, storage device, storage system and method of operating the storage controller
CN113515471A (en) * 2016-06-14 2021-10-19 伊姆西Ip控股有限责任公司 Method and apparatus for managing storage system

Also Published As

Publication number Publication date
KR101180288B1 (en) 2012-09-07

Similar Documents

Publication Publication Date Title
US10860477B2 (en) Apparatus and method for low power low latency high capacity storage class memory
US9256527B2 (en) Logical to physical address mapping in storage systems comprising solid state memory devices
US9910597B2 (en) Memory system having a plurality of writing modes
US10915475B2 (en) Methods and apparatus for variable size logical page management based on hot and cold data
US8935484B2 (en) Write-absorbing buffer for non-volatile memory
US8954656B2 (en) Method and system for reducing mapping table size in a storage device
US9032244B2 (en) Memory segment remapping to address fragmentation
US9513815B2 (en) Memory management based on usage specifications
KR101180288B1 (en) Method for managing the read and write cache in the system comprising hybrid memory and ssd
KR101297442B1 (en) Nand flash memory including demand-based flash translation layer considering spatial locality
US10754785B2 (en) Checkpointing for DRAM-less SSD
US20090094391A1 (en) Storage device including write buffer and method for controlling the same
WO2013101158A1 (en) Metadata management and support for phase change memory with switch (pcms)
WO2019047612A1 (en) Key value storage and management method for flash-based storage path optimization
KR101155542B1 (en) Method for managing mapping table of ssd device
KR101191650B1 (en) Apparatus and method for mapping the data address in NAND flash memory
Du et al. SSW: A strictly sequential writing method for open-channel SSD
Lin et al. Flash-aware linux swap system for portable consumer electronics
KR101480420B1 (en) Memory-Disk Hybrid System
KR101353967B1 (en) Data process method for reading/writing data in non-volatile memory cache having ring structure
KR102014723B1 (en) Page merging for buffer efficiency in hybrid memory systems
KR101381597B1 (en) Pattern-aware management system for multi-channel ssd and method therefor
US9760488B2 (en) Cache controlling method for memory system and cache system thereof
KR101443678B1 (en) A buffer cache method for considering both hybrid main memory and flash memory storages
KR102692573B1 (en) Nand flash systems with flash translation layer using cluster caching considering locality

Legal Events

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

Payment date: 20150729

Year of fee payment: 4

LAPS Lapse due to unpaid annual fee