WO2012101707A1 - ストレージシステム - Google Patents
ストレージシステム Download PDFInfo
- Publication number
- WO2012101707A1 WO2012101707A1 PCT/JP2011/006679 JP2011006679W WO2012101707A1 WO 2012101707 A1 WO2012101707 A1 WO 2012101707A1 JP 2011006679 W JP2011006679 W JP 2011006679W WO 2012101707 A1 WO2012101707 A1 WO 2012101707A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- data
- index
- file
- index entry
- divided
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/17—Details of further file system functions
- G06F16/174—Redundancy elimination performed by the file system
- G06F16/1748—De-duplication implemented within the file system, e.g. based on file segments
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1004—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's to protect a block of data words, e.g. CRC or checksum
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0614—Improving the reliability of storage systems
- G06F3/0619—Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0638—Organizing or formatting or addressing of data
- G06F3/064—Management of blocks
- G06F3/0641—De-duplication techniques
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1446—Point-in-time backing up or restoration of persistent data
- G06F11/1448—Management of the data involved in backup or backup restore
- G06F11/1453—Management of the data involved in backup or backup restore using de-duplication of the data
Definitions
- the present invention relates to a storage system that divides data to be stored and stores it in a storage device.
- a content address storage system has been developed in recent years as shown in Patent Document 1.
- data is distributed and stored in a plurality of storage devices, and the storage location where the data is stored is specified by a unique content address specified according to the content of the data.
- predetermined data is divided into a plurality of fragments, and a fragment that becomes redundant data is further added, and the plurality of fragments are respectively stored in a plurality of storage devices.
- the content address for example, a hash value of data generated so as to be unique according to the content of data is used. For this reason, if it is duplicate data, the data of the same content can be acquired by referring to the data at the same storage position. Therefore, it is not necessary to store the duplicate data separately, and duplicate recording can be eliminated and the data capacity can be reduced.
- the storage system having the duplicate recording elimination function described above has an upper file system and a lower file system, and has the following characteristics.
- the upper file system internally divides the written file into multiple files.
- the divided files are written from the upper file system to the lower file system, and synchronized with a stable storage apparatus by the lower file system.
- the lower file system does not guarantee the data writing order. For this reason, there is a possibility that a part of data may be lost when a system down occurs during data writing.
- FIG. 1 shows a state in which the file F is divided into two by file division.
- the original file written
- An index file Idx for recording the mapping information of the files 1 and 2 divided into F is created.
- This index file Idx has mapping information of each divided partial data (F1_1, F2_1, etc.) as an index entry (I_1, etc.).
- mapping information in the index entry is mainly the following information. -Corresponding file information-Offset information from the beginning of the file in the file before division-Offset information from the beginning of the file of the divided file-Data size information
- An example of a file system that divides a file as described above is software that backs up data.
- the backup software the backup data is divided into a “data part” and a “marker part” inserted by the backup software at the upper level of the file system.
- the determination of data deduplication is generally performed by dividing file data into a certain length (fixed length or variable length) and comparing them. For this reason, if there is a difference in data in one file at an interval smaller than the length of dividing the file, they are not determined as data having the same content.
- the backup data is divided into the “data portion” and the “marker portion” at the upper level of the file system, so that the backup data deduplication effect can be improved on the “data portion” side. .
- the backup data deduplication effect can be improved on the “data portion” side.
- each divided file when a system down occurs in the middle of data writing, each divided file is in an incomplete state, such as a part not shown in FIG. there is a possibility.
- the index file Idx in which the mapping information of each file is recorded is an important file. When the contents are incomplete, data access cannot be normally performed.
- an object of the present invention is to provide a storage system that solves the above-described problem that data access cannot be normally performed in a file system.
- Data to be written to a predetermined storage device is divided into a plurality of partial data, each of the partial data is divided into a plurality of classifications according to preset criteria, and new divided file data obtained by combining the partial data for each classification is obtained.
- Data dividing means to generate each; For each partial data, each index entry including position information in the write target data before the division of the partial data and position information in the divided file data generated after the division of the partial data is generated.
- an index file creating means for adding inspection data for error detection to each index entry and generating index file data by combining the plurality of index entries;
- Data writing means for writing the divided file data generated by the data dividing means and the index file data generated by the index file creating means to the storage device;
- Repair means for detecting an error of each index entry written in the storage device based on the inspection data included in each index entry, The repair means deletes all index entries after the index entry in which an error is detected from the index file in the index file data stored in the storage device,
- the configuration is as follows.
- the program which is the other form of this invention is:
- Data to be written to a predetermined storage device is divided into a plurality of partial data, each of the partial data is divided into a plurality of classifications according to preset criteria, and new divided file data obtained by combining the partial data for each classification is obtained.
- Data dividing means to generate each; For each partial data, each index entry including position information in the write target data before the division of the partial data and position information in the divided file data generated after the division of the partial data is generated.
- an index file creating means for adding inspection data for error detection to each index entry and generating index file data by combining the plurality of index entries;
- Data writing means for writing the divided file data generated by the data dividing means and the index file data generated by the index file creating means to the storage device;
- An error in each index entry written in the storage device is detected based on the inspection data included in each index entry, and an error is detected in the index file data stored in the storage device Repair means for deleting all index entries after the index entry that has been made, from the index file; It is a program for realizing.
- an information processing method includes: In the information processing device, Data to be written to a predetermined storage device is divided into a plurality of partial data, each of the partial data is divided into a plurality of classifications according to preset criteria, and new divided file data obtained by combining the partial data for each classification is obtained. Generate each For each partial data, each index entry including position information in the write target data before the division of the partial data and position information in the divided file data generated after the division of the partial data is generated.
- the present invention is configured as described above, so that subsequent data access can be normally performed even when the data written in the storage device is incomplete due to a system down or the like.
- FIG. 4 is a flowchart showing the operation of the storage system disclosed in FIG. 3.
- 4 is a flowchart showing the operation of the storage system disclosed in FIG. 3.
- 4 is a flowchart showing the operation of the storage system disclosed in FIG. 3.
- 4 is a flowchart showing the operation of the storage system disclosed in FIG. 3.
- 4 is a flowchart showing the operation of the storage system disclosed in FIG. 3.
- 4 is a flowchart showing the operation of the storage system disclosed in FIG. 3.
- FIG. 4 is a diagram illustrating a state when an index file is modified in the storage system disclosed in FIG. 3.
- FIG. 4 is a diagram illustrating a state when a divided file is corrected in the storage system disclosed in FIG. 3.
- FIG. 4 is a diagram illustrating a state when a divided file is corrected in the storage system disclosed in FIG. 3. It is a figure which shows the structure of the storage system in attachment 1 of this invention.
- FIGS. 3 to 4 are diagrams for explaining the configuration of the storage system in this embodiment
- FIGS. 5 to 12 are diagrams for explaining the operation of the storage system.
- the storage system 1 is configured by one server computer or a plurality of connected server computers. As shown in FIG. 2, the storage system 1 includes two file systems, a file system A and a file system B.
- the file system A has a function of controlling the storage / reproduction operation in the storage system 1 itself
- the file system B has a function of actually storing data in the storage device.
- the storage system 1 divides and redundantly stores data, distributes and stores the data in a plurality of storage devices, and stores the data by a unique content address set according to the content of the stored data. It is a content address storage system for specifying a stored location. Thereby, deduplication of stored data is realized.
- the storage system 1 in the present invention is not limited to being a content address storage system, and is not limited to having a deduplication function.
- the storage system 1 includes a data attribute determination unit 11, a file division unit 12, an index file creation unit 13, a data writing unit 14,
- the file system A includes a restoration unit 15.
- the storage system 1 also includes a file information table 16 formed in the main storage unit.
- the storage system 1 includes a plurality of storage devices accessible by the file system B.
- a division file F1, F2 and an index file Idx which will be described later, are further divided and made redundant, distributed and stored in a plurality of storage devices, and provided with a function for realizing deduplication.
- the data attribute discriminating unit 11 discriminates to which attribute (classification) set in advance each partial data in the file to be written (data to be written) belongs.
- the file F to be written is backup data, and is the actual data portion of the backup data, and the “data portion” whose value does not change depending on the generated time, the number of updates, etc.
- the “marker part” including the management information of the file itself, the value of which changes depending on the time and the number of updates, such as a time stamp and serial number, and which attribute is determined.
- the data attribute determination unit 11 is preset with reference information for determining the attribute from the data content of each partial data in the file F, and performs the attribute determination according to the reference information.
- the file dividing unit 12 divides each partial data in the file F in accordance with the attribute determination by the data determining unit 11, and distributes the data for each attribute to generate new divided file data. .
- each partial data belonging to the “data portion” in the file F is distributed to the file 1 (F1) which is the divided file data after the division, and each division belonging to the “marker portion”.
- the data is distributed to file 2 (F2), which is divided file data after division.
- the divided partial data are combined for each file (file 1, file 2) corresponding to each attribute to generate file 1 and file 2.
- the partial data of the symbols F1_1 to F1_7 are allocated to the file 1
- the partial data of the symbols F2_1 to F2_6 are allocated to the file 2.
- the process of dividing the file F and generating the files 1 and 2 is performed on the main storage device in the storage system 1, and the files 1 and 2 are stored in the data writing unit 14 as will be described later.
- the data is actually written to the storage device.
- the present invention does not limit the number of files to be divided into two, and a larger number of files. It is applicable even when dividing.
- the index file creating unit 13 (index file creating means) generates and joins index entries of the partial data, and creates an index file Idx (index file). File data).
- the index entry is created using, for example, information stored in the file information table 16. For example, as shown in FIG. 4, the position information in the file F before the partial data corresponding to the index entry is divided.
- the data includes “data_size” that is data size information indicating the data size of the partial data itself, and “index_sync” that indicates whether synchronization with the file system B is completed. Note that “index_sync” is initially set to “0”, but is set to “1” when synchronization with the file system B is completed.
- the index file creation unit 13 adds inspection data for error detection used to detect fraud of the index entry to the index entry described above.
- the inspection data is, for example, a redundant code such as “CRC32”, but is not limited to such data.
- the data writing unit 14 (data writing unit) includes the file 1 and the file 2 that are the divided file data generated by the file dividing unit 12 and the index file created by the index file creating unit 13. Write Idx to file system B. Specifically, the files 1 and 2 and the index file Idx generated on the main storage device in the storage system 1 are actually written to the auxiliary storage device at the timing of data synchronization between the file system A and the file system B. .
- the data writing unit 14 sets “index_sync” in the index entry to “1” and adds specific information, particularly when writing of the index entry to the auxiliary storage device is completed.
- the restoration unit 15 (repair unit) fails in the storage system 1 itself or the file system B while the data writing unit 14 writes the files 1 and 2 and the index file Idx in the auxiliary storage device. In the event of a system failure such as the occurrence of an error, the recovery process such as confirmation and restoration of the data is performed the next time data written in the auxiliary storage device is accessed.
- the repair unit 15 examines the inspection data for error detection stored in the index entry in the index file Idx, and performs error detection processing. Then, when the error of the index entry is detected, the restoration unit 15 performs correction to delete all index entries located on the rear end side of the index entry from the index file Idx. At this time, the restoration unit 15 performs error detection processing of the index entry in order from the end side of the index file Idx toward the start end side, and performs back read to check the value of “index_sync” in the index entry. If “index_sync” in the index entry is “1”, the error detection processing, that is, the back read that has been performed in order from the end of the index file Idx is terminated. Note that the restoration unit 15 also ends the back read even when the first entry of the index file Idx is reached during the back read.
- the restoration unit 15 determines the files 1 and 2 that are the divided files from the information in the index entry located on the end side of the corrected index file Idx. Specify the file size of. Then, it is checked whether or not the file sizes of the specified files 1 and 2 match the actual file sizes of the files 1 and 2 so that the actual files 1 and 2 match the file size specified from the index entry. The end of files 1 and 2 is extended or deleted. Specific processing contents will be described later.
- the file division and index file creation by the storage system 1 will be described with reference to FIG.
- the file information table 16 is initialized (step S1), a file is created, and various information such as an inode number for the file is used as an index.
- write to the file Idx step S2.
- the data attribute determination unit 11 confirms the data attribute of the partial data, writes the data attribute to “current_File” in the file information table 16 (step S4), and the file dividing unit. 12 writes the partial data to the files 1 and 2 according to the data attributes (step S5).
- step S6 each time data is written from the file F (step S6), data attribute discrimination (step S7) and data writing (step S11) are performed.
- step S7 data attribute discrimination
- step S11 data writing
- step S9 the index file creating unit 13 creates an index entry, and the index entry is stored in the index file.
- step S9 write to Idx (step S9), and update "current_File" (step S10).
- step S13 When the writing of all the partial data in the file F is completed (Yes in step S11 and step S12), the index entry is finally written (step S13). Note that such writing is performed on the main storage unit, and the actual storage in the auxiliary storage device is performed at a later synchronization.
- the file dividing unit 12 writes the partial data of the file F to the file 1 or the file 2 of the file system B according to “current_File” in the file information table 16 (step S21) (steps S22 and S23).
- the size of the written partial data is added to “data_size” in the middle (step S24).
- step S9 when the attribute of the partial data of the file F changes, an index entry is written.
- “current_File” in the file information table 16 is confirmed (step S31), and a redundant code for inspection is calculated based on each information in the file information table 16 (steps S32 and S35).
- each information in the file information table 16 and the redundant code for inspection are written as one index entry in the index file Idx of the file system B (steps S33 and S34).
- step S34 After writing the index entry to the index file Idx, “fileA_offset” or “fileB_offset” (offset information of the file described in “current_File”) and “originalFile_offset” are added with “data_size” (steps S34 and S37). , S38), “index_sync” is set to “0” (step S39).
- step S41 When the data synchronization command is executed (step S41), the index entry is written (step S42), and the data synchronization command is issued to all the files in the file system B (step S43). Finally, “index_sync” in the file information table 16 is set to “1” (step S44). As a result, “index_sync” in the index entry created immediately after data synchronization is “1”, and “0” in other cases.
- step S51 the index entry in the index file Idx is back-read from the end side of the index file Idx (step S52). Then, it is checked whether there is an invalid index entry by using the redundant code for inspection in the index entry (step S53). At this time, it is further checked whether or not “index_sync” in the index entry is “1” or reaches the head of the index file Idx (step S54). If not reached, the previous entry is read (step S55). ), The same processing as described above is performed.
- step S54 when “index_sync” in the index entry is “1” or the head of the index file Idx is reached during the back read, the back read is terminated (step S54).
- step S56 all index entries after the index entry, that is, from the invalid index entry to the end of the index file Idx are deleted (step S56). For example, when “index_sync” of the index entry of the code I_9 shown in FIG. 10 is “1” and the index entry on the right side that is the terminal side of the index entry is invalid, as shown in FIG.
- the index entry in the dotted line portion located on the rear end side with respect to the index entry of symbol I_9 is deleted as indicated by the arrow.
- index_sync in the index entry is “1”, it is guaranteed that each file (file 1, file 2, index file) before the index entry is synchronized. Therefore, it is not necessary to check whether the previous index entry is invalid, and there is no need to back-read. As described above, by adding “index_sync” to the index entry, the back read section can be shortened.
- step S57 the size of the file 1 is specified based on the position information and the data size in the file 1 included in the index entry of the code I_9 located at the end of the normal part of the index file shown in FIG. Compare the size. If the size of the actual file 1 is larger than the size specified from the end index entry, incomplete data existing behind the end indicated by the code F1_5 of the actual file 1 corresponding to the end index entry. Is deleted and file 1 is truncated. That is, the partial data indicated by the dotted line in FIG. 11 which is the end of the file 1 is deleted as indicated by the arrow from the last index entry to the specified size (step S58).
- step S59 if the actual size of the file 1 is smaller than the size specified from the final index entry, the end of the file 1 is extended to the size specified by the normal final index entry (step S59).
- the size of the file 2 is specified based on the position information and the data size in the file 2 included in the index entry of the code I_8 located at the end of the normal part of the index file corresponding to the file 2 shown in FIG. And the actual file 2 size are compared. If the size of the actual file 2 is larger than the size specified from the end index entry, the incomplete data existing behind the end of the actual file 2 corresponding to the final index entry is deleted, File 2 is truncated (step S61).
- the storage system according to the present invention is configured as described above, so that even when the system goes down during writing, the file 1, file 2, and index file are kept consistent among the files. Access can be performed normally.
- Data to be written to a predetermined storage device is divided into a plurality of partial data, each of the partial data is divided into a plurality of classifications according to preset criteria, and new divided file data obtained by combining the partial data for each classification is obtained.
- an index file creating means 102 for adding inspection data for error detection to each index entry and generating index file data obtained by combining the plurality of index entries;
- a data writing means 103 for writing the divided file data generated by the data dividing means and the index file data generated by the index file creating means to the storage device;
- Repair means 104 for detecting an error of each index entry written in the storage device based on the inspection data included in each index entry, and The repair means deletes all index entries after the index entry in which an error is detected from the index file in the index file data stored in the storage device, Storage system 100.
- the storage system according to appendix 2,
- the data writing means adds specific information to the index entry that has been written to the storage device among the index entries in the index file data, and stores the specific information in the storage device.
- the repair means stops the error detection processing of the index entry when the specific information is added to the index entry.
- the index file creation means includes, in the index entry, data size information indicating a data size of the partial data corresponding to the index entry,
- the repairing means is based on information included in the index entry located on the end side of the repaired index file data after deleting all index entries after the index entry in which the error is detected. Correct the file size of the split file data, Storage system.
- appendix 5 The storage system according to appendix 4, wherein The repair means is information included in the index entry located on the end side of the repaired index file data, and position information in the divided file data including the partial data corresponding to the index entry and the information Extending or deleting the rear end side of the divided file data so that the file size of the divided file data matches the file size specified by the data size information of the divided data; Storage system.
- Data to be written to a predetermined storage device is divided into a plurality of partial data, each of the partial data is divided into a plurality of classifications according to preset criteria, and new divided file data obtained by combining the partial data for each classification is obtained.
- an index file creating means for adding inspection data for error detection to each index entry and generating index file data by combining the plurality of index entries;
- Data writing means for writing the divided file data generated by the data dividing means and the index file data generated by the index file creating means to the storage device;
- An error in each index entry written in the storage device is detected based on the inspection data included in each index entry, and an error is detected in the index file data stored in the storage device Repair means for deleting all index entries after the index entry that has been made, from the index file;
- the data writing means adds specific information to the index entry that has been written to the storage device among the index entries in the index file data, and stores the specific information in the storage device.
- the repair means stops the error detection processing of the index entry when the specific information is added to the index entry.
- the program is stored in a storage device or recorded on a computer-readable recording medium.
- the recording medium is a portable medium such as a flexible disk, an optical disk, a magneto-optical disk, and a semiconductor memory.
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Human Computer Interaction (AREA)
- Quality & Reliability (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
Description
・上位のファイルシステムが、書き込まれたファイルを内部的に複数のファイルに分割する。
・上位のファイルシステムから、分割されたファイルがそれぞれ下位のファイルシステムに書き出され、下位のファイルシステムによって安定的なストレージ装置と同期される。
・下位のファイルシステムでは、データの書き込み順序を保証しない。そのため、データの書き出し途中でシステムダウンが発生した場合に一部のデータが抜けている状態になる可能性がある。
・対応するファイルの情報
・分割される前のファイル内のファイル先頭からのオフセット情報
・分割されたファイルのファイル先頭からのオフセット情報
・データサイズ情報
所定の記憶装置に対する書き込み対象データを複数の部分データに分割し、当該各部分データを予め設定された基準に従って複数の分類に振り分け、各分類毎に前記部分データを結合した新たな分割ファイルデータをそれぞれ生成するデータ分割手段と、
前記部分データ毎に、当該部分データの分割前における前記書き込み対象データ中の位置情報と、前記部分データの分割後に生成された前記分割ファイルデータ中の位置情報と、を含む各インデックスエントリをそれぞれ生成すると共に、当該各インデックスエントリに誤り検出用の検査データを付加し、当該複数のインデックスエントリを結合したインデックスファイルデータを生成するインデックスファイル作成手段と、
前記データ分割手段にて生成された前記分割ファイルデータと、前記インデックファイル作成手段にて生成された前記インデックスファイルデータと、を前記記憶装置に書き込むデータ書き込み手段と、
前記記憶装置に書き込まれた前記各インデックスエントリの誤りを、当該各インデックスエントリに含まれる前記検査データに基づいて検出する修復手段と、を備え、
前記修復手段は、前記記憶装置に記憶されている前記インデックスファイルデータ内において、誤りが検出された前記インデックスエントリ以降の全てのインデックスエントリを、前記インデックスファイルから削除する、
という構成をとる。
情報処理装置に、
所定の記憶装置に対する書き込み対象データを複数の部分データに分割し、当該各部分データを予め設定された基準に従って複数の分類に振り分け、各分類毎に前記部分データを結合した新たな分割ファイルデータをそれぞれ生成するデータ分割手段と、
前記部分データ毎に、当該部分データの分割前における前記書き込み対象データ中の位置情報と、前記部分データの分割後に生成された前記分割ファイルデータ中の位置情報と、を含む各インデックスエントリをそれぞれ生成すると共に、当該各インデックスエントリに誤り検出用の検査データを付加し、当該複数のインデックスエントリを結合したインデックスファイルデータを生成するインデックスファイル作成手段と、
前記データ分割手段にて生成された前記分割ファイルデータと、前記インデックファイル作成手段にて生成された前記インデックスファイルデータと、を前記記憶装置に書き込むデータ書き込み手段と、
前記記憶装置に書き込まれた前記各インデックスエントリの誤りを、当該各インデックスエントリに含まれる前記検査データに基づいて検出すると共に、記記憶装置に記憶されている前記インデックスファイルデータ内において、誤りが検出された前記インデックスエントリ以降の全てのインデックスエントリを、前記インデックスファイルから削除する修復手段と、
を実現させるためのプログラムである。
情報処理装置にて、
所定の記憶装置に対する書き込み対象データを複数の部分データに分割し、当該各部分データを予め設定された基準に従って複数の分類に振り分け、各分類毎に前記部分データを結合した新たな分割ファイルデータをそれぞれ生成し、
前記部分データ毎に、当該部分データの分割前における前記書き込み対象データ中の位置情報と、前記部分データの分割後に生成された前記分割ファイルデータ中の位置情報と、を含む各インデックスエントリをそれぞれ生成すると共に、当該各インデックスエントリに誤り検出用の検査データを付加し、当該複数のインデックスエントリを結合したインデックスファイルデータを生成し、
前記分割ファイルデータと前記インデックスファイルデータとを前記記憶装置に書き込み、
前記記憶装置に書き込まれた前記各インデックスエントリの誤りを、当該各インデックスエントリに含まれる前記検査データに基づいて検出すると共に、記記憶装置に記憶されている前記インデックスファイルデータ内において、誤りが検出された前記インデックスエントリ以降の全てのインデックスエントリを、前記インデックスファイルから削除する、
という構成を取る。
本発明の第1の実施形態を、図3乃至図12を参照して説明する。図3乃至図4は、本実施形態におけるストレージシステムの構成を説明するための図であり、図5乃至図12は、ストレージシステムの動作を説明するための図である。
本発明におけるストレージシステム1は、1台のサーバコンピュータ、あるいは、接続された複数台のサーバコンピュータ、にて構成されている。そして、図2に示すように、ストレージシステム1は、ファイルシステムAとファイルシステムBといった2つのファイルシステムを備えている。ファイルシステムAは、例えば、ストレージシステム1自体における記憶再生動作を制御する機能を有しており、ファイルシステムBは、実際に記憶装置にデータを記憶する機能を備えている。
次に、上述したストレージシステム1の動作を、図5乃至図9のフローチャート、及び、図10乃至図12の図を参照して説明する。
上記実施形態の一部又は全部は、以下の付記のようにも記載されうる。以下、本発明におけるストレージシステムの構成の概略を、図13を参照して説明する。但し、本発明は、以下の構成に限定されない。
所定の記憶装置に対する書き込み対象データを複数の部分データに分割し、当該各部分データを予め設定された基準に従って複数の分類に振り分け、各分類毎に前記部分データを結合した新たな分割ファイルデータをそれぞれ生成するデータ分割手段101と、
前記部分データ毎に、当該部分データの分割前における前記書き込み対象データ中の位置情報と、前記部分データの分割後に生成された前記分割ファイルデータ中の位置情報と、を含む各インデックスエントリをそれぞれ生成すると共に、当該各インデックスエントリに誤り検出用の検査データを付加し、当該複数のインデックスエントリを結合したインデックスファイルデータを生成するインデックスファイル作成手段102と、
前記データ分割手段にて生成された前記分割ファイルデータと、前記インデックファイル作成手段にて生成された前記インデックスファイルデータと、を前記記憶装置に書き込むデータ書き込み手段103と、
前記記憶装置に書き込まれた前記各インデックスエントリの誤りを、当該各インデックスエントリに含まれる前記検査データに基づいて検出する修復手段104と、を備え、
前記修復手段は、前記記憶装置に記憶されている前記インデックスファイルデータ内において、誤りが検出された前記インデックスエントリ以降の全てのインデックスエントリを、前記インデックスファイルから削除する、
ストレージシステム100。
付記1に記載のストレージシステムであって、
前記修復手段は、前記記憶装置に記憶されている前記インデックスファイルデータを、その終端側から順に前記インデックスエントリの誤り検出処理を行う、
ストレージシステム。
付記2に記載のストレージシステムであって、
前記データ書き込み手段は、前記インデックスファイルデータ内の前記インデックスエントリのうち、前記記憶装置に書き込みが完了した前記インデックスエントリに特定情報を付加して当該記憶装置に格納し、
前記修復手段は、前記インデックスファイルデータをその終端側から順に前記インデックスエントリの誤り検出処理を行う際に、当該インデックスエントリに前記特定情報が付加されている場合に当該インデックスエントリの誤り検出処理を停止する、
ストレージシステム。
付記1乃至3のいずれかに記載のストレージシステムであって、
前記インデックスファイル作成手段は、前記インデックスエントリに、当該インデックスエントリに対応する前記部分データのデータサイズを表すデータサイズ情報含め、
前記修復手段は、前記誤りが検出された前記インデックスエントリ以降の全てのインデックスエントリを削除した後における修復された前記インデックスファイルデータの終端側に位置する前記インデックスエントリに含まれる情報に基づいて、前記分割ファイルデータのファイルサイズを修正する、
ストレージシステム。
付記4に記載のストレージシステムであって、
前記修復手段は、前記修復されたインデックスファイルデータの終端側に位置する前記インデックスエントリに含まれる情報であり、当該インデックスエントリに対応する前記部分データが含まれる前記分割ファイルデータ中の位置情報と当該分割データの前記データサイズ情報とにより特定されるファイルサイズに、前記分割ファイルデータのファイルサイズが一致するよう当該分割ファイルデータの後端側を拡張あるいは削除する、
ストレージシステム。
情報処理装置に、
所定の記憶装置に対する書き込み対象データを複数の部分データに分割し、当該各部分データを予め設定された基準に従って複数の分類に振り分け、各分類毎に前記部分データを結合した新たな分割ファイルデータをそれぞれ生成するデータ分割手段と、
前記部分データ毎に、当該部分データの分割前における前記書き込み対象データ中の位置情報と、前記部分データの分割後に生成された前記分割ファイルデータ中の位置情報と、を含む各インデックスエントリをそれぞれ生成すると共に、当該各インデックスエントリに誤り検出用の検査データを付加し、当該複数のインデックスエントリを結合したインデックスファイルデータを生成するインデックスファイル作成手段と、
前記データ分割手段にて生成された前記分割ファイルデータと、前記インデックファイル作成手段にて生成された前記インデックスファイルデータと、を前記記憶装置に書き込むデータ書き込み手段と、
前記記憶装置に書き込まれた前記各インデックスエントリの誤りを、当該各インデックスエントリに含まれる前記検査データに基づいて検出すると共に、記記憶装置に記憶されている前記インデックスファイルデータ内において、誤りが検出された前記インデックスエントリ以降の全てのインデックスエントリを、前記インデックスファイルから削除する修復手段と、
を実現させるためのプログラム。
付記6に記載のプログラムであって、
前記修復手段は、前記記憶装置に記憶されている前記インデックスファイルデータを、その終端側から順に前記インデックスエントリの誤り検出処理を行う、
プログラム。
付記7に記載のプログラムであって、
前記データ書き込み手段は、前記インデックスファイルデータ内の前記インデックスエントリのうち、前記記憶装置に書き込みが完了した前記インデックスエントリに特定情報を付加して当該記憶装置に格納し、
前記修復手段は、前記インデックスファイルデータをその終端側から順に前記インデックスエントリの誤り検出処理を行う際に、当該インデックスエントリに前記特定情報が付加されている場合に当該インデックスエントリの誤り検出処理を停止する、
プログラム。
情報処理装置にて、
所定の記憶装置に対する書き込み対象データを複数の部分データに分割し、当該各部分データを予め設定された基準に従って複数の分類に振り分け、各分類毎に前記部分データを結合した新たな分割ファイルデータをそれぞれ生成し、
前記部分データ毎に、当該部分データの分割前における前記書き込み対象データ中の位置情報と、前記部分データの分割後に生成された前記分割ファイルデータ中の位置情報と、を含む各インデックスエントリをそれぞれ生成すると共に、当該各インデックスエントリに誤り検出用の検査データを付加し、当該複数のインデックスエントリを結合したインデックスファイルデータを生成し、
前記分割ファイルデータと前記インデックスファイルデータとを前記記憶装置に書き込み、
前記記憶装置に書き込まれた前記各インデックスエントリの誤りを、当該各インデックスエントリに含まれる前記検査データに基づいて検出すると共に、記記憶装置に記憶されている前記インデックスファイルデータ内において、誤りが検出された前記インデックスエントリ以降の全てのインデックスエントリを、前記インデックスファイルから削除する、
情報処理方法。
付記9に記載の情報処理方法であって、
前記記憶装置に記憶されている前記インデックスファイルデータを、その終端側から順に前記インデックスエントリの誤り検出処理を行う、
情報処理方法。
付記10に記載の情報処理方法であって、
前記データ書き込み時に、前記インデックスファイルデータ内の前記インデックスエントリのうち、前記記憶装置に書き込みが完了した前記インデックスエントリに特定情報を付加して当該記憶装置に格納し、
前記インデックスファイルデータをその終端側から順に前記インデックスエントリの誤り検出処理を行う際に、当該インデックスエントリに前記特定情報が付加されている場合に当該インデックスエントリの誤り検出処理を停止する、
情報処理方法。
11 データ属性判別部
12 ファイル分割部
13 インデックスファイル作成部
14 データ書き込み部
15 修復部
16 ファイル情報テーブル
100 ストレージシステム
101 データ分割部
102 インデックスファイル作成手段
103 データ書き込み手段
104 修復手段
F ファイル(書き込み対象データ)
F1 ファイル1(分割ファイルデータ)
F2 ファイル2(分割ファイルデータ)
Idx インデックスファイル
Claims (9)
- 所定の記憶装置に対する書き込み対象データを複数の部分データに分割し、当該各部分データを予め設定された基準に従って複数の分類に振り分け、各分類毎に前記部分データを結合した新たな分割ファイルデータをそれぞれ生成するデータ分割手段と、
前記部分データ毎に、当該部分データの分割前における前記書き込み対象データ中の位置情報と、前記部分データの分割後に生成された前記分割ファイルデータ中の位置情報と、を含む各インデックスエントリをそれぞれ生成すると共に、当該各インデックスエントリに誤り検出用の検査データを付加し、当該複数のインデックスエントリを結合したインデックスファイルデータを生成するインデックスファイル作成手段と、
前記データ分割手段にて生成された前記分割ファイルデータと、前記インデックファイル作成手段にて生成された前記インデックスファイルデータと、を前記記憶装置に書き込むデータ書き込み手段と、
前記記憶装置に書き込まれた前記各インデックスエントリの誤りを、当該各インデックスエントリに含まれる前記検査データに基づいて検出する修復手段と、を備え、
前記修復手段は、前記記憶装置に記憶されている前記インデックスファイルデータ内において、誤りが検出された前記インデックスエントリ以降の全てのインデックスエントリを、前記インデックスファイルから削除する、
ストレージシステム。 - 請求項1に記載のストレージシステムであって、
前記修復手段は、前記記憶装置に記憶されている前記インデックスファイルデータを、その終端側から順に前記インデックスエントリの誤り検出処理を行う、
ストレージシステム。 - 請求項2に記載のストレージシステムであって、
前記データ書き込み手段は、前記インデックスファイルデータ内の前記インデックスエントリのうち、前記記憶装置に書き込みが完了した前記インデックスエントリに特定情報を付加して当該記憶装置に格納し、
前記修復手段は、前記インデックスファイルデータをその終端側から順に前記インデックスエントリの誤り検出処理を行う際に、当該インデックスエントリに前記特定情報が付加されている場合に当該インデックスエントリの誤り検出処理を停止する、
ストレージシステム。 - 請求項1乃至3のいずれかに記載のストレージシステムであって、
前記インデックスファイル作成手段は、前記インデックスエントリに、当該インデックスエントリに対応する前記部分データのデータサイズを表すデータサイズ情報含め、
前記修復手段は、前記誤りが検出された前記インデックスエントリ以降の全てのインデックスエントリを削除した後における修復された前記インデックスファイルデータの終端側に位置する前記インデックスエントリに含まれる情報に基づいて、前記分割ファイルデータのファイルサイズを修正する、
ストレージシステム。 - 請求項4に記載のストレージシステムであって、
前記修復手段は、前記修復されたインデックスファイルデータの終端側に位置する前記インデックスエントリに含まれる情報であり、当該インデックスエントリに対応する前記部分データが含まれる前記分割ファイルデータ中の位置情報と当該分割データの前記データサイズ情報とにより特定されるファイルサイズに、前記分割ファイルデータのファイルサイズが一致するよう当該分割ファイルデータの後端側を拡張あるいは削除する、
ストレージシステム。 - 情報処理装置に、
所定の記憶装置に対する書き込み対象データを複数の部分データに分割し、当該各部分データを予め設定された基準に従って複数の分類に振り分け、各分類毎に前記部分データを結合した新たな分割ファイルデータをそれぞれ生成するデータ分割手段と、
前記部分データ毎に、当該部分データの分割前における前記書き込み対象データ中の位置情報と、前記部分データの分割後に生成された前記分割ファイルデータ中の位置情報と、を含む各インデックスエントリをそれぞれ生成すると共に、当該各インデックスエントリに誤り検出用の検査データを付加し、当該複数のインデックスエントリを結合したインデックスファイルデータを生成するインデックスファイル作成手段と、
前記データ分割手段にて生成された前記分割ファイルデータと、前記インデックファイル作成手段にて生成された前記インデックスファイルデータと、を前記記憶装置に書き込むデータ書き込み手段と、
前記記憶装置に書き込まれた前記各インデックスエントリの誤りを、当該各インデックスエントリに含まれる前記検査データに基づいて検出すると共に、記記憶装置に記憶されている前記インデックスファイルデータ内において、誤りが検出された前記インデックスエントリ以降の全てのインデックスエントリを、前記インデックスファイルから削除する修復手段と、
を実現させるためのプログラム。 - 請求項6に記載のプログラムであって、
前記修復手段は、前記記憶装置に記憶されている前記インデックスファイルデータを、その終端側から順に前記インデックスエントリの誤り検出処理を行う、
プログラム。 - 情報処理装置にて、
所定の記憶装置に対する書き込み対象データを複数の部分データに分割し、当該各部分データを予め設定された基準に従って複数の分類に振り分け、各分類毎に前記部分データを結合した新たな分割ファイルデータをそれぞれ生成し、
前記部分データ毎に、当該部分データの分割前における前記書き込み対象データ中の位置情報と、前記部分データの分割後に生成された前記分割ファイルデータ中の位置情報と、を含む各インデックスエントリをそれぞれ生成すると共に、当該各インデックスエントリに誤り検出用の検査データを付加し、当該複数のインデックスエントリを結合したインデックスファイルデータを生成し、
前記分割ファイルデータと前記インデックスファイルデータとを前記記憶装置に書き込み、
前記記憶装置に書き込まれた前記各インデックスエントリの誤りを、当該各インデックスエントリに含まれる前記検査データに基づいて検出すると共に、記記憶装置に記憶されている前記インデックスファイルデータ内において、誤りが検出された前記インデックスエントリ以降の全てのインデックスエントリを、前記インデックスファイルから削除する、
情報処理方法。 - 請求項8に記載の情報処理方法であって、
前記記憶装置に記憶されている前記インデックスファイルデータを、その終端側から順に前記インデックスエントリの誤り検出処理を行う、
情報処理方法。
Priority Applications (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201180066195.4A CN103339615B (zh) | 2011-01-28 | 2011-11-30 | 存储系统和信息处理方法 |
EP11856977.1A EP2669804A4 (en) | 2011-01-28 | 2011-11-30 | Storage system |
JP2012554499A JP5534043B2 (ja) | 2011-01-28 | 2011-11-30 | ストレージシステム |
CA2825885A CA2825885C (en) | 2011-01-28 | 2011-11-30 | Storage system and information processing method |
US13/981,166 US9858287B2 (en) | 2011-01-28 | 2011-11-30 | Storage system |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2011-016229 | 2011-01-28 | ||
JP2011016229 | 2011-01-28 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2012101707A1 true WO2012101707A1 (ja) | 2012-08-02 |
Family
ID=46580320
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/JP2011/006679 WO2012101707A1 (ja) | 2011-01-28 | 2011-11-30 | ストレージシステム |
Country Status (6)
Country | Link |
---|---|
US (1) | US9858287B2 (ja) |
EP (1) | EP2669804A4 (ja) |
JP (1) | JP5534043B2 (ja) |
CN (1) | CN103339615B (ja) |
CA (1) | CA2825885C (ja) |
WO (1) | WO2012101707A1 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103024541A (zh) * | 2012-12-19 | 2013-04-03 | 四川长虹电器股份有限公司 | 一种智能电视机数据存储和可视化的方法 |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9773059B2 (en) * | 2010-11-09 | 2017-09-26 | Storagedna, Inc. | Tape data management |
CN104021049B (zh) * | 2014-05-16 | 2017-11-03 | 华为技术有限公司 | 分布式存储系统中数据统一的方法和以太接口硬盘 |
CN104408154B (zh) * | 2014-12-04 | 2018-05-29 | 华为技术有限公司 | 重复数据删除方法及装置 |
JP6862951B2 (ja) * | 2017-03-15 | 2021-04-21 | 富士通株式会社 | メモリ制御装置、情報処理装置およびメモリ制御方法 |
CN111552667B (zh) * | 2020-04-29 | 2023-11-03 | 杭州海康威视系统技术有限公司 | 一种数据删除方法、装置及电子设备 |
CN112114753B (zh) * | 2020-09-17 | 2022-09-30 | 杭州海康威视系统技术有限公司 | 一种数据写入方法、装置及设备 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH06175901A (ja) * | 1992-06-12 | 1994-06-24 | Fujitsu Ltd | ファイルを管理する処理装置 |
JPH06290092A (ja) * | 1991-11-04 | 1994-10-18 | American Teleph & Telegr Co <Att> | 記憶装置へのファイル格納装置 |
JPH07146810A (ja) * | 1993-09-27 | 1995-06-06 | Toshiba Corp | 計算機システム |
JP2002501258A (ja) * | 1998-01-21 | 2002-01-15 | マイクロソフト コーポレイション | ファイル・システムにおけるネーティブ・データ署名 |
JP2005235171A (ja) | 2003-12-09 | 2005-09-02 | Emc Corp | 時間的に近接して記憶システムに書き込まれたデータユニットを示すコンテンツアドレスの生成方法およびその装置 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
NL8602654A (nl) * | 1986-10-23 | 1988-05-16 | Philips Nv | Werkwijze voor het in kavels verdelen en in een massageheugen bitsgewijs opslaan van een gegevensbestand, alsook voor het adresseren van een kavel, en inrichting voor het uitvoeren van de werkwijze. |
US20010027457A1 (en) * | 2000-03-22 | 2001-10-04 | Terrence Yee | Method and apparatus for storing changes to file attributes without having to store an additional copy of the file contents |
US6668262B1 (en) * | 2000-11-09 | 2003-12-23 | Cisco Technology, Inc. | Methods and apparatus for modifying a database |
US7917494B2 (en) * | 2008-07-11 | 2011-03-29 | Adobe Software Trading Company Limited | System and method for a log-based data storage |
US9015181B2 (en) | 2008-09-26 | 2015-04-21 | Commvault Systems, Inc. | Systems and methods for managing single instancing data |
CN101799788B (zh) | 2010-03-23 | 2014-06-11 | 中兴通讯股份有限公司 | 一种分级管理存储资源的方法及系统 |
-
2011
- 2011-11-30 CN CN201180066195.4A patent/CN103339615B/zh active Active
- 2011-11-30 EP EP11856977.1A patent/EP2669804A4/en not_active Withdrawn
- 2011-11-30 US US13/981,166 patent/US9858287B2/en active Active
- 2011-11-30 WO PCT/JP2011/006679 patent/WO2012101707A1/ja active Application Filing
- 2011-11-30 CA CA2825885A patent/CA2825885C/en active Active
- 2011-11-30 JP JP2012554499A patent/JP5534043B2/ja active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH06290092A (ja) * | 1991-11-04 | 1994-10-18 | American Teleph & Telegr Co <Att> | 記憶装置へのファイル格納装置 |
JPH06175901A (ja) * | 1992-06-12 | 1994-06-24 | Fujitsu Ltd | ファイルを管理する処理装置 |
JPH07146810A (ja) * | 1993-09-27 | 1995-06-06 | Toshiba Corp | 計算機システム |
JP2002501258A (ja) * | 1998-01-21 | 2002-01-15 | マイクロソフト コーポレイション | ファイル・システムにおけるネーティブ・データ署名 |
JP2005235171A (ja) | 2003-12-09 | 2005-09-02 | Emc Corp | 時間的に近接して記憶システムに書き込まれたデータユニットを示すコンテンツアドレスの生成方法およびその装置 |
Non-Patent Citations (1)
Title |
---|
See also references of EP2669804A4 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103024541A (zh) * | 2012-12-19 | 2013-04-03 | 四川长虹电器股份有限公司 | 一种智能电视机数据存储和可视化的方法 |
CN103024541B (zh) * | 2012-12-19 | 2016-03-30 | 四川长虹电器股份有限公司 | 一种智能电视机数据存储和可视化的方法 |
Also Published As
Publication number | Publication date |
---|---|
JP5534043B2 (ja) | 2014-06-25 |
CA2825885A1 (en) | 2012-08-02 |
EP2669804A4 (en) | 2017-10-18 |
EP2669804A1 (en) | 2013-12-04 |
JPWO2012101707A1 (ja) | 2014-06-30 |
CN103339615B (zh) | 2016-03-09 |
US9858287B2 (en) | 2018-01-02 |
US20130339320A1 (en) | 2013-12-19 |
CA2825885C (en) | 2019-07-02 |
CN103339615A (zh) | 2013-10-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5534043B2 (ja) | ストレージシステム | |
US8341460B2 (en) | Verification of computer backup data | |
US7421551B2 (en) | Fast verification of computer backup data | |
US8972343B2 (en) | Storage system | |
US9396073B2 (en) | Optimizing restores of deduplicated data | |
KR101301828B1 (ko) | 플래시 메모리에 기반한 ssd에서의 전원-손실 복구 방법 및 장치 | |
JP6341307B1 (ja) | 情報処理装置 | |
CN113885809B (zh) | 数据管理系统及方法 | |
JP5517224B2 (ja) | ストレージ装置 | |
US9575679B2 (en) | Storage system in which connected data is divided | |
US20190354433A1 (en) | Parity log with by-pass | |
JP2013058134A (ja) | データ書き込み装置 | |
JP5660617B2 (ja) | ストレージ装置 | |
JP5365236B2 (ja) | ストレージシステム | |
CN111124740A (zh) | 一种数据读取方法、装置、存储设备及机器可读存储介质 | |
CN114138566B (zh) | 虚拟机的数据存储方法、装置、虚拟机及存储介质 | |
US20220391118A1 (en) | Journals for data cloning operations | |
JP5891842B2 (ja) | ストレージシステム | |
CN107402850B (zh) | 一种数据库数据文件的冗余方法与装置 | |
JP6337507B2 (ja) | ストレージシステム | |
JP6343952B2 (ja) | ストレージシステム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
WWE | Wipo information: entry into national phase |
Ref document number: 201180066195.4 Country of ref document: CN |
|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 11856977 Country of ref document: EP Kind code of ref document: A1 |
|
ENP | Entry into the national phase |
Ref document number: 2012554499 Country of ref document: JP Kind code of ref document: A |
|
WWE | Wipo information: entry into national phase |
Ref document number: 2011856977 Country of ref document: EP |
|
ENP | Entry into the national phase |
Ref document number: 2825885 Country of ref document: CA |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
WWE | Wipo information: entry into national phase |
Ref document number: 13981166 Country of ref document: US |