KR20190061473A - NVMe-SSD BASED STORAGE SYSTEM - Google Patents

NVMe-SSD BASED STORAGE SYSTEM Download PDF

Info

Publication number
KR20190061473A
KR20190061473A KR1020170159900A KR20170159900A KR20190061473A KR 20190061473 A KR20190061473 A KR 20190061473A KR 1020170159900 A KR1020170159900 A KR 1020170159900A KR 20170159900 A KR20170159900 A KR 20170159900A KR 20190061473 A KR20190061473 A KR 20190061473A
Authority
KR
South Korea
Prior art keywords
ssd
nvme
dram
parity
storage system
Prior art date
Application number
KR1020170159900A
Other languages
Korean (ko)
Inventor
김태훈
최승호
송광혁
박정민
노재춘
김경훈
Original Assignee
(주) 글루시스
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by (주) 글루시스 filed Critical (주) 글루시스
Priority to KR1020170159900A priority Critical patent/KR20190061473A/en
Publication of KR20190061473A publication Critical patent/KR20190061473A/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/0614Improving the reliability of storage systems
    • G06F3/0616Improving the reliability of storage systems in relation to life time, e.g. increasing Mean Time Between Failures [MTBF]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1076Parity data used in redundant arrays of independent storages, e.g. in RAID systems
    • G06F11/108Parity data distribution in semiconductor storages, e.g. in SSD
    • 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/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • 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/0688Non-volatile semiconductor memory 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/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0683Plurality of storage devices
    • G06F3/0689Disk arrays, e.g. RAID, JBOD

Abstract

The present invention relates to an NVMe-SSD based storage system including architecture consisting of an algorithm considering the lifetime decrease of a flash memory and various SSDs when constituting RAID with an SSD based on a flash memory. The NVMe-SSD based storage system of the present invention comprises: an extensible DRAM SSD; and a plurality of NVMe SSDs.

Description

NVMe-SSD 기반 스토리지 시스템{NVMe-SSD BASED STORAGE SYSTEM}NVMe-SSD based storage system {NVMe-SSD BASED STORAGE SYSTEM}

본 발명은 NVMe-SSD 기반 스토리지 시스템에 관한 것으로, 플래시 메모리 기반의 SSD로 RAID 구성 시 플래시 메모리의 수명 감소를 고려한 알고리즘과 다기종의 SSD로 구성한 아키텍처를 포함하는 NVMe-SSD 기반 스토리지 시스템에 관한 것이다.The present invention relates to an NVMe-SSD-based storage system, and more particularly, to an NVMe-SSD-based storage system including an SSM based on a flash memory, an algorithm considering reduction in the lifetime of a flash memory in a RAID configuration, .

NVMe SSD(Non-Volatile Memory Express Solid State Drive)의 등장으로 플래시 메모리의 성능은 기존의 하드디스크의 인터페이스인 SATA(Serial Advanced Technology Attachment) 기반의 SSD보다 증가하였지만, 과거의 하드디스크(SATA) 기반으로 개발된 현재의 RAID 시스템에는 최적화가 되어있지 않다. 따라서 기존의 RAID 기술에 SSD를 이용하여 스토리지를 구성할 경우 플래시 메모리의 수명을 빠르게 감소시킨다. 특히 패리티 비트를 사용하는 RAID-5와 RAID-6의 경우 데이터 쓰기와 수정 명령을 수행할 때, 저장 장치에 두 번 접근하여 원본 데이터와 패리티를 기록하게 된다. 이러한 방식은 플래시 메모리의 수명에 좋지 않은 영향을 끼친다. With the introduction of NVMe SSD (Solid State Drive), the performance of flash memory has increased compared to SSD based on SATA (Serial Advanced Technology Attachment) The current RAID system developed is not optimized. Therefore, when the storage is configured using the SSD for the existing RAID technology, the life of the flash memory is rapidly reduced. In particular, in the case of RAID-5 and RAID-6 using parity bits, when data write and modify commands are executed, the data is accessed twice and the original data and parity are recorded. This approach adversely affects the life of the flash memory.

대한민국 특허 제1748717호는 이러한 SSD 기반 RAID 시스템에서 패리터 데이터의 RAID로의 재기록이 SSD 소모를 증가시키고 증가된 전력 소비를 야기하는 문제를 해결하기 위한 방법을 개시한 바 있다.Korean Patent No. 1748717 discloses a method for solving the problem that rewriting of parity data to RAID in such SSD-based RAID system increases SSD consumption and causes increased power consumption.

본 발명은 DRAM SSD와 NVMe SSD의 특징을 고려하여 구성한 스토리지 시스템을 기반으로 다기종의 SSD를 활용하기 위해 구성한 스토리지 시스템을 제공하는 것을 목표로 한다.The present invention aims to provide a storage system configured to utilize various types of SSDs based on a storage system configured in consideration of characteristics of a DRAM SSD and an NVMe SSD.

본 발명은 DRAM SSD와 NVMe SSD로 구성된 All SSD 스토리지 시스템에서 패리티 연산으로 인한 플래시 메모리의 수명 감소를 줄이기 위해 개선된 RAID 알고리즘을 제공하는 것을 목표로 한다.The present invention aims at providing an improved RAID algorithm to reduce the lifetime of flash memory due to parity operation in an All SSD storage system composed of a DRAM SSD and an NVMe SSD.

상기한 목적을 달성하기 위한 본 발명에 따르는 NVMe-SSD 기반 스토리지 시스템은, 상대적으로 단일 장치 비교시 NVMe SSD보다 작은 용량의 DRAM SSD를 다수로 결합하여 하나의 단일 장치로 구성하고 패리티 블록을 지정하여 기록할 수 있는 확장식으로 구성된다.In order to achieve the above object, the NVMe-SSD-based storage system according to the present invention combines a plurality of DRAM SSDs having a capacity smaller than that of an NVMe SSD in a single device comparison to form a single device and designate a parity block It is composed of an extension expression that can be recorded.

본 발명에 따르는 NVMe-SSD 기반 스토리지 시스템은, 패리티 구조 기반의 RAID 구성 시 데이터 쓰기 및 수정 빈도가 높은 파일의 패리티 블록을 단일로 구성된 DRAM SSD에 기록하고 기존에 NVMe SSD에 저장되어야 할 패리티 블록의 위치에 DRAM SSD에 저장된 패리티 블록의 주소를 가리키는 링크 방식으로 구성된다.The NVMe-SSD-based storage system according to the present invention records a parity block of a file having a high frequency of data writing and correction in a single-configured DRAM SSD in a RAID configuration based on a parity structure and stores the parity block to be stored in the NVMe SSD And the address of the parity block stored in the DRAM SSD.

본 발명에 따르는 NVMe-SSD 기반 스토리지 시스템은, 단일로 구성된 DRAM SSD에 패리티 블록을 우선 저장하고 일정 조건에 충족할 경우 패리티 블록을 압축하여 최소한의 용량으로 본래 저장되어야 할 디스크에 기록하는 압축 방식으로 구성된다.The NVMe-SSD-based storage system according to the present invention stores a parity block in a single-unit DRAM SSD and compresses the parity block if it satisfies a predetermined condition, thereby recording the data on a disk to be originally stored with a minimum capacity .

본 발명에 따르는 NVMe-SSD 기반 스토리지 시스템은 DRAM SSD와 NVMe SSD를 하나의 논리적인 RAID 볼륨으로 구성하여 쓰기 및 수정 명령 수행시 발생하는 SSD의 수명 감소를 줄이고 성능을 향상시킬 수 있다.The NVMe-SSD based storage system according to the present invention can reduce the lifetime of the SSD and improve the performance by configuring the DRAM SSD and the NVMe SSD as one logical RAID volume.

본 발명에 따르는 NVMe-SSD 기반 스토리지 시스템은 플래시 메모리 기반의 NVMe SSD와 DRAM SSD를 융합한 다기종의 All SSD 스토리지 시스템을 구성하고 각 장치의 특성을 활용하여 플래시 메모리 구조에 최적화된 RAID 알고리즘을 제공한다.The NVMe-SSD based storage system according to the present invention constitutes a multi-type All SSD storage system combining a flash memory-based NVMe SSD and a DRAM SSD, and utilizes the characteristics of each device to provide a RAID algorithm optimized for a flash memory structure do.

도1은 All SSD 스토리지 시스템의 구성을 개략적으로 나타내는 도면이다.
도2는 다수의 소형 DRAM SSD를 단일 DRAM SSD로 묶는 확장형 RAID 구성을 나타내는 블록도이다.
도3은 링크형 RAID 구성을 나타내는 블록도이다.
도4는 압축형 RAID 구성을 나타내는 블록도이다.
도5는 도4의 압축형 RAID의 상세 모듈 및 명령 수행 구조를 나타내는 블록도이다.
1 is a diagram schematically showing the configuration of an All SSD storage system.
Figure 2 is a block diagram illustrating an expandable RAID configuration that bundles multiple small DRAM SSDs into a single DRAM SSD.
3 is a block diagram illustrating a linked RAID configuration.
4 is a block diagram illustrating a compression type RAID configuration.
5 is a block diagram illustrating a detailed module and command execution structure of the compression type RAID of FIG.

본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 상세한 설명에 상세하게 설명하고자 한다. 그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 각 도면을 설명하면서 유사한 참조부호를 유사한 구성요소에 대해 사용하였다.While the invention is susceptible to various modifications and alternative forms, specific embodiments thereof are shown by way of example in the drawings and will herein be described in detail. It should be understood, however, that the invention is not intended to be limited to the particular embodiments, but includes all modifications, equivalents, and alternatives falling within the spirit and scope of the invention. Like reference numerals are used for like elements in describing each drawing.

이하에서, 본 발명에 따른 실시예들을 첨부된 도면을 참조하여 상세하게 설명한다.Hereinafter, embodiments according to the present invention will be described in detail with reference to the accompanying drawings.

본 발명은 스토리지 RAID 구성에서 차세대 플래시 메모리 저장장치인 NVMe SSD(Non-Volatile Memory Express Solid State Drive)의 수명과 성능 향상에 관한 것으로 커다란 범주에서는 RAID 알고리즘으로 분류할 수 있다. 또한 NVMe SSD와 비교하여 상대적으로 용량이 작은 DRAM(Dynamic Random-Access Memory) 기반의 SSD를 통합하는 구조를 가짐에 따라 스토리지 구조 또는 블록 볼륨 매니저로 분류할 수 있다. The present invention relates to the improvement of the life and performance of an NVMe SSD (Non-Volatile Memory Express Solid State Drive), which is a next generation flash memory storage device in a storage RAID configuration, and can be classified into a RAID algorithm in a large category. In addition, SSDs based on Dynamic Random-Access Memory (DRAM), which have a relatively small capacity compared to NVMe SSDs, can be integrated into a storage structure or a block volume manager.

패리티 연산을 기반으로 구성된 RAID-5와 RAID-6는 수정 명령을 수행할 때 두 번의 읽기와 두 번의 쓰기, 총 네 번의 디스크 접근이 이루어진다. 즉 디스크에 대한 쓰기 요구사항이 높아지므로 플래시 메모리의 저장/삭제를 나타내는 P/E 사이클(Program/Erase Cycle)을 지속적으로 증가시키는 구조인 것이다. 본 발명은 스토리지 서버 또는 스토리지의 RAID 구성과 같은 다기종의 All SSD로 구성된 스토리지 시스템 환경에서, 패리티 비트에 대한 연산 및 기록을 담당하는 전용 SSD를 구성하여 각각의 특징을 활용한 시스템 구조와 플래시 메모리의 과도한 수명 감소를 줄이는 RAID 알고리즘을 제시한다.RAID-5 and RAID-6, which are based on parity operations, perform two reads and two writes, four total disk accesses, when performing the modify command. In other words, since the write request for the disk becomes high, the program / erase cycle which indicates the storage / deletion of the flash memory is continuously increased. In the present invention, a dedicated SSD for computing and recording a parity bit is configured in a storage system environment composed of multi-type All SSD such as a storage server or a RAID configuration of a storage, and a system structure utilizing each characteristic and a flash memory To reduce the excessive lifetime of the RAID controller.

다기종의Multifarious 특징을 고려한 All  All considering characteristics SSDSSD 스토리지storage 시스템 구성 System configuration

다기종 SSD의 특징을 살린 All SSD 스토리지 시스템 구성은 도1과 같이 간략하게 표현할 수 있다. 구성된 스토리지 시스템의 SSD는 두 타입으로 나뉜다. 특히 DRAM SSD 는 NVMe SSD(SAS급)보다 소량으로 설치되며 용량 또한 ~몇백 GB 단위로 일반적인 SSD와 비교하여 상대적으로 저용량이다. The configuration of an All SSD storage system that utilizes features of multi-type SSDs can be briefly described as shown in FIG. There are two types of SSDs in a configured storage system. In particular, the DRAM SSD is installed in a smaller amount than the NVMe SSD (SAS grade), and its capacity is ~ a few hundred GB, which is relatively low compared to a general SSD.

본 발명에서는 다수의 DRAM SSD를 통합하여 구성된 단일 DRAM SSD로 재구성한다. 이때 상이한 크기의 용량을 가진 장치들을 RAID로 구성할 경우, 작은 용량의 크기에 큰 용량의 디스크가 맞춰지기 때문에 몇백 GB ~ 몇십 TB단위의 용량을 가지는 NVMe SSD에 근접하는 크기의 용량을 확보해야 한다. 이후 단일로 구성된 DRAM SSD와 다수의 NVMe SSD를 이용하여 RAID를 구성하고 플래시 메모리에 최적화된 알고리즘으로 수행한다. 두 타입의 SSD 특징은 다음과 같이 기술할 수 있다. 바람직하게는, 128GB의 DRAM SSD 4개와, 512GB의 NVMe SSD 다수 개로 구성한다.In the present invention, a plurality of DRAM SSDs are reconfigured into a single DRAM SSD that is configured by integration. At this time, if the devices having different sizes are configured as RAID, a capacity of a size close to that of an NVMe SSD having a capacity of several hundreds of gigabytes to tens of TBs must be secured . After that, RAID is configured by using a single SSD and many NVMe SSDs, and the optimized algorithm is applied to the flash memory. The two types of SSD features can be described as follows. Preferably, it comprises four 128GB DRAM SSDs and a plurality of 512GB NVMe SSDs.

여기에서, DRAM SSD는 태진인포택의 ZetSpeed 장치를 이용한다. ZetSpeed는 휘발성 특징을 가지는 DRAM 메모리에 별도의 배터리를 장착하여 서버가 종료되어도 데이터를 저장할 수 있는 비휘발성 특징을 가진다. DRAM SSD는 NVMe SSD의 플래시 메모리 기반과 다르게 메모리 수명을 가지고 있지 않기 때문에 쓰기 명령에 대한 한계가 없으며 플래시 메모리보다 높은 성능을 가진다. 하지만 높은 용량을 가질 수 없으며 하나의 서버에 총 128GB용량의 DRAM SSD를 최대 4대로 구성할 수 있다.Here, the DRAM SSD uses a ZetSpeed device from Taejin Incontact. ZetSpeed has a nonvolatile feature that can store data even when the server is shut down, with a separate battery in the DRAM memory with volatile characteristics. Since the DRAM SSD does not have a memory lifetime different from that of the NVMe SSD, it has no limitation on the write command and has a higher performance than the flash memory. However, it can not have high capacity, and it can configure up to four DRAM SSDs with a total capacity of 128GB on one server.

다음으로 NVMe SSD 장치의 경우, 별도의 구성 없이 기존의 하드디스크 슬롯에 장착이 가능하고 DRAM SSD와 비교하여 단일 장치만으로도 용량이 높기 때문에 TB 단위의 높은 용량으로 구성이 가능하다. 하지만 플래시 메모리를 기반으로 하기 때문에 지속적인 쓰기가 발생할 경우 빠른 시간 안에 수명이 다할 수 있다.Next, in case of NVMe SSD device, it can be installed in existing hard disk slot without a separate configuration, and it can be configured with a high capacity of TB unit because the capacity is high by a single device as compared with DRAM SSD. However, since it is based on flash memory, if it is continuously written, the life can be shortened within a short time.

본 발명에 따르는 All SSD 스토리지에 최적화된 RAID 알고리즘은 단일로 구성된 DRAM SSD와 다수의 NVMe SSD 구성을 기반으로 플래시 메모리의 특성을 고려하여 수행하도록 구성된다. 패리티 비트를 이용하는 RAID-5와 RAID-6는 내부적으로 파일이 저장되면 원본 데이터가 저장된 데이터블록과 패리티 연산을 통해 생성된 패리티 블록으로 나뉜다. 각각의 패리티 블록은 전술한 바와 같은 SSD의 특징을 고려하여 나눠서 저장된다. 이를 위해 본 발명에서는 세 가지 RAID 구성을 제안한다.The RAID algorithm optimized for All SSD storage according to the present invention is configured to perform considering the characteristics of the flash memory based on a single configured DRAM SSD and a plurality of NVMe SSD configurations. RAID-5 and RAID-6 using parity bits are divided into a data block in which original data is stored and a parity block generated through parity operation when a file is internally stored. Each parity block is divided and stored in consideration of the characteristics of the SSD as described above. To this end, the present invention proposes three RAID configurations.

1. 확장형 RAID 구성1. Extended RAID configuration

확장형 RAID 구성은 도2에 도시된 바와 같이, 소수의 DRAM SSD를 하나의 DRAM SSD로 묶는 기술을 기초로 한다. RAID 구성 시 각각의 디스크에서 사용할 수 있는 용량은 가장 작은 용량의 디스크를 기준으로 설정된다. 따라서 다수의 디스크를 결합하여 용량이 큰 SSD와의 용량 차이를 줄이면 사용할 수 있는 가용용량을 늘릴 수 있다. 이를 위해 각각의 128GB 용량을 가지는 DRAM SSD를 최대 4개로 묶어 512GB 용량을 가지는 단일 DRAM SSD로 구성할 수 있다. 그 결과 높은 용량을 가진 NVMe SSD와 용량 차이를 줄여 높은 가용용량을 가질 수 있다.The scalable RAID configuration is based on a technique of grouping a small number of DRAM SSDs into one DRAM SSD, as shown in FIG. In RAID configuration, the capacity available on each disk is set based on the disk with the smallest capacity. Therefore, by combining multiple disks and reducing the capacity difference with a larger capacity SSD, the usable capacity that can be used can be increased. For this purpose, a maximum of four DRAM SSDs with 128GB capacities can be combined into a single DRAM SSD with 512GB capacities. As a result, NVMe SSDs with high capacities can be reduced in capacity and have high available capacity.

다음으로 단일로 구성된 DRAM SSD와 다수의 NVMe SSD를 RAID로 구성하고 DRAM SSD를 패리티 전용 디스크로 지정하여 패리티와 관련된 연산은 모두 DRAM SSD에서 처리하게 한다. 이를 통해 쓰기 및 수정 명령 수행 시 수정된 데이터블록은 NVMe SSD를 검색하여 필요한 블록만을 수정하고 재연산 된 패리티블록은 DRAM SSD에 저장되기 때문에 이중으로 발생하는 수명 저하를 해결할 수 있다.Next, a single DRAM SSD and multiple NVMe SSDs are configured as RAID, and a DRAM SSD is designated as a parity-only disk so that all operations related to parity are handled by the DRAM SSD. In this way, when the write and modify commands are executed, the corrected data blocks are retrieved from the NVMe SSD, and only the necessary blocks are modified. The re-computed parity blocks are stored in the DRAM SSD.

2. 2. 링크형Link type RAID 구성 RAID Configuration

링크형 RAID 구성은 RAID-5에서 개량된 다기종의 All SSD 스토리지에 최적화된 RAID 알고리즘이다.Linked RAID configuration is a RAID algorithm optimized for all types of SSD storage upgraded in RAID-5.

우선 확장형 RAID 구성에서, 단일로 구성된 DRAM SSD에 수정빈도가 높은 패리티블록을 저장한다. 그리고 DRAM SSD에 저장된 패리티블록의 주소를 기존의 패리티블록이 저장되어야 할 위치에 저장한다. 만약 시스템에서 패리티블록을 수정하거나 읽기 명령을 수행할 경우 NVMe SSD에 저장된 링크를 통해 DRAM SSD에 접근하여 패리티블록이 저장된 공간에서 작업을 수행한다. DRAM SSD는 앞에서 언급한 것처럼 NVMe SSD에 비해 높은 성능을 가지며 수명 또한 제한되지 않는다. 따라서 수정 빈도가 높은 데이터(LFU 방식)의 패리티블록을 DRAM SSD에 저장하여 NVMe SSD의 수명 감소를 줄인다. 하지만 단일로 구성된 DRAM SSD에 모든 패리티블록이 저장될 수는 없다. 앞서 설명한 RAID 특성처럼 RAID 구성에서 서로 다른 용량을 가진 디스크로 단일 DRAM SSD를 구성할 경우 가장 작은 용량을 가진 디스크를 기준으로 가용용량이 정해진다. 즉 용량의 낭비가 발생하게 된다.First, in an extended RAID configuration, a parity block having a high modification frequency is stored in a single-unit DRAM SSD. The address of the parity block stored in the DRAM SSD is stored in a position where the existing parity block is to be stored. If the system modifies the parity block or executes the read command, it accesses the DRAM SSD through the link stored in the NVMe SSD and performs the operation in the space where the parity block is stored. The DRAM SSD has higher performance than the NVMe SSD as mentioned above and its lifetime is not limited. Therefore, the parity block of the data with high modification frequency (LFU scheme) is stored in the DRAM SSD to reduce the lifetime of the NVMe SSD. However, not all parity blocks can be stored in a single configured DRAM SSD. When configuring a single DRAM SSD from disks with different capacities in a RAID configuration, such as the RAID characteristics described above, the available capacity is determined based on the disk with the smallest capacity. That is, a waste of capacity occurs.

하지만 이 구성에서 All SSD 스토리지 구성의 RAID-5는 데이터블록의 처리는 확장형 RAID 구성과 같이 NVMe SSD로만 구성하고, 단일 DRAM SSD의 경우 링크로만 연결되기 때문에 낮은 가용용량을 가지지 않으며 NVMe SSD의 모든 용량을 활용할 수 있다. 만약 단일 DRAM SSD의 용량이 512GB이며, 각각의 NVMe SSD의 용량이 4TB의 경우, 링크형으로 구성한다면 사용빈도가 높은 상위 6%(512/4096) 까지의 패리티블록을 DRAM SSD에 저장할 수 있다. 나머지 패리티 블록은 NVMe SSD에 저장되지만 사용빈도가 낮은 또는 읽기 위주의 블록이기 때문에 실제로 수정이 발생하는 범위에 따라서 시스템 구성이 변경될 수 있다.In this configuration, however, RAID-5 in the All SSD storage configuration does not have low available capacity because the processing of the data blocks is done with NVMe SSD just like an expandable RAID configuration and only with link in case of single DRAM SSD, Can be utilized. If the capacity of a single DRAM SSD is 512GB and the capacity of each NVMe SSD is 4TB, a parity block of up to 6% (512/4096), which is frequently used, can be stored in the DRAM SSD if it is configured as a link type. The remaining parity blocks are stored in the NVMe SSD, but because they are less frequently used or read-intensive blocks, the system configuration may change depending on the extent to which the modification actually occurs.

3. 압축형 RAID 구성3. Compressed RAID Configuration

압축형 RAID 구성은 RAID-4에서 개량된 All SSD 스토리지에 최적화된 RAID 알고리즘이다. 압축형 RAID 구성 또한 확장형 RAID 구성에서 제시한 단일 DRAM SSD를 기반으로 호스트 서버에서 발생하는 패리티블록을 1차적으로 저장하는 역할을 담당한다.Compressed RAID configuration is a RAID algorithm optimized for All SSD storage upgraded in RAID-4. The compression type RAID configuration also plays a role of primarily storing the parity blocks generated in the host server based on the single DRAM SSD presented in the extended RAID configuration.

확장형 RAID 구성에서 단일 DRAM SSD 용량이 NVMe SSD가 사용할 수 있는 최대 용량일 경우, 압축형 RAID 구성은 링크형 RAID 구성과 마찬가지로 DRAM SSD 용량과 관계없이 NVMe SSD 용량을 최대로 사용할 수 있다. 또한 링크형 RAID는 수정 명령을 기준으로 사용빈도가 높은 패리티블록에 대해서만 보장이 가능하였다면, 압축형 RAID 구성의 경우 쓰기 및 수정, 모든 명령에 대한 패리티블록을 압축하여 저장한다. 더 나아가 압축률에 따라서 지원할 수 있는 NVMe SSD의 최대 용량을 선택할 수 있다.In a scalable RAID configuration, if a single DRAM SSD capacity is the maximum capacity available for an NVMe SSD, a compressed RAID configuration can take full advantage of the NVMe SSD capacity, regardless of the DRAM SSD capacity, as well as the linked RAID configuration. Also, if the link type RAID can guarantee only the frequently used parity block based on the modification command, write and modify in the compression type RAID configuration, and store the parity block for all the instructions. Furthermore, you can choose the maximum capacity of the NVMe SSD that can be supported depending on the compression ratio.

도5는 압축형 RAID 구성의 상세 구성과 호스트 서버로부터 명령을 전달받으면 수행하는 내부 구조를 보여준다. 호스트 서버에서 쓰기 명령이 발생하면 핫-큐(Hot-Queue)에 저장되고 업데이트가 반복되는 패리티 블록의 경우 핫-큐에 머물고, 업데이트가 오래된 패리티 블록(LRU)의 경우 핫-큐에서 제거되어 가비지-스택(Garbage Stack)에 쌓인다. 이후 스택의 압축률에 따른 최대 크기로 쌓일 경우 압축을 진행한다. 압축된 패리티 블록은 S/B(Spare and Backup Disk)에 저장된다. 이후 RAID로 묶인 디스크에서 장애가 발생하여 S/B 디스크가 Spare 역할을 수행해야 할 경우 해당 S/B에 저장된 압축 패리티 블록을 모두 DRAM SSD에 옮긴 후 Spare 작업을 진행하여 복구를 진행한다. FIG. 5 shows a detailed configuration of a compression type RAID configuration and an internal structure to be executed when a command is received from a host server. When the host server issues a write command, it remains in the hot-queue for parity blocks that are stored in the hot-queue and are updated repeatedly, and for the old parity blocks (LRUs) that are updated, - Stack on stack (Garbage Stack). Then, compression is performed when the maximum size is accumulated according to the compression ratio of the stack. The compressed parity block is stored in a spare and backup disk (S / B). If the S / B disk needs to perform the spare operation after the failure of the disk bundled with the RAID, the spare parity blocks stored in the S / B are all transferred to the DRAM SSD, and then the spare operation is performed to recover.

이상과 같이 본 발명에서는 구체적인 구성 요소 등과 같은 특정 사항들과 한정된 실시예 및 도면에 의해 설명되었으나 이는 본 발명의 보다 전반적인 이해를 돕기 위해서 제공된 것일 뿐, 본 발명은 상기의 실시예에 한정되는 것은 아니며, 본 발명이 속하는 분야에서 통상적인 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형이 가능하다. 따라서, 본 발명의 사상은 설명된 실시예에 국한되어 정해져서는 아니되며, 후술하는 특허청구범위뿐 아니라 이 특허청구범위와 균등하거나 등가적 변형이 있는 모든 것들은 본 발명 사상의 범주에 속한다고 할 것이다.As described above, the present invention has been described with reference to particular embodiments, such as specific elements, and specific embodiments and drawings. However, it should be understood that the present invention is not limited to the above- And various modifications and changes may be made thereto by those skilled in the art to which the present invention pertains. Accordingly, the spirit of the present invention should not be construed as being limited to the embodiments described, and all of the equivalents or equivalents of the claims, as well as the following claims, belong to the scope of the present invention .

Claims (3)

4개의 DRAM SSD를 결합하여 단일로 구성되는 확장형 DRAM SSD; 및
다수의 NVMe SSD를 포함하고,
상기 확장형 DRAM SSD는 패리티 전용 디스크로서, 패리티 관련 연산이 수행되어 재연산된 패리티 블록이 저장되는
NVMe-SSD 기반 RAID 스토리지 시스템.
An expandable DRAM SSD consisting of a single SSD combined with four DRAMs; And
Includes multiple NVMe SSDs,
The expandable DRAM SSD is a parity-only disk, in which a parity-related operation is performed and a re-computed parity block is stored
NVMe-SSD-based RAID storage system.
4개의 DRAM SSD를 결합하여 단일로 구성되는 확장형 DRAM SSD; 및
다수의 NVMe SSD를 포함하고,
상기 확장형 DRAM SSD와 다수의 NVMe SSD는 링크로 연결되고,
상기 확장형 DRAM SSD에는 설정값 이상의 수정 빈도를 갖는 패리티 블록이 저장되고,
상기 NVMe SSD에는 상기 단일 DRAM SSD에 저장된 패리티 블록의 주소, 및 설설정값 미마의 수정 빈도를 갖는 패리티 블록이 저장되는
NVMe-SSD 기반 RAID 스토리지 시스템.
An expandable DRAM SSD consisting of a single SSD combined with four DRAMs; And
Includes multiple NVMe SSDs,
The expandable DRAM SSD and the plurality of NVMe SSDs are linked by a link,
A parity block having a correction frequency higher than a set value is stored in the expandable DRAM SSD,
In the NVMe SSD, a parity block having the address of the parity block stored in the single DRAM SSD and the correction frequency of the set value is stored
NVMe-SSD-based RAID storage system.
4개의 DRAM SSD를 결합하여 단일로 구성되는 확장형 DRAM SSD;
다수의 NVMe SSD; 및
확장형 DRAM SSD에서 압축된 패리티 블록을 저장하는 S/B(Spare and Backup Disk)를 포함하고,
상기 확장형 DRAM SSD는, 호스트 서버로부터 쓰기 및 수정 명령을 수신할 경우 패리티 모듈이 생성한 패리티 블록을 저장하는 핫-큐(Hot-Queue), 사전설정된 기간내에 새롭게 업데이트되지 않는 패리티 블록이 핫-큐로부터 제거되어 쌓이는 가비지-스택(Garbage Stack), 가비지 스택의 최대 용량만큼 쌓일 경우 쌓인 패리티 블록을 압축하는 압축 모듈을 포함하는
NVMe-SSD 기반 RAID 스토리지 시스템.
An expandable DRAM SSD consisting of a single SSD combined with four DRAMs;
Multiple NVMe SSDs; And
And a spare and backup disk (S / B) for storing compressed parity blocks in an expandable DRAM SSD,
The extended DRAM SSD includes a hot-queue for storing a parity block generated by a parity module when receiving a write and modify command from a host server, a parity block that is not newly updated within a predetermined period, And a compression module for compressing a parity block accumulated when the garbage stack is accumulated by a maximum capacity of the garbage stack,
NVMe-SSD-based RAID storage system.
KR1020170159900A 2017-11-28 2017-11-28 NVMe-SSD BASED STORAGE SYSTEM KR20190061473A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020170159900A KR20190061473A (en) 2017-11-28 2017-11-28 NVMe-SSD BASED STORAGE SYSTEM

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020170159900A KR20190061473A (en) 2017-11-28 2017-11-28 NVMe-SSD BASED STORAGE SYSTEM

Publications (1)

Publication Number Publication Date
KR20190061473A true KR20190061473A (en) 2019-06-05

Family

ID=66844591

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020170159900A KR20190061473A (en) 2017-11-28 2017-11-28 NVMe-SSD BASED STORAGE SYSTEM

Country Status (1)

Country Link
KR (1) KR20190061473A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11782616B2 (en) 2021-04-06 2023-10-10 SK Hynix Inc. Storage system and method of operating the same

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11782616B2 (en) 2021-04-06 2023-10-10 SK Hynix Inc. Storage system and method of operating the same

Similar Documents

Publication Publication Date Title
US11435799B2 (en) Memory system and controller
US20220139455A1 (en) Solid state drive architectures
US9405621B2 (en) Green eMMC device (GeD) controller with DRAM data persistence, data-type splitting, meta-page grouping, and diversion of temp files for enhanced flash endurance
US9547589B2 (en) Endurance translation layer (ETL) and diversion of temp files for reduced flash wear of a super-endurance solid-state drive
TWI506431B (en) Virtual memory device (vmd) application/driver with dual-level interception for data-type splitting, meta-page grouping, and diversion of temp files to ramdisks for enhanced flash endurance
US8959280B2 (en) Super-endurance solid-state drive with endurance translation layer (ETL) and diversion of temp files for reduced flash wear
US10884914B2 (en) Regrouping data during relocation to facilitate write amplification reduction
US9720616B2 (en) Data-retention controller/driver for stand-alone or hosted card reader, solid-state-drive (SSD), or super-enhanced-endurance SSD (SEED)
US9111618B2 (en) De-duplication in flash memory module
US8819334B2 (en) Solid state drive data storage system and method
US20170199682A1 (en) System, method, and computer program product for increasing spare space in memory to extend a lifetime of the memory
US10127166B2 (en) Data storage controller with multiple pipelines
US9542119B2 (en) Solid-state mass storage media having data volumes with different service levels for different data types
US9235502B2 (en) Systems and methods for configuring non-volatile memory
US20130145085A1 (en) Virtual Memory Device (VMD) Application/Driver with Dual-Level Interception for Data-Type Splitting, Meta-Page Grouping, and Diversion of Temp Files to Ramdisks for Enhanced Flash Endurance
US20190294345A1 (en) Data-Retention Controller Using Mapping Tables in a Green Solid-State-Drive (GNSD) for Enhanced Flash Endurance
CN109992530A (en) A kind of solid state drive equipment and the data read-write method based on the solid state drive
US20130191578A1 (en) Storing cached data in over-provisioned memory in response to power loss
US20170242789A1 (en) Garbage collection techniques for a data storage system
CN114730282A (en) ZNS parity exchange to DRAM
CN110390985B (en) Memory management method, memory storage device and memory control circuit unit
CN115114058A (en) Managing storage space reduction and reuse in the presence of storage device failures
CN115114057A (en) Managing capacity reduction in moving down multi-level memory cells
US11288197B2 (en) Method and apparatus for performing pipeline-based accessing management in a storage server
CN113590505A (en) Address mapping method, solid state disk controller and solid state disk

Legal Events

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