JPWO2020081512A5 - - Google Patents

Download PDF

Info

Publication number
JPWO2020081512A5
JPWO2020081512A5 JP2021520585A JP2021520585A JPWO2020081512A5 JP WO2020081512 A5 JPWO2020081512 A5 JP WO2020081512A5 JP 2021520585 A JP2021520585 A JP 2021520585A JP 2021520585 A JP2021520585 A JP 2021520585A JP WO2020081512 A5 JPWO2020081512 A5 JP WO2020081512A5
Authority
JP
Japan
Prior art keywords
data
block
storage
blocks
service
Prior art date
Legal status (The legal status 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 status listed.)
Granted
Application number
JP2021520585A
Other languages
Japanese (ja)
Other versions
JP2022512064A (en
JP7312251B2 (en
Publication date
Application filed filed Critical
Priority claimed from PCT/US2019/056236 external-priority patent/WO2020081512A1/en
Publication of JP2022512064A publication Critical patent/JP2022512064A/en
Publication of JPWO2020081512A5 publication Critical patent/JPWO2020081512A5/ja
Application granted granted Critical
Publication of JP7312251B2 publication Critical patent/JP7312251B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Description

本明細書で説明される実施形態は、データブロックの重複排除を行うように構成されているクラスタのストレージノードによってサービスされる論理ボリューム(「volumes」)のデータブロックの複製および消去コーディングのような、様々なデータ保護スキームのためのストレージ利用を改善するように構成されている技術に関する。追加的に、この技術は、ストレージノードのストレージ空間を減少させながら、各重複排除されたデータブロックがデータ保護スキームのデータ完全性保証に適合することを保証するように構成されている。すなわち、データブロックに適用される複数のデータ保護スキームに対しては、同じデータ完全性保証を維持しながら、データ完全性保証を提供するために必要な冗長情報のストレージを低減してもよい。 Embodiments described herein provide data block replication and erasure coding for logical volumes ("volumes") serviced by storage nodes of a cluster that are configured to deduplicate data blocks. , relates to techniques configured to improve storage utilization for various data protection schemes. Additionally, the technique is configured to ensure that each deduplicated data block meets the data integrity guarantees of the data protection scheme while reducing the storage space of the storage node. That is, for multiple data protection schemes applied to data blocks, the storage of redundant information required to provide data integrity assurance may be reduced while maintaining the same data integrity assurance.

各ボリュームは、ボリュームのためのデータを記憶するデータブロックや、ボリュームのデータを説明するメタデータブロックのような、データ構造のセットとして実装されてもよい。ボリュームは、データブロックに分割されてもよい。各ノードに実装されるストレージサービスは、メタデータを処理し記憶するように構成されている1つ以上のメタデータ(スライス)サービスを有するメタデータと、ノードのストレージデバイスでデータを処理(重複排除)し、これを記憶するように構成されている1つ以上のブロックサービスを有するブロックサーバと、を含む。特に、ブロックサービスは、様々なデータ保護スキームによって提供される最大限の程度のデータ保護を提供するように構成され、ボリューム間の様々なデータ保護スキームにもかかわらず、依然としてボリューム全体にわたってデータブロックを重複排除する。 Each volume may be implemented as a set of data structures, such as data blocks that store data for the volume and metadata blocks that describe the data of the volume. A volume may be divided into data blocks. The storage service implemented in each node has a metadata layer with one or more metadata (slice) services configured to process and store metadata, and the node's storage device to process (duplicate) data. a block server layer having one or more block services configured to store it. In particular, block services are configured to provide the greatest degree of data protection provided by various data protection schemes, and still provide data blocks across volumes despite various data protection schemes between volumes. Deduplicate .

この技術によれば、データブロックはまた、対応する保護スキームの表示に関連付けられる(タグ付けされる)。例えば、二重複製データ保護を有するボリュームのデータブロック(すなわち、各々が1レプリカを有するデータブロック)は、R0データブロックがR0ブロックサービスに割り当てられ、R1データブロックが同じビンであるが異なるブロックサービス、すなわち、プライマリR1ブロックサービスに割り当てられるため、2つのブロックサービスに割り当てられるデータブロックを有することがある。例示的に、データブロックは、二重複製データ保護を備えた第1のボリュームに属し、三重複製データ保護を備えた異なる第2のボリュームに属することがある。この技術は、より高い(最も高い)データ完全性保証(すなわち、最も高いデータ保護スキーム)でボリュームを満足させるために、データブロックの十分な複製があることを保証する。例示的に、ノードのスライスサービスは、次に、データブロックのコピー(例えば、二重複製の場合は、R0、R1、または三重複製の場合は、R0~R2)を、識別されたストレージノードに関連付けられたブロックサービスに非同期的にフラッシュするために、複製スキームに基づき記憶リクエストを発行してもよい。 According to this technique, data blocks are also associated (tagged) with an indication of the corresponding protection scheme. For example, data blocks of a volume with dual-replicate data protection (i.e., data blocks each having one replica) are assigned R0 data blocks to the R0 block service and R1 data blocks to the same bin but different block services. ie, it may have data blocks allocated to two block services because it is allocated to the primary R1 block service. Illustratively, a data block may belong to a first volume with double-replicated data protection and belong to a different second volume with triple-replicated data protection. This technique ensures that there are enough copies of data blocks to satisfy the volume with the higher (highest) data integrity guarantee (ie, the highest data protection scheme). Illustratively, the node's slice service then copies the data block (eg, R0, R1 for dual replication, or R0-R2 for triple replication ) to the identified storage node. A storage request may be issued based on a replication scheme to asynchronously flush to the associated block service.

各SSD270a、b(または外部ストレージアレイ150のストレージデバイス)に対するブロックサービス610、620は、それがデータブロックのコピーを予め記憶しているかどうかを決定する。もしそうでなければ、ブロックサービス610、620は、ブロックIDに関連付けられた圧縮データブロックをSSD270a,b上に記憶する。集約されたSSDのブロックストレージプールは、(いつデータが書き込まれたか、またはそれがどこを起源とするかではなく)ブロックIDの内容によって組織化され、それにより、クラスタの「コンテンツアドレス指定可能」な分散ストレージアーキテクチャを提供することに留意する。このようなコンテンツアドレス指定可能なアーキテクチャは、クラスタの少なくとも2つのSSDに記憶された各データブロックの少なくとも2つのコピーを除いて、SSDレベルで「自動的に」(すなわち、「自由に」)データの重複排除を促進する。換言すれば、分散ストレージアーキテクチャは、データのさらなるコピーのインライン重複排除を伴うデータの単一の複製を利用する。すなわち、ハードウェア故障の場合に冗長性の目的のためにデータの少なくとも2つのコピーが存在する。 Block services 610, 620 for each SSD 270a,b (or storage device of external storage array 150) determines whether it has pre-stored a copy of the data block. If not, block services 610, 620 store the compressed data block associated with the block ID on SSD 270a,b. The aggregated SSD's block storage pool is organized by the contents of the block ID (rather than when the data was written or where it originated), thereby making the clusters "content addressable". provided a distributed storage architecture. Such a content-addressable architecture "automatically" (i.e., "freely") data at the SSD level, with the exception of at least two copies of each data block stored on at least two SSDs of the cluster. facilitates deduplication of In other words, a distributed storage architecture utilizes a single copy of data with in-line deduplication of further copies of the data. That is, there are at least two copies of the data for redundancy purposes in case of hardware failure.

本明細書で説明される実施形態は、データブロックの重複排除を実行するように構成されているクラスタのストレージノードがサービスする論理ボリュームのデータブロックのための、複製および消去コーディングなどの様々なデータ保護スキームのためのストレージ利用を改善するための技術に関する。追加的に、この技術は、ストレージノードのストレージ空間を改善しながら、各重複排除されたデータブロックがデータ保護スキームのデータ完全性保証に準拠することを保証するように構成されている。すなわち、データブロックに適用される複数のデータ保護スキームに対しては、同じデータ完全性保証を維持しながら、データ完全性保証を提供するために必要な冗長情報のストレージを低減することができる。 Embodiments described herein provide various data blocks, such as replication and erasure coding, for data blocks of logical volumes served by storage nodes of a cluster that are configured to perform data block deduplication . Techniques for improving storage utilization for protection schemes. Additionally, the technology is configured to ensure that each deduplicated data block complies with the data integrity guarantees of the data protection scheme while improving the storage space of the storage node. That is, for multiple data protection schemes applied to data blocks, the storage of redundant information required to provide data integrity assurance can be reduced while maintaining the same data integrity assurance.

上述のように、各ノードに実装されるストレージサービスは、メタデータを処理および記憶するように構成されている1つ以上のメタデータ(スライス)サービスを有するメタデータ層と、データを処理し(複製し)、ノードのストレージデバイスデータを処理(重複排除)し、これを記憶するように構成された1つ以上のブロックサービスを有するブロックサーバ層とを含む。特に、ブロックサービスは、種々のデータ保護スキームによって提供される最大限の程度のデータ保護を提供するように構成されており、ボリューム間でデータ保護スキームが変動するにもかかわらず、依然として、ボリューム全体にわたってデータブロックを重複排除する。 As described above, the storage service implemented in each node includes a metadata layer having one or more metadata (slice) services configured to process and store metadata, and a metadata layer to process data ( a block server layer having one or more block services configured to replicate ) , process (deduplicate) and store data on the node's storage devices. In particular, block services are configured to provide the greatest degree of data protection provided by various data protection schemes, and still provide data protection across volumes despite varying data protection schemes between volumes. Deduplicate data blocks across

ブロックBに対する書き込み要求に応答して、スライスサービス360aは、対応するブロックサービス610によるストレージのためにブロックBを準備する。先に示したように、データブロックは、ビン割り当てテーブル470に従って各ブロックサービスに割り当てられたビンによって記憶される。上記のように、データブロックは、データブロックに対するブロックID506の先頭ビット(すなわち、ビンフィールド508のビット)に基づいてビンに割り当てられてもよい。また、前述のように、ブロックIDは、データブロックの暗号ハッシュに基づいて生成されてもよく、データブロックは、次いで、ビンフィールド508のビン識別子に対応するビンに記憶される。例えば、ブロックBは、ビンフィールド508内に先頭ビット「1」を有するブロックIDを有し、したがって、bin1-0に割り当てられ、bin1-0は、次にブロックサービス610に割り当てられると仮定する。重複排除の結果として、単一のデータブロックが複数のボリュームに関連付けられる可能性があることに留意する。例示的には、ブロックAは、スライスファイル607に示されているように、ボリューム1およびボリューム2の両方に関連付けられているが、ストレージ空間を保存するために、ビン1-0内に1回だけ記憶される。一実施形態では、ブロックはブロックID506と共に記憶されるので、ブロックサービスは、同じハッシュ識別子を有するブロックがすでに記憶されていることを決定することによって、ブロックの重複コピーを記憶することを回避する。 In response to the write request for block B, slice service 360 a prepares block B for storage by the corresponding block service 610 . As indicated above, data blocks are stored by bins assigned to each block service according to bin assignment table 470 . As noted above, data blocks may be assigned to bins based on the leading bit of block ID 506 (ie, the bits of bin field 508) for the data block. Also, as noted above, the block ID may be generated based on a cryptographic hash of the data block, which is then stored in the bin corresponding to the bin identifier in bin field 508 . For example, assume block B has a block ID with a leading bit of '1' in bin field 508 and is therefore assigned to bin 1-0, which in turn is assigned to block service 610. FIG. Note that a single data block may be associated with multiple volumes as a result of deduplication . Illustratively, block A is associated with both volume 1 and volume 2, as shown in slice file 607, but once in bin 1-0 to conserve storage space. only stored. In one embodiment, since blocks are stored with block IDs 506, the block service avoids storing duplicate copies of blocks by determining that a block with the same hash identifier is already stored.

一般に、ガーベッジコレクションは、いかなるDPSのデータ完全性保証にも違反しない方法で採用することができる。たとえば、同じブロックが二重複製および三重複製ボリュームで記憶される場合、そのブロックの少なくとも3つのコピーが存在することが必要となる。すなわち、データ完全性は、DPSに対する故障の冗長性のレベル(例えば、k個の故障の場合のデータ損失なし)を保証する。スライスサービスは、全ての読み出しおよび書き込み動作に対するデータのDPSを指定することができる。DPSの仕様は、ブロックサービスが追加のエラーチェックを実行することを可能にすることができる。本明細書で説明される技術は、例示的に、ブロックの符号化されたパリティコピーを記憶するよりも、データブロックの符号化されていないコピーを記憶することを優先し、そのような優先順位付けは、複製ベースのDPSでボリュームに記憶されたデータに対して、劣化した読み出し性能の改善を顧客に提供する。一実施形態では、書き込みグループは、1つのDPSのために作成され、これは、符号化されたブロックと共に記憶するために必要とされるDPS情報を低減しつつ、符号化、ガーベッジコレクションおよびビン同期を簡単にする。また、ストレージ空間を最大化するか、または異なる数の符号化されたコピーを有する書き込みグループ間の重複排除を実行することは、ガーベッジコレクション中の書き込み増幅を増加させる。 In general, garbage collection can be employed in a manner that does not violate any DPS data integrity guarantees. For example, if the same block is stored in dual-replicated and triple-replicated volumes, there must be at least three copies of that block. That is, data integrity guarantees a level of failure redundancy for the DPS (eg, no data loss for k failures). A slice service can specify the DPS of data for all read and write operations. The DPS specification may allow block services to perform additional error checking. The techniques described herein illustratively prioritize storing unencoded copies of data blocks over storing encoded parity copies of blocks, and such priority Tagging provides customers with improved read performance that has degraded over data stored in volumes with replication-based DPS. In one embodiment, a write group is created for one DPS, which reduces the DPS information required to store with the encoded block, while enabling encoding, garbage collection and bin synchronization. make it easy. Also, maximizing storage space or performing deduplication between write groups with different numbers of encoded copies increases write amplification during garbage collection.

JP2021520585A 2018-10-15 2019-10-15 Improving available storage space in systems with various data redundancy schemes Active JP7312251B2 (en)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201862745483P 2018-10-15 2018-10-15
US62/745,483 2018-10-15
PCT/US2019/056236 WO2020081512A1 (en) 2018-10-15 2019-10-15 Improving available storage space in a system with varying data redundancy schemes

Publications (3)

Publication Number Publication Date
JP2022512064A JP2022512064A (en) 2022-02-02
JPWO2020081512A5 true JPWO2020081512A5 (en) 2023-02-22
JP7312251B2 JP7312251B2 (en) 2023-07-20

Family

ID=68426866

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2021520585A Active JP7312251B2 (en) 2018-10-15 2019-10-15 Improving available storage space in systems with various data redundancy schemes

Country Status (5)

Country Link
US (2) US11461015B2 (en)
EP (1) EP3867759A1 (en)
JP (1) JP7312251B2 (en)
CN (1) CN112889033A (en)
WO (1) WO2020081512A1 (en)

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11262912B2 (en) * 2017-11-13 2022-03-01 Weka.IO Ltd. File operations in a distributed storage system
US11171671B2 (en) * 2019-02-25 2021-11-09 Samsung Electronics Co., Ltd. Reducing vulnerability window in key value storage server without sacrificing usable capacity
US10853188B2 (en) * 2019-04-26 2020-12-01 EMC IP Holding Company LLC System and method for data retention in a decentralized system
CN110096237B (en) * 2019-04-30 2022-02-08 北京百度网讯科技有限公司 Copy processing method, node, storage system, server and readable medium
US11171666B2 (en) * 2019-11-26 2021-11-09 Paul Joseph Nowoczynski Method for efficient erasure coded group management in shared nothing storage clusters
US11449278B2 (en) * 2020-09-04 2022-09-20 Netapp, Inc. Methods for accelerating storage operations using computational network and storage components and devices thereof
CN114327239A (en) * 2020-09-27 2022-04-12 伊姆西Ip控股有限责任公司 Method, electronic device and computer program product for storing and accessing data
US11561856B2 (en) * 2020-12-10 2023-01-24 Nutanix, Inc. Erasure coding of replicated data blocks
US20220391359A1 (en) * 2021-06-07 2022-12-08 Netapp, Inc. Distributed File System that Provides Scalability and Resiliency
US11704027B2 (en) * 2021-11-12 2023-07-18 Western Digital Technologies, Inc. Optimizing recovery of recurrent blocks using bloom filter
US11934280B2 (en) 2021-11-16 2024-03-19 Netapp, Inc. Use of cluster-level redundancy within a cluster of a distributed storage management system to address node-level errors
CN114780021B (en) * 2022-03-25 2022-11-29 北京百度网讯科技有限公司 Copy repairing method and device, electronic equipment and storage medium
US11934656B2 (en) * 2022-04-11 2024-03-19 Netapp, Inc. Garbage collection and bin synchronization for distributed storage architecture
US11941297B2 (en) * 2022-04-11 2024-03-26 Netapp, Inc. Garbage collection and bin synchronization for distributed storage architecture

Family Cites Families (50)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6571314B1 (en) * 1996-09-20 2003-05-27 Hitachi, Ltd. Method for changing raid-level in disk array subsystem
JP2004126850A (en) 2002-10-01 2004-04-22 Hitachi Ltd Disk array system
US7873782B2 (en) 2004-11-05 2011-01-18 Data Robotics, Inc. Filesystem-aware block storage system, apparatus, and method
JP4464378B2 (en) 2006-09-05 2010-05-19 株式会社日立製作所 Computer system, storage system and control method for saving storage area by collecting the same data
US8392791B2 (en) 2008-08-08 2013-03-05 George Saliba Unified data protection and data de-duplication in a storage system
US9098519B2 (en) 2008-09-16 2015-08-04 File System Labs Llc Methods and apparatus for distributed data storage
US8495417B2 (en) * 2009-01-09 2013-07-23 Netapp, Inc. System and method for redundancy-protected aggregates
JP2011013992A (en) 2009-07-03 2011-01-20 Hitachi Ltd Technique for protecting data in disk array
CN101834898B (en) * 2010-04-29 2013-01-30 中科院成都信息技术有限公司 Method for storing network distributed codes
US8589640B2 (en) 2011-10-14 2013-11-19 Pure Storage, Inc. Method for maintaining multiple fingerprint tables in a deduplicating storage system
US8683296B2 (en) 2011-12-30 2014-03-25 Streamscale, Inc. Accelerated erasure coding system and method
US8930612B2 (en) 2012-05-31 2015-01-06 Seagate Technology Llc Background deduplication of data sets in a memory
US8799746B2 (en) 2012-06-13 2014-08-05 Caringo, Inc. Erasure coding and replication in storage clusters
US9535802B2 (en) 2013-01-31 2017-01-03 Technion Research & Development Foundation Limited Management and recovery of distributed storage of replicas
US9201733B2 (en) 2013-03-13 2015-12-01 Futurewei Technologies, Inc. Systems and methods for data repair
US9021296B1 (en) * 2013-10-18 2015-04-28 Hitachi Data Systems Engineering UK Limited Independent data integrity and redundancy recovery in a storage system
GB2519815A (en) 2013-10-31 2015-05-06 Ibm Writing data cross storage devices in an erasure-coded system
US20160253114A1 (en) 2013-11-14 2016-09-01 Hitachi, Ltd. Method and apparatus for optimizing data storage in heterogeneous environment
US9959284B2 (en) 2014-01-10 2018-05-01 Appex Networks Holding Limited System and method for synchronizing history data for compression and decompression
US9727437B2 (en) 2014-02-18 2017-08-08 Quantum Corporation Dynamically controlling erasure code distribution in an object store
US9772789B1 (en) 2014-03-25 2017-09-26 EMC IP Holding Company LLC Alignment fixing on a data protection system during continuous data replication to deduplicated storage
US10372685B2 (en) 2014-03-31 2019-08-06 Amazon Technologies, Inc. Scalable file storage service
KR101533340B1 (en) * 2014-04-09 2015-07-06 인하대학교 산학협력단 A method of data replication using data access frequency and erasure codes in cloud storage system
CN103944981B (en) 2014-04-14 2017-03-22 中国科学院计算技术研究所 Cloud storage system and implement method based on erasure code technological improvement
US8850108B1 (en) 2014-06-04 2014-09-30 Pure Storage, Inc. Storage cluster
US9367243B1 (en) 2014-06-04 2016-06-14 Pure Storage, Inc. Scalable non-uniform storage sizes
EP3161609B1 (en) * 2014-06-27 2022-08-03 Nec Corporation Storage device, program, and information processing method
US9817750B2 (en) 2014-07-03 2017-11-14 Pure Storage, Inc. Profile-dependent write placement of data into a non-volatile solid-state storage
US9858325B1 (en) 2014-09-29 2018-01-02 Amazon Technologies, Inc. Consolidating data in storage host groupings
US9595979B2 (en) * 2015-01-20 2017-03-14 International Business Machines Corporation Multiple erasure codes for distributed storage
US9710165B1 (en) 2015-02-18 2017-07-18 Pure Storage, Inc. Identifying volume candidates for space reclamation
US9921910B2 (en) 2015-02-19 2018-03-20 Netapp, Inc. Virtual chunk service based data recovery in a distributed data storage system
US9626245B2 (en) * 2015-02-20 2017-04-18 Netapp, Inc. Policy based hierarchical data protection
US9817715B2 (en) 2015-04-24 2017-11-14 Netapp, Inc. Resiliency fragment tiering
CN104902009B (en) * 2015-04-27 2018-02-02 浙江大学 A kind of distributed memory system based on erasable coding and chain type backup
US9697079B2 (en) 2015-07-13 2017-07-04 International Business Machines Corporation Protecting data integrity in de-duplicated storage environments in combination with software defined native raid
US20170161148A1 (en) * 2015-12-02 2017-06-08 Netapp, Inc. Detection of and recovery from silent data loss in an erasure-coded storage system
US10761758B2 (en) * 2015-12-21 2020-09-01 Quantum Corporation Data aware deduplication object storage (DADOS)
WO2017107095A1 (en) 2015-12-23 2017-06-29 Intel Corporation Technologies for adaptive erasure code
CN105630423B (en) 2015-12-25 2018-11-27 华中科技大学 A kind of correcting and eleting codes cluster-based storage expansion method based on data buffer storage
US9792043B2 (en) 2016-01-13 2017-10-17 Netapp, Inc. Methods and systems for efficiently storing data
US10230398B2 (en) 2016-08-19 2019-03-12 Samsung Electronics Co., Ltd. Erasure code data protection and recovery computation system and method
US10452477B2 (en) 2016-08-26 2019-10-22 Netapp, Inc. Multiple node repair using high rate minimum storage regeneration erasure code
CN107797884A (en) * 2016-10-28 2018-03-13 湖南大学 A kind of cloud storage fault-tolerance approach adaptively switched based on duplication and correcting and eleting codes
US10452290B2 (en) 2016-12-19 2019-10-22 Pure Storage, Inc. Block consolidation in a direct-mapped flash storage system
US10484015B2 (en) 2016-12-28 2019-11-19 Amazon Technologies, Inc. Data storage system with enforced fencing
CN106921393A (en) * 2017-03-02 2017-07-04 湖南城市学院 A kind of digital evidence integrality based on computer forensics preserves control system
US10339016B2 (en) * 2017-08-10 2019-07-02 Rubrik, Inc. Chunk allocation
US20190042365A1 (en) * 2018-09-26 2019-02-07 Intel Corporation Read-optimized lazy erasure coding
JP6957431B2 (en) * 2018-09-27 2021-11-02 株式会社日立製作所 VM / container and volume allocation determination method and storage system in HCI environment

Similar Documents

Publication Publication Date Title
US20230013281A1 (en) Storage space optimization in a system with varying data redundancy schemes
USRE49011E1 (en) Mapping in a storage system
US9405627B2 (en) Flexible data storage system
JP6200886B2 (en) Logical sector mapping in flash storage arrays
JP6124902B2 (en) Variable length coding in storage systems
US20200117362A1 (en) Erasure coding content driven distribution of data blocks
US20170308437A1 (en) Parity protection for data chunks in an object storage system
US8805796B1 (en) Deduplicating sets of data blocks
US7882420B2 (en) Method and system for data replication
JPWO2020081512A5 (en)
US11151056B2 (en) Efficient virtualization layer structure for a data storage system
KR102460568B1 (en) System and method for storing large key value objects
US20070106925A1 (en) Method and system using checksums to repair data
US11586595B1 (en) Space-efficient techniques for generating unique instances of data objects
KR20180088991A (en) Method for preventing duplicate saving of file data