Storage device and control method thereof

The storage device optimizes configuration information acquisition by grouping resources with shared hash values, reducing memory and CPU usage to enhance performance.

JP2025172645APending Publication Date: 2025-11-26HITACHI VANTARA LTD
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
JP2024078272
Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Filing Date
2024-05-13
Publication Date
2025-11-26

AI Technical Summary

Technical Problem

Existing storage systems face performance bottlenecks due to CPU and memory constraints when acquiring configuration information, as they retain large amounts of duplicate data, leading to increased CPU usage and reduced response performance.

Method used

A storage device equipped with a processor and memory that records hash values of common data, grouping resources with the same hash values and acquiring common data only once, thereby reducing memory and CPU usage.

Benefits of technology

Improves response performance by minimizing memory usage and CPU load, enhancing storage configuration information acquisition efficiency.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2025172645000001_ABST
    Figure 2025172645000001_ABST
Patent Text Reader

Abstract

To provide technology capable of improving response performance for acquiring storage configuration information.SOLUTION: A hash value recording database 103 records a hash value of common data of resources. An information acquisition efficiency service 102 refers to the hash values of the common data recorded in the hash value recording database 103, groups a plurality of resources for which configuration information is to be acquired into groups having identical hash values of the common data, acquires the common data for each group, and acquires dynamic data of each resource.SELECTED DRAWING: Figure 1
Need to check novelty before this filing date? Find Prior Art

Description

[Technical Field]

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

[0002] In recent years, storage has come to be operated in the cloud, and storage configuration management processing is frequently performed in response to user requests even during system operation, so there is a demand for improved response performance to configuration information acquisition requests.

[0003] Because storage requires a large number of configuration resources, the storage's CPU and memory are heavily used to obtain configuration information and generate responses. Because the number of APIs that a storage can execute simultaneously is limited due to CPU and memory constraints, efficient configuration information acquisition processing is required to improve response performance to configuration information acquisition requests.

[0004] When an API server that retrieves storage configuration information retrieves configuration information for multiple resources, it retrieves all the data for all resources, even if the configuration information for each resource contains common data, and retains the retrieved data in memory until it creates a response. As a result, the amount of data retained in memory increases, limiting the number of APIs that can be executed simultaneously and reducing response performance for retrieving configuration information. Furthermore, as the amount of data retained in memory increases, space management, including memory allocation and release, becomes necessary, further reducing response performance for retrieving configuration information.

[0005] Additionally, the amount of data conversion processing performed by the CPU to create a response increases in proportion to the amount of configuration information data being obtained for the resources. Therefore, if the amount of configuration information being obtained is large, CPU usage increases, the number of APIs that can be executed simultaneously is limited, and response performance for obtaining configuration information decreases.

[0006] Patent Document 1 discloses a technology for reducing the amount of data transmitted when transmitting a response to a data file acquisition request. Patent Document 1 describes a technology for generating a response to an acquisition request that, when the same partial data appears in a data file in duplicate, includes the partial data of the data file without duplication and notifies the duplicate partial data, which is the partial data that appears in duplicate, and the number of duplicates of the duplicate partial data. [Prior art documents] [Patent documents]

[0007] [Patent Document 1] Japanese Patent Application Publication No. 2017-142664 Summary of the Invention [Problem to be solved by the invention]

[0008] The technology in Patent Document 1 reduces the communication load when sending a response by performing deduplication when acquiring information, but it is not a technology that improves response performance by reducing the load on the storage CPU or memory. Furthermore, the technology in Patent Document 1 is a technology that performs deduplication when acquiring backup data during restoration, and cannot be applied to acquiring data that includes unknown content, such as storage configuration information.

[0009] Therefore, an object of the present invention is to provide a technique that can improve the response performance when acquiring configuration information of a storage. [Means for solving the problem]

[0010] In order to solve the above problem, one representative storage device of the present invention is a storage device that acquires configuration information consisting of common data and dynamic data of multiple resources, and is equipped with a processor and memory, wherein the memory records hash values ​​of the common data of the resources, and the processor refers to the hash values ​​of the common data recorded in the memory to group multiple resources for which configuration information is to be acquired into groups having the same hash values ​​of the common data, acquires the common data of the groups, and acquires the dynamic data of the resources. [Effects of the Invention]

[0011] According to the present invention, it is possible to improve the response performance for acquiring storage configuration information.

[0012] Problems, configurations, and effects other than those described above will become apparent from the following description of the embodiments. [Brief explanation of the drawings]

[0013] [Figure 1] 1 is a block diagram showing an example of the configuration of a storage system according to a first embodiment. [Figure 2] FIG. 2 illustrates an example of resource configuration information. [Figure 3A] FIG. 1 is a diagram illustrating a conventional method for acquiring information from an API server. [Figure 3B] FIG. 10 is a diagram illustrating information acquisition by the information acquisition efficiency improvement service according to the present embodiment. [Figure 4A] FIG. 1 is a diagram illustrating conventional response generation. [Figure 4B] 10A and 10B are diagrams illustrating the creation of a response by the information acquisition efficiency improvement service according to the present embodiment. [Figure 5A] FIG. 10 is a diagram illustrating an example of a static data table recorded in a hash value recording database. [Figure 5B] FIG. 10 is a diagram showing an example of a changeable data table recorded in a hash value recording database. [Figure 6] FIG. 10 is a sequence diagram illustrating the flow of a configuration information acquisition process. [Figure 7] 10 is a flowchart illustrating an example of a configuration information acquisition process. [Figure 8] FIG. 10 is a sequence diagram illustrating the flow of an information update process. [Figure 9A] FIG. 10 is a diagram illustrating the relationship between the number of volumes for which configuration information is to be obtained and memory usage. [Figure 9B] FIG. 10 is a diagram illustrating the relationship between the number of groups and memory usage. DETAILED DESCRIPTION OF THE INVENTION

[0014] Hereinafter, an embodiment will be described with reference to the drawings. [Example]

[0015] FIG. 1 is a block diagram illustrating an example of the configuration of a storage system according to a first embodiment.

[0016] The storage system includes a storage device 10 and a management terminal 20. The management terminal 20 is connected to the storage device 10 via a network.

[0017] The management terminal 20 executes applications and issues commands such as Read and Write to the storage device 10. Although not shown in the figure, the management terminal 20 is composed of an interface for connecting to the storage device 10, and a computer including a CPU (Central Processing Unit), memory, etc.

[0018] Furthermore, the management terminal 20 issues to the storage device 10 an information acquisition request for resource configuration information such as volumes, and a resource configuration change request.

[0019] The storage device 10 includes a storage unit 11 and a controller 12.

[0020] The controller 12 controls the storage unit 11, performs API processing from the management terminal 20, and transfers data. The controller 12 executes management software 100 that manages the storage unit 11, and communicates with the storage unit 11 via an input / output unit 110.

[0021] The API server 101 included in the management software 100 has an API reception unit 111 that receives APIs from the management terminal 20, and an API execution control unit 112 that executes the API received by the API reception unit 111. The API server 101 is realized by the processor 104 of the storage device 10 executing a program stored in the memory 105.

[0022] The memory 105 is a RAM (Random Access Memory) accessible from the processor 104. When executing request processing for an information acquisition request or a configuration change request, the processor 104 accesses the memory 105 and acquires or updates information held in the memory 105.

[0023] The API server 101 executes requests such as information acquisition requests and configuration change requests from the management terminal 20 by having the processor 104 access the memory 105 , and returns the execution results to the management terminal 20 .

[0024] The storage unit 11 is configured with one or more drive devices. The storage unit 11 is accessed by the processor 104 via the input / output unit 110. The drive devices are configured with HDDs (Hard Disk Drives) that use storage media such as magnetic disks, SSDs (Solid State Drives) that use storage media such as flash memories, or the like.

[0025] The configuration information is information relating to resources held by the storage device 10, such as the volume capacity, drive device ID, type, and the like.

[0026] Here, the resource configuration information that the API server 101 acquires from the controller 12 in response to an information acquisition request from the management terminal 20 will be described with reference to FIG.

[0027] FIG. 2 is a diagram illustrating an example of resource configuration information.

[0028] When the API server 101 receives an information acquisition request from the management terminal 20 , it acquires the configuration information 200 of each resource from the input / output unit 110 .

[0029] The configuration information 200 of each resource includes dynamic data 201 and common data 202. Parameters set in each data are fixed for each resource type. The dynamic data 201 and common data 202 are set as follows.

[0030] The dynamic data 201 is a parameter that is dynamically changed depending on the usage status of each resource, such as block capacity.

[0031] The common data 202 is data that exists in common in the configuration information 200 of each resource. As described above, the parameters set in the configuration information 200 are fixed for each resource type, so when a large number of resources of the same resource type are created, these resources may have common parameters (common data 202).

[0032] The common data 202 includes static data 203 and modifiable data 204 .

[0033] The static data 203 is data such as a port number that is set when a resource is created, and is not changed after the resource is created by changing the configuration or settings.

[0034] The changeable data 204 is data, such as a pool ID, that can be changed by changing the configuration or settings after the resource is created.

[0035] Returning to FIG. 1, the API server 101 includes an information acquisition efficiency improvement service 102 and a hash value recording database 103 .

[0036] The information acquisition efficiency improvement service 102 is realized by the processor 104 executing a program stored in the memory 105. The hash value recording database 103 is also stored in the memory 105.

[0037] The information acquisition efficiency improvement service 102 analyzes the resource configuration information 200 acquired from the input / output unit 110, and determines whether common data 202 exists that is common to the configuration information of a plurality of resources.

[0038] If the common data 202 exists, the information retrieval efficiency improvement service 102 creates a hash value of the common data 202 and records a data table that associates the hash value with the resource path in the hash value recording database 103. By creating the hash value, the amount of data held in the memory 105 can be reduced and the common data can be recorded.

[0039] In addition, the information acquisition efficiency service 102 analyzes the API of the information acquisition request from the management terminal 20, refers to the hash value recording database 103, acquires only one common data 202 of resources having the same hash value, and acquires the dynamic data 201 of each resource.

[0040] Furthermore, the information acquisition efficiency improvement service 102 integrates the acquired dynamic data 201 and common data 202 to create a response to the management terminal 20 .

[0041] In addition, if the information of the resource for which configuration information has been acquired is not recorded in the hash value recording database 103, the information acquisition efficiency service 102 creates a hash value of the common data 202 of the resource and records it in the hash value recording database 103.

[0042] Next, the effect of reducing memory usage for configuration information acquisition by the information acquisition efficiency improvement service 102 of this embodiment will be described with reference to FIGS. 3A and 3B.

[0043] FIG. 3A is a diagram illustrating how information is acquired from a conventional API server.

[0044] A conventional API server 1 acquires configuration information 200 of a plurality of resources of a storage device from an input / output unit 3 and stores it in a memory 2. The acquired configuration information 200 of each resource includes common data 202 and dynamic data 201.

[0045] FIG. 3B is a diagram illustrating information acquisition by the information acquisition efficiency improvement service 102 of this embodiment.

[0046] The API server 101 of this embodiment has an information acquisition efficiency improvement service 102. The information acquisition efficiency improvement service 102 analyzes the API of the information acquisition request for multiple resources from the management terminal 20, collates the analysis result with the hash value recording database 103, and identifies the dynamic data 201 and common data 202 included in the configuration information 200 to be acquired.

[0047] Thereafter, the information acquisition efficiency improvement service 102 acquires the dynamic data 201 of each resource from the input / output unit 110 , acquires only one piece of common data 202 of the resource having the same common data 202 , and stores it in the memory 105 .

[0048] According to this embodiment, the information acquisition efficiency improvement service 102 eliminates the need to store a plurality of identical common data 202 in the memory 105, thereby reducing the memory usage of the storage device.

[0049] Next, the effect of reducing CPU usage in response creation by the information acquisition efficiency improvement service 102 of this embodiment will be described with reference to FIGS. 4A and 4B.

[0050] FIG. 4A is a diagram illustrating a conventional response generation method.

[0051] In a conventional API server, a processor (not shown) copies and converts configuration information 200 stored in memory 2 into a format suitable for the response, thereby creating a response to a management terminal 20. The configuration information 200 that is copied and converted here includes common data 202 and dynamic data 201.

[0052] FIG. 4B is a diagram for explaining the generation of a response by the information acquisition efficiency improvement service 102 of this embodiment.

[0053] In the API server 101 of this embodiment, the processor 104 copies and converts the common data 202 and dynamic data 201 stored in the memory 105 to a format suitable for the response, and then integrates the data to create a response to the management terminal 20. At this time, the copying and conversion process for the same common data is performed only once.

[0054] According to this embodiment, the information acquisition efficiency improvement service 102 eliminates the need for the processor 104 to copy and convert the same common data 202 multiple times, thereby reducing the CPU usage of the storage device.

[0055] Next, a data table that associates hash values ​​recorded in the hash value recording database 103 with resource paths will be described with reference to FIG.

[0056] FIG. 5A is a diagram showing an example of a static data table recorded in the hash value recording database 103. As shown in FIG.

[0057] In the static data table 510, a hash value 513 of the static data 203 is recorded in association with a resource type 511, which is a path that identifies a resource in the configuration information 200, and an object ID 512.

[0058] FIG. 5B is a diagram showing an example of a changeable data table recorded in the hash value recording database 103. As shown in FIG.

[0059] In the modifiable data table 520, a hash value 523 of the modifiable data 204 is recorded in association with a resource type 521, which is a path for identifying a resource in the configuration information 200, and an object ID 522.

[0060] The information acquisition request from the management terminal 20 includes a resource type and an object ID that identify the resource for which configuration information is to be acquired. The information acquisition efficiency improvement service 102 refers to the hash values ​​513 and 523 and classifies the resources identified in the information acquisition request into groups having the same hash value.

[0061] The common data 202 of resources having the same hash value 513, 523 obtains the static data 203 or the modifiable data 204 from only one of the resources.

[0062] Next, the configuration information acquisition process executed by the information acquisition efficiency improvement service 102 of this embodiment will be described with reference to Figures 6 and 7. This process is a process of acquiring resource configuration information in response to an information acquisition request from the management terminal 20, and creating and returning a response to the management terminal 20. This process is realized by the processor 104 of the storage device 10 executing a program stored in the memory 105.

[0063] FIG. 6 is a sequence diagram illustrating the flow of the configuration information acquisition process.

[0064] First, the information acquisition efficiency improvement service 102 receives an API of an information acquisition request from the management terminal 20 (step S601).

[0065] Next, the information acquisition efficiency improvement service 102 analyzes the API of the information acquisition request, and identifies the resource for which configuration information is to be acquired based on the resource type and object ID included in the information acquisition request (step S602).

[0066] Next, the information acquisition efficiency improvement service 102 checks the resource type and object ID included in the information acquisition request against the hash value recording database 103, and groups resources having the same hash value into the same group (step S603).

[0067] As a result of the grouping in step S603, for resources classified into groups, the information retrieval efficiency service 102 retrieves the common data 202 (static data 203 and modifiable data 204) of the same group from the input / output unit 110 only once (step S604-1), and retrieves the dynamic data 201 of each resource from the input / output unit 110 (step S604-2).

[0068] As a result of the grouping in step S603, for resources that have not been classified into groups, the information acquisition efficiency improvement service 102 acquires all configuration information including the common data 202 and dynamic data 201 from the input / output unit 110 (step S604').

[0069] Next, the information retrieval efficiency improvement service 102 copies and converts the acquired configuration information to create a response to the management terminal 20 (step S605), and returns the created response to the management terminal 20 (step S606). When the common data 202 and the dynamic data 201 are acquired, the information retrieval efficiency improvement service 102 copies and converts the common data 202 and the dynamic data 201, and then integrates them to create a response to the management terminal 20.

[0070] If the resources for which configuration information has been acquired include resources for which the hash value of the common data 202 is not recorded in the hash value recording database 103, the information acquisition efficiency service 102 creates a hash value of the common data 202 of the static data 203 and modifiable data 204 of the resource (step S607), records the created hash value of the common data 202 in the hash value recording database 103 in correspondence with the path of the resource (step S608), and terminates this process.

[0071] FIG. 7 is a flowchart illustrating an example of the configuration information acquisition process.

[0072] The information acquisition efficiency improvement service 102 receives an API for an information acquisition request from the management terminal 20 (step S701).

[0073] Next, the information acquisition efficiency improvement service 102 analyzes the API of the information acquisition request (step S702). Here, based on the resource type and object ID included in the information acquisition request acquired in step S701, the information acquisition efficiency improvement service 102 identifies the resource from which configuration information is to be acquired.

[0074] Next, the information retrieval efficiency service 102 determines whether the resource identified in step S702 is a target resource for the information retrieval efficiency improvement of this embodiment based on the resource type (step S703). Depending on the resource type, there may be no common data 202 or there may be only one resource, and such resource types are not subject to this embodiment.

[0075] If the resource for which configuration information is to be acquired is not a target for the information acquisition efficiency improvement of this embodiment (NO in step S703), the information acquisition efficiency improvement service 102 acquires the configuration information and creates and returns a response by the conventional method as shown in Figures 3A and 4A (step S715), and ends this process. That is, the information acquisition efficiency improvement service 102 acquires configuration information including the dynamic data 201 and common data 202 of all resources from the input / output unit 110.

[0076] On the other hand, if the resource for which configuration information is to be acquired is a target for improving information acquisition efficiency in this embodiment (YES in step S703), the information acquisition efficiency service 102 checks the resource type and object ID included in the information acquisition request against the hash value recording database 103, and groups resources having the same hash value into the same group (step S704). The results of this grouping are held in memory 105 until the creation of the response is complete.

[0077] An example of acquiring configuration information for 16834 volumes with object IDs of 0 to 16833 will be described below.

[0078] For example, if the hash values ​​513 of the static data 203 of volumes with object IDs of 0 to 15000 are the same, these volumes are classified into one group (first group).

[0079] Furthermore, if the hash values ​​523 of the modifiable data 204 of the volumes with object IDs 0 to 7000, the volumes with object IDs 7001 to 10000, and the volumes with object IDs 10001 to 15000 are the same, these volumes are classified into their respective groups (second groups).

[0080] Furthermore, if there is no resource with the same hash value among the volumes with object IDs 15001 to 16833, these volumes are not classified into a group.

[0081] Next, the information acquisition efficiency improvement service 102 repeatedly executes the processes of steps S705 to S709 until the process is completed for all resources for which configuration information is to be acquired.

[0082] First, the information acquisition efficiency improvement service 102 determines whether the resources are classified into groups as a result of the grouping in step S705 (step S705).

[0083] If the resource is not classified into a group (NO in step S705), all configuration information including the common data 202 and dynamic data 201 of the resource is acquired from the input / output unit 110 (step S709).

[0084] On the other hand, if the resource is classified into a group (YES in step S705), the information retrieval efficiency service 102 determines whether the common data 202 (static data 203 and modifiable data 204) of the group (first group and second group) into which the resource is classified has been acquired (step S706).

[0085] If at least one of the static data 203 and the modifiable data 204 of the group to which the resource is classified has not yet been acquired (NO in step S706), the unacquired common data 202 is acquired from the input / output unit 110 (step S707), and the process proceeds to step S708.

[0086] On the other hand, if the common data 202 (static data 203 and modifiable data 204) of the resource has already been acquired (NO in step S706), the process proceeds to step S708 without executing step S707.

[0087] Next, the information acquisition efficiency improvement service 102 acquires the dynamic data 201 of the resource from the input / output unit 110 (step S708).

[0088] When the processing of steps S705 to S709 is completed for all resources for which configuration information is to be acquired, the information acquisition efficiency improvement service 102 copies and converts the acquired configuration information and creates a response to the management terminal 20 (step S710). If the common data 202 and dynamic data 201 are acquired in steps S707 to S708, the information acquisition efficiency improvement service 102 copies and converts the common data 202 and dynamic data 201, then integrates them, and creates a response to the management terminal 20.

[0089] Next, the response created in step S710 is returned to the management terminal 20 (step S711).

[0090] Next, it is determined whether or not there is a resource for which the hash value of the shared data 202 is not recorded in the hash value recording database 103 among the resources for which the configuration information has been obtained in steps S705 to S709 (step S712).

[0091] If there is no resource for which the hash value of the common data 202 is not recorded in the hash value recording database 103 among the resources for which the configuration information has been obtained in steps S705 to S709 (NO in step S712), this process ends.

[0092] If there is a resource for which the hash value of the common data 202 is not recorded in the hash value recording database 103 among the resources for which configuration information was obtained in steps S705 to S709 (YES in step S712), a hash value is created for the common data 202 (static data 203 and modifiable data 204) of that resource (step S713).

[0093] Next, the information acquisition efficiency improvement service 102 records the hash value of the common data 202 created in step S713 in the hash value recording database 103 in association with the path of the resource (step S714), and ends this process.

[0094] According to the configuration information acquisition process of Figure 7, the information acquisition efficiency service 102 groups resources having the same hash value of common data 202 into the same group and acquires the common data 202 of the group only once, thereby reducing the load on the processor 104 and memory 105 of the storage device 10 and improving the response performance of storage configuration information acquisition.

[0095] Next, an information update process executed by the information acquisition efficiency improvement service 102 of this embodiment will be described with reference to Fig. 8. This process is a process for updating information recorded in the hash value recording database 103 when a change is made to the resource configuration. This process is realized by the processor 104 of the storage device 10 executing a program stored in the memory 105.

[0096] FIG. 8 is a sequence diagram illustrating the flow of the information update process.

[0097] First, the information acquisition efficiency improvement service 102 receives an API for a configuration change request from the management terminal 20, transmits the configuration change request to the input / output unit 110, and changes the configuration of resources (step S801).

[0098] Next, the information acquisition efficiency improvement service 102 receives the API of the configuration change response from the input / output unit 110 (step S802), and the configuration change response is returned to the management terminal 20.

[0099] Next, the information retrieval efficiency improvement service 102 analyzes the API of the configuration change request, identifies the resource to be subjected to the configuration change, analyzes the API of the configuration change response from the input / output unit 110, and identifies the configuration change that has been performed (step S803).

[0100] Next, the information acquisition efficiency improvement service 102 updates the hash value recording database based on the analysis result of step S803 (step S804), and ends this process.

[0101] For example, if the analysis in step S 803 reveals that the modifiable data 204 has been changed, a hash value of the changed modifiable data 204 is created and recorded in the hash value recording database 103 .

[0102] Furthermore, if the analysis in step S803 results in a change to delete the target resource, the information on the target resource is deleted from the hash value recording database 103.

[0103] According to the information update process of FIG. 8, when a change is made to the resource configuration, the information recorded in the hash value recording database 103 can be updated.

[0104] 9A and 9B, the memory usage reduction effect of the information acquisition efficiency improvement service 102 of this embodiment will be described below. The following describes an example in which volume configuration information is acquired.

[0105] FIG. 9A is a diagram showing the relationship between the number of volumes for which configuration information is obtained and memory usage.

[0106] A conventional API server 1 acquires all of the configuration information including the common data 202 and dynamic data 201 of each volume. Therefore, assuming that the configuration information of each volume is 715 bytes, the memory usage is expressed by the following formula.

[0107] 715 (bytes) x number of volumes (units) On the other hand, the API server 101 having the information retrieval efficiency improvement service 102 of this embodiment retrieves only one identical common data 202. Therefore, assuming that the common data 202 of each volume is 452 bytes, the dynamic data 201 is 263 bytes, and the object ID is 6 bytes, the memory usage is expressed by the following formula.

[0108] 452 (bytes) x number of common data (items) + (263 (bytes) + 6 (bytes)) x number of volumes (items) The object IDs are the grouped object IDs stored in the memory 105 in step S704 of FIG.

[0109] FIG. 9B is a diagram showing the relationship between the number of groups and memory usage.

[0110] 7, the number of common data 202 to be acquired is small, which results in a large effect of reducing memory usage. On the other hand, when the number of groups of common data 202 is large, the number of common data 202 to be acquired is large, which results in a small effect of reducing memory usage.

[0111] Therefore, when the configuration information of all resources has the same common data 202, the effect of reducing memory usage is maximized. On the other hand, when the configuration information of all resources has different common data 202, the effect of reducing memory usage is minimized.

[0112] According to this embodiment, as shown in FIGS. 9A and 9B, it is possible to reduce the memory usage in most cases.

[0113] Furthermore, the processor 104 copies the configuration information acquired from the input / output unit 110 and converts it into a format suitable for the response. In this embodiment, the number of times the configuration information is converted can be reduced, thereby reducing the CPU load.

[0114] The following is an example of retrieving 16834 volumes. Assume that 20 items of data are retrieved from each volume.

[0115] The conventional API server 1 converts configuration information including the common data 202 and dynamic data 201 of each volume. Therefore, the number of pieces of data that the processor 104 converts into a form suitable for a response is 336680, according to the following formula.

[0116] 20 (items) x 16834 (pieces) = 336680 (pieces) On the other hand, the API server 101 having the information acquisition efficiency improvement service 102 of this embodiment converts the same common data 202 only once. Assuming that each volume has 11 items of common data 202 and 9 items of dynamic data 201, the number of pieces of data that the processor 104 converts into a form suitable for a response is 151,517, according to the following formula.

[0117] 11 (items) + 9 (items) × 16834 (pieces) = 151517 (pieces) As described above, according to this embodiment, the amount of data to be copied and converted can be reduced, thereby reducing CPU usage.

[0118] Furthermore, in storage, the common data 202 of resources includes data that is changed by a configuration change (modifiable data 204) and data that is not changed by a configuration change (static data 203). Since the static data 203 has fewer variations than the modifiable data 204, a greater reduction in memory usage can be achieved by separating the static data 203 from the modifiable data 204. An example of the reduction effect achieved by separating the static data 203 from the modifiable data 204 is shown below.

[0119] If static data 203 and modifiable data 204 are not separated, assuming the number of volumes is 16,834, common data 202 is 452 bytes, dynamic data 201 is 263 bytes, the number of groups of common data 202 is 1,000, and the object ID is 6 bytes, the memory usage will be 4,980,346 bytes according to the following formula.

[0120] 452(byte)×1000(pieces)+(263(byte)+6(byte))×16834(pieces)=4,980,346 On the other hand, if static data 203 and modifiable data 204 are separated, assuming the number of volumes is 16,834, modifiable data 204 is 213 bytes, static data 203 is 239 bytes, dynamic data 201 is 263 bytes, the number of groups of modifiable data 204 is 1,000, the number of groups of static data 203 is 10, and the object ID is 6 bytes, the memory usage will be 4,742,736 bytes according to the following formula.

[0121] 213(byte)×1000(pieces)+239(byte)×10(pieces)+(263(byte)+6(byte))×16834(pieces)=4,980,346 As described above, according to this embodiment, by separating the static data 203 and the modifiable data 204, it is possible to obtain a greater effect of reducing memory usage.

[0122] According to this embodiment, it is possible to reduce the load on the CPU and memory of the storage, and improve the response performance for obtaining configuration information of the storage.

[0123] Furthermore, by reducing CPU and memory usage, power consumption in storage can be reduced, which reduces CO2 emissions and contributes to the environment.

[0124] It should be noted that the present invention is not limited to the above-described embodiment, and includes various modifications. For example, the above-described embodiment has been described in detail to clearly explain the present invention, and the present invention is not necessarily limited to an embodiment having all of the described configurations. [Explanation of symbols]

[0125] 10: Storage device 11: Storage section 12: Controller 20: Management terminal 100: Management software 101: API server 102: Information Acquisition Efficiency Service 103: Hash value record database 104: CPU 105: Memory 110: Input / output section 111: API reception department 112: API execution control unit

Claims

1. In a storage device that acquires configuration information consisting of common data and dynamic data of a plurality of resources, a processor and a memory, The memory includes: recording a hash value of the common data of the resource; The processor: referring to the hash value of the common data recorded in the memory, grouping the plurality of resources from which the configuration information is to be acquired into groups having the same hash value of the common data; obtaining the common data of the group; A storage device that acquires the dynamic data of the resource.

2. 2. The storage device according to claim 1, The processor: Acquiring the common data and the dynamic data in response to a request from a management terminal; converting the acquired common data and the acquired dynamic data into a form suitable for a response, and then integrating the data to create a response; The storage device returns the created response to the management terminal.

3. 3. The storage device according to claim 2, The processor: If the hash value of the acquired common data is not recorded in the memory, the storage device creates a hash value of the common data and records the created hash value in the memory.

4. 3. The storage device according to claim 2, the common data comprises mutable data that is changed by a configuration change and static data that is not changed by a configuration change; The memory includes: recording a hash value of the mutable data of the resource and a hash value of the static data of the resource; The processor: referring to the hash value of the modifiable data recorded in the memory, grouping the resources from which the configuration information is to be acquired into a first group having the same hash value of the modifiable data; referencing the hash value of the static data recorded in the memory, and classifying the resources from which the configuration information is to be acquired into a second group having the same hash value of the static data; A storage device that obtains the mutable data of the first group and the static data of the second group.

5. 5. The storage device according to claim 4, The processor: When the mutable data is changed, the storage device creates a hash value of the changed mutable data and records the created hash value in the memory.

6. A control method for a storage device that acquires configuration information consisting of common data and dynamic data of a plurality of resources, comprising: the storage device comprises a processor and a memory; The memory includes: recording a hash value of the common data of the resource; The processor: referring to the hash value of the common data recorded in the memory, grouping the plurality of resources from which the configuration information is to be acquired into groups having the same hash value of the common data; obtaining the common data of the group; A storage method for obtaining the dynamic data of the resource.

Citation Information

Patent Citations

  • Data processing apparatus, data processing system, data processing method, and data processing program

    JP2017142664A