Storage device

By creating a snapshot before file changes and releasing unreferenced data blocks during space release, the storage device ensures files remain restorable, addressing the challenge of maintaining data integrity in deduplication systems.

JP2025124235APending Publication Date: 2025-08-26NEC SOLUTION INNOVATORS LTD
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
JP2024020147
Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Filing Date
2024-02-14
Publication Date
2025-08-26

AI Technical Summary

Technical Problem

In storage devices using deduplication technology, when a file is deleted or modified, the system struggles to maintain a restorable state due to the inability to identify and release unreferenced data blocks during the space release process.

Method used

The storage device creates a snapshot of the file state before any change occurs, followed by performing file modification, and then identifies and releases unreferenced data blocks during the space release process, ensuring the file can be restored.

Benefits of technology

This approach maintains the restorable state of files even after performing area release processes, preventing data loss and ensuring files can be recovered.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2025124235000001_ABST
    Figure 2025124235000001_ABST
Patent Text Reader

Abstract

To solve the problem that data cannot be restored after area release processing.SOLUTION: A storage device includes: a snap shot creation part for creating a snap shot according to a file state before change, in response to a file change request to instruct the change of a file content; an execution part for performing the file change processing in response to the file change request; and an area release processing part for executing area release processing of specifying a data block which is not referenced among data blocks stored in a storage device, deleting the specified data block, and releasing an area.SELECTED DRAWING: Figure 13
Need to check novelty before this filing date? Find Prior Art

Description

[Technical Field]

[0001] The present invention relates to a storage device, a storage method, and a program. [Background technology]

[0002] Deduplication techniques are known that store data without duplication.

[0003] An example of a document related to this technology is Patent Document 1. Patent Document 1 describes a storage device that performs replication with a master site. According to Patent Document 1, the storage device has a replication unit that receives attribute information of a snapshot created at the master site and a hash list of data to be replicated from the master site, and registers data present in the device based on the hash list and updates index information, and the replication unit is configured to enable reference to the snapshot after updating the index information without waiting for completion of data transfer from the master site. [Prior art documents] [Patent documents]

[0004] [Patent Document 1] Japanese Patent Publication No. 2022-82006 Summary of the Invention [Problem to be solved by the invention]

[0005] In storage devices using deduplication technology, when a file is deleted, updated, or otherwise modified, the storage device identifies and releases blocks that can be deleted in the subsequent space release process, which can result in the issue of being unable to restore the data.

[0006] Therefore, one of the objects of the present invention is to provide a storage device, a storage method, and a program that can solve the above-mentioned problems. [Means for solving the problem]

[0007] In order to achieve this object, a storage device according to one embodiment of the present disclosure comprises: a snapshot creation unit that creates a snapshot corresponding to the state of the file before the change in response to a file change request that instructs a change to the content of the file; an execution unit that performs file modification processing in response to the file modification request; an area release processing unit that identifies data blocks that are not being referenced from among data blocks stored in the storage device and executes area release processing to delete the identified data blocks and release the area; have The structure is as follows.

[0008] Furthermore, a storage method according to another aspect of the present disclosure includes: The information processing device In response to a file change request that instructs a change to the file contents, a snapshot is created according to the file state before the change. performing a file change process in response to the file change request; According to a predetermined condition, a data block that is not being referenced among data blocks stored in a storage device is identified, and an area release process is performed to delete the identified data block and release the area. The structure is as follows.

[0009] Furthermore, a program according to another aspect of the present disclosure includes: In the information processing device, In response to a file change request that instructs a change to the file contents, a snapshot is created according to the file state before the change. performing a file change process in response to the file change request; According to a predetermined condition, a data block that is not being referenced among data blocks stored in a storage device is identified, and an area release process is performed to delete the identified data block and release the area. It is a program for realizing the processing. [Effects of the Invention]

[0010] According to the above-described configurations, even if an area release process is performed after a file modification process, the file can be maintained in a state where it can be restored. [Brief explanation of the drawings]

[0011] [Figure 1] FIG. 10 is a diagram illustrating an image of a file system structure when deduplication is performed. [Figure 2] FIG. 10 illustrates an example of processing when deleting a file without creating a snapshot. [Figure 3] FIG. 10 is a diagram illustrating an example of processing when a file is updated without creating a snapshot. [Figure 4] FIG. 1 illustrates an example of the configuration of a storage system. [Figure 5] FIG. 1 illustrates an example of the configuration of deduplication storage. [Figure 6] FIG. 10 illustrates an example of processing by a snapshot creating unit; [Figure 7] FIG. 10 illustrates an example of processing when deleting a file. [Figure 8] FIG. 10 illustrates an example of a process for deleting a snapshot. [Figure 9] FIG. 10 illustrates an example of processing when updating a file. [Figure 10] FIG. 10 is a sequence diagram illustrating an example of the operation of the storage system. [Figure 11] FIG. 10 is a sequence diagram illustrating an example of the operation of the storage system. [Figure 12] FIG. 10 is a diagram illustrating an example of a hardware configuration of a storage device according to a second embodiment of the present disclosure. [Figure 13]FIG. 2 is a block diagram illustrating an example of the configuration of a storage device. [Figure 14] 10 is a flowchart illustrating an example of the operation of the storage device. DETAILED DESCRIPTION OF THE INVENTION

[0012] [First embodiment] A first embodiment of the present disclosure will be described with reference to FIGS. 1 to 11. FIG. 1 is a diagram illustrating an image of a file system structure. FIGS. 2 and 3 are diagrams illustrating an example of processing when a file is changed without creating a snapshot. FIG. 4 is a diagram illustrating an example of the configuration of a storage system 100. FIG. 5 is a diagram illustrating an example of the configuration of a deduplication storage 300. FIG. 6 is a diagram illustrating an example of processing by a snapshot creation unit 320. FIG. 7 is a diagram illustrating an example of processing when a file is deleted. FIG. 8 is a diagram illustrating an example of processing when a snapshot is deleted. FIG. 9 is a diagram illustrating an example of processing when a file is updated. FIGS. 10 and 11 are sequence diagrams illustrating an example of operation of the storage system 100. Note that the drawings in this disclosure may be associated with one or more embodiments.

[0013] In a first embodiment of the present disclosure, a storage system 100 having a deduplication function for storing data without duplication and capable of restoring files even after performing a space release process in which unreferenced data blocks are deleted to release space is described. As described below, the storage system 100 creates a snapshot of the file state before the change in response to a file change request instructing a change to file content, such as deletion or update, and then performs the file content change process. Thereafter, when performing space release processing according to predetermined conditions, the storage system 100 deletes data blocks and releases space according to the existence of the created snapshot. This allows the storage system 100 to perform space release processing without releasing data blocks that were referenced before the file change, for example. The storage system 100 may also be configured to create a snapshot in response to a file change request when predetermined conditions are met, such as when the amount of file change exceeds a certain amount.

[0014] Furthermore, when performing space release processing, the storage system 100 can be configured to identify data blocks to delete after deleting snapshots according to the available capacity of the storage device. For example, the storage system 100 may delete snapshots that can be identified according to predetermined conditions, such as deleting snapshots that have passed a predetermined expiration date or deleting snapshots in order of oldest creation date and time. The storage system 100 may also be configured to repeatedly delete snapshots until a predetermined amount of available capacity is secured.

[0015] For example, FIG. 1 shows an example of a file system structure in a system with deduplication functionality, such as storage system 100. Referring to FIG. 1, in a system with deduplication functionality, the units enclosed by the fine dotted lines are treated as blocks. As shown in FIG. 1, the system can access the top block (superblock) of the inode index B+Tree based on the file system + version. The system can also trace from the superblock to each block based on the CA (content address). Also, as shown in FIG. 1, the system can reference directory and file data by identifying and tracing the content address corresponding to the fid (= inode). In this structure, if the contents of multiple data are identical, the hash value will also be the same, and each content address will point to the same data.

[0016] The content address is composed of information such as the hash value of the data (block). Therefore, when data or a block in the tree is updated, the content address to that data or block changes. Also, when a block containing a changed content address is updated, the content address to that block changes. By repeating the above changes, the content address of the superblock is eventually updated.

[0017] Systems with deduplication functionality, such as the storage system 100, have a file system structure such as the one described above. Therefore, a single data block may be referenced from multiple locations, and the system cannot immediately delete the corresponding data block in response to a user's file change request, such as deletion or update. Instead, the system identifies data blocks that are not referenced by other sources during a space release process performed subsequently according to predetermined conditions, and then deletes and releases the identified data blocks along with their superblocks. For example, FIG. 2 shows an example of processing when a file is deleted without creating a snapshot. Referring to FIG. 2, the user deletes file B, resulting in data block E being no longer referenced by any source. Therefore, the system identifies data block E that is not referenced by other sources during the space release process, and deletes and releases the identified data block E. FIG. 3 also shows an example of processing when a file is updated without creating a snapshot. Referring to FIG. 3, the user updates file B, resulting in data block E being no longer referenced by any source. Therefore, the system identifies data block E that is not referenced by other sources during the space release process, and deletes and releases the identified data block E. For example, in a system that performs deduplication as described above, data blocks that are not referenced elsewhere are identified and released during the space release process. The storage system 100 of the present disclosure creates a snapshot before a file is modified, and the existence of the created snapshot allows the deletion of data blocks to be suspended, maintaining a restorable state.

[0018] Fig. 4 shows an example of the configuration of a storage system 100. Referring to Fig. 4, the storage system 100 includes an external device 200 and a deduplication storage 300. As shown in Fig. 4, the external device 200 and the deduplication storage 300 are connected so that they can communicate with each other. Note that the storage system 100 may include multiple external devices 200, and may also include multiple deduplication storages 300.

[0019] The external device 200 is an information processing device capable of sending file change requests, such as file deletion and file update, to the deduplication storage 300. The external device 200 may be a general business server or any other information processing device. For example, the external device 200 can send file change requests to the deduplication storage 300 at timings corresponding to operations by an operator operating the external device 200 or at other arbitrary timings. In addition to the file change requests shown above, the external device 200 may also be configured to send commands to start area release processing to the deduplication storage 300.

[0020] The deduplication storage 300 is a storage device with a deduplication function that stores data without duplication. The deduplication storage 300 may consist of a single device, or may consist of multiple devices, such as multiple server computers that function as accelerator nodes or storage nodes.

[0021] Figure 5 shows an example of the configuration of the deduplication storage 300. Referring to Figure 5, the deduplication storage 300 includes a request acceptor 310, a snapshot creator 320, a request executor 330, and a space release processor 340. For example, the deduplication storage 300 includes a processor such as a CPU and a storage device such as the storage device 350. The processor in the deduplication storage 300 can achieve the above-mentioned functions by having the processor execute a program stored in the storage device such as the storage device 350.

[0022] In addition, instead of the CPU described above, the deduplication storage 300 may have any computing device such as a GPU (Graphics Processing Unit), a DSP (Digital Signal Processor), an MPU (Micro Processing Unit), an FPU (Floating point number Processing Unit), a PPU (Physics Processing Unit), a TPU (Tensor Processing Unit), a quantum processor, a microcontroller, or a combination of these.

[0023] The request receiving unit 310 receives a file change request from the external device 200 or the like, which instructs a change to the contents of a file, such as deletion or update.

[0024] The snapshot creation unit 320 creates a snapshot corresponding to the file state before the change corresponding to the file change request in response to the reception of a file change request by the request reception unit 310. For example, the snapshot creation unit 320 creates a snapshot corresponding to the file state before the change, including a tree structure such as a superblock and other blocks, as shown in Fig. 6. The snapshot creation unit 320 may create a snapshot for each file system.

[0025] The snapshot creation unit 320 may be configured to create a snapshot when a predetermined condition (first condition) is met in response to a file change request. For example, the snapshot creation unit 320 may be configured to create a snapshot when the amount of file change due to deletion, update, or the like exceeds a certain amount. The snapshot creation unit 320 may also be configured to create a snapshot regardless of the first condition when a second condition is met, such as when the elapsed time since the previous snapshot was created or the number of accepted file change requests exceeds a predetermined value. The snapshot creation unit 320 may also determine whether to create a snapshot in response to any first condition other than those exemplified above. Values ​​such as the amount of change used by the snapshot creation unit 320 when determining whether to create a snapshot may be set arbitrarily.

[0026] The request execution unit 330 performs change processing such as deleting or updating a file in response to the reception of a file change request by the request reception unit 310. In the case of the present disclosure, the request execution unit 330 can perform change processing in response to the file change request after the snapshot creation unit 320 creates a snapshot or after the snapshot creation unit 320 determines not to create a snapshot.

[0027] The area release processor 340 identifies unused data blocks among the data blocks stored in the storage device 350 or the like, and executes area release processing to delete the identified data blocks and release the area. For example, the area release processor 340 identifies unused data blocks by tracing a tree of old superblocks. The area release processor 340 can execute the area release processing according to predetermined conditions, such as executing the area release processing at predetermined intervals or executing the area release processing in response to an instruction from the external device 200 or the like. The conditions under which the area release processor 340 executes the area release processing may be any other conditions than those exemplified above.

[0028] Furthermore, the space release processor 340 may be configured to delete snapshots according to the free space of a storage device that stores data blocks, such as the storage device 350, before executing the space release process. For example, the space release processor 340 may be configured to delete snapshots when the free space falls below a predetermined threshold. Furthermore, when deleting snapshots, the space release processor 340 may be configured to delete snapshots that satisfy predetermined conditions among the created snapshots. For example, the space release processor 340 may delete snapshots according to predetermined conditions, such as deleting snapshots whose expiration date has passed or deleting snapshots in order of oldest creation date and time. Furthermore, when deleting snapshots, the space release processor 340 may be configured to display a list of snapshots that can be deleted on the external device 200, and delete the snapshots selected by the operator of the external device 200.

[0029] The area release processor 340 can be configured to repeatedly delete snapshots until the free space satisfies a predetermined condition. For example, the area release processor 340 may repeatedly delete snapshots and release the area of ​​data blocks until the free space satisfies a predetermined condition.

[0030] The free space threshold used to determine whether to delete a snapshot may be set arbitrarily. The expiration date may be set based on the same criteria for all snapshots, or may be set by the snapshot creation unit 320 when creating a snapshot, depending on the free space in the storage device, the amount of file changes, the frequency of snapshot creation, and the like. The expiration date may be changeable in response to an operator's operation. The space release processor 340 may be configured to delete snapshots based on the free space in the storage device and a preset number of snapshots created, or may be configured to delete expired snapshots regardless of conditions such as free space and the number of snapshots created. The space release processor 340 may be configured to delete snapshots selected by an operator operating the external device 200, the deduplication storage 300, or the like.

[0031] The storage device 350 is a storage device such as a hard disk that stores data, etc. The deduplication storage 300 may have only one storage device 350, or may have multiple storage devices 350. Furthermore, at least some of the multiple storage devices 350 may be located outside the deduplication storage 300.

[0032] The above is an example of the configuration of the deduplication storage 300.

[0033] Figure 7 shows an example of the process for deleting a file when the deduplication storage 300 has created a snapshot. Referring to Figure 7, in response to a file change request, the snapshot creation module 320 creates a snapshot of file B, which is to be changed. The request execution module 330 then deletes file B. In this case, while file B has been deleted by the request execution module 330, the snapshot of file B created by the snapshot creation module 320 remains. Therefore, when the area release processor 340 performs area release processing, data block E remains referenced, and data block E is no longer released.

[0034] FIG. 8 also shows an example of a process for deleting snapshots during area release processing. In the example shown in FIG. 8, the snapshot creation unit 320 creates snapshots of files B and C in response to a file change request, and then the request execution unit 330 deletes files B and C. In this situation, if the area release processing unit 340 determines that the available capacity has fallen below a predetermined threshold, the area release processing unit 340 determines to delete the created snapshots. For example, the area release processing unit 340 determines to delete the snapshot of file B, which was created earlier. As a result, the area release processing unit 340 identifies unreferenced data blocks after deleting the snapshot of file B. In the example shown in FIG. 8, deleting the snapshot of file B means that data block E will no longer be referenced. Therefore, the area release processing unit 340 deletes data block E to release the area.

[0035] 9 shows an example of processing when a file is updated after the deduplication storage 300 has created a snapshot. Referring to FIG. 9, in response to a file change request, the snapshot creation module 320 creates a snapshot of file B, which is to be changed. The request execution module 330 then updates file B. In this case, while file B has been updated by the request execution module 330, the snapshot created by the snapshot creation module 320 before the update remains. Therefore, when the area release processor 340 performs area release processing, data block E remains referenced, and data block E is no longer released.

[0036] Next, an example of the operation of the storage system 100 will be described with reference to Figures 10 and 11. First, an example of the operation of the storage system 100 when changing file contents will be described with reference to Figure 10. Referring to Figure 10, the external device 200 sends a file change request to the deduplication storage 300, instructing a change to the file contents, such as deletion or update (step S110).

[0037] When the request receiving unit 310 receives a file change request, the snapshot creating unit 320 creates a snapshot corresponding to the file state before the change corresponding to the file change request in response to the reception of the file change request by the request receiving unit 310 (step S210). Note that the snapshot creating unit 320 may be configured to create a snapshot in response to the file change request if a predetermined condition (first condition) is satisfied.

[0038] After step S210, the request execution unit 330 performs a change process in accordance with the file change request (step S220).

[0039] The above is an example of the operation when changing the contents of a file. Next, an example of the operation of the storage system 100 when performing area release processing will be explained with reference to Fig. 11. Referring to Fig. 11, the external device 200 sends an instruction to start area release processing to the deduplication storage 300 (step S120).

[0040] The area release processor 340 checks the free space of a storage device, such as the storage device 350, that stores data blocks (step S230). If the free space is equal to or greater than the threshold and there is sufficient free space (step S230, Yes), the area release processor 340 does not delete snapshots and maintains a state in which files can be restored (step S240). On the other hand, if the free space is below the threshold and there is no sufficient free space (step S230, No), the area release processor 340 identifies snapshots to be deleted (step S250). For example, the area release processor 340 identifies snapshots whose pre-set expiration date has passed or snapshots with the oldest creation date as snapshots to be deleted. The area release processor 340 then deletes the identified snapshots (step S260). The area release processor 340 then identifies unused data blocks from among the data blocks stored in the storage device 350 or the like (step S270). The area release processor 340 then deletes the identified data blocks to release the area (step S280).

[0041] The above is an example of the operation during the area release process. Note that the area release processing unit 340 may be configured to perform the area release process in accordance with a predetermined condition, such as at a predetermined interval, rather than in response to a start instruction from the external device 200. In other words, the process shown in Fig. 11 may be performed consecutively with the process shown in Fig. 10, or may be performed at different times, depending on the conditions.

[0042] As described above, the deduplication storage 300 includes a snapshot creation module 320 and an area release processor 340. With this configuration, the snapshot creation module 320 can create a snapshot of the file state before the file change request is made in response to the file change request. As a result, the area release processor 340 can perform area release processing in response to the existence of a snapshot created by the snapshot creation module 320. This allows the deduplication storage 300 to suspend the deletion of data blocks due to area release, thereby maintaining a restorable state.

[0043] Although deletion and update are given as examples of file modification requests in this disclosure, file modification requests may also include file operation instructions other than those given above, such as file creation.

[0044] [Second embodiment] Next, a second embodiment of the present disclosure will be described with reference to Fig. 12 to Fig. 14. Fig. 12 is a diagram illustrating an example of the hardware configuration of the storage device 400. Fig. 13 is a block diagram illustrating an example of the configuration of the storage device 400. Fig. 14 is a flowchart illustrating an example of the operation of the storage device 400.

[0045] In a second embodiment of the present disclosure, a storage device 400 will be described, which is an information processing device that can restore files even after performing an area release process that deletes unreferenced data blocks to release area. Fig. 12 shows an example of the hardware configuration of the storage device 400. Referring to Fig. 12, the storage device 400 has, as an example, the following hardware configuration. ·CPU(Central Processing Unit)401(Arithmetic unit) ROM (Read Only Memory) 402 (storage device) RAM (Random Access Memory) 403 (storage device) Programs 404 loaded into RAM 403 A storage device 405 for storing the program group 404 A drive device 406 that reads and writes data from a recording medium 410 outside the information processing device A communication interface 407 for connecting to a communication network 411 outside the information processing device Input / output interface 408 for inputting and outputting data Bus 409 connecting each component

[0046] 13. The storage device 400 can realize the functions of a snapshot creation unit 421, an execution unit 422, and an area release processing unit 423 shown in Fig. 13 by having the CPU 401 acquire and execute the program group 404. The program group 404 is stored in advance in, for example, the storage device 405 or the ROM 402, and is loaded into the RAM 403 or the like by the CPU 401 for execution as needed. The program group 404 may be supplied to the CPU 401 via the communication network 411, or may be stored in advance in the recording medium 410, and the drive device 406 may read out the program group 404 and supply it to the CPU 401.

[0047] 12 shows an example of the hardware configuration of the storage device 400. The hardware configuration of the storage device 400 is not limited to the above-described case. For example, the storage device 400 may be configured with only a part of the above-described configuration, such as excluding the drive device 406. Furthermore, the CPU 401 may be a GPU or the like exemplified in the first embodiment.

[0048] 13 creates a snapshot corresponding to the file state before the change in response to a file change request that instructs a change to the file contents. For example, the snapshot creation unit 421 may create a snapshot in response to a file change request received from an external device or the like.

[0049] The execution unit 422 performs file change processing in response to the file change request. For example, the execution unit 422 performs file change processing after the snapshot creation unit 421 creates a snapshot.

[0050] The area release processing unit 423 identifies data blocks that are not referenced among the data blocks stored in the storage device, and executes area release processing to delete the identified data blocks and release the area. The area release processing unit 423 may execute the area release processing at any timing, such as at a predetermined interval.

[0051] The above is an example of the configuration of the storage device 400. Next, an example of the operation of the storage device 400 will be described with reference to FIG.

[0052] Referring to FIG. 14, the snapshot creation unit 421 creates a snapshot according to the file state before the change in response to a file change request that instructs a change to the file contents (step S310).

[0053] The execution unit 422 performs file modification processing in response to the file modification request (step S320).

[0054] The area release processing unit 423 identifies data blocks that are not being referenced from among the data blocks stored in the storage device, and executes area release processing to delete the identified data blocks and release the area (step S330). Note that the processing of step S330 may be executed at any timing, such as at a predetermined interval.

[0055] As described above, the storage device 400 includes a snapshot creation unit 421 and an area release processing unit 423. With this configuration, the area release processing unit 423 can perform area release processing in a state in which a pre-change snapshot has been created by the snapshot creation unit 421. As a result, the existence of a snapshot makes it possible to suspend the release of data blocks due to area release. This allows the storage device 400 to maintain a restorable state even when area release processing has been performed.

[0056] The storage device 400 described above can be realized by installing a predetermined program in an information processing device such as the storage device 400. Specifically, the program according to another aspect of the present invention is a program for causing an information processing device such as the storage device 400 to realize processing that, in response to a file modification request that instructs modification of file contents, creates a snapshot corresponding to the file state before the modification, performs file modification processing in response to the file modification request, and, in accordance with predetermined conditions, identifies data blocks that are not referenced among data blocks stored in the storage device, and executes area release processing that deletes the identified data blocks to release the area.

[0057] Furthermore, a storage method executed by an information processing device such as the storage device 400 described above is a method in which the information processing device, in response to a file change request instructing a change to the file contents, creates a snapshot corresponding to the file state before the change, performs file change processing in response to the file change request, identifies data blocks that are not referenced among data blocks stored in the storage device in accordance with predetermined conditions, and executes area release processing to delete the identified data blocks and release the area.

[0058] Even if the invention is a program having the above-described configuration, or a computer-readable recording medium having the program recorded thereon, or a storage method, it can achieve the same functions and effects as the above-described storage device 400, and therefore can achieve the above-described objective of the present disclosure.

[0059] <Additional Notes> A part or all of the above-described embodiments can be described as follows: The following provides an overview of the storage device and the like according to the present invention. However, the present invention is not limited to the following configuration.

[0060] (Appendix 1) a snapshot creation unit that creates a snapshot corresponding to the state of the file before the change in response to a file change request that instructs a change to the content of the file; an execution unit that performs file modification processing in response to the file modification request; an area release processing unit that identifies data blocks that are not being referenced from among data blocks stored in the storage device and executes area release processing to delete the identified data blocks and release the area; have Storage device. (Appendix 2) 10. The storage device of claim 1, The area release processing unit executes the area release processing after deleting the snapshot created by the snapshot creating unit in accordance with a preset condition. Storage device. (Appendix 3) 3. The storage device of claim 2, The area release processing unit deletes snapshots that satisfy a predetermined condition from among the snapshots created by the snapshot creation unit, depending on the free space of the storage device that stores the data blocks. Storage device. (Appendix 4) 4. The storage device of claim 3, The area release processing unit identifies snapshots that have passed a preset expiration date from among the snapshots created by the snapshot creation unit, depending on the available capacity of the storage device that stores the data blocks, and deletes the identified snapshots. Storage device. (Appendix 5) 1. The storage device according to claim 1, wherein: The snapshot creation unit creates a snapshot in response to the file change request when a predetermined first condition is satisfied. Storage device. (Appendix 6) 6. The storage device of claim 5, The snapshot creation unit creates a snapshot regardless of the first condition when a predetermined second condition is satisfied. Storage device. (Appendix 7) 6. The storage device according to claim 1, The execution unit performs file change processing after the snapshot creation unit creates a snapshot or after the snapshot creation unit determines not to create a snapshot. Storage device. (Appendix 8) The information processing device In response to a file change request that instructs a change to the file contents, a snapshot is created according to the file state before the change. performing a file change process in response to the file change request; According to a predetermined condition, a data block that is not being referenced among data blocks stored in a storage device is identified, and an area release process is performed to delete the identified data block and release the area. Storage method. (Appendix 9) 9. The storage method of claim 8, further comprising: When the area release process is executed, the snapshots created according to the preset conditions are deleted, and then the area release process is executed. Storage method. (Appendix 10) In the information processing device, In response to a file change request that instructs a change to the file contents, a snapshot is created according to the file state before the change. performing a file change process in response to the file change request; According to a predetermined condition, a data block that is not being referenced among data blocks stored in a storage device is identified, and an area release process is performed to delete the identified data block and release the area. A program to realize the processing.

[0061] Note that some or all of the configurations described in Supplementary Notes 2 to 7 that are dependent on the storage device described as Supplementary Note 1 may also be dependent in a similar dependent relationship on the storage methods described in Supplementary Notes 8 and 9, and the program described in Supplementary Note 10. Furthermore, not limited to Supplementary Notes 8 to 10, but within the scope of each of the above-described embodiments, some or all of the configurations described as Supplements may also be dependent on various hardware, software, various recording means for recording software, or systems.

[0062] The programs described in the above embodiments and appendices may be stored in a storage device or a computer-readable recording medium, such as a portable medium such as a flexible disk, an optical disk, a magneto-optical disk, or a semiconductor memory.

[0063] Although the present invention has been described above with reference to the above-mentioned embodiments, the present invention is not limited to the above-mentioned embodiments. Various modifications that can be understood by those skilled in the art can be made to the configuration and details of the present invention within the scope of the present invention. [Explanation of symbols]

[0064] 100 Storage Systems 200 External device 300 Deduplication Storage 310 Request Reception Unit 320 Snapshot Creation Section 330 Request Execution Unit 340 Area release processing unit 350 storage device 400 storage devices 401 CPU 402 ROM 403 RAM 404 Programs 405 Storage device 406 Drive Unit 407 Communication Interface 408 Input / Output Interface 409 Bus 410 Recording Media 411 Communication Network 421 Snapshot Creation Section 422 Executive Department 423 Area release processing unit

Claims

1. a snapshot creation unit that creates a snapshot corresponding to the state of the file before the change in response to a file change request that instructs a change to the content of the file; an execution unit that performs file modification processing in response to the file modification request; an area release processing unit that identifies data blocks that are not being referenced from among data blocks stored in the storage device and executes area release processing to delete the identified data blocks and release the area; have Storage device.

2. 2. The storage device according to claim 1, The area release processing unit executes the area release processing after deleting the snapshot created by the snapshot creating unit in accordance with a preset condition. Storage device.

3. 3. The storage device according to claim 2, The area release processing unit deletes snapshots that satisfy a predetermined condition from among the snapshots created by the snapshot creation unit, depending on the free space of the storage device that stores the data blocks. Storage device.

4. 4. The storage device according to claim 3, The area release processing unit identifies snapshots that have passed a preset expiration date from among the snapshots created by the snapshot creation unit, depending on the available capacity of the storage device that stores the data blocks, and deletes the identified snapshots. Storage device.

5. 2. The storage device according to claim 1, The snapshot creation unit creates a snapshot in response to the file change request when a predetermined first condition is satisfied. Storage device.

6. 6. The storage device according to claim 5, The snapshot creation unit creates a snapshot regardless of the first condition when a predetermined second condition is satisfied. Storage device.

7. 2. The storage device according to claim 1, The execution unit performs file change processing after the snapshot creation unit creates a snapshot or after the snapshot creation unit determines not to create a snapshot. Storage device.

8. The information processing device In response to a file change request that instructs a change to the file contents, a snapshot is created according to the file state before the change. performing a file change process in response to the file change request; According to a predetermined condition, a data block that is not being referenced among data blocks stored in a storage device is identified, and an area release process is performed to delete the identified data block and release the area. Storage method.

9. 9. The storage method according to claim 8, When the area release process is executed, the snapshots created according to the preset conditions are deleted, and then the area release process is executed. Storage method.

10. In the information processing device, In response to a file change request that instructs a change to the file contents, a snapshot is created according to the file state before the change. performing a file change process in response to the file change request; According to a predetermined condition, a data block that is not being referenced among data blocks stored in a storage device is identified, and an area release process is performed to delete the identified data block and release the area. A program to realize the processing.

Citation Information

Patent Citations

  • Storage device

    JP2022082006A