Storage system

A dual management system for format states in storage devices addresses performance degradation by aligning format status across different management units, optimizing write operations and reducing inefficiencies.

JP2026019695APending Publication Date: 2026-02-05HITACHI VANTARA LTD
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
JP2024121435
Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Filing Date
2024-07-26
Publication Date
2026-02-05

AI Technical Summary

Technical Problem

In storage devices with multiple programs managing format states using different data sizes, write operations to unformatted areas result in performance degradation due to mismatched management units, leading to inefficient zero-padding and data handling.

Method used

Implement a dual management system where a higher-level storage controller and a lower-level data protection control unit manage format states independently, aligning area allocation and formatting status across different management units to optimize write operations.

Benefits of technology

This approach enhances write performance by minimizing unnecessary zero-padding and improving data handling efficiency within the storage system.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2026019695000001_ABST
    Figure 2026019695000001_ABST
Patent Text Reader

Abstract

To improve write performance of a storage system.SOLUTION: The storage system includes a processor and a memory. The memory stores a first control program, a second control program of a control layer different from the first control program, first format management information for managing a format state of each storage area of the storage device, and second format management information for managing a format state of each storage area of the storage device. When registering the volume, the processor sets the area of the storage device allocated to the volume to a formatted state in the first format management information according to the first control program, and sets the actual format state of the area of the storage device allocated to the volume to the second format management information according to the second control program.SELECTED DRAWING: Figure 5
Need to check novelty before this filing date? Find Prior Art

Description

[Technical Field]

[0001] The present invention relates to format bit management for storage programs. [Background technology]

[0002] In a software-defined storage (SDS) storage device, the format status of the data area is managed to ensure that zero data is stored in the unformatted area. In response to a read request to an unformatted area, the SDS responds with zero data without drive access. [Prior art documents] [Patent documents]

[0003] [Patent Document 1] International Publication No. 2018 / 051392 Summary of the Invention [Problem to be solved by the invention]

[0004] A storage device that provides various functions may include several programs for each function. In such cases, each program may manage the format state using a different data size, and a higher-level program may use a larger management size than a lower-level program.

[0005] When a write occurs to an unformatted area, even if the write request is small, the upper-layer program zeroes out the data until it reaches the management size and passes the write request to the lower-layer program. This means that the lower-layer program is being asked to write data that exceeds the management data size. As the write size increases from a small size, performance degradation occurs. Eliminating this degradation is a challenge.

[0006] A similar performance degradation occurs when a lower-level program uses a larger management size than an upper-level program. [Means for solving the problem]

[0007] One aspect of the present invention is a storage system including a processor and a memory, wherein the memory stores a first control program, a second control program in a control layer different from the first control program, first format management information that is referenced by the first control program and manages the format state of each storage area of ​​a storage device using a first management unit, and second format management information that is referenced by the second control program and manages the format state of each storage area of ​​the storage device using a second management unit, and when registering a volume, the processor sets the area of ​​the storage device allocated to the volume to a formatted state in the first format management information in accordance with the first control program, and sets the actual format state of the area of ​​the storage device allocated to the volume in the second format management information in accordance with the second control program. [Effects of the Invention]

[0008] According to one embodiment of the present invention, the write performance of a storage system is improved. [Brief explanation of the drawings]

[0009] [Figure 1] Equipment configuration diagram showing the environment of Example 1 [Figure 2] Physical configuration of storage node [Figure 3] Storage node logical configuration diagram [Figure 4] Storage node memory configuration diagram [Figure 5] Flowchart of Volume registration process in the first embodiment [Figure 6] Flowchart of Volume deletion process of the first embodiment [Figure 7]10 is a diagram illustrating the configuration of a memory in a storage node according to a third embodiment. [Figure 8] Flowchart of Volume deletion processing according to the third embodiment [Figure 9] Flowchart of collection read processing in the third embodiment DETAILED DESCRIPTION OF THE INVENTION

[0010] Hereinafter, embodiments of the present invention will be described with reference to the drawings. However, the present invention should not be construed as being limited to the description of the embodiments shown below. Those skilled in the art will readily understand that the specific configuration can be changed without departing from the spirit or intent of the present invention.

[0011] The designations "first," "second," "third," etc. in this specification are used to identify components and do not necessarily limit the number or order. In the configurations of the invention described below, the same or similar configurations or functions are designated by the same reference numerals, and redundant explanations will be omitted.

[0012] In addition, in the following description, when describing elements of the same type without distinguishing between them, common reference symbols (or reference signs) may be used, and when describing elements of the same type with distinction between them, reference symbols (or element IDs) may be used.

[0013] The program is executed by a processor (e.g., a CPU (Central Processing Unit)) included in a storage controller in a storage device to perform a predetermined process using storage resources (e.g., memory) and / or a communication interface device (e.g., a host I / F) as appropriate, so the subject of the process may be the storage device or the processor. The storage controller may also include hardware circuits that perform some or all of the process. The computer program may be installed from a program source. The program source may be, for example, a program distribution server or a computer-readable storage medium. [Example]

[0014] FIG. 1 shows a system configuration according to the first embodiment.

[0015] The storage system 100, for example, comprises a plurality of host devices 101 (Host), a plurality of storage nodes 103 (Storage Node), and a management node 104. The host devices 101, storage nodes 103, and management node 104 are connected to one another via a network 102 configured from a Fibre Channel, Ethernet, LAN (Local Area Network), or the like.

[0016] The host device 101 is a general-purpose computer device that transmits read requests or write requests (hereinafter, these are collectively referred to as IO (Input Output) requests) to the storage node 103 in response to requests from user operations, implemented application programs, etc. The host device 101 may also be a virtual computer device such as a virtual machine.

[0017] The storage node 103 is a computer device that includes one or more storage devices (drives) 1033 and provides a storage area for reading and writing data to the host device 101. The storage node 103 is, for example, a general-purpose server device.

[0018] The management node 104 is a computer device used by a system administrator to manage the entire storage system 100. The management node 104 manages multiple storage nodes 103 as a group called a cluster. Although Fig. 1 shows an example in which only one cluster is provided, multiple clusters may be provided within the storage system 100.

[0019] In this way, the storage system 100 is configured with two or more storage nodes 103, one or more host devices 101, and one management node 104. The configuration shown in the figure is an example, and the host device 101, storage node 103, and management node 104 may be the same node. They may also be realized as virtual machines or containers, or may be configured to coexist as processes.

[0020] FIG. 2 is a diagram illustrating an example of the physical configuration of the storage node 103. As shown in FIG.

[0021] The storage node 103 includes a CPU 1031, a memory 1032, a plurality of storage devices 1033 (drives), and a communication device 1034 (NIC).

[0022] The CPU 1031 is a processor that controls the operation of the entire storage node. The memory 1032 is used to temporarily store various programs and necessary data. The CPU 1031 executes the programs stored in the volatile memory 1032, thereby executing various processes as the entire storage node 103, as described below.

[0023] The storage device 1033 includes one or more types of large-capacity nonvolatile storage devices such as SSDs (Single State Drives), hard disk drives, etc. The storage device 1033 provides a physical storage area for reading or writing data in response to an IO request from the host device 101.

[0024] The communication device 1034 is an interface that enables the storage node 103 to communicate with the host device 101, other storage nodes 103, or the management node 104 via the network 102. The communication device 1034 is configured, for example, with a NIC, an FC card, etc. The communication device 1034 controls protocols during communication with the host device 101, other storage nodes 103, or the management node 104.

[0025] FIG. 3 is a diagram showing an example of the logical configuration of the storage node 103. As shown in FIG.

[0026] The storage node 103 has a memory 1032. The memory 1032 stores a plurality of programs, which are a front-end driver 1081, a back-end driver 1087, one or more storage controllers 1083, and a data protection controller 1086. Figure 3 illustrates two storage controllers 1083 in each node 103.

[0027] The front-end driver 1081 is software that controls the communication device 1034 and has the function of providing the storage controller 1083 with an abstracted interface when communicating with the host device 101, other storage nodes 103, or management node 104.

[0028] The back-end driver 1087 is software that controls each storage device 1033 in its own storage node 103 and has the function of providing an abstracted interface when communicating with each storage device 1033 .

[0029] The storage controller 1083 is software that functions as a controller for SDS (Software Defined Storage). The storage controller 1083 receives an IO request from the host device 101 and issues an IO command corresponding to the IO request to the data protection control unit 1086.

[0030] The storage controller 1083 also has a logical volume configuration function. The logical volume configuration function associates the logical chunks configured by the data protection control unit 1086 with the logical volumes provided to the host. For example, a straight mapping method (a one-to-one correspondence between logical chunks and logical volumes, with the addresses of the logical chunks and the logical volume being the same) may be used. Alternatively, a virtual volume function (thin provisioning) method (a method in which the logical volumes and logical chunks are divided into small-sized areas (pages), and the addresses of the logical volumes and logical chunks are associated with each other on a page-by-page basis) may be used.

[0031] Each storage controller 1083 implemented in a storage node 103 is managed as a pair that forms a redundant configuration together with another storage controller 1083 arranged in another storage node 103. Hereinafter, this pair will be referred to as a storage controller group 1085.

[0032] 3 shows a case where one storage controller group 1085 is configured with two storage controllers 1083. One redundant configuration may also be configured with three or more storage controllers 1083. For example, one storage controller may be in active mode and the other storage controller may be in standby mode.

[0033] In the storage controller group 1085, one storage controller 1083 is set to a state (active system state, hereinafter referred to as active mode) in which it can accept IO requests from the host device 101. In addition, in the storage controller group 1085, the other storage controller 1083 is set to a state (standby system state, hereinafter referred to as standby mode) in which it cannot accept IO requests from the host device 101. Note that a node in active mode is called an active node, and a node in standby mode is called a standby node.

[0034] In the storage controller group 1085, if a failure occurs in a storage controller 1083 (hereinafter referred to as an active storage controller) set to active mode or in the storage node 103 in which the active storage controller is located, the state of the storage controller 1083 (hereinafter referred to as a standby storage controller) that had been set to standby mode until then is switched to active mode.

[0035] This allows the standby storage controller to take over the I / O processing that the active storage controller was performing if the active storage controller becomes unable to operate. To achieve this function, the standby storage node controller stores the user data cache and control information of the active storage node controller in a redundant manner.

[0036] The data protection control unit 1086 is software that allocates physical storage areas provided by storage devices 1033 in its own storage node 103 or in other storage nodes 103 to each storage controller group 1085, and has the function of reading or writing specified data to the corresponding storage device 1033 in accordance with IO commands given from the storage controller 1083.

[0037] When the data protection control unit 1086 allocates a physical storage area provided by a storage device 1033 in another storage node 103 to the storage controller group 1085, it cooperates with the data protection control unit 1086 implemented in that other storage node 103 to exchange data with that data protection control unit 1086 via the network 102, thereby reading or writing data to the storage area in accordance with the IO command given by the storage controller of that storage controller group 1085.

[0038] When an IO command is given to the data protection control unit 1086, it exchanges data with the data protection control unit 1086 in another storage node 103 via the network 102 and stores redundant data in the storage system 100. This prevents data loss in the event of a failure in a storage node 103 or a storage device 1033 in the storage node 103. The data protection control unit 1086 may achieve redundancy by mirroring, or by RAID or erasure coding. The redundancy may be any value greater than or equal to 1.

[0039] As described above, the storage controller 1083 is a higher-level program, and the data protection control unit 1086 is a lower-level program.

[0040] FIG. 4 shows a table stored in the memory 1032 of the storage node 103.

[0041] The memory 1032 includes a storage controller format management table 410 and a data protection control unit format management table 420 .

[0042] The storage controller format management table 410 manages whether the format status 412 of an area in the storage device 1033 identified by an address 411 in the management unit of the storage controller 1083 is unformatted or formatted.

[0043] The data protection control unit format management table 420 manages whether the format status 422 of an area in the storage device 1033 identified by an address 421 in the management unit of the data protection control unit 1086 is unformatted or formatted.

[0044] The formatted state is a state in which the data in that area is confirmed for the storage controller 1083 or the data protection control unit 1086. Confirmed data in a formatted area is, for example, user data or zero data. The unformatted state is a state in which the data in that area is unconfirmed. Note that any specified data other than zero data can be used.

[0045] The storage controller format management table 410 and the data protection control unit format management table 420 manage the same physical storage area in the storage device 1033, but the addresses and format status are managed independently by each program. In other words, the two management tables 410 and 420 manage a common physical area in different address spaces. The management unit size of each program may be the same or different.

[0046] For example, the management unit of the storage controller format management table 410 is larger than the management unit of the data protection control unit format management table 420. In this configuration, this embodiment can more effectively improve write performance. In one example, the management unit size of the storage controller format management table 410 is 2 MB, and the management unit size of the data protection control unit format management table 420 is 256 KB. These sizes are larger than the host access unit (for example, 4 KB).

[0047] When reading data from the storage device 1033 , the storage controller 1083 refers to the storage controller format management table 410 .

[0048] If the area is formatted, the data protection control unit 1086 is instructed to read the data in the area, but if the area is unformatted, zero data is returned without instructing the data protection control unit 1086.

[0049] When writing data into the storage device 1033, the storage controller 1083 refers to the storage controller format management table 410, and if the area is unformatted, changes the state to formatted. Also, if the area is unformatted and the size of the data to be written is less than the management size of the storage controller 1083, it pads the data size to the management size with zero data and then instructs the data protection control unit 1086 to write the data.

[0050] Similarly, the data protection control unit 1086 performs read and write by referring to the data protection control unit format management table 420 in response to an instruction from the storage controller 1083. In other words, if the area in question has been formatted, it instructs the storage device 1033 to read the data in that area, but if the area in question has not been formatted, it returns zero data to the storage controller 1083 without instructing the storage device 1033.

[0051] When writing data into the storage device 1033, the data protection control unit 1086 refers to the data protection control unit format management table 420, and if the area is unformatted, changes the state to formatted. Also, if the area is unformatted and the size of the data to be written is less than the management size of the data protection control unit 1086, it pads the data size to the management size with zero data and then instructs the storage device 1033 to write the data.

[0052] FIG. 5 shows an example of a volume registration process flow 500.

[0053] The storage controller 1083 receives a volume creation instruction from the user (step 501). The storage controller 1083 generates management information for the volume, and then instructs the data protection control unit 1086 to allocate an area to the volume from the storage device 1033, thereby creating the volume (step 502). The storage controller 1083 sets the format status of the allocated area in the storage controller format management table 410 to "completed" (step 503).

[0054] The storage controller 1083 responds to the user that the volume creation is complete (step 504).

[0055] After responding that the Volume creation is complete, the storage controller 1083 may instruct the data protection control unit 1086 to write zero data to the storage device 033 for the area allocated to the Volume asynchronously with the Volume registration process. This can improve the performance of the initial write. The data protection control unit 1086 may actually write zeros, or may use WRITE SAME or TRIM (SCSI command). The data protection control unit 1086 may write zero data to the area without receiving an instruction from the storage controller 1083. The data protection control unit 1086 does not have to write the zero data.

[0056] When the storage controller 1083 receives the first data write request to an area of ​​the volume after the volume has been created, it refers to the format status 412 of the area in the storage controller format management table 410. If the format status 412 is not yet set, it fills the remaining area of ​​the management unit with zeros and then requests the data protection control unit 1086 to write data in the management unit of the storage controller 1083.

[0057] If the format status 412 of the area in the storage controller format management table 410 is "completed", a request is made to the data protection control unit 1086 to write the requested data.

[0058] In the volume registration processing flow 500 shown in Fig. 5, the storage controller 1083 sets the volume allocation area to be formatted. Therefore, the first data write is requested to the data protection control unit 1086 at the requested size without padding with zeros to expand it to the management unit of the storage controller 1083. Area formatting management is performed by the data protection control unit 1086. This makes it possible to improve write performance.

[0059] The data protection control unit 1086 checks the format status 422 of the area in the format management table 420 for the data protection control unit, and if the write request is to an unformatted area, it fills the remaining area of ​​the management unit with zeros and then writes the received data to the storage device 1033.

[0060] FIG. 6 shows a flow 600 of a volume deletion process.

[0061] The storage controller 1083 receives a Volume deletion instruction from the user (step 601). The storage controller 1083 deletes the Volume management information (step 602) and sets the format status 412 in the storage controller format management table 410 for the area allocated to that Volume to "Not Formatted" (step 603). In the data protection control unit format management table 420, the format status of that area remains "Formatted." Having only one side in an "Not Formatted" state can simplify subsequent formatting processing.

[0062] The storage controller 1083 responds to the user that the volume has been deleted (step 604).

[0063] After responding that the Volume deletion is complete, the storage controller 1083 instructs the data protection control unit 1086 to write zeros to the area allocated to the Volume asynchronously with the Volume deletion (step 605). This reduces the impact of zero writing on IO performance. The data protection control unit 1086 writes zeros to the instructed area. At this time, the data protection control unit 1086 may actually write zeros, or may use WRITE SAME or TRIM. When the storage controller 1083 receives a response from the data protection control unit 1086 indicating that the zero writing is complete (step 606), it sets the format status 412 in the storage controller format management table 410 for the area allocated to the Volume to "completed" (step 607).

[0064] Note that the steps after step 605 do not necessarily have to be performed.

[0065] In the above configuration example, the upper-layer storage controller 1083 sets the format information of all areas to "completed" when creating a volume, and the lower-layer data protection control unit 1086 manages the actual formatting status of the storage device 1033. In another configuration example, the lower-layer management program may set the format information of all areas to "completed," and the upper-layer management program may perform the actual formatting management. Since the load on the upper-layer management program is usually heavy, simplifying management in the upper layer can improve system performance.

[0066] The above-described example of the storage system configuration is a distributed storage system including a plurality of storage nodes 103. The format management of the embodiment can be applied to a storage system configured with one node. [Example]

[0067] 2 shows a flow of a Volume deletion process according to embodiment 2. Here, differences from embodiment 1 are explained. The explanation of embodiment 1 can be applied to configurations that are not specifically explained.

[0068] The storage controller 1083 receives a Volume deletion instruction from the user. The storage controller 1083 deletes the Volume management information, and leaves the format status of the area of ​​the storage device 1033 allocated to the Volume unchanged in the storage controller format management table 410. This improves write performance.

[0069] The storage controller 1083 requests the data protection control unit 1086 to discard the area. The data protection control unit 1086 changes the format status of the area in the data protection control unit format management table 420 to "Not formatted." [Example]

[0070] A third embodiment will be described below, which explains data decryption. Fig. 7 shows a table stored in the memory 1032 of the storage node 103 according to the third embodiment.

[0071] In addition to the tables described in the first embodiment, the memory 1032 stores a format management table 710 for other nodes for the data protection control unit, a remaining data management table 720 for the data protection control unit, and a remaining data management table 730 for other nodes for the data protection control unit.

[0072] The data protection control unit 1086 uses data stored in the storage device 1033 of the other storage node 103 to make the data redundant within the storage system 100 in cooperation with the data protection control unit 1086 of the other storage node 103 .

[0073] The data protection control unit other node format management table 710 manages whether the format status 712 of an area in a storage device 1033 in another storage node 103, which is identified by an address 711 in the management unit of the data protection control unit 1086, is unformatted or formatted. A data protection control unit other node format management table 710 is prepared for each storage node 103 that cooperates for data decryption.

[0074] The remaining data management table 720 for the data protection control unit manages the remaining data status 722 of an area in the storage device 1033 in the storage node 103, which is identified by an address 721 in the management unit of the data protection control unit 1086. The remaining data status 722 manages a state in which data remains even though it is unformatted, as "remained," and other states as "not remaining."

[0075] The remaining data management table 730 for other nodes for the data protection control unit manages the remaining data status 732 of an area in a storage device 1033 in another storage node 103, which is identified by an address 731 in the management unit of the data protection control unit 1086. A remaining data management table 730 for other nodes for the data protection control unit is prepared for each storage node 103 that cooperates for data decryption.

[0076] FIG. 8 shows a Volume deletion processing flow 800 according to the third embodiment.

[0077] The storage controller 1083 receives a volume deletion instruction from the user (step 801). The storage controller 1083 deletes the management information for the volume (step 802) and requests the data protection control unit 1086 to discard the area (step 803). At this time, the storage controller format management table 410 is not changed.

[0078] The data protection control unit 1086 receives the data area discard request (step 804). For the specified area, the data protection control unit format status 412 in the data protection control unit format management table 420 is set to "not yet" (step 805), and the data remaining status 722 in the data protection control unit remaining data management table 720 is set to "remaining" (step 806).

[0079] The data protection control unit 1086 notifies the data protection control units 1086 of other cooperating storage nodes 103 of the change of the format status of the data area to not formatted and the change of the remaining data status to remaining (step 807).

[0080] The data protection control unit 1086 of the other storage node 103 that has received the request to change the state updates the state of the data protection control unit other node format management table 710 and the data protection control unit other node remaining data management table 730 (step 808).

[0081] The data protection control unit 1086 of the other storage node 103 notifies the data protection control unit 1086 that received the data area discard request of the completion of the status update, and the data protection control unit 1086 responds to the storage controller 1083 of the completion of area discard (step 809). The storage controller 1083 responds to the user of the completion of volume deletion (step 810).

[0082] FIG. 9 shows a flow 900 of a read process (collection read process) to the storage device 1033 in the failed storage node 103 according to the third embodiment.

[0083] A failure occurs in storage node 103. When a user requests storage system 100 to read from storage device 1033 in failed storage node 103, storage system 100 issues a collection read request to data protection control unit 1086 in a non-failed storage node 103 that can decrypt redundant data (the data requested to be read) of the data stored in storage device 1033 (step 901).

[0084] The data protection control unit 1086 receives the correction read request (step 902). The data protection control unit 1086 checks the format status of the data stored in the storage device 1033 in a storage node 103 other than the node 103 that received the correction read request, which is necessary for decrypting the data, in the data protection control unit other node format management table 710 (step 903). If the format status 712 of the area is "already formatted," the data protection control unit 1086 in the other storage node 103 is requested to perform a drive read (step 904).

[0085] If the format status 712 of the area is "not formatted" in step 903, the data protection control unit 1086 checks the remaining data status 732 of the area in the remaining data management table 730 for other nodes for the data protection control unit (step 907). If the remaining data status 732 is "remaining," the data protection control unit 1086 in the other storage node 103 is requested to perform a drive read for decryption to read data from the drive even if the format status is "not formatted" (step 908).

[0086] The other data protection control unit 1086 that received the read request returns the read result to the data protection control unit 1086 that received the collection read request (step 905). The data protection control unit 1086 receives the read result (step 906).

[0087] If the remaining data status 732 of the area is not present in step 907, the data protection control unit 1086 generates zero data as the read result (step 909).

[0088] The data protection control unit 1086 uses the read result to decrypt the data stored in the storage device 1033 in the storage node 103 where the failure occurred (step 910). The data protection control unit 1086 sends a read response using the decrypted data (step 911).

[0089] Although the processing flow 900 has been described for the case where a failure occurs in the storage node 103, the same processing is performed when a failure occurs in the storage device 1033 within the storage node 103.

[0090] A process (rebuild process) according to a third embodiment for recovering data stored in a failed storage node 103 to a non-failed storage node 103 connected to the storage system 100 will be described.

[0091] The collection read process 900 restores the data stored in the storage device 1033 in the failed storage node 103 .

[0092] The format management table 420 for the data protection control unit, the format management table 710 for the data protection control unit for other nodes, the remaining data management table 720 for the data protection control unit, and the remaining data management table 730 for the data protection control unit for other nodes in the other storage node 103 are referenced, and the format management table 420 for the data protection control unit, the format management table 710 for the data protection control unit for other nodes, the remaining data management table 720 for the data protection control unit, and the remaining data management table 730 for the data protection control unit for other nodes are restored.

[0093] 13 shows a write process to an unformatted area according to a third embodiment.

[0094] When the data protection control unit 1086 receives a write request for an unformatted area, the data protection control unit 1086 zero-fills the data according to the management unit. The data protection control unit 1086 sets the format status 412 of the data protection control unit format management table 420 for that area to "completed" and sets the remaining status 722 of the data protection control unit remaining data management table 720 to "not remaining."

[0095] The data protection control unit 1086 transmits data for decrypting the write data to the data protection control unit 1086 in the other storage node 103 that operates in cooperation with it. At that time, the other data protection control unit 1086 sets the format status 712 of the other node format management table 710 for the data protection control unit for the data storage area to completed, and sets the remaining status 732 of the other node remaining data management table 730 for the data protection control unit to not remaining.

[0096] In this embodiment, when a failure occurs in the storage node 103, data can be restored appropriately.

[0097] The present invention is not limited to the above-described embodiments and includes various modifications. For example, the above-described embodiments have been described in detail to clearly explain the present invention, and the present invention is not necessarily limited to those including all of the described configurations. Furthermore, it is possible to replace part of the configuration of one embodiment with the configuration of another embodiment, or to add the configuration of another embodiment to the configuration of one embodiment. Furthermore, it is possible to add, delete, or replace part of the configuration of each embodiment with other configurations.

[0098] Furthermore, the above-mentioned components, functions, processing units, etc. may be realized in part or in whole by hardware, for example, by designing them as integrated circuits. Furthermore, the above-mentioned components, functions, etc. may be realized in software by a processor interpreting and executing a program that realizes each function. Information such as the programs, tables, and files that realize each function can be stored in memory, a storage device such as a hard disk or SSD, or a storage medium such as an IC card or SD card.

[0099] In addition, the control lines and information lines shown are those that are considered necessary for the explanation, and do not necessarily show all the control lines and information lines in the product. In reality, it can be assumed that almost all components are interconnected. [Explanation of symbols]

[0100] 100 Storage Systems 103 storage nodes 410 Storage Controller Format Management Table 420 Data protection control unit format management table 1031 CPU 1032 memory 1033 Storage Devices 1083 Storage Controller 1086 Data Protection Control Unit

Claims

1. 1. A storage system, comprising: a processor; a memory, The memory includes: a first control program; a second control program in a control layer different from the first control program; first format management information that is referenced by the first control program and that manages the format state of each storage area of ​​the storage device using a first management unit; second format management information that is referenced by the second control program and that manages the format state of each storage area of ​​the storage device using a second management unit; The processor, in registering the volume, setting an area of ​​the storage device allocated to the volume to a formatted state in the first format management information according to the first control program; A storage system that sets the actual format state of the area of ​​the storage device that is allocated to the volume in the second format management information in accordance with the second control program.

2. 2. The storage system according to claim 1, In deleting the volume, the processor setting an area of ​​the storage device allocated to the volume in one of the first format management information and the second format management information to an unformatted state; a storage system that maintains an area of ​​the storage device that is allocated to the volume in a formatted state in accordance with the other of the first format management information and the second format management information;

3. 3. The storage system according to claim 2, A storage system in which the processor executes, in accordance with the second control program, a prescribed data write process for formatting an area of ​​the storage device allocated to the volume, asynchronously with the deletion of the volume.

4. 2. The storage system according to claim 1, A storage system, wherein the first control program is in a higher control layer than the second control program.

5. 5. The storage system according to claim 4, In deleting the volume, the processor In the second format management information, an area of ​​the storage device allocated to the volume is set to an unformatted state; A storage system that maintains, in the first format management information, an area of ​​the storage device that is allocated to the volume in a formatted state.

6. 6. The storage system according to claim 5, Contains multiple nodes, each node of the plurality of nodes includes the processor and the memory; The memory includes: format management information for other nodes, which is referred to by the second control program and manages the format state of the decoding data area of ​​the other nodes; remaining data management information for the own node, which is referred to by the second control program and manages whether data remains in the own node; remaining data management information for other nodes, which is referenced by the second control program and manages whether decryption data remains in the other nodes.

7. 7. The storage system according to claim 6, In deleting the volume, the processor In the second format management information, an area of ​​the storage device allocated to the volume is set to an unformatted state; A storage system that maintains data in the area of ​​the storage device allocated to the volume, updates the remaining data management information for the own node, and notifies the other node of updates to the format management information for the other node and the remaining data management information for the other node.

8. 7. The storage system according to claim 6, In a collection read, the processor reads data remaining in an unformatted area of ​​the storage device.

9. 7. The storage system according to claim 6, A storage system in which, during a rebuild, the processor uses data collected from other nodes to restore the second format management information, the format management information for the other nodes, the remaining data management information for its own node, and the remaining data management information for the other nodes to a new node.

10. A format management method in a storage system, comprising: The storage system a first control program; a second control program in a control layer different from the first control program; first format management information that is referenced by the first control program and that manages the format state of each storage area of ​​the storage device using a first management unit; second format management information that is referenced by the second control program and that manages the format state of each storage area of ​​the storage device using a second management unit; The method further comprises the steps of: setting an area of ​​the storage device allocated to the volume to a formatted state in the first format management information according to the first control program; A format management method for setting an actual format state of an area of ​​the storage device allocated to the volume in the second format management information in accordance with the second control program.

Citation Information

Patent Citations

  • Computer system with data volume reduction function, and storage control method

    WO2018051392A1