KR101382273B1 - A Hybrid Data Deduplication Method for Reducing Wear-Level of SSD-based Server Storage - Google Patents

A Hybrid Data Deduplication Method for Reducing Wear-Level of SSD-based Server Storage Download PDF

Info

Publication number
KR101382273B1
KR101382273B1 KR1020110099936A KR20110099936A KR101382273B1 KR 101382273 B1 KR101382273 B1 KR 101382273B1 KR 1020110099936 A KR1020110099936 A KR 1020110099936A KR 20110099936 A KR20110099936 A KR 20110099936A KR 101382273 B1 KR101382273 B1 KR 101382273B1
Authority
KR
South Korea
Prior art keywords
data
deduplication
ssd
storage device
writes
Prior art date
Application number
KR1020110099936A
Other languages
Korean (ko)
Other versions
KR20130035561A (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 KR1020110099936A priority Critical patent/KR101382273B1/en
Publication of KR20130035561A publication Critical patent/KR20130035561A/en
Application granted granted Critical
Publication of KR101382273B1 publication Critical patent/KR101382273B1/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/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/064Management of blocks
    • G06F3/0641De-duplication techniques

Abstract

서버에서 수신한 데이터를 SSD(Solid State Disk) 저장장치에 저장시키되, 중복된 부분을 제거하여 저장하는 SSD 기반 서버급 저장장치의 복합적 데이터 중복제거 방법에 관한 것으로서, (a) 서버가 수신하는 데이터(이하 제1 데이터)의 쓰기 횟수를 획득하는 단계; (b) 쓰기 횟수를 이용하여 즉시 중복제거 방식과 예약 중복제거 방식 중 어느 하나를 선정하는 단계; (c) 즉시 중복제거 방식이 선정된 경우 제1 데이터에서 중복된 부분을 제거하여 SSD 저장장치에 저장하는 단계; (d) 예약 중복제거 방식이 선정된 경우 제1 데이터를 백업 저장부에 저장하도록 하는 단계; 및, (e) 백업 저장부로부터 데이터(이하 제2 데이터)를 읽어오고, 제2 데이터에서 중복된 부분을 제거하여 SSD 저장장치에 저장하는 단계를 포함하는 구성을 마련한다.
상기와 같은 방법에 의하여, 즉시 중복제거 방식과 예약 중복제거 방식을 함께 사용함으로써 예약 중복제거 방식보다 쓰기 횟수를 줄이고 즉시 중복제거 방식보다 처리 성능을 향상하여, 결과적으로 SSD의 마모를 극히 줄일 수 있다.
The present invention relates to a complex data deduplication method of an SSD-based server-class storage device which stores data received from a server in a solid state disk (SSD) storage, and removes and stores duplicated portions. Obtaining the number of writes of the first data); (b) selecting one of an immediate deduplication scheme and a reserved deduplication scheme using a write count; (c) if the deduplication method is selected immediately, removing the duplicated portion from the first data and storing the duplicated portion in the SSD storage device; (d) storing the first data in the backup storage unit when the reserved deduplication method is selected; And (e) reading data (hereinafter referred to as second data) from the backup storage unit, and removing the duplicated portion from the second data and storing the data in the SSD storage device.
By using the above method, by using both the instant deduplication method and the reservation deduplication method, the number of writes is reduced compared to the reservation deduplication method and the processing performance is improved compared to the instant deduplication method, and as a result, SSD wear can be extremely reduced. .

Description

SSD 저장장치의 마모도 감소를 위한 SSD 기반 서버급 저장장치의 복합적 데이터 중복제거 방법 { A Hybrid Data Deduplication Method for Reducing Wear-Level of SSD-based Server Storage }A Hybrid Data Deduplication Method for Reducing Wear-Level of SSD-based Server Storage}

본 발명은 SSD를 서버 스토리지로 사용할 때 기존의 데이터 중복 제거 기법의 장점만을 조합하여 서버로 이동 중인 데이터가 적을 경우 즉시 중복제거 방식을 사용하고 데이터가 많을 경우에는 예약 중복제거 방식을 사용하는 SSD 기반 서버급 저장장치의 복합적 데이터 중복제거 방법에 관한 것이다.
According to the present invention, when SSD is used as server storage, only the advantages of the existing data deduplication method are combined, and the SSD-based method uses an instant deduplication method when there is a small amount of data moving to the server and a reservation deduplication method when there is a lot of data. The present invention relates to a complex data deduplication method for server class storage devices.

일반적으로, SSD(Solid State Disk)는 NAND 플래시 메모리를 이용한 새로운 저장장치로서 소비 전력이 작으며 데이터 접근 속도가 빠르고 외부 충격에 강한 장점을 가진 저장장치이다.Generally, solid state disks (SSDs) are new storage devices using NAND flash memory, and have low power consumption, fast data access speed, and strong external shock.

NAND 플래시 메모리는 기존 하드디스크(HDD)와 다르게 쓰기 연산을 실행된 위치에 다시 데이터를 쓰기 위해서는 반드시 삭제 연산을 수행해야한다. 또 다른 특성으로는 소거연산이 읽기나 쓰기연산에 비해 수행 속도가 매우 느리며, 쓰기/삭제 연산 횟수의 제한을 가지는 단점이 있는데, 한 셀에 하나의 데이터를 저장하는 SLC(Single Level Cell) 타입은 10만번, 한 셀에 두 개의 데이터를 저장하는 MLC(Multi Level Cell) 타입은 1만번의 내구도를 가진다. 또한 한 셀에 셋이상의 데이터를 저장하게 될 경우 더 낮은 내구성을 가지게 되고 그로인해 여러 대의 SSD를 서버로 사용하는 스토리지의 경우 쓰기가 많은 환경에서는 디스크의 손실율이 증가함으로 인해 금전적인 손해가 발생하게 된다.Unlike a conventional hard disk (HDD), NAND flash memory must perform a delete operation in order to write data back to a location where a write operation is performed. Another characteristic is that the erase operation is much slower than the read or write operation, and has the disadvantage of limiting the number of write / delete operations. The SLC (Single Level Cell) type stores one data in one cell. 100,000 times, MLC (Multi Level Cell) type that stores two data in one cell has 10,000 durability. In addition, storing more than three data in a cell has lower durability, and in the case of storage using several SSDs as a server, in the case of a write-intensive environment, the loss of disk increases, resulting in financial damages. .

따라서 이러한 특성을 가진 SSD에 단점을 보완하기 위해서 데이터 중복제거 기술을 사용하여 타겟 스토리지에 중복된 데이터는 제거하여 디스크 공간을 확보할 수 있다. 데이터 중복 제거 기술은 중복 데이터 파일을 제거하고 고유한 내용만을 저장함으로써 데이터 비용을 절감하는 기술로 대형 서버를 구축하는 비용을 줄이고, 효율적인 백업을 위해 사용되는 기술이다.Therefore, in order to make up for the shortcomings of SSDs with these characteristics, data deduplication can be used to free up disk space by removing redundant data in the target storage. Data deduplication is a technology that reduces data costs by eliminating duplicate data files and storing only unique contents, which reduces the cost of building large servers and is used for efficient backup.

이 기술은 중복 제거가 일어나는 장소에 따라 소스 기반 중복 제거 방식과 타겟 기반 중복제거 방식으로 분류된다. 소스 기반 중복 제거 방식은 데이터가 백업 타겟으로 전송되기 전에 소스 단에서 미리 중복 제거를 수행하는 방식이다.This technology is classified into source-based deduplication and target-based deduplication depending on where deduplication occurs. Source-based deduplication is a method in which data is deduplicated in advance before data is sent to the backup target.

타겟기반 중복 제거 방식은 2가지 방식을 사용한다. 첫째, 즉시 중복 제거 방식(In-line deduplication)은 타겟 스토리지에 데이터가 저장되기 전에 데이터를 중복 제거하는 방식이다. 둘째, 예약 중복 제거 방식 (Post-Processing deduplication)은 데이터를 임시 디스크에 저장 후에 중복 제거하는 방식이다.Target-based deduplication uses two methods. First, in-line deduplication is a method of deduplicating data before it is stored on the target storage. Second, post-processing deduplication is a method of deduplicating data after storing it on a temporary disk.

만약 효과적으로 스토리지의 중복 데이터를 관리하지 않으면 가용 공간이 부족하게 되고 가비지 컬렉션이 자주 발생하여 불필요한 쓰기/삭제 연산이 많이 발생하게 되므로 마모도가 증가하게 된다.If you do not manage redundant data in storage effectively, you will run out of available space, garbage collection will occur frequently, and unnecessary write / delete operations will occur.

한편, 중복 데이터를 효과적으로 사용하기 위해 IBM과 Data Domain, Dell 등의 여러 기업들과 대학 연구소 등에서 기술이 연구되고 있다. 네트워크상에서 중복된 데이터를 사용하여 중복된 데이터를 제외한 데이터만을 백업하는 Pastiche 기법에 관한 연구를 미시간 대학교의 Landon P.Cox가 진행하고 있으며, Data Domain, Inc.와 프린스톤 대학교에서는 중복 제거 파일 시스템에서의 디스크 병목 현상을 피하기 위한 방법을 사용하여 디스크로의 엑세스를 최소화하고 중복 제거를 하면서도 데이터 서버의 디스크 접근율을 향상시키는 기술을 연구 중이다. 또한, IBM과 텍사스 주립대학에서는 가상 머신이 만들어 내는 이미지들은 중복 데이터를 다수 발생시키므로 이미지 내의 중복 데이터를 SHA-1로 해싱하여 중복된 해시 정보와 하드 링크된 데이터 제거하는 기술을 연구 중이다.Meanwhile, technologies are being studied by companies such as IBM, Data Domain, Dell, and university research labs to effectively use redundant data. University of Michigan's Landon P. Cox is conducting research on Pastiche, which uses only duplicated data on the network to back up only the data that is not duplicated. Data Domain, Inc. and Princeton University Using techniques to avoid disk bottlenecks, we are researching techniques to improve disk access rates of data servers while minimizing and deduplicating disk access. In addition, IBM and Texas State University are researching a technique to remove redundant hash information and hard-linked data by hashing the redundant data in the image with SHA-1 because the images generated by the virtual machine generate a lot of redundant data.

델타 인코딩을 사용해 인터넷 상의 전자메일이나 웹 페이지 등의 중복된 데이터를 제거하는 DRED 시스템이 있으며 Pastiche, Chord 같은 P2P 오버레이 네트워크에서 파일의 중복 저장을 차단하기 위해 MD5, SHA-1 해시 함수를 사용해서 파일 저장 시 파일의 해시를 만들고 서로 비교하여 같은 해시이면 중복으로 처리하여 저장을 막는다. There is a DRED system that uses delta encoding to remove redundant data such as e-mails or web pages on the Internet, and uses MD5 and SHA-1 hash functions to prevent duplicate storage of files in P2P overlay networks such as Pastiche and Chord. When saving, create a hash of the file and compare it with each other.

LBFS (Low-bandwidth Network File System)는 네트워크 환경이 좋지 않을 때를 고안하여 설계된 네트워크 파일 시스템이다. 네트워크 연결이 중단되었다가 다시 연결되어도 데이터 전송이 가능하도록 프로토콜을 설계하였고 네트워크 대역폭을 효율적으로 사용하기 위해 중복된 데이터의 재전송을 막는 기법을 고안하였다. LBFS에서는 CDC(Content-defined Chunks) 방식을 사용한다. Rabin Fingerprint로 해시하여 임의의 값을 반환하는 앵커(Anchor) 블록을 파일에 삽입한 후 데이터 전송 전에 앵커 사이의 블록을 MD5, SHA1같은 해시 함수를 사용해 해시를 만들고 그 해시들을 전송하여 서버에서 캐싱된 해시 룩업(Lookup) 테이블과 비교하여 중복을 검색한다.LBFS (Low-bandwidth Network File System) is a network file system designed to design when network conditions are not good. The protocol is designed to allow data transmission even when the network connection is interrupted and reconnected. In order to use the network bandwidth efficiently, the scheme is designed to prevent the retransmission of redundant data. LBFS uses CDC (Content-defined Chunks). Insert an anchor block into the file, hashing with Rabin Fingerprint, and returning a random value. Then, create a hash using hash functions such as MD5 and SHA1 and transfer the hashes to the server before sending data. Compare duplicates to hash lookup tables.

도 1은 중복 제거가 일어나는 장소 및 시점에 따른 분류로 나눈 대략적인 순서도이다. 크게 소스 기반과 타겟 기반 중복제거 방식으로 나뉘며 좀 더 효율적인 제거방식에 관한 연구들이 각 기업체 및 연구소에서 진행 중이다.1 is a schematic flowchart divided into classifications according to where and when deduplication occurs. The study is divided into source-based and target-based deduplication methods, and studies on more efficient removal methods are being conducted by each company and research institute.

타겟 기반 데이터 중복제거 방식은 즉시 중복 제거 방식과 예약 중복 제거 방식이 있다.Target-based data deduplication includes immediate deduplication and scheduled deduplication.

즉시 중복 제거 방식은 서버로 이동 중인 데이터를 분석하기 위해 전용 어플라이언스를 사용한다. 어플라이언스는 데이터가 통과하는 동안 실시간으로 4KB 청크블록으로 나누고 해시를 생성한 후 중복되지 않은 데이터만 서버로 전송한다. 서버로 이동 중인 데이터량이 적을 경우 효율적이지만 데이터량이 많을 경우 SSD의 IOPS(IO operations per second)에 제한되어 데이터 병목현상(bottleneck)이 일어나는 단점이 있다.Instant deduplication uses a dedicated appliance to analyze the data moving to the server. The appliance divides the data into 4KB chunk blocks in real time while generating data, generates hashes, and sends only non-redundant data to the server. It is efficient when the amount of data being moved to the server is small, but when there is a large amount of data, it is limited to IO operations per second (IOPS) of the SSD, which causes a data bottleneck.

예약 중복 제거 방식은 데이터 경로의 외부에서 중복제거를 한다. 중복 제거 전의 중간 단계에 데이터를 저장하기 위한 별도의 스토리지가 필요하다는 점이 특징이며, 완전한 네이티브 백업 이미지를 생성하므로 디스크 타겟에서 직접 신속한 복구가 가능하다는 장점이 있다. 하지만 중복제거를 적용하기 전에 네이티브 백업 이미지를 저장할 스토리지 용량이 추가로 필요하다는 점이 고려해야할 점이다.The reserved deduplication method deduplicates data outside the data path. It requires a separate storage to store data in the intermediate stage before deduplication, and has the advantage of creating a complete native backup image for fast recovery directly from the disk target. However, it is important to consider that additional storage capacity is needed to store native backup images before applying deduplication.

최근의 연구는 HP의 Sparse Indexing 및 Data Domain의 Stream-Informed Segment Layout Summary Vector등을 제시하고 있으며 대용량의 데이터를 처리시 문제가 되고 있는 해시 데이터를 효율적으로 처리하는데 중점을 두고 있다.
Recent research suggests HP's Sparse Indexing and Data Domain's Stream-Informed Segment Layout Summary Vector, and focuses on efficiently processing hash data that is problematic when processing large amounts of data.

본 발명의 목적은 상술한 바와 같은 문제점을 해결하기 위한 것으로, SSD를 서버 스토리지로 사용할 때 기존의 데이터 중복 제거 기법의 장점만을 조합하여 서버로 이동 중인 데이터가 적을 경우 즉시 중복제거 방식을 사용하고 데이터가 많을 경우에는 예약 중복제거 방식을 사용하는 SSD 기반 서버급 저장장치의 복합적 데이터 중복제거 방법을 제공하는 것이다.
An object of the present invention is to solve the problems described above, when using the SSD as server storage only when combined with the advantages of the existing data deduplication technique to use a deduplication immediately if there is less data moving to the server and the data In many cases, it provides a complex data deduplication method for SSD-based server-class storage devices using reserved deduplication.

상기 목적을 달성하기 위해 본 발명은 서버에서 수신한 데이터를 SSD(Solid State Disk) 저장장치에 저장시키되, 중복된 부분을 제거하여 저장하는 SSD 기반 서버급 저장장치의 복합적 데이터 중복제거 방법에 관한 것으로서, (a) 상기 서버가 수신하는 데이터(이하 제1 데이터)의 쓰기 횟수를 획득하는 단계; (b) 상기 쓰기 횟수를 이용하여 즉시 중복제거 방식과 예약 중복제거 방식 중 어느 하나를 선정하는 단계; (c) 상기 즉시 중복제거 방식이 선정된 경우 상기 제1 데이터에서 중복된 부분을 제거하여 상기 SSD 저장장치에 저장하는 단계; (d) 상기 예약 중복제거 방식이 선정된 경우 상기 제1 데이터를 백업 저장부에 저장하도록 하는 단계; 및, (e) 상기 백업 저장부로부터 데이터(이하 제2 데이터)를 읽어오고, 상기 제2 데이터에서 중복된 부분을 제거하여 상기 SSD 저장장치에 저장하는 단계를 포함하는 것을 특징으로 한다.In order to achieve the above object, the present invention relates to a complex data deduplication method of an SSD-based server-class storage device for storing the data received from the server in a solid state disk (SSD) storage device, removing the duplicated portion, (a) obtaining a number of writes of data (hereinafter, referred to as first data) received by the server; (b) selecting one of an immediate deduplication scheme and a reserved deduplication scheme using the number of writes; (c) removing the duplicated portion from the first data and storing the duplicated portion in the SSD storage device when the immediate deduplication method is selected; (d) storing the first data in a backup storage unit when the reserved deduplication method is selected; And (e) reading data (hereinafter referred to as second data) from the backup storage unit, and removing the duplicated portion from the second data and storing the data in the SSD storage device.

또, 본 발명은 SSD 기반 서버급 저장장치의 복합적 데이터 중복제거 방법에 있어서, 상기 (b)단계에서, 상기 제1 데이터의 쓰기 횟수가 사전에 정해진 임계값 이상이면 예약 중복제거 방식으로 판단하고, 상기 쓰기 횟수가 상기 임계값 보다 작으면 즉시 중복제거 방식으로 판단하는 것을 특징으로 한다.In addition, the present invention provides a complex data deduplication method of the SSD-based server-class storage device, in the step (b), if the number of times of writing the first data is more than a predetermined threshold value is determined by the reservation deduplication method, If the number of writes is less than the threshold, it is determined by the deduplication method immediately.

또, 본 발명은 SSD 기반 서버급 저장장치의 복합적 데이터 중복제거 방법에 있어서, 상기 (c)단계 또는 (e)단계에서, 상기 제1 또는 제2 데이터를 청크(chunk)블록으로 구분하고, 상기 청크블록 단위로 중복 여부를 판단하여 중복된 경우 상기 제1 또는 제2 데이터에서 상기 청크블록을 제거하는 것을 특징으로 한다.In addition, the present invention, in the complex data deduplication method of the SSD-based server-class storage device, in the step (c) or (e), the first or second data is divided into chunk blocks, and the chunk The method may determine whether the blocks are duplicated on a block basis, and in case of overlapping, remove the chunk blocks from the first or second data.

또, 본 발명은 SSD 기반 서버급 저장장치의 복합적 데이터 중복제거 방법에 있어서, 상기 (c)단계 또는 (e)단계에서, 상기 청크블록에 핑거프린팅 기법을 적용하여 고유의 해시값을 추출하고, 상기 청크블록의 고유 해시값이 사전에 저장된 고유 해시값들과 대비하여 동일한 고유 해시값이 있으면 상기 청크블록이 중복된 것으로 판단하는 것을 특징으로 한다.In addition, in the complex data deduplication method of the SSD-based server-class storage device, in the step (c) or (e), the unique hash value is extracted by applying a fingerprinting technique to the chunk block, If the unique hash value of the chunk block has the same unique hash value as compared with the previously stored unique hash values, the chunk block is determined to be a duplicate.

또, 본 발명은 SSD 기반 서버급 저장장치의 복합적 데이터 중복제거 방법에 있어서, 상기 (a)단계에서, 상기 제1 데이터의 메타 데이터를 후킹하여, 후킹한 메타 데이터로부터 쓰기 횟수를 획득하는 것을 특징으로 한다.
In addition, the present invention is a complex data deduplication method of the SSD-based server-class storage device, in the step (a), by hooking the metadata of the first data, characterized in that the number of writes from the hooked metadata is obtained; do.

상술한 바와 같이, 본 발명에 따른 SSD 기반 서버급 저장장치의 복합적 데이터 중복제거 방법에 의하면, 서버로 전송되는 데이터의 양에 따라서 중복제거 방식을 선택하여 사용함으로써 서버 저장장치를 SSD로 사용하는 스토리지의 성능 및 마모도 감소효과를 기대 할 수 있는 효과가 얻어진다.
As described above, according to the complex data deduplication method of the SSD-based server-class storage device according to the present invention, by using a deduplication method according to the amount of data transmitted to the server by using the server storage device as the SSD An effect that can be expected to reduce performance and wear is obtained.

도 1은 종래의 중복제거 시스템의 분류를 표시한 도면이다.
도 2는 본 발명을 실시하기 위한 전체 시스템의 구성을 도시한 것이다.
도 3은 본 발명의 일실시예에 이용되는 SSD 저장장치의 구조에 대한 블록 다이어그램이다.
도 4는 본 발명의 일실시예에 따른 중복제거 시스템(30)의 파일 시스템 구조의 구성도이다.
도 5는 본 발명의 일실시예에 따른 복합적 중복제거 시스템(30)의 구성도이다.
도 6은 본 발명의 일실시예에 따른 복합적 중복제거 시스템에 의한 세부적인 방법을 설명하는 흐름도이다.
도 7은 본 발명의 일 실험에 따른 연속된 쓰기 횟수에 따른 데이터 처리율의 결과를 도시한 그래프이다.
도 8은 본 발명의 일 실험에 따른 복합적 중복 제거 방법을 적용해 3GB를 전송시 비교를 도시한 그래프이다.
도 9는 본 발명의 일 실험에 따른 각 데이터별로 벤치마크한 결과를 도시한 표이다.
도 10은 본 발명의 일 실험에 따른 기존 데이터 중복제거 방법 및 본 발명의 복합적 중복제거 방법 연산 시간을 비교한 그래프이다.
도 11은 본 발명의 일 실험에 따른 예약 중복제거 기법 및 본 발명의 복합적 중복제거 방법의 마모도 측정한 그래프이다.
1 is a diagram showing a classification of a conventional deduplication system.
2 shows a configuration of an entire system for implementing the present invention.
3 is a block diagram of a structure of an SSD storage device used in an embodiment of the present invention.
4 is a block diagram of a file system structure of the deduplication system 30 according to an embodiment of the present invention.
5 is a configuration diagram of a complex deduplication system 30 according to an embodiment of the present invention.
6 is a flowchart illustrating a detailed method by a complex deduplication system according to an embodiment of the present invention.
7 is a graph showing the results of data throughput according to the number of consecutive writes according to an experiment of the present invention.
8 is a graph illustrating a comparison when transmitting 3GB by applying a complex deduplication method according to an experiment of the present invention.
9 is a table showing the results of benchmarking for each data according to an experiment of the present invention.
10 is a graph comparing the operation time of the existing data deduplication method and the complex deduplication method of the present invention according to an experiment of the present invention.
11 is a graph measuring the wear of the reservation deduplication technique and the complex deduplication method of the present invention according to an experiment of the present invention.

이하, 본 발명의 실시를 위한 구체적인 내용을 도면에 따라서 설명한다.DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS Hereinafter, the present invention will be described in detail with reference to the drawings.

또한, 본 발명을 설명하는데 있어서 동일 부분은 동일 부호를 붙이고, 그 반복 설명은 생략한다.
In the description of the present invention, the same parts are denoted by the same reference numerals, and repetitive description thereof will be omitted.

먼저, 본 발명을 실시하기 위한 전체 시스템의 구성을 도 2를 참조하여 설명한다.First, the structure of the whole system for implementing this invention is demonstrated with reference to FIG.

도 2에서 보는 바와 같이, 본 발명을 실시하기 위한 전체 시스템은 서버(20), 저장장치(40), 및 중복제거 시스템(30)으로 구성된다.As shown in FIG. 2, the entire system for implementing the present invention consists of a server 20, a storage device 40, and a deduplication system 30.

서버(20)는 데이터(10)를 수신하여 저장하는 기능을 가진 통상의 서버로서, 사용자 단말, 다른 서버, 네트워크 등으로부터 데이터를 수신한다. 서버(20)는 수신한 데이터를 저장장치(40)에 저장한다.The server 20 is a conventional server having a function of receiving and storing data 10, and receives data from a user terminal, another server, a network, and the like. The server 20 stores the received data in the storage device 40.

저장장치(40)는 SSD 저장장치(41) 및 백업 저장부(42) 등으로 구성된다. 즉, 저장장치(40)는 SSD로 구성된 저장장치(41)를 포함하고, 수신된 데이터는 주로 SSD 저장장치(41)에 저장된다.The storage device 40 includes an SSD storage device 41 and a backup storage unit 42. That is, the storage device 40 includes a storage device 41 composed of SSDs, and the received data is mainly stored in the SSD storage device 41.

SSD(Solid State Disk)는 다수의 NAND 플래시 메모리를 부착하고 호스트에서 요구하는 명령을 받아 수행하는 대용량 장치이다. 기존의 하드디스크와는 달리 플래시 메모리에서 사용하는 블록기반 구조는 마모도에 따른 수명제한이라는 특성을 가진다. 도 3은 SSD의 구조를 블록 다이어그램으로 나타내었다.Solid state disks (SSDs) are large-capacity devices that attach a number of NAND flash memories and receive commands from the host. Unlike conventional hard disks, the block-based structure used in flash memory has a characteristic of limiting life according to wear. 3 shows a block diagram of the structure of the SSD.

도 3에서 보는 바와 같이, SSD 내부 NAND 플래시 메모리에 저장된 데이터는 플래시 메모리 컨트롤러를 거쳐 FIFO & Control (First In, First Out)이 적용되어 SRAM 제어부(Controller)에 접근 한다. 이 데이터는 SRAM 제어부(Controller)에서 프로세서가 내린 명령에 따라 RAM에 접근이 결정된다.As shown in FIG. 3, data stored in the SSD NAND flash memory is applied to the SRAM controller by applying FIFO & Control (First In, First Out) through a flash memory controller. This data is determined to access the RAM according to a command issued by the processor in the SRAM controller.

중복제거 시스템(30)은 서버(20)에서 수신하는 데이터를 분석하여 데이터에서 중복된 부분을 찾아낸다. 그리고 중복된 부분을 제거한 후 데이터를 저장장치(40)에 저장시키도록 제어하는 시스템이다. 중복제거 시스템(30)은 서버(20)의 운영 시스템에 포함되어 구현될 수도 있고, 서버(20)와 별개로 구현될 수도 있다.The deduplication system 30 analyzes the data received from the server 20 to find a duplicate part of the data. And after removing the duplicated portion is a system for controlling to store the data in the storage device (40). The deduplication system 30 may be implemented by being included in the operating system of the server 20 or may be implemented separately from the server 20.

중복제거 시스템(30)은 데이터의 분석을 위하여 서버(20)가 수신하는 데이터에 접근할 수 있도록 구현된다. 특히, 종래의 서버 시스템을 변경하지 않는 경우에는 후킹 등의 방법을 이용하여, 서버(20)에서 수신하는 데이터에 접근하게 구현될 수 있다.
The deduplication system 30 is implemented to access the data received by the server 20 for analysis of the data. In particular, when not changing the conventional server system, it may be implemented to access the data received by the server 20 using a method such as hooking.

다음으로, 본 발명의 일실시예에 따른 중복제거 시스템(30)의 파일 시스템 구조의 구성을 도 4를 참조하여 보다 구체적으로 설명한다.Next, the configuration of the file system structure of the deduplication system 30 according to an embodiment of the present invention will be described in more detail with reference to FIG. 4.

도 4에서 보는 바와 같이, 중복제거(Dedup)를 위한 파일 시스템은 로컬 파일 시스템, 중복제거(Dedup) 스토리지 엔진, 중복제거(Dedup) 파일시스템, 제어계층(Control Layer)으로 구성된다.As shown in FIG. 4, a file system for deduplication includes a local file system, a deduplication storage engine, a deduplication file system, and a control layer.

중복제거(Dedup) 파일 시스템 위에 제어 계층(Control Layer)을 추가하여 데이터의 전송량에 따라 정해놓은 임계값에 기준하여 즉시 중복 제거 방식을 사용할지 아니면 예약 중복 제거 방식을 사용할지를 판단하여 실행한다.By adding a control layer on the deduplication file system, it determines whether to use immediate deduplication or reserved deduplication based on a threshold set according to the amount of data transmission.

한편, 로컬 파일 시스템 중 일부는 백업 저장부(42)로서 이용될 수 있다. 즉, 예약 중복 제거 방식을 이용하는 경우, 서버에서 수신한 데이터를 백업하여 저장하는 저장공간으로 사용될 수 있다.On the other hand, some of the local file system may be used as the backup storage 42. That is, in case of using the reservation deduplication method, it may be used as a storage space for backing up and storing the data received from the server.

본 발명의 장점은 이 같은 복합적 데이터 중복 제거 기법을 적용해서 SSD의 마모도를 효과적으로 줄일 수 있다. 데이터 중복 제거 시스템의 복합적 구조는 3개의 컴포넌트로 구성 되어 있는데 볼륨, 파일 시스템, 중복 제거 엔진(Deduplication Storage Engine : DSE) 등이 있다. 볼륨은 데이터 중복제거를 위하여 각 디스크의 크기 및 정보를 담고 있는 이름을 말한다. An advantage of the present invention is that by applying such a complex data deduplication technique can effectively reduce the wear of the SSD. The complex structure of a data deduplication system consists of three components: volume, file system, and deduplication storage engine (DSE). A volume is a name that contains the size and information of each disk for data deduplication.

중복제거 파일 시스템은 중복 제거를 위해 특화된 파일 시스템으로서, 중복으로 제거한 부분을 연결해주기 위한 것이다. 즉, 중복제거 부분된 파일을 중복제거 파일 시스템의 적용에 맞추어서, DSE(중복 제거 엔진, 소프트웨어로 구현된 엔진)을 통해 중복 제거된 청크를 저장, 이용(불러오기), 삭제 등의 작업을 수행한다. 한편, 이 청크(chunk)는 해시테이블에 저장되고 인덱싱을 거쳐 메모리에 올라가게 된다.
The deduplication file system is a file system specialized for deduplication. It is used to connect duplicated parts. In other words, the deduplicated files can be stored, used (loaded), and deleted through the DSE (deduplication engine, software implemented engine) in accordance with the application of the deduplication file system. do. On the other hand, these chunks are stored in hashtables and indexed into memory.

다음으로, 본 발명의 일실시예에 따른 복합적 중복제거 시스템(30)의 구성을 도 5를 참조하여 보다 구체적으로 설명한다.Next, the configuration of the complex deduplication system 30 according to an embodiment of the present invention will be described in more detail with reference to FIG. 5.

커널 단에서 중복제거 파일 시스템(Dedup File System)으로 입력요청이 들어왔을 때 제어계층(Control Layer)을 추가하여 전송되는 데이터의 메타데이터를 후킹(hooking)한다. 후킹한 메타 데이터의 쓰기 횟수 연산 정보가 일정값 이상 연속일 경우를 임계값으로 주어 즉시 중복 제거를 실행할 것인지 예약 중복 제거를 실행할 것인지 결정한다. 그 후 어플라이언스를 통과하면서 중복되지 않은 데이터만 스토리지에 저장한다.When an input request is received from the kernel to the deduplication file system, a control layer is added to hook the metadata of the transmitted data. If the write count operation information of the hooked metadata is more than a predetermined value, the threshold value is used to determine whether to perform deduplication or reserved deduplication immediately. It then passes through the appliance, storing only non-redundant data in storage.

어플라이언스는 데이터를 청크 단위로 나누고 해시값을 생성하고 중복된 청크인지 아닌지를 판단하여 핑거프린팅 기법을 실질적으로 적용한다. 즉, 도 5의 "dedup"에 해당하는 구성요소이다.
The appliance actually applies the fingerprinting technique by dividing the data into chunks, generating hash values, and determining whether they are duplicated chunks. That is, it is a component corresponding to "dedup" of FIG.

다음으로, 본 발명의 일실시예에 따른 복합적 중복제거 시스템에 의한 세부적인 방법을 도 6을 참조하여 보다 구체적으로 설명한다.Next, a detailed method by the complex deduplication system according to an embodiment of the present invention will be described in more detail with reference to FIG. 6.

도 6에 도시된 바와 같이, 본 발명의 일실시예에 따른 복합적 데이터 중복제거 방법은 (a) 서버가 수신하는 데이터(이하 제1 데이터)의 쓰기 횟수를 획득하는 단계(S10); (b) 쓰기 횟수를 이용하여 즉시 중복제거 방식과 예약 중복제거 방식 중 어느 하나를 선정하는 단계(S20); (c) 즉시 중복제거 방식이 선정된 경우 제1 데이터에서 중복된 부분을 제거하여 SSD 저장장치에 저장하는 단계(S30); (d) 예약 중복제거 방식이 선정된 경우 제1 데이터를 백업 저장부에 저장하도록 하는 단계(S40); 및, (e) 백업 저장부로부터 데이터(이하 제2 데이터)를 읽어오고, 제2 데이터에서 중복된 부분을 제거하여 SSD 저장장치에 저장하는 단계(S50)로 구성된다.As shown in FIG. 6, the complex data deduplication method according to an embodiment of the present invention includes: (a) acquiring a number of writes of data (hereinafter, referred to as first data) received by a server (S10); (b) selecting any one of an immediate deduplication scheme and a reserved deduplication scheme using a write count (S20); (c) if the deduplication method is selected immediately, removing the duplicated portion from the first data and storing it in the SSD storage device (S30); (d) if the reserved deduplication scheme is selected, storing the first data in the backup storage unit (S40); And (e) reading data (hereinafter referred to as second data) from the backup storage unit, and removing the duplicated portion from the second data and storing the data in the SSD storage device (S50).

먼저, 중복제거 시스템(30)은 서버가 수신하는 데이터(이하 제1 데이터)의 쓰기 횟수를 획득한다(S10). 특히, 제1 데이터의 메타 데이터를 후킹하여, 후킹한 메타 데이터로부터 쓰기 횟수를 획득한다.First, the deduplication system 30 obtains a write count of data (hereinafter, referred to as first data) received by the server (S10). In particular, the metadata of the first data is hooked to obtain the number of writes from the hooked metadata.

즉, 서버의 커널 단에서 중복제거 파일 시스템(Dedup File System)으로 입력요청이 들어왔을 때, 추가된 제어계층(Control Layer)에 의해, 전송되는 데이터(또는 제1 데이터)의 메타데이터를 후킹(hooking)한다. 그리고 중복제거 시스템(30)은 후킹한 메타 데이터로부터 쓰기 횟수를 획득한다.That is, when an input request from the kernel stage of the server enters the deduplication file system, the metadata of the transmitted data (or the first data) is hooked by the added control layer. hooking). The deduplication system 30 obtains a write count from the hooked metadata.

앞서, 서버가 수신한 데이터를 "제1 데이터"로 부르기로 한다. 또, 백업 저장부(42)에 저장한 데이터를 "제2 데이터"로 부르기로 한다. 이것은 백업 저장하는 데이터와 바로 수신한 데이터를 구분하기 위한 것이다.
Earlier, the data received by the server will be referred to as "first data". The data stored in the backup storage unit 42 will be referred to as "second data". This is to distinguish the data to be backed up and the data received immediately.

다음으로, 중복제거 시스템(30)은 쓰기 횟수를 이용하여 즉시 중복제거 방식과 예약 중복제거 방식 중 어느 하나를 선정한다(S20).Next, the deduplication system 30 selects any one of an immediate deduplication method and a reserved deduplication method using the number of writes (S20).

제1 실시예로서, 제1 데이터의 쓰기 횟수가 사전에 정해진 임계값 이상이면 예약 중복제거 방식으로 판단하고, 상기 쓰기 횟수가 상기 임계값 보다 작으면 즉시 중복제거 방식으로 판단한다.In the first embodiment, if the number of times of writing of the first data is greater than or equal to a predetermined threshold value, the deduplication method is determined. If the number of times of writing is less than the threshold value, the deduplication method is immediately determined.

제2 실시예로서, 후킹한 메타 데이터의 쓰기 횟수 연산 정보가 일정값 이상 연속일 경우 임계값으로 주어 즉시 중복 제거를 실행할 것인지 예약 중복 제거를 실시할 것인지 결정한다. 즉, 중복제거 시스템(30)은 후킹한 메타 데이터의 쓰기 횟수 연산 정보가 일정값(또는 임계값) 이상 연속일 경우이면 예약 중복 제거 방식으로 판단하고, 연속적인 쓰기 횟수가 임계값 보다 작으면 즉시 중복제거 방식으로 판단한다.As a second embodiment, if the write count operation information of the hooked metadata is continuous for a predetermined value or more, it is given as a threshold value to determine whether to perform deduplication or reserved deduplication immediately. In other words, the deduplication system 30 determines that the write count operation information of the hooked metadata is more than a predetermined value (or a threshold value) in the case of continuous deduplication, and immediately if the number of consecutive writes is smaller than the threshold value. Judging by the deduplication method.

예를 들어, 임계값을 300으로 정하였는데, 요청된 데이터 연산이 쓰기 1회, 읽기 2회, 쓰기 1회, 읽기 2회, ... 등 900회의 연산으로 구성된 경우(쓰기 1회와 읽기 2회가 반복되는 경우)를 설명한다. 이때, 제1 실시예에 의하면, 전체 쓰기 횟수는 300회로서 임계값 300 이상이므로 예약 중복제거 방식으로 판단한다. 반면, 제2 실시예에 의하면, 연속되는 쓰기 횟수는 2회가 넘지 못하므로 즉시 중복제거 방식으로 판단한다.For example, if you set the threshold to 300, and the requested data operation consists of 900 operations such as 1 write, 2 reads, 1 write, 2 reads, ... (1 write and 2 reads) If the time is repeated). At this time, according to the first embodiment, since the total number of writes is 300 and the threshold value is 300 or more, it is determined as the reserved deduplication method. On the other hand, according to the second embodiment, since the number of consecutive writes does not exceed two, it is immediately determined as a deduplication method.

쓰기 횟수는 커널 단에서 중복제거 파일 시스템(Dedup file system)으로 입력 요청이 들어왔을 때의 메타 데이터를 후킹(hooking)하여 얻는다. 메타 데이터란 데이터의 구조화된 정보를 분석, 분류하고 부가적 정보를 추가하기 위해 그 데이터 뒤에 함께 따라가는 정보를 말한다. 그 데이터가 어디에 저장될 것인지의 어드레스 넘버와 데이터가 읽기 연산인지 쓰기 연산인지 등의 파일의 정보를 담고 있다. 이렇게 해서 쓰기횟수를 메타데이터를 이용하여 얻는다.
The number of writes is obtained by hooking metadata when an input request is made to the deduplication file system from the kernel. Metadata refers to information that follows together after the data to analyze and classify the structured information in the data and add additional information. It contains file information such as the address number of where the data will be stored and whether the data is a read or write operation. In this way, the write count is obtained using metadata.

다음으로, 즉시 중복 제거 방식이 선정된 경우, 중복제거 시스템(30)은 제1 데이터에서 중복된 부분을 제거하여 SSD 저장장치(41)에 저장하도록 제어한다(S30). 즉, 제1 데이터는 어플라이언스를 통과하면서 중복되지 않은 데이터만 스토리지(또는 SSD 저장장치)(41)에 저장한다.Next, when the deduplication method is selected immediately, the deduplication system 30 controls to remove the duplicated portion from the first data and store it in the SSD storage device 41 (S30). That is, the first data passes through the appliance and stores only non-redundant data in the storage (or SSD storage) 41.

이때, 데이터(또는 제1 데이터)를 청크(chunk)블록으로 구분하고, 상기 청크블록 단위로 중복 여부를 판단하여 중복된 경우 상기 데이터에서 상기 청크블록을 제거한다. 특히, 상기 청크블록에 핑거프린팅 기법을 적용하여 고유의 해시값을 추출하고, 상기 청크블록의 고유 해시값이 사전에 저장된 고유 해시값들과 대비하여 동일한 고유 해시값이 있으면 상기 청크블록이 중복된 것으로 판단한다.In this case, the data (or the first data) is divided into chunk blocks, and it is determined whether the chunk blocks are duplicated to remove the chunk blocks from the data. In particular, by applying a fingerprinting technique to the chunk block, a unique hash value is extracted, and if the unique hash value of the chunk block has the same unique hash value as compared to previously stored unique hash values, the chunk block is duplicated. I think that.

데이터 중복 제거는 한 묶음의 데이터를 분석함으로써 동작한다. 한 블록의 데이터, 일련의 비트, 또는 전체 파일이 분석될 수도 있다.Data deduplication works by analyzing a set of data. One block of data, a series of bits, or the entire file may be analyzed.

중복제거를 위해 4KB의 청크(chunk)블록에 알고리즘을 실행하면, 핑거프린팅(finger printing) 기법을 적용하여 고유의 해시값을 저장한다. SHA-1 알고리즘을 적용해서 유입되는 데이터를 160bit의 출력데이터로 바꾸고 각 블록마다 핑거프린팅 한다. 매번 새로운 청크 블록 데이터들이 해시 될 때마다, 기존 블록들의 핑거프린트에 있는 기존의 해시값들과 비교된다.When the algorithm is executed on a 4KB chunk block for deduplication, a fingerprint printing technique is applied to store a unique hash value. By applying SHA-1 algorithm, incoming data is converted into 160bit output data and fingerprinted for each block. Each time new chunk block data is hashed, it is compared with existing hash values in the fingerprint of existing blocks.

만약 비교 대상 해시값이 핑거프린트에 있다면, 이는 청크 블록이 중복되었다는 것을 의미하므로 저장하지 않는다. 핑거프린트에 일치하는 해시값이 없다면, 그 해시값은 핑거프린트에 추가되며, 이러한 연산들이 계속 반복된다.If the hash value to be compared is in the fingerprint, it means that the chunk block is duplicated and is not stored. If no hash value matches the fingerprint, the hash value is added to the fingerprint and these operations are repeated over and over.

데이터의 용량이 클수록 해시 핑거프린트의 양도 커질 것이다. 이에 따라 해싱 알고리즘이 정교하지 않다면 해시 충돌이 일어날 가능성이 있다. 서로 다른 청크 블록들이 동일한 해시값을 가질 수도 있다는 의미이다. 이런 경우에는 어떤 해시 값이 맞는지와 다른 청크 블록을 처리하기 위한 기준이 없기 때문에 분석엔진이 다른 판단 기준을 사용해야만 한다. 이 충돌을 해결할 수 있는 방법이 없다면, 비교된 두 해시값을 모두 삭제해야하고, 해당 청크 블록들은 중복제거용으로 핑거프린트 될 수 없다.The larger the amount of data, the larger the amount of hash fingerprint will be. This can lead to hash collisions if the hashing algorithm is not sophisticated. This means that different chunk blocks may have the same hash value. In this case, the analytical engine must use different criteria because there are no hash values and there are no criteria for processing different chunk blocks. If there is no way to resolve this conflict, both hash values that are compared must be deleted, and the corresponding chunk blocks cannot be fingerprinted for deduplication.

바람직하게는, 중복제거는 블록, 파일, 비트 이렇게 3가지 레벨이 있다.Preferably, there are three levels of deduplication: block, file and bit.

블록과 비트 레벨 중복제거 방식은 분석 엔진이 파일을 여러 개의 청크 또는 세그먼트로 나누고, 각각에 대해 해시값을 생성한다. 파일 레벨 중복제거는 파일의 크기에 상관없이 각각의 전체파일을 분석하는데, 한 비트만 달라도 다른 해시값이 생성되므로 매우 비효율적이다. 이에 반해 블록과 비트 레벨 중복 방식은 파일을 일정 크기 또는 불규칙한 크기로 나누어 해시값을 생성하므로 효율적이다.
Block and bit-level deduplication allows the analysis engine to divide the file into chunks or segments and generate hash values for each. File-level deduplication analyzes an entire file, regardless of file size, which is very inefficient because different hash values are generated by only one bit. On the other hand, block and bit-level overlapping methods are efficient because they generate hash values by dividing the file into fixed or irregular sizes.

다음으로, 예약 중복제거 방식이 선정된 경우, 중복제거 시스템(30)은 상기 제1 데이터를 백업 저장부(42)에 저장하도록 하도록 제어한다(S40).Next, when the scheduled deduplication method is selected, the deduplication system 30 controls to store the first data in the backup storage 42 (S40).

그리고 백업 저장부(42)로부터 저장된 데이터(또는 제2 데이터)를 읽어오고, 읽어온 제2 데이터에서 중복된 부분을 제거하여 SSD 저장장치(41)에 저장한다(S50).Then, the stored data (or second data) is read from the backup storage unit 42, and the duplicated part is removed from the read second data and stored in the SSD storage device 41 (S50).

이때, 제2 데이터에서 중복된 부분을 제거하는 방법은 앞서 설명한 제1 데이터에서 중복된 부분을 제거하는 방법과 동일하다.In this case, the method of removing the duplicated portion from the second data is the same as the method of removing the duplicated portion from the first data.

즉, 본 발명에서는 두 가지 중복 제거 방식의 장점만을 조합하여 서버로 이동 중인 데이터가 적을 경우에는 즉시 중복 제거 방식을 사용하고, 데이터가 많을 경우에는 예약 중복 제거 방식을 사용한다. 데이터의 이동량이 적을 때에 불필요하게 백업 이미지에 모든 데이터를 저장할 필요가 없다. SSD는 쓰기 연산을 하려면 삭제 후 쓰기를 해야 하므로 불필요한 백업을 이행하지 않는다면 마모도가 감소한다.
That is, in the present invention, only the advantages of the two deduplication methods are combined, and when there is a small amount of data moving to the server, an immediate deduplication method is used, and when there is a lot of data, a reservation deduplication method is used. It is not necessary to store all the data in a backup image unnecessarily when the amount of data movement is small. SSDs require writes after deletion to perform write operations, which reduces wear unless performing unnecessary backups.

다음으로, 본 발명의 효과를 도 7 내지 도 11을 참조하여 보다 구체적으로 설명한다.Next, the effects of the present invention will be described in more detail with reference to FIGS. 7 to 11.

본 발명을 효과를 알아보기 위한 실험 환경은 다음과 같다.Experimental environment for examining the effects of the present invention is as follows.

CPU는 Intel Core2 Duo 2.13GHz, 2GB RAM을 사용하였다. 사용자와 서버가 사용하는 저장장치로 32GB MLC방식의 하나마이크론사의 SSD디스크(AHAS900090H)를 서버에서는 4개를 RAID5로 묶어 사용하였고 단일 SSD를 사용했다. Linux 2.6.17 환경에서 오픈 소스인 OPENDEDUP을 사용하고 I/O METER로 벤치마크하여 복합적 중복 제거 기술을 적용한 SSD의 마모도의 효율을 측정 하였다.The CPU used Intel Core2 Duo 2.13GHz, 2GB RAM. As a storage device used by users and servers, Hana Micron's SSD disk (AHAS900090H) of 32GB MLC type was used in a server and four of them were bundled in RAID5 and a single SSD was used. In the Linux 2.6.17 environment, the open source OPENDEDUP was used and I / O METER was benchmarked to measure the wear efficiency of SSDs using the combined deduplication technology.

성능평가를 위해 10명이 공용으로 사용하는 서버의 스토리지에 저장된 문서 데이터, 영상 데이터, 이미지 데이터 및 각종 프로그램 데이터들을 30일 간격의 시간차이로 무작위로 추출하여 벤치마크 워크로드를 구성하였다.For the performance evaluation, a benchmark workload was constructed by randomly extracting document data, image data, image data, and various program data stored in storage of a server shared by 10 people with a time difference of 30 days.

도 7은 즉시 중복 제거 방식을 사용하였을 때 쓰기 횟수에 따른 데이터 처리율이다. 25,000번 정도 연속 쓰기 횟수가 발생하였을 때 디스크 병목현상이 발생함을 확인할 수 있었다. 실험은 이를 임계값으로 주어 벤치마크 하였다. 즉시 중복 제거 방식과 예약 중복 제거 방식을 사용하였을 때, 그리고 제어계층(Control layer)를 적용한 복합적 데이터 중복 제거 기법을 적용한 실험 결과는 도 8과 같다. 실험결과 즉시 중복 제거 방식이 네이티브 백업 이미지를 필요로 하는 예약 중복 제거 방식보다 쓰기횟수가 월등히 적은 것을 볼 수 있다.7 is a data throughput rate according to the number of writes when an instant deduplication method is used. When the number of consecutive writes is about 25,000, disk bottleneck occurs. The experiment was benchmarked with this as the threshold. When the deduplication method and the reservation deduplication method are used, and the experimental results of applying the complex data deduplication method using the control layer are shown in FIG. 8. Experimental results show that the deduplication method writes significantly less than the scheduled deduplication method that requires a native backup image.

즉, 즉시 중복 제거 방식이 SSD의 마모도 측면에서 우수하다는 점이 나타났다. 하지만 데이터 처리 능률면에서 본다면 디스크 병목 현상이 일어나는 즉시 중복 제거 방식은 처리율이 떨어진다.In other words, the instant deduplication method shows that SSD wear is excellent. In terms of data throughput, however, deduplication is less effective as soon as a disk bottleneck occurs.

이 실험에서 기존 예약 중복 제거 방식을 사용 할 때 보다 32%의 쓰기 횟수가 줄어든 것을 확인할 수 있다. 쓰기 횟수가 줄어든 만큼 삭제 연산도 줄었다는 결론을 낼 수 있다.
In this experiment, we can see that the write count is reduced by 32% than when using the existing reserved deduplication method. It can be concluded that as the number of writes decreased, so did the delete operations.

한편, 도 9는 중복 제거 기법을 적용하지 않은 경우와 적용한 경우의 각 데이터 별로 중복제거율을 보여준다. 멀티미디어 데이터가 문서 데이터들에 비해서 상대적으로 낮은 데이터 중복제거율을 나타내었고, 문서 데이터들은 높은 데이터 중복제거율을 보였다. 즉시 중복제거 기법과 예약 중복제거 기법 및 제안한 복합적 데이터 중복제거 기법 모두 중복제거율이 동일함이 실험을 통해 입증되었다.Meanwhile, FIG. 9 shows deduplication rate for each data in the case where the deduplication technique is not applied and when it is applied. Multimedia data showed a relatively low data deduplication rate compared to document data, and document data showed a high data deduplication rate. Experiments show that the deduplication rate is the same for both the instant deduplication method, the scheduled deduplication method, and the proposed complex data deduplication method.

도 10은 중복 제거 기법을 적용하지 않았을 때와 기존의 데이터 중복 제거 기법들과 제안한 복합적 데이터 중복제거 기법을 사용하여 서버로 3GB의 데이터를 전송했을 때의 시간을 측정한 결과이다. FIG. 10 is a result of measuring time when 3 GB of data is transmitted to a server when deduplication is not applied and by using the existing data deduplication techniques and the proposed complex data deduplication scheme.

위 실험 결과에서 보면 제안한 복합적 중복제거 기법이 즉시 중복제거 기법보다 16.7% 성능 향상을 보였고, 반면 예약 중복제거 기법보다는 34.65%의 오버헤드가 발생하였다. 하지만 도 8에서와 같이 SSD의 마모도 측면에서는 32%의 쓰기 횟수를 줄이는 상당한 효과를 가지므로 오버헤드를 감안하고도 충분히 고려하여 사용할 수 있는 기법이다. The experimental results show that the proposed combined deduplication scheme is 16.7% better than the immediate deduplication scheme, while 34.65% overhead is generated compared to the reserved deduplication scheme. However, as shown in FIG. 8, the wear rate of the SSD has a significant effect of reducing the number of writes by 32%. Therefore, the technique can be used in consideration of overhead.

도 11은 기존의 예약 중복제거 기법과 본 발명에서 제안한 복합적 중복제거 기법의 마모도를 측정한 결과이다. 실험 결과에서 보면 제안한 복합적 중복제거 방식이 기존의 예약 중복제거 방식을 사용할 때보다 29.24% 마모도 감소를 가져왔다.
11 is a result of measuring the wear rate of the conventional deduplication scheme and the complex deduplication scheme proposed in the present invention. The experimental results show that the proposed deduplication method has a 29.24% reduction in wear compared with the conventional deduplication method.

결과적으로, 본 발명은 즉시 중복제거 방식과 예약 중복제거 방식의 장점을 결합한 복합적 데이터 중복제거 기법을 사용하여 서버 스토리지로 사용하는 SSD의 마모도 감소 효과를 보여주고 있다. 마모도가 감소한 만큼 스토리지 수명도 연장시킬 수 있다.
As a result, the present invention shows the reduction of wear of SSDs used as server storage using a complex data deduplication technique combining the advantages of immediate deduplication and scheduled deduplication. As wear decreases, storage life can be extended.

이상, 본 발명자에 의해서 이루어진 발명을 상기 실시 예에 따라 구체적으로 설명하였지만, 본 발명은 상기 실시 예에 한정되는 것은 아니고, 그 요지를 이탈하지 않는 범위에서 여러 가지로 변경 가능한 것은 물론이다.
Although the present invention has been described in detail with reference to the above embodiments, it is needless to say that the present invention is not limited to the above-described embodiments, and various modifications may be made without departing from the spirit of the present invention.

10 : 데이터 20 : 서버
30 : 중복제거 시스템 40 : 저장장치
41 : SSD 저장장치 42 : 백업 저장부
10: data 20: server
30: deduplication system 40: storage device
41: SSD storage 42: backup storage

Claims (5)

서버에서 수신한 데이터를 SSD(Solid State Disk) 저장장치에 저장시키되, 중복된 부분을 제거하여 저장하는 SSD 기반 서버급 저장장치의 복합적 데이터 중복제거 방법에 있어서,
(a) 상기 서버가 수신하는 데이터(이하 제1 데이터)의 쓰기 횟수를 획득하는 단계;
(b) 상기 쓰기 횟수를 이용하여 즉시 중복제거 방식과 예약 중복제거 방식 중 어느 하나를 선정하는 단계;
(c) 상기 즉시 중복제거 방식이 선정된 경우 상기 제1 데이터에서 중복된 부분을 제거하여 상기 SSD 저장장치에 저장하는 단계;
(d) 상기 예약 중복제거 방식이 선정된 경우 상기 제1 데이터를 백업 저장부에 저장하도록 하는 단계; 및,
(e) 상기 백업 저장부로부터 데이터(이하 제2 데이터)를 읽어오고, 상기 제2 데이터에서 중복된 부분을 제거하여 상기 SSD 저장장치에 저장하는 단계를 포함하고,
상기 (b)단계에서, 상기 제1 데이터의 쓰기 횟수가 사전에 정해진 임계값 이상이면 예약 중복제거 방식으로 판단하고, 상기 쓰기 횟수가 상기 임계값 보다 작으면 즉시 중복제거 방식으로 판단하고,
상기 쓰기 횟수는 상기 제1 데이터를 상기 SSD 저장장치에 저장하기 위하여 쓰기 연산을 수행해야 하는 횟수로서, 쓰기 연산을 수행하려는 제1 데이터의 전송량에 비례하는 것을 특징으로 하는 SSD 기반 서버급 저장장치의 복합적 데이터 중복제거 방법.
In the complex data deduplication method of the SSD-based server-class storage device to store the data received from the server in a solid state disk (SSD) storage, but removes the duplicated portion,
(a) obtaining a number of writes of data (hereinafter, referred to as first data) received by the server;
(b) selecting one of an immediate deduplication scheme and a reserved deduplication scheme using the number of writes;
(c) removing the duplicated portion from the first data and storing the duplicated portion in the SSD storage device when the immediate deduplication method is selected;
(d) storing the first data in a backup storage unit when the reserved deduplication method is selected; And
(e) reading data (hereinafter referred to as second data) from the backup storage unit, removing duplicated portions from the second data, and storing the data in the SSD storage device;
In the step (b), if the number of writes of the first data is greater than or equal to a predetermined threshold value, it is determined by the reserved deduplication method, and if the number of writes is less than the threshold value, it is determined by the deduplication method immediately,
The number of writes is a number of times that a write operation must be performed to store the first data in the SSD storage device, and the write count is proportional to the transmission amount of the first data to perform the write operation. Data Deduplication Method.
삭제delete 제1항에 있어서,
상기 (c)단계 또는 (e)단계에서, 상기 제1 또는 제2 데이터를 청크(chunk)블록으로 구분하고, 상기 청크블록 단위로 중복 여부를 판단하여 중복된 경우 상기 제1 또는 제2 데이터에서 상기 청크블록을 제거하는 것을 특징으로 하는 SSD 기반 서버급 저장장치의 복합적 데이터 중복제거 방법.
The method of claim 1,
In step (c) or step (e), the first or second data is divided into chunk blocks, and it is determined whether or not to overlap each of the chunk blocks. Complex data deduplication method of the SSD-based server-class storage device, characterized in that for removing the chunk block.
제3항에 있어서,
상기 (c)단계 또는 (e)단계에서, 상기 청크블록에 핑거프린팅 기법을 적용하여 고유의 해시값을 추출하고, 상기 청크블록의 고유 해시값이 사전에 저장된 고유 해시값들과 대비하여 동일한 고유 해시값이 있으면 상기 청크블록이 중복된 것으로 판단하는 것을 특징으로 하는 SSD 기반 서버급 저장장치의 복합적 데이터 중복제거 방법.
The method of claim 3,
In step (c) or (e), a unique hash value is extracted by applying a fingerprinting method to the chunk block, and the unique hash value of the chunk block is the same as compared with the previously stored unique hash values. If there is a hash value, the chunk block is determined to be a duplicate data de-duplication method of the SSD-based server-class storage device characterized in that the duplicate.
제1항에 있어서,
상기 (a)단계에서, 상기 제1 데이터의 메타 데이터를 후킹하여, 후킹한 메타 데이터로부터 쓰기 횟수를 획득하는 것을 특징으로 하는 SSD 기반 서버급 저장장치의 복합적 데이터 중복제거 방법.
The method of claim 1,
In the step (a), by hooking the metadata of the first data, complex data deduplication method of the SSD-based server-class storage device, characterized in that to obtain the number of writes from the hooked metadata.
KR1020110099936A 2011-09-30 2011-09-30 A Hybrid Data Deduplication Method for Reducing Wear-Level of SSD-based Server Storage KR101382273B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020110099936A KR101382273B1 (en) 2011-09-30 2011-09-30 A Hybrid Data Deduplication Method for Reducing Wear-Level of SSD-based Server Storage

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020110099936A KR101382273B1 (en) 2011-09-30 2011-09-30 A Hybrid Data Deduplication Method for Reducing Wear-Level of SSD-based Server Storage

Publications (2)

Publication Number Publication Date
KR20130035561A KR20130035561A (en) 2013-04-09
KR101382273B1 true KR101382273B1 (en) 2014-04-10

Family

ID=48437357

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020110099936A KR101382273B1 (en) 2011-09-30 2011-09-30 A Hybrid Data Deduplication Method for Reducing Wear-Level of SSD-based Server Storage

Country Status (1)

Country Link
KR (1) KR101382273B1 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102330394B1 (en) * 2014-06-11 2021-11-23 삼성전자주식회사 Method for operating controller and method for operating device including the same
KR101715039B1 (en) * 2016-03-30 2017-03-13 한국과학기술정보연구원 Apparatus for file processing and control method thereof

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009087021A (en) * 2007-09-28 2009-04-23 Hitachi Ltd Storage device and data deduplication method
KR20090094055A (en) * 2006-12-01 2009-09-03 엔이씨 래버러터리즈 아메리카 인코포레이티드 Methods and systems for data management using multiple selection criteria

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20090094055A (en) * 2006-12-01 2009-09-03 엔이씨 래버러터리즈 아메리카 인코포레이티드 Methods and systems for data management using multiple selection criteria
JP2009087021A (en) * 2007-09-28 2009-04-23 Hitachi Ltd Storage device and data deduplication method

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Quantum DXi7500 Enterprise(DS00398 V01, 2009.1.) *

Also Published As

Publication number Publication date
KR20130035561A (en) 2013-04-09

Similar Documents

Publication Publication Date Title
Kaczmarczyk et al. Reducing impact of data fragmentation caused by in-line deduplication
US8799238B2 (en) Data deduplication
US8639669B1 (en) Method and apparatus for determining optimal chunk sizes of a deduplicated storage system
US10031675B1 (en) Method and system for tiering data
CN106662981B (en) Storage device, program, and information processing method
US8712963B1 (en) Method and apparatus for content-aware resizing of data chunks for replication
US9268783B1 (en) Preferential selection of candidates for delta compression
JP5418719B2 (en) Storage device
US8627026B2 (en) Storage apparatus and additional data writing method
WO2014125582A1 (en) Storage device and data management method
US20150142755A1 (en) Storage apparatus and data management method
CN103473150A (en) Fragment rewriting method for data repetition removing system
US10606499B2 (en) Computer system, storage apparatus, and method of managing data
Zou et al. The dilemma between deduplication and locality: Can both be achieved?
Li et al. Deduplication-based energy efficient storage system in cloud environment
US10725944B2 (en) Managing storage system performance
KR101473837B1 (en) An Invalid Data Recycling Method for Improving I/O Performance in SSD-based Storage System
Zhu et al. An intelligent data de-duplication based backup system
US9448739B1 (en) Efficient tape backup using deduplicated data
KR101382273B1 (en) A Hybrid Data Deduplication Method for Reducing Wear-Level of SSD-based Server Storage
KR101430552B1 (en) A Data De-duplication and Recycling Method in SSD-based Storage System for Increasing De-duplication Rate and I/O Performance
Yang et al. Boosting the restoring performance of deduplication data by classifying backup metadata
Viji et al. Various data deduplication techniques of primary storage
Du et al. ProSy: A similarity based inline deduplication system for primary storage
Tan et al. DAM: A DataOwnership-aware multi-layered de-duplication scheme

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: 20170223

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20180403

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20190401

Year of fee payment: 6