STORAGE SYSTEM, LEARNING MODEL, AND LEARNING MODEL GENERATION METHOD
The storage system uses a learning model to evaluate drive performance and set statistical thresholds based on drive type and capacity, enhancing failure detection accuracy in SDS systems by addressing workload variations.
Patent Information
- Application Number
- JP2023117605
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Priority Date
- 2023-06-23
- Filing Date
- 2023-07-19
- Publication Date
- 2025-09-24
- Estimated Expiration
- 2043-07-19
AI Technical Summary
Conventional methods for detecting drive failures in storage systems, particularly in Software Defined Storage (SDS), are inaccurate due to varying workloads among drive devices within the same parity group, leading to missed or false detections.
A storage system equipped with a control device that utilizes a learning model to evaluate drive performance by analyzing operation information, including command response times, and determines failure signs based on statistical thresholds set by the model, considering drive type and capacity.
Accurately detects drive failures by accounting for workload variations and drive characteristics, reducing false positives and negatives in failure detection.
Smart Images

Figure 0007743470000001 
Figure 0007743470000002 
Figure 0007743470000003
Abstract
Description
[Technical Field]
[0001] The present invention relates to a storage system, a learning model, and a method for generating a learning model. [Background technology]
[0002] Generally, in a storage system, a sign of a failure is detected when the response performance of a drive device to an IO (Input Output) request from a host falls below a threshold. Alternatively, the response performance of drives belonging to the same RAID (Redundant Array of Inexpensive Disks) in the storage system is compared, and a sign of failure is detected in a drive device that is relatively slow.
[0003] Furthermore, there is a conventional technique for detecting signs of failure in a drive device using a machine learning model (see, for example, Patent Document 1). [Prior art documents] [Patent documents]
[0004] [Patent Document 1] Patent Publication No. 2021-43891 Summary of the Invention [Problem to be solved by the invention]
[0005] The above-mentioned conventional technology detects signs of drive failure on the assumption that drive devices belonging to the same parity group have the same workload. However, in storage systems such as SDS, which have become popular in recent years, where drive devices belonging to the same parity group may have different workloads, there is a problem in that signs of drive failure cannot be accurately detected. SDS stands for Software Defined Storage.
[0006] The present invention has been made in view of the above circumstances, and has as its object to more accurately detect signs of failure in drive devices in storage systems. [Means for solving the problem]
[0007] One aspect of solving the above problem is a storage system having a drive device that stores data and a control device that controls the input and output of data to the drive device, wherein the control device has a processor and a memory, and the memory stores a learning model for evaluating the response performance of the drive device to the execution of commands related to the input and output by the control device, and the processor acquires operation information of the drive device, inputs specified information related to the commands contained in the operation information to the learning model, and determines signs of failure of the drive device based on the output related to the response performance by the learning model to the input of the specified information. [Effects of the Invention]
[0008] According to the present invention, it is possible to more accurately detect signs of failure in drive devices in a storage system. [Brief explanation of the drawings]
[0009] [Figure 1] FIG. 1 is a diagram showing the configuration of a storage system and a learning model generation device according to a first embodiment. [Figure 2] FIG. 1 is a diagram showing the configuration of a learning model management table according to the first embodiment. [Figure 3] FIG. 1 is a diagram showing the configuration of a learning model pool according to the first embodiment. [Figure 4] FIG. 4 is a diagram showing the configuration of a failure sign determination result table according to the first embodiment. [Figure 5] FIG. 4 is a diagram showing the configuration of a response performance measurement IO pattern table according to the first embodiment. [Figure 6] FIG. 4 is a diagram showing the configuration of a drive device response performance data table according to the first embodiment. [Figure 7]FIG. 2 is a diagram showing the configuration and processing of a control device according to the first embodiment. [Figure 8] FIG. 1 is a diagram showing the configuration and processing of a learning model generation device according to the first embodiment. [Figure 9] 5 is a flowchart showing a drive device failure sign determination process according to the first embodiment. [Figure 10] 1 is a flowchart showing a learning model generation process according to the first embodiment. [Figure 11A] FIG. 10 is a diagram for explaining the performance evaluation results of a learning model (comparison example) that learned only training data acquired with the same transfer block length per command for read commands and write commands. [Figure 11B] FIG. 10 is a diagram for explaining the performance evaluation results of a learning model (embodiment 1) that was trained using training data obtained by varying the transfer block length per read command and per write command. [Figure 12] 10A and 10B are diagrams for explaining the actual response performance obtained by sending a read command and a write command without an idling period inserted, and a read command and a write command with an idling period inserted, to a normal drive device. [Figure 13] FIG. 10 is a diagram showing the configuration and processing of a control device according to a second embodiment. [Figure 14] FIG. 10 is a diagram showing the configuration and processing of a learning model generation device according to a second embodiment. DETAILED DESCRIPTION OF THE INVENTION
[0010] The following description of the embodiments will be given with reference to the drawings. Note that the embodiments described below do not limit the scope of the invention as claimed, and not all of the elements and combinations thereof described in the embodiments are necessarily essential to the solution of the invention.
[0011] In the following description, a program that realizes each processing function unit is executed by a processor to perform a predetermined process while appropriately using storage resources (e.g., memory) and / or communication interface devices (e.g., ports). The processor is, for example, a CPU (Central Processing Unit). Therefore, the process executed by each processing function unit may be a process performed by the processor or a computer having that processor.
[0012] In the following explanation, various information is expressed in table format, but the information is not limited to table format and may be in CSV (Comma Separated Values) or other formats. Since various information does not depend on the data format, for example, "XXX table" can be called "XXX information."
[0013] Furthermore, among the various information items, the names of items that include information to distinguish the corresponding record from other records, such as "identification information," "ID," and "name," may be interchangeable. For example, "user ID" may be interchangeable with "user identification information."
[0014] [Embodiment 1] (Configuration of storage system S and learning model generation device 4) FIG. 1 is a diagram showing the configuration of a storage system S and a learning model generation device 4 according to the first embodiment.
[0015] The storage system S comprises a control device 1, a drive connection unit 2, and one or more drive devices 3.
[0016] The drive connection unit 2 connects the control device 1 to a plurality of drive devices 3. The drive connection unit 2 is a PCIe switch, a SAS expander, or the like, but may be omitted. In other words, the drive devices 3 may be directly connected to the processor 11 of the control device 1.
[0017] (Configuration of control device 1) As shown in FIG. 1, the control device 1 includes a processor 11, a memory 12, an internal storage 13, and an IO (Input Output) unit 14.
[0018] The processor 11 executes a program in cooperation with the memory 12 to implement an operation information acquisition unit 111, a feature generation unit 112, a failure sign determination unit 113, and a learning model selection unit 114.
[0019] The memory 12 is a storage device such as a DRAM (Dynamic Random Access Memory), and stores a currently selected learning model 132M.
[0020] The internal storage 13 is a non-volatile storage device such as a hard disk drive (HDD) or a solid state drive (SSD), and stores a learning model management table 131 (FIG. 2), a learning model pool 132 (FIG. 3), and a failure sign determination result table 133 (FIG. 4).
[0021] (Configuration of learning model management table 131) FIG. 2 is a diagram showing the configuration of the learning model management table 131 according to the first embodiment. The learning model management table 131 is a table for managing learning models 132M (FIG. 3) for each drive type and capacity category of the drive device 3, and has columns for "drive type," "capacity," and "learning model number." "Drive type" is information that identifies the model of the drive device 3, such as its model number. "Capacity" is the storage capacity of the drive device 3. "Learning model number" is identification information for the learning model 132M.
[0022] (Configuration of learning model pool 132) 3 is a diagram showing the configuration of the learning model pool 132 according to the first embodiment. The learning model pool 132 is a table that manages learning models 132M for each drive type and capacity category of the drive device 3, and has columns of "learning model number" and "model parameters." The "learning model number" is the same as the "learning model number" in the learning model management table 131. The "model parameters" are model parameters of the learning model 132M identified by the "learning model number."
[0023] (Configuration of failure sign determination result table 133) 4 is a diagram showing the configuration of the failure sign determination result table 133 according to embodiment 1. The failure sign determination result table 133 is the result of determining a failure sign of the drive device 3 based on the operation information of the drive device 3. The failure sign determination result table 133 has columns for "drive device ID," "learning model number," "command information," "evaluation threshold," "actual measurement value of response performance data," and "failure sign determination result."
[0024] "Drive device ID" is information that identifies the drive device 3. "Learning model number" is information that identifies the learning model 132M used to determine the failure signs. "Command information" is information on the transfer block length and number of commands for each read command and write command used to determine the failure signs shown in the corresponding row.
[0025] The "evaluation threshold" is a threshold for the response performance data of the drive device 3, which is output by inputting the command shown in the "command information" to the learning model 132M of the "learning model number", for determining signs of failure of the drive device 3 of the "drive device ID".
[0026] The "measured response performance data" is the response performance data of the drive device 3 measured by actually sending the command indicated in the "command information" to the drive device 3 in question.
[0027] In this embodiment, the response performance is the response time to an input / output command of the drive device 3. However, it is not limited to this, and may also be latency, IOPS (Input / Output operations Per Second), throughput, etc.
[0028] If the response time data or latency of the drive device 3 exceeds the "evaluation threshold", it is determined that there is a sign of failure in the drive device 3, and if it is equal to or less than the "evaluation threshold", it is determined that there is no sign of failure in the drive device 3. Alternatively, if the IOPS or throughput of the drive device 3 is less than the "evaluation threshold", it is determined that there is a sign of failure in the drive device 3, and if it is equal to or more than the "evaluation threshold", it is determined that there is no sign of failure in the drive device 3.
[0029] The "failure sign determination result" stores "1" if it is determined that there is a failure sign in the drive device 3, and stores "0" if it is determined that there is no failure sign.
[0030] Returning to the explanation of Figure 1, the IO unit 14 is an interface that supports Fiber Channel, iSCSI, NVMe over fabric, etc. The IO unit 14 sends and receives input / output commands to the storage system S and responses to the input / output commands to the host 5 via the front-end network N1 to and from the host 5.
[0031] (Configuration of learning model generation device 4) 1, the learning model generation device 4 has a processor 41, a memory 42, and an internal storage 43. The learning model generation device 4 may also have a communication interface (not shown) for connecting to a network (not shown) and communicating with it, and a medium reading / writing device (not shown) for writing and reading data to and from a semiconductor storage medium or a magnetic storage medium.
[0032] The processor 41 executes programs in cooperation with the memory 42, which is a storage device such as a DRAM, to implement an operation information acquisition unit 411, a feature generation unit 412, and a learning model generation unit 413. The operation information acquisition unit 411 is implemented by, for example, benchmark software capable of measuring the response performance of the measurement drive device 3A.
[0033] The internal storage 43 is a non-volatile storage device such as an HDD or SSD, and stores a response performance measurement IO pattern table 431 (FIG. 5) and a drive device response performance data table 432 (FIG. 6).
[0034] (Configuration of response performance measurement IO pattern table 431) 5 is a diagram showing the configuration of a response performance measurement IO pattern table 431 according to embodiment 1. The response performance measurement IO pattern table 431 is a list of IO command patterns to be sent to one measurement drive device 3A connected to the learning model generation device 4 when generating teacher data for learning the learning model 132M. The measurement drive device 3A has the same drive type and capacity classification as the drive device 3, but only one measurement drive device 3A is connected to the learning model generation device 4 to measure response performance.
[0035] The response performance measurement IO pattern table 431 has columns of "number" and "IO pattern." "Number" is identification information for the IO pattern. "IO pattern" includes the ratio of the transfer block length and the number of command transmissions for each read command and write command. IO patterns include those in which the transfer block length is the same for read commands and write commands and those in which it is different. IO patterns also include those in which the number of command transmissions is the same for read commands and write commands and those in which it is different.
[0036] In Figure 5, for example, the "IO pattern" with "number" "2" indicates that "75% of write commands with a random pattern transfer block length of 512 KB are sent to the measurement drive device 3A." Also, the "IO pattern" with "number" "2" indicates that "25% of read commands with a random pattern transfer block length of 512 KB are sent to the measurement drive device 3A." An IO pattern of "75% write commands, 25% read commands" indicates that, for example, if the specified number of command transmissions is a total of 1000, write commands will be sent 750 times and read commands will be sent 250 times.
[0037] (Configuration of drive device response performance data table 432) 6 is a diagram showing the configuration of the drive device response performance data table 432 according to embodiment 1. The drive device response performance data table 432 is a list that lists the response performance data of the measurement drive device 3A in association with the IO patterns transmitted to the measurement drive device 3A when generating the training data for the learning model 132M.
[0038] The drive device response performance data table 432 has the columns of "Number," "IO Pattern," and "Response Performance Data." "Number" is identification information for the IO pattern. "IO Pattern" is the "IO Pattern" that corresponds to the "Number" in the response performance measurement IO pattern table 431. "Response Performance Data" is the actual measured value of the response performance data that is actually measured when an input / output command of the corresponding "IO Pattern" is sent to the measurement drive device 3A.
[0039] In FIG. 6, for example, the "response performance data" measured when an input / output command of the "IO pattern" numbered "2" is sent to the measurement drive device 3A is "minimum 110 ms, average 160 ms, maximum 210 ms." In other words, when the "IO pattern" has a ratio of the number of write commands to the number of read commands sent of 75:25 = 3:1, the response time for these multiple command transmissions is a minimum of 110 ms, an average of 160 ms, and a maximum of 210 ms. As evaluation thresholds described below, various statistical values (in this embodiment, minimum, average, and maximum values as examples) of multiple response performance data indicating the response performance for multiple command transmissions can be used.
[0040] Although not shown in the figure, the drive device response performance data table 432 stores operational information including the "IO pattern" along with the corresponding read transfer block length, write transfer block length, number of read and write commands, and drive type and capacity.
[0041] (Configuration and processing of the control device 1 according to the first embodiment) 7 is a diagram showing the configuration and processing of the control device 1 according to embodiment 1. The failure sign determination processing of the drive device 3 will be described with reference to FIGS.
[0042] The operation information acquisition unit 111 of the control device 1 acquires operation information of the subordinate drive devices 3 at regular intervals (for example, every three minutes). The operation information (operation log) includes, for example, transfer block lengths related to read commands and write commands issued from the host 5.
[0043] The operation information acquisition unit 111 inputs a read transfer block length 111a, a write transfer block length 111b, and a read / write command count 111c from the acquired operation information to the feature generation unit 112. The operation information acquisition unit 111 also inputs a drive type / capacity 111d from the acquired operation information to the learning model selection unit 114. The operation information acquisition unit 111 also inputs response performance data 111e to the failure sign determination unit 113.
[0044] The learning model selection unit 114 selects a learning model 132M corresponding to the input drive type and capacity 111d from the learning model pool 132 and loads it into the memory 12.
[0045] The feature generator 112 generates feature amounts for the input read transfer block length 111a, write transfer block length 111b, and number of read / write commands 111c, and inputs them to the learning model 132M.
[0046] The learning model 132M outputs an evaluation threshold of the response performance data 111e for each of the input feature quantities of the read transfer block length 111a, the write transfer block length 111b, and the number of read / write commands 111c. The evaluation threshold is input to the failure sign determination unit 113.
[0047] The failure sign determination unit 113 compares the input response performance data 111e with the evaluation threshold of this response performance data 111e. If the response performance data 111e exceeds the evaluation threshold, the failure sign determination unit 113 determines that the drive device 3 is showing signs of failure and that there is a possibility that the drive device 3 will fail in the predetermined near future.
[0048] The learning model 132M may receive the input feature quantities of the operation information and the response performance data, and output a determination result indicating whether the response performance data corresponds to a failure sign (NG) or not (OK). In this case, the failure sign determination unit 113 outputs the determination result of the learning model 132M as the determination result of a failure sign of the drive device 3.
[0049] (Configuration and Processing of Learning Model Generation Device 4 According to Embodiment 1) 8 is a diagram showing the configuration and processing of the learning model generation device 4 according to embodiment 1. The learning model generation processing will be described with reference to FIGS.
[0050] When the user instructs the learning model generation device 4 to start learning the learning model 132M, the operation information acquisition unit 411 starts the benchmark software and executes the following process. That is, the operation information acquisition unit 411 sequentially transmits read commands and write commands with different transfer block lengths of the IO patterns stored in the response performance measurement IO pattern table 431 to the measurement drive device 3A over a first transmission period. Then, the operation information acquisition unit 411 acquires operation information of the measurement drive device 3A for each IO pattern. The first transmission period is a relatively short time (e.g., 5 minutes) in units of minutes less than 10 minutes.
[0051] The items of operation information acquired by the operation information acquisition unit 411 are the same as the operation information acquired by the operation information acquisition unit 111 of the control device 1 of the storage system S. The operation information acquisition unit 411 transmits write commands and read commands a specified number of times for each IO pattern. The operation information acquisition unit 411 acquires operation information of the measurement drive device 3A in response to the write commands and read commands. The operation information acquisition unit 411 calculates statistical values such as the maximum, minimum, and average values of the response performance data in response to the write commands and read commands transmitted over the first transmission period for each IO pattern, and stores the values in the drive device response performance data table 432.
[0052] The operation information acquisition unit 411 inputs the operation information for each IO pattern stored in the drive device response performance data table 432 to the feature generation unit 412. The operation information input to the feature generation unit 412 here is a read transfer block length 411a, a write transfer block length 411b, and a number of read and write commands 411c. The operation information acquisition unit 411 also inputs the drive type and capacity 411d and response performance data 411e of the measurement drive device 3A to the learning model generation unit 413.
[0053] The feature generating unit 412 generates feature amounts of a read transfer block length 411 a, a write transfer block length 411 b, and the number of read and write commands 411 c for each input IO pattern, and inputs them to the learning model generating unit 413.
[0054] The learning model generation unit 413 learns the feature values of the read transfer block length 411a, write transfer block length 411b, and number of read / write commands 411c for each IO pattern and response performance data 411e for each input drive type and capacity 411d.The learning model generation unit 413 then inputs the feature values of the read transfer block length, write transfer block length, and number of read / write commands for each drive type and capacity, and generates a learning model 132M that outputs an evaluation threshold for response performance data.The learning model generation unit 413 stores the generated learning model 132M in the learning model pool 132.
[0055] (Drive failure sign determination process according to the first embodiment) 9 is a flowchart showing the drive failure sign determination process according to embodiment 1. The drive failure sign determination process according to embodiment 1 is executed periodically (for example, every 3 minutes) by the control device 1 of the storage system S. Furthermore, when the drive failure sign determination process is executed, it is assumed that the learning model 132M for each drive type and capacity of the drive device 3 connected under the control of the control device 1 is stored in the learning model pool 132.
[0056] First, in step S11, the operation information acquisition unit 111 of the control device 1 acquires the operation information of the drive device 3.
[0057] Next, in step S12, the control device 1 determines whether the operation information acquired in step S11 indicates that a response delay has occurred in the storage system S. If the operation information indicates that a response delay has occurred in the storage system S (step S12 YES), the control device 1 proceeds to step S13. On the other hand, if the operation information indicates that something other than a response delay has occurred in the storage system S (step S12 NO), the control device 1 ends the drive failure sign determination process.
[0058] In step S13, the control device 1 determines whether the operation information acquired in step S11 indicates that the cause of the response delay is the drive device 3. If the operation information indicates that the cause of the response delay is the drive device 3 (step S13 YES), the control device 1 proceeds to step S14. On the other hand, if the operation information indicates that the cause of the response delay is something other than the drive device 3 (step S13 NO), the control device 1 ends the drive failure sign determination process.
[0059] In step S14, the feature generation unit 112 of the control device 1 generates features for the read transfer block length, write transfer block length, and number of read / write commands included in the operational information acquired in step S11, and inputs them into the learning model 132M.
[0060] Next, in step S15, the learning model selection unit 114 selects a learning model 132M corresponding to the drive type and capacity of the drive device 3 that is the output source of the operational information acquired in step S11 and is the target of drive failure sign judgment, and loads it into the memory 12. If the learning model 132M corresponding to the drive type and capacity of the drive device 3 that is the target of drive failure sign judgment has already been loaded into the memory 12, step S15 is omitted.
[0061] Next, in step S16, the failure sign determination unit 113 inputs the feature amount generated in step S14 into the learning model 132M, and acquires an evaluation threshold value for the response performance data output from the learning model 132M.
[0062] Next, in step S17, the failure sign determination unit 113 determines whether there is a drive device 3 whose actual measurement value of response performance data included in the operation information acquired in step S11 exceeds the evaluation threshold of the response performance data acquired in step S116. If there is a drive device 3 whose response performance data has exceeded the evaluation threshold (step S17 YES), the failure sign determination unit 113 proceeds to step S18. On the other hand, if there is no drive device 3 whose response performance data has exceeded the evaluation threshold (step S17 NO), the failure sign determination unit 113 ends the drive failure sign determination process.
[0063] In step S18, the failure sign determination unit 113 copies the data of the drive device 3 with the drive device ID determined in step S17 to have exceeded the evaluation threshold for response performance data to a spare drive device 3. Alternatively, the control device 1 outputs a notification of the failure sign together with the relevant operation information to a management terminal (not shown) or the like of the storage system S. An operator operating the management terminal or the like who has been notified of the failure sign of the drive device 3 instructs maintenance personnel to replace the drive device 3 with the relevant drive device ID.
[0064] (Learning model generation process according to the first embodiment) 10 is a flowchart showing the learning model generation process according to embodiment 1. When the learning model generation process is executed, it is assumed that the drive device response performance data table 432 for each drive type and capacity has been generated.
[0065] First, in step S21, the operation information acquisition unit 411 of the learning model generation device 4 acquires operation information such as the transfer block length of the read command and write command and the number of read / write commands from the drive device response performance data table 432.
[0066] Next, in step S22, the feature generating unit 412 of the learning model generating device 4 generates features from the operation information acquired in step S21.
[0067] Next, in step S23, the learning model generation device 4 generates explanatory variables from the feature quantities generated in step S22.
[0068] Next, in step S24, the operation information acquisition unit 411 acquires the actual measured values of the response performance data from the drive device response performance data table 432. Next, in step S25, the feature generation unit 412 generates a response variable from the actual measured values of the response performance data acquired in step S21.
[0069] Next, in step S26, the learning model generation unit 413 of the learning model generation device 4 generates a learning model 132M by learning the teacher data that links the explanatory variables generated in step S23 with the corresponding objective variables generated in step S25. The learning model 132M has already been trained on the teacher data that includes the explanatory variables and the objective variables.
[0070] The processing order of steps S21 to S23 and steps S24 to S25 may be interchanged, or steps S21 to S23 may be processed in parallel.
[0071] (Effects of the First Embodiment) In embodiment 1, predetermined information regarding write commands and read commands included in the operation information of the drive device 3 is input to the learning model 132M, and a failure sign of the drive device 3 is determined based on the output regarding the response performance by the learning model 132M.
[0072] Therefore, according to the first embodiment, it is possible to more accurately detect a failure symptom in the drive device 3 in the storage system S based on the difference in the patterns of the write command and the read command.
[0073] In the first embodiment, the learning model 132M has already executed learning of teacher data including explanatory variables and objective variables. The explanatory variables are generated from the transfer block lengths and the number of commands of the read commands and write commands. The objective variables are generated from response performance data of the measurement drive device 3A measured by sending a first number of read commands of a first transfer block length and a second number of write commands of a second transfer block length to the measurement drive device 3A. The response performance data is the response time, IOPS, latency, or throughput of the measurement drive device 3A in response to the execution of the read commands and write commands.
[0074] Therefore, according to the first embodiment, a sign of failure in the drive device 3 in the storage system S can be detected more accurately based on the difference in the transfer block length and number of commands of the read command and write command, and the pattern of the response performance data.
[0075] In the first embodiment, the learning model 132M has already been trained using response performance data measured in response to read commands and write commands with different transfer block lengths as training data.
[0076] Therefore, according to embodiment 1, it is possible to more accurately detect signs of failure in the drive device 3 by using a learning model of teaching data obtained by varying not only the ratio of the number of read commands and write commands and the load, but also the transfer block length per command.
[0077] In addition, in embodiment 1, the learning model 132M outputs an evaluation threshold based on the statistical value of the response performance data, and a failure sign of the drive device 3 is determined based on a comparison between the evaluation threshold and the actual measured value of the response performance when the command is executed.
[0078] Therefore, according to the first embodiment, it is possible to more accurately determine the failure signs of the drive device 3 from a statistical point of view based on the statistically processed objective evaluation thresholds output by the learning model 132M.
[0079] Furthermore, in the first embodiment, a learning model 132M corresponding to the drive type and capacity of the drive device 3 is selected, and a failure sign of the drive device 3 is determined using the selected learning model 132M.
[0080] Even if the workload is the same for the same parity group, different drive models can significantly affect response performance. Therefore, if a learning model is generated and a failure sign is determined without taking drive type and capacity into account, the drive's failure sign cannot be accurately detected, and the drive may be erroneously blocked even if it is functioning normally. In contrast, according to the first embodiment, failure signs for the drive 3 can be detected more accurately based on differences in drive type and capacity.
[0081] Here, we will explain how a better learning model for determining delays in the response performance of a drive device can be constructed by learning including training data obtained by varying the transfer block length of read commands and write commands.
[0082] Fig. 11A is a diagram for explaining the performance evaluation results of a learning model (comparative example) that learned only from teacher data acquired with the same transfer block length per command for read commands and write commands. Fig. 11B is a diagram for explaining the performance evaluation results of a learning model (embodiment 1) that learned including teacher data acquired with different transfer block lengths per command for read commands and write commands. Figs. 11A and 11B show the results of actually determining the response performance of a drive device using the learning model (comparative example) and the learning model (embodiment 1).
[0083] In Figures 11A and 11B, the first axis represents "Write BLK" (write data transfer block length), the second axis represents "Read BLK" (read data transfer block length), and the third axis represents "Average Latency" (average response delay time). The threshold values for "Average Latency" corresponding to each combination of "Write BLK" and "Read BLK" are plotted as "○" in a three-dimensional space. Also in Figures 11A and 11B, the response performance of a normal drive device with no response delay is plotted as "X" in this three-dimensional space. The first and second axes represent the block lengths of write data and read data as a ratio to a predetermined block length (e.g., 400 blocks) set as 1.0 (reference).
[0084] For example, when the transfer block length of "Write BLK" is 1.0 and "Read BLK" is about 0.0 to 0.2, as shown in the circled area in Fig. 11A, in the comparative example, the response performance of a normal drive device, indicated by the plot of "x", exceeds the response delay determination threshold, indicated by the plot of "o". In other words, the response performance of a normal drive device is erroneously detected as having a response delay.
[0085] On the other hand, when the transfer block length of "Write BLK" is 1.0 and "Read BLK" is about 0.0 to 0.2, as shown in the circled area in Fig. 11B, in embodiment 1, the response performance of a normal drive device, indicated by the plot of "x", is below the response delay determination threshold, indicated by the plot of "o". In other words, the response performance of a normal drive device is not erroneously detected as having a response delay.
[0086] That is, according to Figures 11A and 11B, compared to the learning model (comparison example), the learning model (embodiment 1) is a better learning model for determining the delay in the response performance of the drive device, with the response delay determination threshold appropriately set.
[0087] (Modification of the first embodiment) In the first embodiment described above, when generating the learning model 132M, read commands and write commands with different transfer block lengths are sequentially transmitted to the measurement drive device 3A over a first transmission period, respectively, to acquire operational information. However, this is not limiting, and read commands and write commands with periodic idling periods may be transmitted, regardless of whether the transfer block lengths of the read commands and write commands transmitted to the measurement drive device 3A are different.
[0088] An idling period is a period of less than 30 seconds, such as 2 seconds, during which no load is placed on the measurement drive device 3A. "Read commands and write commands with regular idling periods" are read commands and write commands with idling periods of 2 seconds at 30-second intervals, for example.
[0089] It is known that by continuously applying read commands and write commands with regular idling periods to the measurement drive device 3A, performance degradation of the drive device becomes more evident in the operation information compared to when there are no idling periods. Therefore, by using the operation information of the measurement drive device 3A obtained by continuously applying read commands and write commands with regular idling periods as training data, it is possible to train a learning model 132M that can more accurately determine signs of failure.
[0090] Furthermore, when acquiring operational information that serves as training data for generating the learning model 132M in the first embodiment described above, the transmission period for the read command and the write command may be a second transmission period instead of the first transmission period, regardless of whether an idling period exists. The second transmission period may be, for example, a period of 10,000 seconds or more. By using training data based on operational information acquired by measuring the response performance over a long period of time over the second transmission period, it is possible to learn a learning model 132M that can absorb short-term fluctuations in the response performance of the drive device and more accurately determine signs of failure.
[0091] That is, the training data of the learning model 132M includes at least one of the following first responsiveness data, second responsiveness data, third responsiveness data, and fourth responsiveness data.
[0092] The first response performance data is response performance data measured when read commands and write commands with different transfer block lengths are sent to the measurement drive device 3A. The second response performance data is response performance data measured when read commands and write commands with regular idling periods are sent to the measurement drive device 3A. The third response data is response performance data measured when read commands and write commands with different transfer block lengths are continuously sent to the measurement drive device 3A for a predetermined time. The fourth response data is response performance data measured when read commands and write commands with regular idling periods are continuously sent to the measurement drive device 3A for a predetermined time.
[0093] Here, we will explain how a better learning model for determining delays in the response performance of a drive device can be constructed by learning using training data obtained by periodically inserting idle periods, during which no load is placed on the drive device, into read and write commands. Hereinafter, the idle periods will be referred to as "idle." Figure 12 is a diagram illustrating the actual response performance obtained by sending read and write commands without an idle period inserted, and read and write commands with an idle period inserted, to a normal drive device. In Figure 12, the horizontal axis represents "elapsed time (sec)," and the vertical axis represents "latency (response time)."
[0094] The response performance of the drive device to read commands and write commands without an idle period inserted is shown by the dashed line graph "without idle" in Figure 12. The response performance of the drive device to read commands and write commands with an idle period inserted is shown by the solid line graph "with idle" in Figure 12.
[0095] As shown in Figure 12, the "latency" of a normal drive device varies significantly depending on whether an idle is inserted in the read command and the write command. In other words, the response performance of a normal drive device becomes more delayed when an idle is inserted in the read command and the write command. This confirms the importance of using a learning model trained with training data acquired by inserting an idle into the read command and the write command in order to accurately determine a degradation in the response performance of a drive device. In other words, it can be seen that a better learning model for determining the delay in the response performance of a drive device can be constructed by training with training data acquired by inserting an idle into the read command and the write command.
[0096] Furthermore, as shown in Figure 12, the response performance of a drive device fluctuates greatly over a short period of time. For this reason, it is appropriate for a learning model for determining delays in the response performance of a drive device to be trained using response performance data measured over a certain period of time as training data in order to eliminate short-term fluctuations.
[0097] Furthermore, it is known that if idle periods of at least 30 seconds or less are inserted at 30-second intervals, the response delay will be greater than when read commands and write commands are applied consecutively without any idle periods. Based on this knowledge, an example of an appropriate method for inserting idle periods into read commands and write commands when acquiring training data for learning a learning model that determines the delay in the response performance of a drive device is provided.
[0098] [Embodiment 2] In the first embodiment, a failure sign determination for the drive device 3 is performed using a learning model 132M generated based on the read transfer block length, write transfer block length, number of read / write commands, and response performance data included in the operational information.
[0099] However, without being limited to this, the learning model 132M may be generated based on operational information other than the read transfer block length, write transfer block length, number of read / write commands, and response performance data, and a failure sign determination for the drive device 3 may be performed.
[0100] (Configuration and Processing of the Control Device 1B According to the Second Embodiment) FIG. 13 is a diagram showing the configuration and processing of a control device 1B according to the second embodiment.
[0101] The operation information acquired by the operation information acquisition unit 111B of the control device 1B according to the second embodiment differs from the operation information acquired by the operation information acquisition unit 111 of the control device 1 according to the first embodiment in that the following operation information is further included: temperature information 111f, number of errors 111g, timestamp 111h, total write amount 111i, total read amount 111j, available spare area 111k, and idle time 111l. This operation information is performance statistical information such as SMART (Self-Monitoring Analysis and Reporting Technology) information of the drive device 3, for example.
[0102] The temperature information 111f is the device temperature of the drive device 3. The number of errors 111g is the number of errors that occurred when the corresponding write command or read command was executed. The timestamp 111h is the date and time when the corresponding write command and read command were executed in the drive device 3. The total write amount 111i is the total write capacity resulting from the execution of the corresponding write command. The total read amount 111j is the total read capacity resulting from the execution of the corresponding read command. The available spare area 111k is the free space in the drive device 3 when the corresponding write command or read command was executed. The idle time 111l is the length of the idling period inserted into the corresponding write command or read command (for example, 2 seconds) and the insertion interval (for example, 30 seconds).
[0103] That is, in the second embodiment, the learning model 132MB is a learning model that learns teacher data using, as explanatory variables, feature quantities of operation information to which performance statistical information has been added compared to the operation information of the first embodiment. Also, in the second embodiment, feature quantities of operation information to which performance statistical information has been added compared to the operation information of the first embodiment are input to the learning model 132MB, and an evaluation threshold value of the response performance data 111e is output for the feature quantities of this operation information.
[0104] (Configuration and Processing of Learning Model Generation Device 4B According to Embodiment 2) FIG. 14 is a diagram showing the configuration and processing of a learning model generation device 4B according to the second embodiment.
[0105] When a user instructs the start of learning of the 132 MB learning model, the operation information acquisition unit 411B of the learning model generation device 4B according to the second embodiment starts the benchmark software and acquires operation information of the measurement drive device 3A.
[0106] Here, the operation information acquired by the operation information acquisition unit 411B of the learning model generation device 4B according to the second embodiment differs from the operation information according to the first embodiment in that it further includes the following operation information: temperature information 411f, number of errors 411g, timestamp 411h, total write amount 411i, total read amount 411j, available spare area 411k, and idle time 411l. This operation information is, for example, performance statistical information of the drive device 3, similar to the operation information acquired by the operation information acquisition unit 111B of the control device 1B.
[0107] The temperature information 411f, the number of errors 411g, the timestamp 411h, the total write amount 411i, the total read amount 411j, the available spare area 411k, and the idle time 411l are the same as the temperature information 111f to the idle time 111l, respectively.
[0108] That is, in embodiment 2, the learning model 132MB is generated by learning training data in which the feature quantities of the operation information to which performance statistical information has been added compared to the operation information of embodiment 1 are used as explanatory variables, and the response performance data is used as the objective variable.
[0109] (Effects of the second embodiment) In the second embodiment, the operation information used to determine the failure sign of the drive device 3 and the teacher data learned when generating the learning model 132M include performance statistical information such as SMART information of the drive device.
[0110] Therefore, in the second embodiment, a failure sign of the drive device 3 can be detected more accurately based on the operation information of the drive device 3 other than the read transfer block length, the write transfer block length, and the number of read / write commands.
[0111] (Modification of Embodiments 1 and 2) In the first and second embodiments, the operation information acquisition units 411 and 411B acquire operation information of the measurement drive device 3A and store it in the drive device response performance data table 432.
[0112] However, the operation information is not limited to the operation information of the measurement drive device 3A, but is also collected via a public network such as the Internet N2 as shown in Fig. 14. The operation information is then stored in the operation information database 6 for each drive type and capacity. The learning model generation units 413, 413B may learn training data based on the operation information of the measurement drive device 3A or the drive devices 3 of many other people for each drive type and capacity stored in the operation information database 6, and generate learning models 132M, 132MB.
[0113] In this way, by collecting and learning a large amount of operational information of many other people's drive devices 3 or measurement drive devices 3A via a public network such as the Internet N2, the model accuracy of the learning model 132MB can be improved, and signs of failure in the drive device 3 can be detected more accurately.
[0114] Although the embodiments of the present disclosure have been described above in detail, the present disclosure is not limited to the above-described embodiments and can be modified in various ways without departing from the spirit of the present disclosure. For example, the above-described embodiments have been described in detail to clearly explain the present invention, and the present disclosure is not necessarily limited to those having all of the described configurations. Furthermore, some of the configurations of the above-described embodiments can be added to, deleted from, or replaced with other configurations.
[0115] Furthermore, the above-described configurations, functional units, processing units, etc. may be partially or entirely implemented in hardware, for example, by designing them as integrated circuits. The above-described configurations, functions, etc. may also be implemented in software by a processor interpreting and executing a program that implements each function. Information such as the programs, tables, and files that implement each function can be stored in memory, storage devices such as HDDs and SSDs, or recording media such as IC cards, SD cards, and DVDs.
[0116] In addition, in the above-mentioned drawings, the control lines and information lines shown are those that are considered necessary for explanation, and do not necessarily show all the control lines and information lines that are actually implemented. For example, it may be considered that almost all components are actually connected to each other.
[0117] The above-described arrangement of the functions and data of the storage system S, the control devices 1 and 1B, and the learning model generation devices 4 and 4B is merely an example. The arrangement of the functions and data can be changed to an optimal arrangement from the viewpoint of hardware and software performance, processing efficiency, communication efficiency, etc. [Explanation of symbols]
[0118] S: storage system, 1, 1B: control device, 3: drive device, 3A: measurement drive device, 4, 4B: learning model generation device, 5: host, 11, 41: processor, 111a, 411a: read transfer block length, 111b, 411b: write transfer block length, 111c, 411c: number of write commands, 111d, 411d: drive type and capacity, 111e, 411e: response performance data, 132M, 132MB: learning model.
Claims
1. A storage system having a drive device for storing data and a control device for controlling input and output of data to and from the drive device, The control device includes a processor and a memory. The memory includes: storing a learning model for evaluating the response performance of the drive device in response to the execution of the input / output related command by the control device; The processor: Acquire operating information of the drive device; inputting predetermined information regarding the command included in the operation information into the learning model; A sign of a failure of the drive device is determined based on a comparison between an output for evaluating response performance data indicating the response performance of the drive device according to the learning model in response to the input of the predetermined information and the response performance data. A storage system comprising:
2. 2. The storage system according to claim 1, The predetermined information is The commands include the transfer block length and the number of commands for each of the read command and the write command, The learning model is learning has been performed on teacher data including: explanatory variables generated from the transfer block lengths and the number of commands of the read commands and the write commands; and objective variables generated from response performance data indicating the response performance of the measurement drive device measured when a first number of read commands of a first transfer block length are sent to the measurement drive device and a second number of write commands of a second transfer block length are sent to the measurement drive device; The response performance data is The response time, IOPS (Input / Output Operations Per Second), latency, or throughput of the measurement drive device in response to the execution of the read command and the write command. A storage system comprising:
3. 3. The storage system according to claim 2, The teacher data is The read command and the write command, the first transfer block length and the second transfer block length of which are different, are transmitted to the measurement drive device, and the response performance data is measured. A storage system comprising:
4. 4. The storage system according to claim 3, The teacher data is The read command and the write command, the first transfer block length and the second transfer block length of which are different from each other, are continuously transmitted to the measurement drive device for a predetermined period of time, and the response performance data is measured. A storage system comprising:
5. 3. The storage system according to claim 2, The teacher data is The read command and the write command are sent to the measurement drive device during a periodic idling period during which no load is applied to the measurement drive device, and the response performance data is measured. A storage system comprising:
6. 6. The storage system according to claim 5, The teacher data is The read command and the write command, for which the idling period is periodically set, are continuously transmitted to the measurement drive device for a predetermined period of time, and the response performance data is measured. A storage system comprising:
7. A storage system having a drive device that stores data and a control device that controls input and output of data to and from the drive device, The control device includes a processor and a memory. The memory includes: storing a learning model for evaluating the response performance of the drive device in response to the execution of the input / output related command by the control device; The processor: Acquire operating information of the drive device; inputting predetermined information regarding the command included in the operation information into the learning model; determining a sign of a failure of the drive device based on an output relating to the response performance of the learning model in response to the input of the predetermined information; The predetermined information is The commands include the transfer block length and the number of commands for each of the read command and the write command, The learning model is learning has been performed on teacher data including: explanatory variables generated from the transfer block lengths and the number of commands of the read commands and the write commands; and objective variables generated from response performance data indicating the response performance of the measurement drive device measured when a first number of read commands of a first transfer block length are sent to the measurement drive device and a second number of write commands of a second transfer block length are sent to the measurement drive device; The response performance data is the response time, IOPS (Input / Output Operations Per Second), latency, or throughput of the measurement drive device in response to the execution of the read command and the write command; the output related to the response performance is an evaluation threshold of the response performance data, The processor: A sign of a failure of the drive device is determined based on a comparison between the evaluation threshold output by the learning model in response to the input of the predetermined information and the actual measured value of the response performance data when the command is executed. A storage system comprising:
8. 3. The storage system according to claim 2, The memory includes: storing the learning model selected from the learning models for each drive type and capacity of the drive device that have already undergone learning of the teacher data for each drive type and capacity; The processor: selecting the learning model corresponding to the drive type and capacity of the drive device; Inputting the predetermined information into the selected learning model A storage system comprising:
9. 3. The storage system according to claim 2, the predetermined information includes predetermined performance statistical information of the drive device, The learning model is The training data including the predetermined performance statistical information has been learned. A storage system comprising:
10. 10. The storage system according to claim 9, The learning model is The learning of the training data including the predetermined performance statistical information of the other drive devices of the other storage systems collected via a network has been executed. A storage system comprising:
11. A learning model for evaluating the response performance of a drive device for storing data and a control device for controlling input / output of data to the drive device, in a storage system having the drive device, for read commands and write commands related to the input / output, comprising: learning has been performed on teacher data including explanatory variables generated from the transfer block lengths and the number of commands of the read commands and the write commands, and objective variables generated from response performance data indicating the response performance of the measurement drive device measured when the read commands of a first transfer block length are sent to the measurement drive device by a first command number and the write commands of a second transfer block length are sent to the measurement drive device by a second command number; The teacher data is the response performance data measured when the read command and the write command, the first transfer block length and the second transfer block length of which are different, are sent to the measurement drive device; the response performance data measured by transmitting the read command and the write command to the measurement drive device, with idling periods periodically provided in which no load is placed on the measurement drive device; the response performance data measured while the read command and the write command, the first transfer block length and the second transfer block length of which are different, are continuously transmitted to the measurement drive device for a predetermined period of time; the response performance data measured by continuously transmitting the read commands and the write commands, for which the idling periods are periodically provided, to the measurement drive device over a predetermined period of time; The response performance data includes one or more of the following: The control device is caused to function so as to receive as input the transfer block lengths and the number of commands of the read commands and the write commands transmitted by the control device to the drive device, and to output an evaluation threshold value of the response performance data for evaluating the response performance data indicating the response performance of the drive device. A learning model characterized by:
12. A method for generating a learning model for evaluating the response performance of a drive device for storing data and a control device for controlling input / output of data to the drive device in a storage system, the method comprising: A learning model generation device Acquire the transfer block length and the number of commands of the read command and the write command; generating a feature quantity from the transfer block length and the number of commands; generating explanatory variables from the feature quantities; a first command number of read commands having a first transfer block length are transmitted to the measurement drive device, and a second command number of write commands having a second transfer block length are transmitted to the measurement drive device, and response performance data indicating the response performance of the measurement drive device is acquired; the learning model uses the feature quantities generated from the transfer block lengths and the number of commands of the read commands and the write commands transmitted by the control device to the drive device as input, and generates, from the response performance data indicating the response performance of the measurement drive device, a target variable for outputting an evaluation threshold value of the response performance data for evaluating the response performance data indicating the response performance of the drive device; Execute learning of training data including the explanatory variables and the objective variables Including each process, The teacher data is the response performance data measured when the read command and the write command, the first transfer block length and the second transfer block length of which are different, are sent to the measurement drive device; the response performance data measured by transmitting the read command and the write command to the measurement drive device, with idling periods periodically provided in which no load is placed on the measurement drive device; the response performance data measured while the read command and the write command, the first transfer block length and the second transfer block length of which are different, are continuously transmitted to the measurement drive device for a predetermined period of time; the response performance data measured by continuously transmitting the read commands and the write commands, for which the idling periods are periodically provided, to the measurement drive device over a predetermined period of time; The response performance data includes one or more of the following: A method for generating a learning model.
Citation Information
Patent Citations
Failure occurrence prediction system for magnetic disk device
JP2004118397A
Information processing apparatus and fault symptom decision method
JP2010128963A
Storage system and control method thereof
JP2021043891A