KR101533340B1 - A method of data replication using data access frequency and erasure codes in cloud storage system - Google Patents

A method of data replication using data access frequency and erasure codes in cloud storage system Download PDF

Info

Publication number
KR101533340B1
KR101533340B1 KR1020140042372A KR20140042372A KR101533340B1 KR 101533340 B1 KR101533340 B1 KR 101533340B1 KR 1020140042372 A KR1020140042372 A KR 1020140042372A KR 20140042372 A KR20140042372 A KR 20140042372A KR 101533340 B1 KR101533340 B1 KR 101533340B1
Authority
KR
South Korea
Prior art keywords
data
input file
access frequency
type
erasure
Prior art date
Application number
KR1020140042372A
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 KR1020140042372A priority Critical patent/KR101533340B1/en
Application granted granted Critical
Publication of KR101533340B1 publication Critical patent/KR101533340B1/en

Links

Images

Classifications

    • 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
    • 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/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1448Management of the data involved in backup or backup restore
    • G06F11/1453Management of the data involved in backup or backup restore using de-duplication of the data

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

The present invention relates to a method for replicating data by using data access frequency and erasure codes in a cloud storage system, wherein the method is configured to replicate data by using erasure codes for improving storage space efficiency and input/output performance in an SSD-based cloud storage system. More particularly, the method comprises the steps of: (a) chunking an input file with respect to a write command of the input file; (b) generating an access frequency parameter for the input file; (c) determining the type of the input file among three types according to the access frequency parameter; and (d) determining the number of replicas of the input file to be stored, and whether erasure coding has been performed or not, according to the determined type, and storing a replica of the input file or results of erasure coding. The method for replicating data can solve a problem of wasting a storage space and increasing input/output while maintaining the same recovery performance with a prior art which stores three replicas on original data in a cloud storage system.

Description

클라우드 스토리지 시스템에서 데이터 접근빈도와 소거 코드를 이용한 데이터 복제 방법 { A method of data replication using data access frequency and erasure codes in cloud storage system }[0001] The present invention relates to a method for data replication using a data access frequency and an erase code in a cloud storage system,

본 발명은 SSD 기반 클라우드 스토리지 시스템에서, 저장공간 효율성 향상과 입출력 성능 향상을 위하여, 소거 코드(Erasure Codes)를 이용하여 데이터를 복제하는 클라우드 스토리지 시스템에서 데이터 접근빈도와 소거 코드를 이용한 데이터 복제 방법에 관한 것이다.
The present invention relates to a data replication method using a data access frequency and an erase code in a cloud storage system for replicating data using Erasure Codes in order to improve storage space efficiency and input / output performance in an SSD-based cloud storage system .

전 세계에서 PC, 모바일, 노트북 기기의 사용으로 생성되는 데이터양이 2012년에는 2.8ZB(제타바이트, Zeta Byte)이다. 향후 2020년까지 40ZB가 생성될 것이라는 전망이 나왔으며 데이터 규모가 급격하게 늘어남에 따라 빅데이터 처리가 큰 이슈가 되고 있다. 클라우드 스토리지에서 생성된 방대한 빅데이터를 저장하기 위해선 많은 양의 저장공간을 필요로 하게 된다. In 2012, 2.8 ZB (Zeta Bytes, Zeta Byte) will be generated by the use of PCs, mobile and notebook devices worldwide. It is predicted that 40ZB will be generated by 2020, and big data processing is becoming a big issue as the data size rapidly increases. It takes a lot of storage space to store vast amounts of data generated from cloud storage.

빅데이터를 효과적으로 저장 및 관리하기 위해서 클라우드 스토리지 시스템은 분산 파일시스템을 사용하여 여러 서버 및 노드들을 네트워크로 연결하여 처리한다. 이를 통해, 클라우드 스토리지 시스템은 고가용성과 높은 확장성을 제공한다[비특허문헌 1].To efficiently store and manage big data, cloud storage systems use a distributed file system to network multiple servers and nodes together. Through this, cloud storage systems provide high availability and high scalability [Non-Patent Document 1].

분산 파일시스템 중에 아파치(Apache) 재단에서 개발한 오픈소스인 하둡 분산 파일시스템(HDFS)은 클라우드 스토리지 시스템에 적용되어 많이 사용되고 있다. HDFS는 저장공간의 신뢰성을 위해서 데이터를 64MB의 블록 단위로 청킹한 후, 3개의 복제본을 생성하여 각 블록들을 데이터 노드에 분산하여 저장한다[비특허문헌 2]. 도 1은 HDFS의 파일 복제과정의 문제점을 보여주고 있다. 만약 320MB의 데이터가 들어오면 64MB의 블록 단위로 데이터를 청킹한 후, 3개의 복제본을 생성하고 분산하여 저장한다. 이 방법은 원본 데이터 크기에 3배의 저장공간이 필요하기 때문에 데이터가 커질수록 저장공간 낭비가 심해진다[비특허문헌 3].Among the distributed file systems, the open source Hadoop Distributed File System (HDFS), developed by the Apache Foundation, is widely used in cloud storage systems. For reliability of storage space, HDFS chunks data in block units of 64 MB, creates three replicas, and distributes the blocks to data nodes and stores them [Non-Patent Document 2]. FIG. 1 shows the problem of the file replication process of the HDFS. If 320MB of data is received, the data is chunked in 64MB block units, and then 3 replicas are created and distributed. Since this method requires three times as much storage space as the original data size, the wasted storage space becomes larger as the data size increases [Non-Patent Document 3].

또한, 대부분의 클라우드 스토리지 시스템은 비용을 절감하기 위해서 저장공간당 비용이 저렴한 HDD를 저장장치로 사용하고 있다. 하지만 스핀들 모터를 사용해 동작하는 HDD는 임의 I/O(Random I/O) 성능이 낮아서 속도의 저하가 발생한다[비특허문헌 4]. 따라서 임의 I/O가 많이 발생하는 클라우드 환경에서는 HDD가 병목현상을 발생시키는 요인이 된다. In addition, most cloud storage systems use HDDs, which are less expensive per storage space, to save money. However, a HDD operating using a spindle motor has a low random I / O (I / O) performance, resulting in a decrease in speed [Non Patent Document 4]. Therefore, in a cloud environment where random I / O is frequently generated, the HDD becomes a bottleneck.

SSD(Solid State Disk)는 NAND 플래시 메모리 기반의 저장장치로 순차 및 임의 I/O 성능이 모두 HDD 보다 높은 저장장치이다. 클라우드 스토리지로 SSD를 사용할 경우 HDD의 사용으로 생기는 병목현상을 줄일 수 있다. 비용 면에서도 점차 저렴해지고 있기 때문에 현재 플래시 어레이(Flash Array) 기반의 클라우드 스토리지 제품들이 개발되고 있다.
Solid state disk (SSD) is a storage device based on NAND flash memory. It has higher sequential and random I / O performance than HDD. Using SSD as cloud storage can reduce the bottleneck caused by using HDD. Because it is becoming cheaper in terms of cost, cloud storage products based on Flash Array are being developed.

[비특허문헌 1] D. J. Abadi, "Data Management in the Cloud: Limitations and Opportunities," in Proc. of IEEE Conf. on Data Engineering, pp.1∼10, Shanghai, China, March 2009.[Non-Patent Document 1] D. J. Abadi, "Data Management in the Cloud: Limits and Opportunities," in Proc. of IEEE Conf. on Data Engineering, pp.1-10, Shanghai, China, March 2009. [비특허문헌 2] K. Shvachko, H. Kuang, S. Radia, "The Hadoop Distributed File System," in Proc. of IEEE Conf. on Mass Storage System and Technologies, pp.1∼10, Santa Clara, California, USA, May 2010.[Non-Patent Document 2] K. Shvachko, H. Kuang, S. Radia, "The Hadoop Distributed File System," in Proc. of IEEE Conf. on Mass Storage System and Technologies, pp. 1 to 10, Santa Clara, California, USA, May 2010. [비특허문헌 3] J. Wang, W. Gong, P. Varman, C. Xie, "Reducing Storage Overhead with Small Write Bottleneck Avoiding in Cloud RAID System," in Proc. of ACM and IEEE Conf. on 13th Grid Computing, pp.174∼183, Beijing, China, September 2012.[Non-Patent Document 3] J. Wang, W. Gong, P. Varman, C. Xie, "Reducing Storage Overhead with Small Write Bottleneck Avoiding in Cloud RAID System, of ACM and IEEE Conf. on 13th Grid Computing, pp.174-183, Beijing, China, September 2012. [비특허문헌 4] B. Mao, H. Jiang, S. Wu, Y. Fu, L. Tian, "SAR: SSD Assisted Restore Optimization for Deduplication-based Storage System in the Cloud," in Proc. of IEEE Conf. on 7th Networking, Architecture, and Storage, pp.328∼337, Xiamen, China, June 2012.[Non-Patent Document 4] B. Mao, H. Jiang, S. Wu, Y. Fu, L. Tian, "SAR: SSD Assisted Restore Optimization for Deduplication-based Storage System in the Cloud," in Proc. of IEEE Conf. on 7th Networking, Architecture, and Storage, pp. 328-337, Xiamen, China, June 2012. [비특허문헌 5] B. Fan, W. Tantisiriroj, L. Xiao, G. Gibson, "DiskReduce: RAID for Data-Intensive Scalable Computing," in Proc. of ACM Conf. on Supercomputing PDSW'09, pp.6∼10, Portland, Oregon, USA, November 2009.[Non-Patent Document 5] B. Fan, W. Tantisiriroj, L. Xiao, G. Gibson, "DiskReduce: RAID for Data-Intensive Scalable Computing," in Proc. of ACM Conf. on Supercomputing PDSW'09, pp. 6-10, Portland, Oregon, USA, November 2009. [비특허문헌 6] S. Plank, S Simmerman, C. D. Schuman, "Jerasure: A Library in C/C++ Facilitating Erasure Coding for Storage Applications," Technical Report CS-08-627, University of Tennessee Department of Electrical Engineering and Computer Science, pp.1∼59, August 2008.[Non-Patent Document 6] S. Plank, S Simmerman, CD Schuman, "Jerasure: A Library in C / C ++ Facilitating Erasure Coding for Storage Applications," Technical Report CS-08-627, University of Tennessee Department of Electrical Engineering and Computer Science, pp. 1-59, August 2008. [비특허문헌 7] J. S. Plank, "A tutorial on Reed-Solomon coding for fault-tolerance in RAID-like systems," Software-Practice & Experience, Vol.27, No.9, pp.995∼1012, September 1997.[Non-Patent Document 7] JS Plank, "A tutorial on Reed-Solomon coding for fault-tolerance in RAID-like systems," Software-Practice & Experience, Vol.27, No. 9, pp.995-1012, September 1997 . [비특허문헌 8] M. Blaum, J. Brandy, J. Bruck, M. Jai, "EVENODD: an efficient scheme for tolerating double disk failures in RAID architectures," IEEE Transactions on Computers, Vol.44, No.2, pp.192∼202, February 1995.[Non-Patent Document 8] M. Blaum, J. Brandy, J. Bruck, M. Jai, "EVENODD: An Efficient Scheme for Tolerating Double Disk Failures in RAID Architectures," IEEE Transactions on Computers, Vol. , pp. 192-202, February 1995. [비특허문헌 9] L. H. James, "WEAVER Codes: Highly Fault Tolerant Erasure Codes for Storage Systems," in Proc. of ACM Conf. on FAST, pp.1∼10, 2005.[Non-Patent Document 9] L. H. James, "WEAVER Codes: Highly Fault Tolerant Erasure Codes for Storage Systems," in Proc. of ACM Conf. on FAST, pp.1-10, 2005. [비특허문헌 10] X. Lihao, J. Bruck, "X-code: MDS array codes with optimal encoding," IEEE Transactions on Information Theory, Vol.45, No.1, pp.272∼276, January 1999.[Non-Patent Document 10] X. Lihao, J. Bruck, "X-code: MDS array codes with optimal encoding," IEEE Transactions on Information Theory, Vol. 45, No.1, pp. 272-276, January 1999. [비특허문헌 11] J-H. Jo, J-K. Kim, P. Mehdi, D-H. Kim, "Data Replication Method using Erasure Code in SSD based Cloud Storage System," in Proc. of IEEK Conf. on Summer Conference, Vol.36, No.1, pp.1539∼1542, Jeju, Korea, July 2013.[Non-Patent Document 11] J-H. Jo, J-K. Kim, P. Mahdi, D-H. Kim, "Data Replication Method using Erasure Code in SSD based Cloud Storage System," in Proc. of IEEK Conf. on Summer Conference, Vol. 36, No. 1, pp. 1539-1542, Jeju, Korea, July 2013. [비특허문헌 12] J-K. Kim, J-H. Jo, P. Mehdi, D-H. Kim, "Unified De-duplication Method of Data and Parity Disks in SSD-based RAID Storage," in Proc. of IEEK Conf. on Summer Conference, Vol.36, No.1, pp.1543∼1546, Jeju, Korea, July 2013.[Non-Patent Document 12] J-K. Kim, J-H. Jo, P. Mahdi, D-H. Kim, "Unified De-duplication Method of Data and Parity Disks in SSD-based RAID Storage," in Proc. of IEEK Conf. on Summer Conference, Vol. 36, No. 1, pp. 1543-1546, Jeju, Korea, July 2013. [비특허문헌 13] D. Park, D. H. C. Du, "Hot Data Identification for Flash-based Storage Systems Using Multiple Bloom Filters," in Proc. of IEEE on 27th Mass Storage Systems and Technologies(MSST), pp.1∼11, Denver, Colorado, USA, May 2011.[Non-Patent Document 13] D. Park, D. H. C. Du, " Hot Data Identification for Flash-based Storage Systems Using Multiple Bloom Filters, "in Proc. of IEEE on 27th Mass Storage Systems and Technologies (MSST), pp. 1-11, Denver, Colorado, USA, May 2011. [비특허문헌 14] J.-W. Hsieh, L.-P. Chang, T.-W. Kuo, "Efficient Online Identification of Hot Data for Flash-Memory Management," in Proc. of ACM on 20th Symposium on Applied Computing(SAC), pp.838∼842, Santa Fe, New Mexico, March 2005.[Non-Patent Document 14] J.-W. Hsieh, L.-P. Chang, T.-W. Kuo, "Efficient Online Identification of Hot Data for Flash-Memory Management," in Proc. of ACM on 20th Symposium on Applied Computing (SAC) pp.838-842, Santa Fe, New Mexico, March 2005. [비특허문헌 15] H.-S. Lee, H.-S. Yun, D.-H. Lee, "HFTL: Hybrid Flash Translation Layer based on Hot Data Identification for Flash Memory," IEEE Transactions on Consumer Electronics, Vol.55, No.4, pp.2005∼2011, November 2009.[Non-Patent Document 15] H.-S. Lee, H.-S. Yun, D.-H. Lee, "HFTL: Hybrid Flash Translation Layer based on Hot Data Identification for Flash Memory," IEEE Transactions on Consumer Electronics, Vol.55, No.4, pp.2005~2011, November 2009.

본 발명의 목적은 상술한 바와 같은 문제점을 해결하기 위한 것으로, SSD 기반 클라우드 스토리지 시스템에서, 저장공간 효율성 향상과 입출력 성능 향상을 위하여, 소거 코드(Erasure Codes)를 이용하여 데이터를 복제하는 클라우드 스토리지 시스템에서 데이터 접근빈도와 소거 코드를 이용한 데이터 복제 방법을 제공하는 것이다.An object of the present invention is to solve the above-mentioned problems, and it is an object of the present invention to provide a cloud storage system in which data is replicated using Erasure Codes in order to improve storage space efficiency and input / output performance in an SSD- And a data replication method using the data access frequency and the erase code.

특히, 본 발명의 목적은 데이터 접근 빈도에 따라 복제 횟수를 줄이더라도 소거 코드(Erasure Codes)를 사용하여 데이터 복구 성능을 동일하게 유지하는 클라우드 스토리지 시스템에서 데이터 접근빈도와 소거 코드를 이용한 데이터 복제 방법을 제공하는 것이다.
In particular, it is an object of the present invention to provide a data replication method using a data access frequency and an erasure code in a cloud storage system that maintains the same data recovery performance by using erasure codes even if the number of times of replication is reduced according to a data access frequency .

상기 목적을 달성하기 위해 본 발명은 입력 파일을 복제하여 저장하는, 클라우드 스토리지 시스템에서 데이터 접근빈도와 소거 코드를 이용한 데이터 복제 방법에 관한 것으로서, (a) 상기 입력 파일의 쓰기 명령에 대하여 상기 입력 파일을 청킹하는 단계; (b) 상기 입력 파일에 대한 접근 빈도 파라미터를 생성하는 단계; (c) 상기 접근 빈도 파라미터에 따라 상기 입력 파일을 3개의 유형 중 어느 하나의 유형으로 판단하는 단계; 및, (d) 판단된 유형에 따라 상기 입력 파일의 저장할 복제본의 개수 및, 소거 코딩 여부를 결정하여, 상기 입력 파일의 복제본 또는 소거 코딩 결과를 저장하는 단계를 포함하는 것을 특징으로 한다.According to an aspect of the present invention, there is provided a data replication method using a data access frequency and an erase code in a cloud storage system, the method comprising the steps of: (a) Chunking; (b) generating an access frequency parameter for the input file; (c) determining the input file as any one of the three types according to the access frequency parameter; And (d) determining the number of replicas to be stored in the input file and whether to perform erasure coding according to the determined type, and storing the replica or erasure coding result of the input file.

또한, 본 발명은 클라우드 스토리지 시스템에서 데이터 접근빈도와 소거 코드를 이용한 데이터 복제 방법에 있어서, 상기 방법은, (e) 상기 입력 파일의 읽기 명령에 대하여 상기 입력 파일의 접근 빈도 파라미터를 갱신하는 단계; (f) 갱신된 입력 파일의 접근 빈도에 따라 상기 입력 파일의 유형을 갱신하는 단계; (g) 상기 입력 파일의 유형이 변경되면, 변경된 유형에 따른 복제본 개수에 맞추어 상기 입력 파일의 복제본을 삭제하거나 추가 복제본을 생성하고, 상기 변경된 유형에 따른 소거 코딩 여부에 따라 소거 코딩 결과를 생성하거나 원래의 소거 코딩 결과를 삭제하는 단계; 및, (h) 상기 입력 파일의 청크들을 합쳐서 읽는 단계를 포함하는 것을 특징으로 한다.According to another aspect of the present invention, there is provided a data replication method using a data access frequency and an erase code in a cloud storage system, the method comprising the steps of: (e) updating an access frequency parameter of the input file with respect to a read command of the input file; (f) updating the type of the input file according to an access frequency of the updated input file; (g) when the type of the input file is changed, a copy of the input file is deleted or an additional copy is generated in accordance with the number of copies according to the changed type, and an erasure coding result is generated according to whether the erasure is coded according to the changed type Deleting the original erasure coding result; And (h) reading the combined chunks of the input file.

또한, 본 발명은 클라우드 스토리지 시스템에서 데이터 접근빈도와 소거 코드를 이용한 데이터 복제 방법에 있어서, 상기 유형은 핫 데이터 유형, 웜 데이터 유형, 및, 콜드 데이터 유형으로 분류되고, 상기 접근 빈도 파라미터가 사전에 정해진 1차 임계값 보다 작으면, 콜드 데어터 유형으로 판단하고, 상기 접근 빈도 파라미터가 상기 1차 임계값과 같거나 커지면 왐 데이터 유형으로 판단하고, 상기 접근 빈도 파라미터가 사전에 정해진 2차 임계값과 같거나 커지면 핫 데어터 유형으로 판단하고, 상기 2차 임계값은 상기 1차 임계값 보다 큰 것을 특징으로 한다.Further, the present invention provides a data replication method using a data access frequency and an erase code in a cloud storage system, wherein the type is classified into a hot data type, a worm data type, and a cold data type, And if the access frequency parameter is equal to or greater than the first threshold value, the access frequency parameter is determined as a data type, and if the access frequency parameter is less than a predetermined second threshold value And if it is the same or larger, it is determined as a hot data type, and the secondary threshold value is larger than the primary threshold value.

또한, 본 발명은 클라우드 스토리지 시스템에서 데이터 접근빈도와 소거 코드를 이용한 데이터 복제 방법에 있어서, 상기 입력 파일이 핫 데이터 유형이면 복제본 3개를 생성하여 저장하고, 상기 입력 파일이 웜 데이터 유형이면 복제본 2개와 소거 코딩 결과를 생성하여 저장하고, 상기 입력 파일이 콜드 데이터 유형이면 파일 1개와 소거 코딩 결과를 생성하여 저장하는 것을 특징으로 한다.The present invention also provides a data replication method using a data access frequency and an erase code in a cloud storage system, the method comprising: generating and storing three replicas if the input file is a hot data type; and if the input file is a worm data type, And generates and stores an erasure coding result. If the input file is a cold data type, one file and an erasure coding result are generated and stored.

또한, 본 발명은 클라우드 스토리지 시스템에서 데이터 접근빈도와 소거 코드를 이용한 데이터 복제 방법에 있어서, 상기 소거 코딩 결과는 패리티 청크인 것을 특징으로 한다.
According to another aspect of the present invention, there is provided a data replication method using a data access frequency and an erase code in a cloud storage system, wherein the erase coding result is a parity chunk.

상술한 바와 같이, 본 발명에 따른 클라우드 스토리지 시스템에서 데이터 접근빈도와 소거 코드를 이용한 데이터 복제 방법에 의하면, 클라우드 스토리지 시스템에서 원본데이터에 3개의 복제본을 저장하는 종래 기술과 동일한 복구성능을 유지하면서 저장공간 낭비와 입출력이 증가하는 문제를 해결할 수 있는 효과가 얻어진다.As described above, according to the data replication method using the data access frequency and the erase code in the cloud storage system according to the present invention, the cloud storage system can store An effect of solving the problem of waste of space and increase of input / output can be obtained.

특히, 본 발명의 실험을 통하여, 3개의 데이터 복제본을 생성하는 방법과 패리티만을 생성하는 방법을 비교하여, 데이터 접근빈도를 핫(Hot), 왐(Warm), 콜드(Cold)로 세분화하여 나눔으로써 소거 코드(Erasure Codes)를 이용한 데이터 복제 방법이 HDFS 보다 저장공간 효율성은 40%, 읽기 성능 11% 및 쓰기 성능 10% 향상되는 효과가 얻어진다.
Particularly, through experiments of the present invention, by comparing the method of generating three copies of data and the method of generating only parity, the frequency of data access is divided into hot, warm and cold, The data replication method using Erasure Codes achieves 40% more storage space efficiency, 11% read performance and 10% write performance than HDFS.

도 1은 종래기술에 따른 HDFS의 저장공간 사용의 예시도.
도 2는 본 발명을 실시하기 위한 전체 시스템에 대한 블록 구성도.
도 3은 본 발명의 일실시예에 따른 RAID 시스템의 구성도.
도 4는 본 발명의 일실시예에 따른 핫 데이터 유형의 데이터 복제 방법의 예시도.
도 5는 본 발명의 일실시예에 따른 왐 데이터 유형의 데이터 복제 방법의 예시도.
도 6은 본 발명의 일실시예에 따른 콜드 데이터 유형의 데이터 복제 방법의 예시도.
도 7은 본 발명의 일실시예에 따른 소거 코드를 이용한 데이터 복제 방법의 예시도.
도 8은 본 발명에 따른 일실시예에 따른 클라우드 스토리지 시스템에서 데이터 접근빈도와 소거 코드를 이용한 데이터 복제 방법으로서, 쓰기 명령시의 방법을 설명하는 흐름도.
도 9는 본 발명에 따른 일실시예에 따른 클라우드 스토리지 시스템에서 데이터 접근빈도와 소거 코드를 이용한 데이터 복제 방법으로서, 읽기 명령시의 방법을 설명하는 흐름도.
도 10은 본 발명에 따른 일실시예에 따른 클라우드 스토리지 시스템에서 데이터 접근빈도와 소거 코드를 이용한 데이터 복제 방법을 구현한 알고리즘의 일례.
도 11은 본 발명의 실험에 따라, 실험에 사용한 SSD의 스펙 정보를 나타낸 표.
도 12는 본 발명의 실험에 따라, 실험 환경을 나타낸 표.
도 13은 본 발명의 실험에 따라, 저장공간 효율성에 대한 실험 성능 비교를 나타낸 표.
도 14는 본 발명의 실험에 따라, 데이터 쓰기에 대한 실험 성능 비교를 나타낸 표.
도 15는 본 발명의 실험에 따라, 데이터 읽기에 대한 실험 성능 비교를 나타낸 표.
1 shows an example of storage space usage of an HDFS according to the prior art;
2 is a block diagram of an entire system for implementing the present invention;
3 is a configuration diagram of a RAID system according to an embodiment of the present invention;
4 is an illustration of an example of a hot data type data replication method in accordance with one embodiment of the present invention.
5 is an illustration of an example of a data replication method for a data type according to one embodiment of the present invention.
Figure 6 is an illustration of an example of a cold data type data replication method in accordance with one embodiment of the present invention.
FIG. 7 is an exemplary diagram illustrating a data replication method using an erase code according to an embodiment of the present invention; FIG.
FIG. 8 is a flowchart illustrating a method of a write command using a data access frequency and an erase code in a cloud storage system according to an embodiment of the present invention. FIG.
FIG. 9 is a flowchart illustrating a data read method using a data access frequency and an erase code in a cloud storage system according to an embodiment of the present invention. FIG.
10 is an example of an algorithm implementing a data replication method using a data access frequency and an erase code in a cloud storage system according to an embodiment of the present invention.
11 is a table showing specification information of the SSD used in the experiment according to the experiment of the present invention.
12 is a table showing the experimental environment according to the experiment of the present invention.
Figure 13 is a table showing experimental performance comparisons of storage space efficiency according to the experiments of the present invention.
14 is a table showing experimental performance comparisons for data writing in accordance with the experiments of the present invention.
15 is a table showing experimental performance comparisons for reading data 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 entire system for implementing the present invention will be described with reference to FIG.

도 2에서 보는 바와 같이, 본 발명을 실시하기 위한 전체 시스템은 클라이언트(10), 데이터 노드(20), 복제 시스템(30)으로 구성된다.As shown in FIG. 2, the overall system for carrying out the present invention comprises a client 10, a data node 20, and a replication system 30.

클라이언트(10)는 PC, 노트북, 넷북, PDA, 모바일 등의 통상의 컴퓨팅 단말로서, 복제 시스템(30)에 데이터를 저장하거나 데이터를 읽는 서비스를 요청하는 단말이다.The client 10 is a conventional computing terminal such as a PC, a notebook, a netbook, a PDA, or a mobile, and is a terminal requesting a service for storing data or reading data in the clone system 30.

데이터 노드(20)는 네트워크 상에 데이터를 저장하는 서버 또는 스토리지 서버로서, SSD 스토리지 등을 구비하고 이를 제어하여 데이터 입출력 서비스(또는 기능)를 수행한다. 데이터 노드(20)에 구비하는 SSD 스토리지는 SSD(Solid State Disk) 방식의 디스크로 구성된 스토리지 또는 저장장치이다. SSD는 NAND 플래시 메모리가 병렬로 결합하여 구성된 저장장치이다.The data node 20 is a server or a storage server for storing data on a network, and has an SSD storage or the like and controls the data to perform a data input / output service (or function). The SSD storage included in the data node 20 is a storage or storage device configured by a solid-state disk (SSD) disk. The SSD is a storage device configured by combining NAND flash memories in parallel.

복제 시스템(30)은 클라이언트(10)로부터 요청을 받아 데이터 노드(20)에 저장된 데이터를 가져오거나, 클라이언트(10)로부터 받은 데이터를 데이터 노드(20)에 저장한다. 바람직하게는, 복제 시스템(30)은 데이터 노드(20)들을 하둡 분산 파일시스템(HDFS)에 의해 구성한다.The cloning system 30 receives the request from the client 10 and fetches the data stored in the data node 20 or stores the data received from the client 10 in the data node 20. Preferably, the cloning system 30 configures the data nodes 20 by the Hadoop Distributed File System (HDFS).

복제 시스템(30)은 적어도 3개 이상의 데이터 노드(20)와 연결되어 데이터를 분산하여 저장시킨다. 복제 시스템(30)은 데이터를 복제하여 2개 이상의 복제 데이터를 저장하는 경우, 서로 다른 데이터 노드(20)에 중복하여 복제하여 저장한다. 특히, 복제 시스템(30)은 입력 데이터에 대하여 청킹 과정을 거친 후, 청킹 단위로 데이터를 저장한다.The cloning system 30 is connected to at least three data nodes 20 to distribute and store data. When duplicating data and storing two or more duplicate data, the duplicating system 30 duplicates and stores duplicate data in the different data nodes 20. In particular, the cloning system 30 stores the data in chunking units after chunking the input data.

또한, 복제 시스템(30)은 RAID 시스템 방식으로 구성할 수 있다. 바람직하게는, 복제 시스템(30)은 RAID를 사용하는 하둡 분산 파일시스템(HDFS)에 의해 구성한다.Further, the clone system 30 can be configured in a RAID system manner. Preferably, the clone system 30 is configured by a Hadoop Distributed File System (HDFS) using RAID.

이때, 소거 코딩(Erasure Codes)을 이용하여 패리티 정보를 저장하는 경우, 청크 단위로 패리티 데이터를 생성하고, 청크 단위로 데이터 및 패리티 데이터를 저장한다.In this case, when parity information is stored using erasure codes, parity data is generated in units of chunks, and data and parity data are stored in units of chunks.

도 3에서 보는 바와 같이, 데이터 청크와 패리티 청크는 스트라이프 방식으로 각각의 데이터 노드(20)에 저장된다. 바람직하게는, 청크 크기의 범위는 32∼128KB이다. RAID에서 스트라이프 방식은 데이터를 청크 사이즈 단위로 나누고 RAID 수 만큼의 청크를 하나의 세트로 구성하여 저장하는 방법이다.As shown in FIG. 3, data chunks and parity chunks are stored in respective data nodes 20 in a striped fashion. Preferably, the chunk size range is 32 to 128 KB. In RAID, the stripe method divides data into chunk size units, and stores chunks of the same number of RAIDs as one set.

이때 도 3에서와 같이, RAID-5,6 에서의 스트라이프 방식에 의해, 데이터 세트의 청크와 패리티 청크를 순서대로 A1, A2, A3, PA 저장한다. 그리고 다음 데이터 세트에서는 B2, B3, PB, B1 순서로 저장한다. 이것은 패리티 청크가 하나의 데이터 노드에 편중될 때 신뢰성 저하를 방지하기 위함이다. 패리티 청크가 하나의 데이터 노드에 편중될 경우 패리티 노드에서 장애가 발생하면 패리티 정보가 없어서 데이터 복구를 할 수 없게 되기 때문이다.At this time, as shown in FIG. 3, the chunks of the data set and the parity chunks are stored in the order of A1, A2, A3, and PA by the stripe method in RAID-5,6. In the next data set, B2, B3, PB, and B1 are stored in this order. This is to prevent reliability degradation when parity chunks are biased on one data node. If the parity chunk is biased to one data node, if the parity node fails, the parity information is not available and data recovery can not be performed.

한편, 복제 시스템(30)은 데이터 노드의 손상 등에 의해 데이터가 손실되는 경우, 다른 데이터 노드에 복제된 데이터 청크를 이용하거나, 패리티 데이터를 이용하여 데이터를 복구할 수 있다.
On the other hand, when the data is lost due to the damage of the data node or the like, the cloning system 30 can use the data chunks copied to other data nodes or recover the data using the parity data.

다음으로, 본 발명의 일실시예에 따른 복제 시스템(30)의 하둡 분산 파일시스템(HDFS)에 대하여 구체적으로 설명한다.Next, the Hadoop distributed file system (HDFS) of the clone system 30 according to an embodiment of the present invention will be described in detail.

하둡 분산 파일시스템(HDFS)은 대량의 자료를 처리할 수 있게 해주는 오픈소스 소프트웨어이다. HDFS는 하나의 네임노드와 다수의 데이터 노드로 구성된다. 네임노드는 HDFS의 네임 스페이스를 관리하면서 클라이언트의 파일 접근 요청을 처리한다. HDFS의 데이터 노드는 클라이언트의 데이터 입출력 요청을 기본 64MB 블록 단위로 저장한다. 또한, 컴퓨터 클러스터에서 복제본을 만들어 저장장치 중 일부의 손실을 빨리 자동으로 복구하는 기능을 제공한다. 복구 기능은 사용자가 지정한 만큼의 데이터 복제본을 만들어 동작하는데 통상 3개의 복제본을 만든다. 이러한 3개의 복제본 생성은 데이터 규모가 커질수록 저장공간 사용량이 증가하게 된다. HDFS는 클라우드 환경에 적합하지만 3개의 복제본을 만듦으로써 저장공간 소모가 크다는 단점이 있다.The Hadoop Distributed File System (HDFS) is open source software that allows you to process large amounts of data. HDFS consists of one name node and a number of data nodes. The name node manages the namespace of HDFS and handles client file access requests. The data node of HDFS stores the data input / output request of the client in the basic 64 MB block unit. It also provides the ability to create replicas in computer clusters to automatically recover quickly from loss of some storage devices. The recovery function creates as many copies of the data as the user specifies, usually three replicas. The creation of these three replicas will increase storage usage as the data size grows. HDFS is well suited for the cloud environment, but it has the disadvantage of high storage space consumption by creating three replicas.

또한, RAID(Redundant Array of Independent Disks)를 사용한 하둡 분산 파일시스템(HDFS-RAID)에 대하여 설명한다.In addition, a Hadoop distributed file system (HDFS-RAID) using a RAID (Redundant Array of Independent Disks) will be described.

HDFS-RAID는 기존의 HDFS에 데이터 복제 방법(Data Replication Method) 대신 RAID를 적용한 분산 파일시스템이다. HDFS-RAID는 DRFS(Distributed RAID File System)이라고도 불리며 아파치 재단에서 연구되었다[비특허문헌 5].HDFS-RAID is a distributed file system that uses RAID instead of Data Replication Method in existing HDFS. HDFS-RAID is also referred to as Distributed RAID File System (DRFS) and has been studied by the Apache Foundation [Non-Patent Document 5].

HDFS-RAID는 신뢰성을 위해 데이터의 복제본을 만들지 않고 RAID 6의 스트라이프를 만들어 패리티 블록을 같이 저장한다. 데이터 손실시에는 패리티 블록으로부터 데이터 복구과정을 거쳐서 원본 데이터를 복원한다. HDFS-RAID는 기존 HDFS의 3개의 복제본을 생성하는 방법과 비교했을 때 동일하게 2개의 손실을 복구할수 있지만 저장공간을 적게 사용한다. 따라서 데이터 저장량이 많은 클라우드 스토리지 시스템에 적용시 효과적이다.For reliability, HDFS-RAID does not create a replica of the data, but creates RAID 6 stripes and stores the parity blocks together. When the data is lost, the original data is recovered through the data recovery process from the parity block. HDFS-RAID can recover the same two losses, but uses less storage space compared to creating three replicas of existing HDFS. Therefore, it is effective when applied to cloud storage systems with large data storage capacity.

일례로 페이스북(Facebook)에서 HDFS-RAID를 적용하여 저장공간 효율성을 향상한 사례가 있다. 페이스북(Facebook)은 전세계 약 10억명 이상의 유저가 활동하는 세계 최대의 소셜 네트워크 서비스로 하루 평균 25억개의 컨텐츠가 공유되고 500TB 이상의 데이터를 처리한다. 이처럼 페이스북(Facebook)에서 매일 생성되는 방대한 데이터가 쌓여서 빅데이터를 형성하게 되는데, 페이스북(Facebook)에서는 HDFS-RAID를 도입하였고 이를 통해 약 5PB의 용량을 감소시키는 성과를 달성하였다. 페이스북(Facebook)의 사례는 데이터 복제 방식에 소거 코드(Erasure Codes)를 적용할 경우 저장공간 사용이 효율적이라는 것을 보여준다.
For example, there has been an increase in storage space efficiency by applying HDFS-RAID on Facebook. Facebook is the world's largest social networking service with more than a billion users around the world, sharing an average of 2.5 billion content per day and handling more than 500 terabytes of data. As such, the vast amount of data generated on Facebook is accumulated every day and big data is formed. On Facebook, HDFS-RAID was introduced, which resulted in a capacity reduction of about 5PB. Facebook's case shows that storage space usage is efficient when applying erasure codes to data replication methods.

다음으로, 본 발명에 사용하는 소거 코딩(Erasure Coding) 방법에 대하여 구체적으로 설명한다.Next, the erasure coding method used in the present invention will be described in detail.

소거 코딩(Erasure Coding)(또는 소거 코드)은 데이터와 인코딩 과정을 통해 생성한 코드들을 저장하여 데이터 손실시 디코딩 과정을 거쳐 원본 데이터를 복구하는 방법이다[비특허문헌 6]. 뛰어난 오류 복구 성능과 입출력 성능으로 인해서 데이터 신뢰성이 중요한 시스템에 소거 코드(Erasure Codes)를 사용한다. 소거 코드(Erasure Codes)로 생성된 패리티가 데이터 복제본 생성보다 적은 저장공간을 차지하므로 신뢰성을 제공하면서 저장공간 효율성 또한 높일 수 있다. Erasure Coding (or Erase Coding) is a method of storing codes generated through data and encoding processes and recovering original data through a decoding process in case of data loss [Non-Patent Document 6]. Erasure Codes are used on systems where data reliability is important due to excellent error recovery performance and I / O performance. The parity generated by the erasure codes occupies less storage space than the data replica generation, thus providing reliability and storage space efficiency.

소거 코드(Erasure Codes)의 종류로는 리드-솔로몬 코드(Reed-Solomon Code)[비특허문헌 7], 에베노드 코드(EVENODD code)[비특허문헌 8], 위버 코드(Weaver code)[비특허문헌 9], 엑스 코드(X-code)[비특허문헌 10] 등 다양한 코드가 있다. 각 소거 코드(Erasure Codes) 별로 다른 알고리즘을 사용하며 연산 복잡도를 줄이면서 복구 성능을 높이기 위한 기술이 개발되고 있다.
Examples of the types of erasure codes include a Reed-Solomon code (Non-Patent Document 7), an EVENODD code (Non-Patent Document 8), a Weaver code Document 9], and X-code [Non-Patent Document 10]. Techniques are being developed to use different algorithms for each erasure code and to improve recovery performance while reducing computational complexity.

다음으로, 본 발명의 일실시예에 따른 클라우드 스토리지 시스템에서 데이터 접근빈도에 따른 데이터 복제 방법을 도 4 내지 도 6을 참조하여 설명한다.Next, a data replication method according to data access frequency in a cloud storage system according to an embodiment of the present invention will be described with reference to FIG. 4 to FIG.

종래기술에 따른 클라우드 스토리지에서의 데이터 복제 방법은 데이터 손실로부터 신뢰성을 유지하기 위해 3개의 복제본을 생성한다. 따라서 종래기술에 따른 복제 방법은 저장공간 낭비를 유발한다. 이에 반해 본 발명에 따른 방법은 저장공간 효율성과 입출력 속도를 높이기 위해서 데이터 접근빈도에 따라 세 가지 다른 복제 방법을 사용한다.Prior art data replication methods in cloud storage create three replicas to maintain reliability from data loss. Therefore, the replication method according to the related art causes waste of storage space. In contrast, the method according to the present invention uses three different replication methods depending on data access frequency in order to increase storage space efficiency and input / output speed.

본 발명에 따른 방법은 접근빈도에 따라 데이터를 핫 데이터(Hot Data), 왐 데이터(Warm Data), 콜드 데이터(Cold Data)로 분류한다.The method according to the present invention classifies data into hot data, warm data, and cold data according to the frequency of access.

핫 데이터(Hot Data)는 접근빈도가 높아 자주 사용되는 데이터이다. 핫 데이터(Hot Data)는 데이터 손실시에 강건한 신뢰성을 보장하기 위해서 도 4와 같이 3개의 복제본을 생성한다[비특허문헌 11].Hot data is frequently used because of its high frequency of access. Hot data creates three replicas as shown in FIG. 4 to guarantee robust reliability in case of data loss [Non-Patent Document 11].

왐 데이터(Warm Data)는 핫 데이터(Hot Data) 보다 접근 빈도가 낮은 데이터이지만 추후 클라이언트의 잦은 사용으로 핫 데이터(Hot Data)가 될 가능성이 높은 데이터이다. 따라서 왐 데이터(Warm Data)는 도 5와 같이 2개의 복제본 생성과 소거 코드(Erasure Codes)를 사용하여 신뢰성을 확보한다. 콜드 데이터(Cold Data)는 접근 빈도가 가장 낮아 자주 사용되지 않는 데이터로 도 6과 같이 소거 코드(Erasure Codes)만을 사용해 데이터 손실에 대비한다.왐 Data (Warm Data) is data with a lower access frequency than Hot Data, but it is likely to become hot data due to frequent use of clients later. Therefore, as shown in FIG. 5, the Warm Data secures reliability by using two replica creation and erasure codes. Cold data is data that is not frequently used because it has the lowest frequency of access and is prepared for data loss using only erasure codes as shown in FIG.

핫 데이터(Hot Data)는 일반적으로 전체 데이터에서 차지하는 비율이 상대적으로 낮기 때문에 3개의 복제본을 생성하더라도 저장공간 효율성이 크게 떨어지지 않는다. 핫 데이터(Hot Data)에 비해 접근빈도가 낮은 왐 데이터(Warm Data), 콜드 데이터(Cold Data)의 경우 데이터 양이 많기 때문에 저장공간 효율성을 위해 소거 코드(Erasure Codes)를 적용하여 패리티를 생성한 후 저장한다.도 5와 도 6은 소거 코드(Erasure Codes)를 적용했을 때의 데이터 크기를 보여준다. Generally, since hot data occupies a relatively small proportion of the entire data, even if three replicas are created, the storage space efficiency does not decrease significantly. In the case of Warm data and Cold data, which have a lower access frequency than hot data, since the amount of data is large, parity is generated by applying erasure codes for storage space efficiency FIG. 5 and FIG. 6 show data sizes when erasure codes are applied.

도 4와 비교해 보면, 복제방식은 데이터의 크기에 비해 3배의 저장공간이 필요하다. 그러나 콜드 데이터(Cold Data)일 경우 소거 코드(Erasure Codes)를 적용하면 데이터에 1.4배의 저장공간이 필요하다. 또한, 저장속도도 패리티 연산시간이 있지만 3개의 복제본을 생성하는 것보다 적은 시간이 소모되기 때문에 쓰기 속도도 향상된다.Compared with FIG. 4, the replication method requires three times as much storage space as the data size. However, in case of Cold Data, applying Erasure Codes requires 1.4 times as much storage space as data. In addition, although the storage speed has a parity operation time, the write speed is also improved because it takes less time than generating three copies.

즉, 소거코딩 결과를 "입력 파일의 데이터 청크 + 패리티 청크"라고 보면, 핫 데이터, 웜 데이터, 콜드 데이터는 다음과 같이 요약될 수 있다.That is, when the erasure coding result is regarded as "data chunk of the input file + parity chunk", the hot data, the warm data, and the cold data can be summarized as follows.

핫 데이터는 복제본 3개, 또는 "입력 파일 + 복제본 2개"로 나누어 분산되어 저장되고, 웜 데이터는 복제본 1개 + 소거코딩 결과(입력파일 청킹 + 패리티 청킹)로 나누어 분산되어 저장된다. 또한, 콜드 데이터는 소거코딩 결과(입력파일 청킹 + 패리티 청킹)로 나누어 분산되어 저장된다.
The hot data is distributed and divided into three replicas or "input file + two replicas", and the worm data is divided into one replica and erasure coding results (input file chuning + parity chunning) and stored. In addition, the cold data is divided and stored in the erase coding result (input file chunking + parity chunking).

다음으로, 본 발명의 일실시예에 따른 클라우드 스토리지 시스템에서 소거 코드(Erasure Codes)를 이용한 데이터 복제 방법을 도 7을 참조하여 보다 구체적으로 설명한다.Next, a data replication method using erasure codes in a cloud storage system according to an embodiment of the present invention will be described in more detail with reference to FIG.

왐 데이터(Warm Data)와 콜드 데이터(Cold Data)를 위한 데이터 복제 방법은 원본 데이터와 소거 코드(Erasure Codes)를 이용하여 패리티 정보를 저장한다.The data replication method for data (Warm Data) and cold data (Cold Data) stores parity information using original data and erasure codes.

도 7은 데이터 복제를 위해 RAID-6와 소거 코드(Erasure Codes)를 사용하는 예를 보여준다. RAID-6는 두 개의 패리티 블록 저장하여 두 개의 데이터 블록이 손실될 경우 복구할 수 있게 하는 기능을 한다. 또한, 소거 코드(Erasure Codes)는 원본 데이터에 연산 과정인 인코딩을 거쳐 패리티 정보를 생성하는 역할을 한다[비특허문헌 12]. FIG. 7 shows an example of using RAID-6 and erasure codes for data replication. RAID-6 stores two parity blocks so that two data blocks can be recovered if they are lost. In addition, Erasure Codes generate parity information through encoding, which is an operation process, on original data (Non-Patent Document 12).

소거 코드(Erasure Codes)를 이용한 데이터 복제 방법의 쓰기 과정은 먼저 입력 데이터를 청킹하는 과정까지 거친 후에 도 8과 같이 각 청크들을 소거 코딩(Erasure Coding) 과정을 거쳐 패리티 청크를 생성한다.The writing process of the data replication method using Erasure Codes first passes through the process of chunking input data, and then generates chunks of parity through an erasure coding process for each chunk as shown in FIG.

생성된 패리티 청크는 데이터 청크와 합쳐져 하나의 스트라이프를 구성하게 된다. 따라서, 하나의 스트라이프 안에는 데이터와 패리티 청크가 합쳐져 있다. 여기서 각 데이터 및 패리티 청크들은 하나의 데이터 노드에 할당되어 저장해야 한다. 또한, 각각의 스트라이프는 패리티 청크가 배치될 데이터 노드를 변경하면서 저장하여 하나의 데이터 노드에 패리티 청크가 몰리는 현상을 방지한다.
The generated parity chunks are combined with the data chunks to form a single stripe. Thus, data and parity chunks are combined in one stripe. Where each data and parity chunk must be allocated and stored in one data node. In addition, each stripe stores data nodes to which a parity chunk is to be arranged while changing them, thereby preventing a parity chunk from being pushed into one data node.

다음으로, 본 발명의 일실시예에 따른 클라우드 스토리지 시스템에서 데이터 접근빈도와 소거 코드를 이용한 데이터 복제 방법을 도 8 내지 도 10을 참조하여 설명한다.Next, a method of data replication using a data access frequency and an erase code in a cloud storage system according to an embodiment of the present invention will be described with reference to FIGS. 8 to 10. FIG.

도 8과 도 9는 접근빈도에 따라서 소거 코드(Erasure Codes)를 이용하는 데이터 복제 방법의 순서도로서, 각각 쓰기 명령 및 읽기 명령에 대한 순서도를 표시한 것이다. 도 10은 본 발명에 따른 데이터 복제 방법을 구현한 알고리즘을 보여준다.8 and 9 are flowcharts of a data replication method using erasure codes according to an access frequency, and show flowcharts of a write command and a read command, respectively. FIG. 10 shows an algorithm implementing the data replication method according to the present invention.

먼저 시스템에 쓰기 명령이 들어오면 64MB 크기의 블록 단위로 데이터를 청킹한다.First, when a write command is entered into the system, the data is chunked in blocks of 64 MB.

다음으로, 쓰기 요청된 데이터에 대해 메타 데이터 영역에 해당 데이터의 접근빈도 카운트 값과 저장방식을 저장한다.Next, the access frequency count value and the storage method of the data are stored in the metadata area for the data requested to be written.

접근 빈도 파라미터는 데이터가 입력된 후부터 누적된 접근 횟수이다. 그리고 특정한 시간 범위(예를 들어 6시간) 내에 데이터 접근이 없다면 접근 빈도 파라미터를 (예를 들어 1씩) 감소시킨다. 이는 핫 데이터에서 콜드 데이터로 전환시키기 위한 것이다.
The access frequency parameter is the accumulated number of accesses since the data was entered. And if there is no data access within a specific time range (e.g., 6 hours), reduce the access frequency parameter (e.g., by 1). This is for switching from hot data to cold data.

처음 쓰기 명령된 파일은 접근횟수가 없어 콜드 데이터(Cold Data)가 되므로 소거 코딩(Erasure Coding)을 적용하여 원본 파일과 패리티 정보를 저장한다.Since the file to be written first is cold data because there is no access frequency, erasure coding is applied to store the original file and parity information.

그리고 각 파일에 읽기 명령이 들어오면, 메타 데이터를 참조하여 데이터가 어느 방식으로 저장 되어 있는지 확인하고 주소값을 확인한다. 그리고 접근횟수가 늘어났기 때문에 메타 데이터에서 접근빈도 카운트(Access Frequency Count) 값을 1씩 증가시킨다. 그 후 파일을 구성하는 청크들을 모아 읽기 요청된 데이터를 제공한다.Then, when a read command is input to each file, the metadata is referred to, and it is checked how the data is stored and the address value is confirmed. Since the access frequency is increased, the access frequency count value is incremented by 1 in the metadata. It then collects the chunks that make up the file and provides the data requested to be read.

만약, 읽기 명령이 빈번히 발생해서 접근빈도 카운트 값이 증가하여 1차 임계값과 같거나 커지면 왐 데이터(Warm Data)가 되어 신뢰성을 위해 원본 파일의 복제본을 1회 더 저장한다.If the read command is frequently generated and the count value of the access frequency increases or becomes equal to or larger than the first threshold value, the data is stored as Warm Data, and a duplicate copy of the original file is stored for reliability.

접근빈도 카운트 값이 더 증가하여 2차 임계값과 같거나 커지게 되면 핫 데이터(Hot Data)가 되어 복제본을 1회 더 저장한다.If the access frequency count value further increases and becomes equal to or larger than the second threshold value, the hot data becomes a hot data and the replica is stored one more time.

반대로 일정 시간 동안 파일에 대한 읽기 명령이 발생하지 않는다면 접근빈도 카운트값을 감소시켜 저장공간 효율성 향상을 위해 소거 코딩(Erasure Coding) 방법으로 저장한다. 접근빈도 카운트값이 2차 임계값보다 작아지면 복제본을 하나 삭제하여 핫 데이터(Hot Data)를 왐 데이터(Warm Data)로 바꾸고 소거 코드(Erasure Codes)의 패리티 정보를 생성한다. 1차 임계값보다 작아지면 복제본을 하나 더 삭제하여 왐 데이터(Warm Data)를 콜드 데이터(Cold Data)로 바꾸고 원본 데이터와 패리티 정보만 남게 된다.On the other hand, if the read command for the file does not occur for a predetermined period of time, the access frequency count value is decreased and stored in an erasure coding method to improve storage space efficiency. When the access frequency count value becomes smaller than the second threshold value, one replica is deleted to convert hot data into warm data and parity information of erasure codes is generated. When it becomes smaller than the first threshold value, one more replica is deleted to replace the cold data with the cold data, and only the original data and the parity information are left.

도 7는 데이터 청크들이 데이터 노드에 어떻게 저장된 것인지를 보여준다. 즉, 도 7에 데이터 노드(Data Node)가 1~8까지 표시되고 있다. 복제본 또는 소거코드 결과는 데이터 노드(Data Node)에 분산되어 저장된다. 하나의 데이터 노드(Data Node)에 청크를 모두 저장하지 않는다. 도7 은 소거 코딩일 때 데이터 청크와 패리티 청크가 스트라이프되어 여러 데이터 노드에 분산되어 저장되는 것을 나타내고 있다. Figure 7 shows how data chunks are stored in a data node. That is, data nodes 1 to 8 are displayed in Fig. The result of the replica or erase code is distributed and stored in the data node. It does not store all chunks in one data node. FIG. 7 shows that data chunks and parity chunks are striped and stored in a plurality of data nodes in the case of erasure coding.

복제본의 저장은 도 7에서 패리티 청크만 없을 뿐이고 데이터 청크를 여러 데이터 노드에 분산하여 저장한다. 즉, 접근빈도가 1차 임계값 이상이면, 콜드 데이터에서 웜 데이터로 변경되고, 이때, 복제본이 1회 더 저장된다. 그리고 접근빈도가 2차 임계값 이상이면 웜 데이터에서 핫 데이터로 변경되고, 이대, 패리티를 식제하고 복제본 1회 더 생성하여 저장한다.
The storage of the replica stores only the parity chunks in FIG. 7, and the data chunks are distributed and stored in the plurality of data nodes. That is, if the access frequency is equal to or higher than the first threshold value, the cold data is changed to the worm data, and at this time, the replica is stored one more time. If the access frequency is more than the second threshold, the data is changed from the worm data to the hot data.

다음으로, 본 발명의 효과를 실험결과를 통해 설명한다.Next, the effects of the present invention will be described through experimental results.

본 발명에 따른 방법의 성능평가를 위해 워크로드 데이터 크기를 256MB, 512MB, 1GB, 2GB로 각각 설정했다. 워크로드의 크기가 작아서 청크사이즈는 4KB 크기로 청킹하였다.In order to evaluate the performance of the method according to the present invention, the workload data sizes were set at 256 MB, 512 MB, 1 GB, and 2 GB, respectively. Because the workload was small, the chunk size was chunked to 4KB.

데이터 저장방식을 결정하는 기준인 임계값은 각 실험 전에 무작위로 읽기 명령을 내려 각 데이터의 접근빈도 카운트 값을 확인하였다.The threshold value, which is the criterion for determining the data storage method, was randomly read command before each experiment to check the frequency count of each data.

핫 데이터(Hot Data), 왐 데이터(Warm Data), 콜드 데이터(Cold Data)의 비율은 실제 서버에서 추출한 워크로드에서 얻은 비율을 이용하였다[비특허문헌 13∼15]. 각 참고논문에서는 Financial1, MSR, Distilled, RealSSD, digital camera, Linux O/S의 워크로드를 사용하였다.The ratio of hot data, warm data, and cold data is obtained from a workload extracted from a real server [Non-patent Documents 13 to 15]. Each reference paper used the workloads of Financial1, MSR, Distilled, RealSSD, digital camera, and Linux O / S.

각 워크로드에서 핫 데이터(Hot Data)의 비율은 평균이 10%였으며 따라서 실험에서도 핫 데이터(Hot Data)의 비율을 10%로 정하였다. 왐 데이터(Warm Data)는 참고논문에서 핫 데이터(Hot Data)의 비율이 30%까지 올라가는 점을 참고하여 20%로 비율을 정하였다. 실험에서 핫 데이터(Hot Data)가 차지하는 비율은 전체 데이터의 약 10%가 되도록 설정하였고, 왐 데이터(Warm Data)는 전체 데이터의 약 20%, 콜드 데이터(Cold Data)는 약 70%가 되도록 했다. 패리티생성 방식은 리드-솔로몬(Reed-Solomon) 코드를 적용하여 패리티 비트를 생성했다. 복제시에는 기존의 분산 파일 시스템과 같이 3개의 복제본을 만들어 저장했다. In each workload, the average rate of hot data was 10%, so in the experiment, the ratio of hot data was set at 10%. 왐 Data (Warm Data) is defined as 20% by referring to the fact that the ratio of hot data is increased up to 30% in the reference paper. In the experiment, the ratio of hot data is set to about 10% of the total data, and the worm data is about 20% of the total data and the cold data is about 70% . In the parity generation method, a parity bit is generated by applying a Reed-Solomon code. At the time of replication, three replicas were created and stored like the existing distributed file system.

실험환경은 다음과 같다. 벤치마크 툴로 IOzone을 사용하여 다양한 크기의 워크로드 데이터를 생성하였으며, HDFS의 최소 구성 개수인 3대의 PC를 사용하였다. 각 PC의 사양은 동일하게 CPU는 Intel Core2(2.4Ghz)이고, DDR2 2GB메모리를 사용하였다. 운영체제는 리눅스 CentOS 6.2에 커널 버전 3.8.13을 이용했다. 저장장치는 SAMSUNG SSD 64GB를 각 PC에 2개씩 장착하였다. 사용된 SSD의 스펙은 도 11의 표와 같고, 실험에 사용된 컴퓨터의 성능 및 환경은 도 12의 표와 같다.The experimental environment is as follows. IOzone was used as a benchmark tool to generate workload data of various sizes, and we used three PCs with the minimum number of HDFSs. The specification of each PC is the same with Intel Core2 (2.4Ghz) and DDR2 2GB memory. The operating system used kernel version 3.8.13 on Linux CentOS 6.2. The storage device is equipped with two SAMSUNG SSD 64GB in each PC. The specifications of the SSD used are shown in the table of FIG. 11, and the performance and environment of the computer used in the experiment are shown in the table of FIG.

실험 결과는 도 13, 14, 15와 같다. 각각 저장공간 효율성, 쓰기/읽기 성능을 비교하였으며 데이터 복제방식만을 사용하는 HDFS와 패리티 방식만을 사용하는 HDFS-RAID를 본 발명에 따른 방법의 비교대상으로 하였다. The experimental results are shown in Figs. 13, 14 and 15. The storage space efficiency and the write / read performance are compared with each other, and the HDFS using only the data replication method and the HDFS-RAID using only the parity method are compared with each other according to the present invention.

실험결과 도 13의 저장공간 효율성 면에서는 본 발명에 따른 방법이 HDFS보다 약 40%정도 적게 저장공간을 사용하였다. HDFS는 3개의 복제본을 만들기 때문에 가장 저장공간을 많이 소모하고 HDFS-RAID는 소거 코드(Erasure Codes)만을 사용하기 때문에 가장 저장공간을 적게 차지한다. 본 발명에 따른 방법은 이 두가지 사이에 위치하며 HDFS-RAID에 근접한 수치를 보여주어 저장공간 효율성이 향상됨을 알 수 있었다.Experimental Results In the storage space efficiency of FIG. 13, the method according to the present invention uses about 40% less storage space than HDFS. HDFS consumes the most storage space because it makes 3 replicas, and HDFS-RAID occupies the most storage space because it uses only erasure codes. The method according to the present invention is located between the two and shows a value close to that of HDFS-RAID, indicating that storage space efficiency is improved.

도 14, 15는 각각 쓰기 성능과 읽기 성능을 비교한 그래프이다. 쓰기 성능에서는 본 발명에 따른 방법이 HDFS 보다 약10%, HDFS-RAID 보다 약7% 향상되었다. 읽기 성능에서는 본 발명에 따른 방법이 HDFS 보다 약11%, HDFS-RAID 보다 약12% 향상되었다. 실험결과 본 발명에 따른 방법은 Hot, Warm, Cold로 세분화하여 데이터 접근빈도를 나눔으로써 데이터 복제본만 생성하거나 패리티만을 생성하는 방법들보다 성능이 향상되었다. 이는 다수의 복제본이나 패리티만을 생성하는것 보다 접근빈도를 고려하여 복제와 패리티 방법을 같이 사용하는 것이 효율적임을 알려준다.
14 and 15 are graphs comparing write performance and read performance, respectively. In the write performance, the method according to the present invention is improved by about 10% from HDFS and about 7% from HDFS-RAID. In the read performance, the method according to the present invention is improved by about 11% compared to HDFS and about 12% higher than HDFS-RAID. Experimental Results The method according to the present invention is divided into Hot, Warm, and Cold to divide data access frequency, thereby improving performance compared to methods of generating only a data copy or generating only parity. This suggests that it is more efficient to use the replication and parity methods together, considering access frequency rather than creating multiple copies or parity.

본 발명에서는 클라우드 스토리지 시스템에서 원본데이터에 3개의 복제본을 저장하는 방법에서 발생하는 저장공간 낭비와 입출력이 증가하는 문제를 해결하기 위해 데이터 접근빈도에 따라 기존의 소거 코드(Erasure Codes)를 이용한 데이터 복제 방법을 개발하였다. 기존의 소거 코드(Erasure Codes)를 데이터 접근빈도에 따라 사용하여 3개의 복제본을 생성하는 방법과 동일한 복구성능을 유지하였다. 실험에서는 3개의 데이터 복제본을 생성하는 방법과 패리티만을 생성하는 방법을 비교하였다. 데이터 접근빈도를 핫(Hot), 왐(Warm), 콜드(Cold)로 세분화하여 나눔으로써 소거 코드(Erasure Codes)를 이용한 데이터 복제 기법이 HDFS 보다 저장공간 효율성은 40%, 읽기 성능 11% 및 쓰기 성능 10% 향상되었다.
In the present invention, in order to solve the problem of waste of storage space and increase of input / output in a method of storing three replicas in original data in a cloud storage system, data replication using existing erasure codes according to data access frequency Method. The same recovery performance as that of generating three replicas was maintained by using existing erasure codes according to data access frequency. In the experiment, we compared the method of generating three data replicas and the method of generating only parity. The data replication technique using Erasure Codes by dividing the data access frequency into hot, warm and cold divides the storage space efficiency by 40%, read performance by 11% and write Performance was improved by 10%.

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

10 : 클라이언트 20 : 데이터 노드
30 : 복제 시스템
10: Client 20: Data node
30: Replication system

Claims (5)

입력 파일을 복제하여 저장하는, 클라우드 스토리지 시스템에서 데이터 접근빈도와 소거 코드를 이용한 데이터 복제 방법에 있어서,
(a) 상기 입력 파일의 쓰기 명령에 대하여 상기 입력 파일을 청킹하는 단계;
(b) 상기 입력 파일에 대한 접근 빈도 파라미터를 생성하는 단계;
(c) 상기 접근 빈도 파라미터에 따라 상기 입력 파일을 3개의 유형 중 어느 하나의 유형으로 판단하는 단계; 및,
(d) 판단된 유형에 따라 상기 입력 파일의 저장할 복제본의 개수 및, 소거 코딩 여부를 결정하여, 상기 입력 파일의 복제본 또는 소거 코딩 결과를 저장하는 단계;
(e) 상기 입력 파일의 읽기 명령에 대하여 상기 입력 파일의 접근 빈도 파라미터를 갱신하는 단계;
(f) 갱신된 입력 파일의 접근 빈도에 따라 상기 입력 파일의 유형을 갱신하는 단계;
(g) 상기 입력 파일의 유형이 변경되면, 변경된 유형에 따른 복제본 개수에 맞추어 상기 입력 파일의 복제본을 삭제하거나 추가 복제본을 생성하고, 상기 변경된 유형에 따른 소거 코딩 여부에 따라 소거 코딩 결과를 생성하거나 원래의 소거 코딩 결과를 삭제하는 단계; 및,
(h) 상기 입력 파일의 청크들을 합쳐서 읽는 단계를 포함하고,
상기 유형은 핫 데이터 유형, 웜 데이터 유형, 및, 콜드 데이터 유형으로 분류되고, 상기 접근 빈도 파라미터가 사전에 정해진 1차 임계값 보다 작으면, 콜드 데이터 유형으로 판단하고, 상기 접근 빈도 파라미터가 상기 1차 임계값과 같거나 커지면 왐 데이터 유형으로 판단하고, 상기 접근 빈도 파라미터가 사전에 정해진 2차 임계값과 같거나 커지면 핫 데어터 유형으로 판단하고,
상기 2차 임계값은 상기 1차 임계값 보다 크고,
상기 접근 빈도 파라미터는 접근 횟수를 누적하되, 사전에 정해진 시간 범위 내에 데이터 접근이 없으면 감소시키고,
상기 입력 파일이 핫 데이터 유형이면 복제본 3개를 생성하여 저장하고,
상기 입력 파일이 웜 데이터 유형이면 복제본 2개와 소거 코딩 결과를 생성하여 저장하고,
상기 입력 파일이 콜드 데이터 유형이면 파일 1개와 소거 코딩 결과를 생성하여 저장하는 것을 특징으로 하는 클라우드 스토리지 시스템에서 데이터 접근빈도와 소거 코드를 이용한 데이터 복제 방법.
1. A data replication method using a data access frequency and an erase code in a cloud storage system in which an input file is replicated and stored,
(a) chunking the input file with respect to a write command of the input file;
(b) generating an access frequency parameter for the input file;
(c) determining the input file as any one of the three types according to the access frequency parameter; And
(d) determining the number of replicas to be stored in the input file and whether to perform erasure coding according to the determined type, and storing a copy or erasure coding result of the input file;
(e) updating an access frequency parameter of the input file with respect to a read command of the input file;
(f) updating the type of the input file according to an access frequency of the updated input file;
(g) when the type of the input file is changed, a copy of the input file is deleted or an additional copy is generated in accordance with the number of copies according to the changed type, and an erasure coding result is generated according to whether the erasure is coded according to the changed type Deleting the original erasure coding result; And
(h) reading together the chunks of the input file,
The type is classified into a hot data type, a worm data type, and a cold data type, and if the access frequency parameter is smaller than a predetermined first threshold value, the type is determined as a cold data type, And if the access frequency parameter is equal to or greater than a predetermined second threshold value, it is determined to be a hot data type, and if the access frequency parameter is equal to or greater than a predetermined second threshold value,
Wherein the second threshold is greater than the first threshold,
Wherein the access frequency parameter accumulates the number of accesses and decreases if there is no data access within a predetermined time range,
If the input file is a hot data type, three replicas are created and stored,
If the input file is a worm data type, two replicas and an erasure coding result are generated and stored,
And generating and storing one file and an erasure coding result if the input file is a cold data type, and storing the generated file and the erase coding result in the cloud storage system.
삭제delete 삭제delete 삭제delete 제1항에 있어서,
상기 소거 코딩 결과는 패리티 청크인 것을 특징으로 하는 클라우드 스토리지 시스템에서 데이터 접근빈도와 소거 코드를 이용한 데이터 복제 방법.
The method according to claim 1,
Wherein the erasure coding result is a parity chunk. The data replication method using a data access frequency and an erasure code in a cloud storage system.
KR1020140042372A 2014-04-09 2014-04-09 A method of data replication using data access frequency and erasure codes in cloud storage system KR101533340B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020140042372A KR101533340B1 (en) 2014-04-09 2014-04-09 A method of data replication using data access frequency and erasure codes in cloud storage system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020140042372A KR101533340B1 (en) 2014-04-09 2014-04-09 A method of data replication using data access frequency and erasure codes in cloud storage system

Publications (1)

Publication Number Publication Date
KR101533340B1 true KR101533340B1 (en) 2015-07-06

Family

ID=53789121

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020140042372A KR101533340B1 (en) 2014-04-09 2014-04-09 A method of data replication using data access frequency and erasure codes in cloud storage system

Country Status (1)

Country Link
KR (1) KR101533340B1 (en)

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108874307A (en) * 2017-05-08 2018-11-23 三星电子株式会社 The method of Ethernet solid-state drive system and offer storage offloading functions
KR20190058993A (en) * 2017-11-22 2019-05-30 한국전자통신연구원 Apparatus for supporting file i/o based on erasure coding in distributed file system and the method for the same
CN109857737A (en) * 2019-01-03 2019-06-07 平安科技(深圳)有限公司 A kind of cold and hot date storage method and device, electronic equipment
US10331700B2 (en) 2015-12-10 2019-06-25 Foundation Of Soongsil University-Industry Cooperation System, method, and apparatus for dynamically replicating data for heterogeneous Hadoop
KR102013149B1 (en) * 2018-12-27 2019-08-27 대한민국 Method for collecting and managing of data and system for executint the method
CN112748868A (en) * 2019-10-31 2021-05-04 北京白山耘科技有限公司 Data storage method and device
CN113608670A (en) * 2021-05-25 2021-11-05 武汉理工大学 Block chain data storage method based on fairness and access heat
US11218174B2 (en) 2018-10-23 2022-01-04 Naver Corporation Method and system for storing data locally repairable and efficient multiple encoding
CN114936188A (en) * 2022-05-30 2022-08-23 重庆紫光华山智安科技有限公司 Data processing method and device, electronic equipment and storage medium
US20230013281A1 (en) * 2018-10-15 2023-01-19 Netapp, Inc. Storage space optimization in a system with varying data redundancy schemes
US11899941B2 (en) 2021-11-11 2024-02-13 Samsung Electronics Co., Ltd. Storage device and operating method thereof

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
양유석 외 1인, 'SSD의 성능향상을 위한 접근빈도에 따른 데이터 할당 및 교체기법', 2011년 9월 전자공학회 논문지 제 48 권 CI 편 제 5 호 *
조정흠 외 3인, ‘SSD 기반 클라우드 스토리지 시스템에서 Erasure code를 이용한 데이터 복제 기법’, 2013년도 대한전자공학회 하계학술대회 제36권 1호, pp. 1539-1542 (2013)*
조정흠 외 3인, 'SSD 기반 클라우드 스토리지 시스템에서 Erasure code를 이용한 데이터 복제 기법', 2013년도 대한전자공학회 하계학술대회 제36권 1호, pp. 1539-1542 (2013) *

Cited By (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10331700B2 (en) 2015-12-10 2019-06-25 Foundation Of Soongsil University-Industry Cooperation System, method, and apparatus for dynamically replicating data for heterogeneous Hadoop
CN108874307A (en) * 2017-05-08 2018-11-23 三星电子株式会社 The method of Ethernet solid-state drive system and offer storage offloading functions
KR102252187B1 (en) 2017-11-22 2021-05-14 한국전자통신연구원 Apparatus for supporting file i/o based on erasure coding in distributed file system and the method for the same
KR20190058993A (en) * 2017-11-22 2019-05-30 한국전자통신연구원 Apparatus for supporting file i/o based on erasure coding in distributed file system and the method for the same
US20230013281A1 (en) * 2018-10-15 2023-01-19 Netapp, Inc. Storage space optimization in a system with varying data redundancy schemes
US11218174B2 (en) 2018-10-23 2022-01-04 Naver Corporation Method and system for storing data locally repairable and efficient multiple encoding
KR102013149B1 (en) * 2018-12-27 2019-08-27 대한민국 Method for collecting and managing of data and system for executint the method
CN109857737A (en) * 2019-01-03 2019-06-07 平安科技(深圳)有限公司 A kind of cold and hot date storage method and device, electronic equipment
CN109857737B (en) * 2019-01-03 2024-04-16 平安科技(深圳)有限公司 Cold and hot data storage method and device and electronic equipment
CN112748868A (en) * 2019-10-31 2021-05-04 北京白山耘科技有限公司 Data storage method and device
CN113608670A (en) * 2021-05-25 2021-11-05 武汉理工大学 Block chain data storage method based on fairness and access heat
CN113608670B (en) * 2021-05-25 2023-10-27 武汉理工大学 Block chain data storage method based on fairness and access heat
US11899941B2 (en) 2021-11-11 2024-02-13 Samsung Electronics Co., Ltd. Storage device and operating method thereof
CN114936188A (en) * 2022-05-30 2022-08-23 重庆紫光华山智安科技有限公司 Data processing method and device, electronic equipment and storage medium

Similar Documents

Publication Publication Date Title
KR101533340B1 (en) A method of data replication using data access frequency and erasure codes in cloud storage system
US11762781B2 (en) Providing end-to-end encryption for data stored in a storage system
US11921908B2 (en) Writing data to compressed and encrypted volumes
US11822807B2 (en) Data replication in a storage system
Kim et al. Data Access Frequency based Data Replication Method using Erasure Codes in Cloud Storage System
CN106662981B (en) Storage device, program, and information processing method
CN116431072A (en) Accessible fast durable storage integrated into mass storage device
US11662909B2 (en) Metadata management in a storage system
KR101525453B1 (en) A method of data replication using data access frequency in RAID storage system
US11868636B2 (en) Prioritizing garbage collection based on the extent to which data is deduplicated
Manogar et al. A study on data deduplication techniques for optimized storage
US11899582B2 (en) Efficient memory dump
CN116601596A (en) Selecting segments for garbage collection using data similarity
Liu et al. R-ADMAD: High reliability provision for large-scale de-duplication archival storage systems
KR101970864B1 (en) A parity data deduplication method in All Flash Array based OpenStack cloud block storage
Wang et al. Reducing storage overhead with small write bottleneck avoiding in cloud raid system
Takatsu et al. PPFS: A scale-out distributed file system for post-petascale systems
Ko et al. Fault tolerant erasure coded replication for HDFS based cloud storage
EP4135203A1 (en) Systems, methods, and apparatus for processing data at a storage device
Heo et al. Parity data de-duplication in all flash array-based openstack cloud block storage
Nam et al. Reliability-aware deduplication storage: Assuring chunk reliability and chunk loss severity
Shieh et al. De-duplication approaches in cloud computing environment: a survey
Chen et al. Eec-dedup: Efficient erasure-coded deduplicated backup storage systems
Ahn et al. Dynamic erasure coding decision for modern block-oriented distributed storage systems
Tan et al. De-Frag: an efficient scheme to improve deduplication performance via reducing data placement de-linearization

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20180406

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20190408

Year of fee payment: 5