Storage system, learning model, and learning model generation method

By using learning models in the storage system to evaluate the response performance of the driver device, the problem of inaccurate detection of fault omens in storage systems with different workloads is solved, and the accurate detection of fault omens in storage systems is achieved.

CN119225632AInactive Publication Date: 2024-12-31HITACHI VANTARA LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202410298222.X
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Priority Date
2023-07-19
Filing Date
2024-03-15
Publication Date
2024-12-31
Estimated Expiration
Not applicable · inactive patent

AI Technical Summary

Technical Problem

The prior art cannot accurately identify failure signs in storage systems with the same parity group but different workloads when detecting signs of driver device failure in storage systems, especially when using software-defined storage (SDS).

Method used

A storage system is adopted to evaluate the response performance of the driver device through a control device composed of a processor and a memory, and to determine the fault signs based on command-related data in the operation information. The learning model obtains the operation information of the driver device through the processor and makes a fault sign judgment based on the output of the response performance.

Benefits of technology

More accurate detection of fault signs of driver devices in storage systems is achieved, and fault signs can be more accurately determined based on mode differences in read and write commands and response performance data, avoiding false detection.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119225632A_ABST
    Figure CN119225632A_ABST
Patent Text Reader

Abstract

The invention provides a storage system, a learning model, and a method for generating the learning model, which can more accurately detect the omen of the failure of a driver device in the storage system. A control device (1) of a storage system (S) stores a learning model (132M) for evaluating response performance of a driver device (3) to execution of a command related to input and output by the control device (1). A control device (1) acquires operation information of a driver device (3), and inputs predetermined information pertaining to a command included in the operation information to a learning model (132M). The control device (1) determines a malfunction omen of the driver device (3) on the basis of an output related to the response performance of the learning model (132M) with respect to the input of predetermined information.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to a storage system, a learning model and a method for generating a learning model. Background Art

[0002] Generally, in a storage system, when the response performance of a drive device to an IO (Input Output) request from a host falls below a threshold, a sign of failure is detected. Alternatively, the response performance of drive devices in the same RAID (Redundant Array of Inexpensive Disks) belonging to the storage system is compared, and a sign of failure is detected in a relatively delayed drive device.

[0003] In addition, there is a conventional technology that uses a machine learning model to detect a sign of failure of a drive device (for example, refer to Patent Document 1).

[0004] Patent Document 1: Japanese Patent Application Publication No. 2021-43891 Summary of the invention

[0005] The above-mentioned prior art detects the sign of failure of the drive device on the premise that if the drive devices belong to the same parity group, the workload is the same. However, in storage systems such as SDS, which has become popular in recent years, even if the drive devices belong to the same parity group, the workloads may be different, and there is a problem that the sign of failure of the drive device cannot be accurately detected. SDS stands for Software Defined Storage.

[0006] The present invention has been made in view of the above circumstances, and an object of the present invention is to more accurately detect a sign of failure of a drive device in a storage system.

[0007] As a method for solving the above-mentioned problems, a storage system is provided, which has a drive device for storing data and a control device for controlling the input and output of data to the drive device, characterized in that the control device has a processor and a memory, the memory stores a learning model, the learning model is used to evaluate the response performance of the drive device to the execution of a command involving the input and output by the control device, the processor obtains operating information of the drive device, inputs predetermined information related to the command contained in the operating information into the learning model, and determines the sign of failure of the drive device based on the output related to the response performance of the learning model to the input of the predetermined information.

[0008] According to the present invention, it is possible to more accurately detect a sign of failure of a drive device in a storage system. BRIEF DESCRIPTION OF THE DRAWINGS

[0009] Figure 1 This is a diagram showing the configuration of a storage system and a learning model generation device according to the first embodiment.

[0010] Figure 2 This is a diagram showing the structure of a learning model management table according to the first embodiment.

[0011] Figure 3 This is a diagram showing the structure of the learning model pool in Implementation Example 1.

[0012] Figure 4 It is a diagram showing the structure of the predicted-failure-evidence determination result table according to the first embodiment.

[0013] Figure 5 This is a diagram showing the structure of the response performance measurement IO pattern table according to the first embodiment.

[0014] Figure 6 This is a diagram showing the structure of a driver device response performance data table according to the first embodiment.

[0015] Figure 7 This is a diagram showing the configuration and processing of the control device according to the first embodiment.

[0016] Figure 8 This is a diagram showing the structure and processing of the learning model generation device according to the first embodiment.

[0017] Fig. 9 This is a flowchart showing the driver device failure sign determination process according to the first embodiment.

[0018] Fig.10 This is a flowchart showing the learning model generation process according to the first embodiment.

[0019] Fig.11A This is a diagram for explaining the performance evaluation results of a learning model (comparative example) obtained by learning only the training data obtained by setting the transfer block length of each of the read command and the write command to be the same.

[0020] Fig. 11B This is a diagram for explaining the performance evaluation results of a learning model (Implementation Example 1) after learning including training data acquired by making the transfer block length of each read command and write command different.

[0021] Fig.12 This is a diagram for explaining actual response performance obtained by sending a read command and a write command without inserting an idle period and sending a read command and a write command with inserting an idle period to a normal drive device.

[0022] Fig.13 This is a diagram showing the structure and processing of the control device according to the second embodiment.

[0023] Fig.14 This is a diagram showing the structure and processing of the learning model generation device according to the second embodiment. DETAILED DESCRIPTION

[0024] The embodiments will be described with reference to the drawings. The embodiments described below do not limit the inventions to the scope of the claims, and not all of the elements and combinations thereof described in the embodiments are essential to the solutions of the invention.

[0025] In the following description, the program that realizes each processing function unit is executed by the processor, so that the determined processing is processed 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 processing performed by each processing function unit may also be processing performed by the processor or a computer having the processor.

[0026] In the following description, various information is expressed in a table format, but the information is not limited to the table format and may be in CSV (Comma Separated Values) or other formats. Various information does not depend on the data format, so for example, "XXX table" can be referred to as "XXX information".

[0027] In addition, among the items in the various information, the names of the items including information for distinguishing the corresponding record from other records, such as "identification information", "ID", "name", etc., may be replaced with each other. For example, "user ID" may be replaced with "user identification information".

[0028] [Implementation Method 1]

[0029] (Configuration of Storage System S and Learning Model Generating Device 4)

[0030] Figure 1 It is a diagram showing the configuration of the storage system S and the learning model generation device 4 according to the first embodiment.

[0031] The storage system S includes a control device 1 , a drive connection unit 2 , and one or more drive devices 3 .

[0032] The drive connection unit 2 connects the control device 1 to a plurality of drive devices 3. The drive connection unit 2 is a PCIeSwitch, a SAS Expander, etc., but may be omitted. That is, the drive device 3 may be directly connected to the processor 11 of the control device 1.

[0033] (Structure of Control Device 1)

[0034] like Figure 1 As shown, the control device 1 includes a processor 11 , a memory 12 , an internal storage device 13 , and an IO (Input Output) unit 14 .

[0035] The processor 11 executes the program in cooperation with the memory 12 to realize the operation information acquisition unit 111 , the feature quantity generation unit 112 , the predicted failure sign determination unit 113 , and the learning model selection unit 114 .

[0036] The memory 12 is a storage device such as a DRAM (Dynamic Random Access Memory), and stores a currently selected learning model 132M.

[0037] The internal storage device 13 is a non-volatile storage device such as a HDD (Hard Disk Drive) or a SSD (Solid State Drive). The internal storage device 13 stores a learning model management table 131 ( Figure 2 ), learning model pool 132( Figure 3 ) and the fault sign judgment result table 133 ( Figure 4 ).

[0038] (Structure of the learning model management table 131)

[0039] Figure 2 1 is a diagram showing the structure of the learning model management table 131 of the first embodiment. The learning model management table 131 manages the learning model 132M ( Figure 3 ) has columns of "Driver Type", "Capacity", and "Learning Model Number". "Driver Type" is information for specifying the model, such as the model of the drive device 3. "Capacity" is the storage capacity of the drive device 3. "Learning Model Number" is identification information of the learning model 132M.

[0040] (Structure of learning model pool 132)

[0041] Figure 31 is a diagram showing the structure of the learning model pool 132 of the first embodiment. The learning model pool 132 is a table of learning models 132M that manages each classification of the driver type and capacity of the driver device 3, and has columns of "learning model number" and "model parameter". The "learning model number" is the same as the "learning model number" of the learning model management table 131. The "model parameter" is the model parameter of the learning model 132M identified by the "learning model number".

[0042] (Structure of Failure Omen Judgment Result Table 133)

[0043] Figure 4 1 is a diagram showing the structure of the failure sign determination result table 133 of the embodiment 1. The failure sign determination result table 133 is a result obtained by determining the failure sign of the driver device 3 based on the operation information of the driver device 3. The failure sign determination result table 133 has columns of "driver device ID", "learning model number", "command information", "evaluation threshold", "measured value of response performance data", and "failure sign determination result".

[0044] The "drive device ID" is information for identifying the drive device 3. The "learning model number" is information for identifying the learning model 132M used in the failure sign determination. The "command information" is information on the transfer block length and the number of commands of the read command and the write command for failure sign determination shown in the corresponding row.

[0045] The “evaluation threshold” is a threshold of response performance data of the driver device 3 outputted by inputting the command indicated by the “command information” to the learning model 132M of the “learning model number” and is used to determine a failure sign of the driver device 3 of the “driver device ID”.

[0046] The “actually measured value of the response performance data” is the response performance data of the driver device 3 measured by actually sending the command indicated by the “command information” to the corresponding driver device 3 .

[0047] In this embodiment, the response performance is the response time to the input / output command of the driver device 3. However, it is not limited to this, and may also be latency, IOPS (Input / Output operations Per Second), throughput, etc.

[0048] When the response time data or delay time of the drive device 3 exceeds the "evaluation threshold", it is determined that the drive device 3 has a sign of failure, and when it is below the "evaluation threshold", it is determined that there is no sign of failure in the drive device 3. Alternatively, when the IOPS or throughput of the drive device 3 is less than the "evaluation threshold", it is determined that the drive device 3 has a sign of failure, and when it is above the "evaluation threshold", it is determined that there is no sign of failure in the drive device 3.

[0049] The “predicted failure sign determination result” stores “1” when it is determined that there is a predicted failure sign of the drive device 3 , and stores “0” when it is determined that there is no predicted failure sign.

[0050] return 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.

[0051] (Structure of Learning Model Generating Device 4)

[0052] like Figure 1 As shown, the learning model generation device 4 has a processor 41, a memory 42, and an internal storage device 43. The learning model generation device 4 may also have a communication interface (not shown) for connecting to a network (not shown) for communication, and a medium reading and writing device (not shown) for writing and reading data to a semiconductor storage medium or a magnetic storage medium.

[0053] The processor 41 executes programs in cooperation with the memory 42 as a storage device such as DRAM, thereby realizing the operation information acquisition unit 411, the feature quantity generation unit 412, and the learning model generation unit 413. The operation information acquisition unit 411 is realized by, for example, reference software capable of measuring the response performance of the measurement driver device 3A.

[0054] The internal storage device 43 is a non-volatile storage device such as a HDD or SSD, and stores a response performance measurement IO pattern table 431 ( Figure 5 ) and the drive device response performance data table 432 ( Figure 6 ).

[0055] (Structure of Response Performance Measurement IO Pattern Table 431)

[0056] Figure 51 is a diagram showing the structure of the response performance measurement IO pattern table 431 according to Embodiment 1. The response performance measurement IO pattern table 431 is a list of patterns of IO commands sent to one measurement driver device 3A connected to the learning model generation device 4 when generating training data for learning the learning model 132M. The driver type and capacity classification of the measurement driver device 3A are the same as those of the driver device 3, but only one measurement driver device 3A is connected to the learning model generation device 4 for the measurement of response performance.

[0057] The response performance measurement IO mode table 431 has columns of "number" and "IO mode". "Number" is identification information of the IO mode. "IO mode" includes the ratio of the transfer block length of the read command and the write command to the number of times the command is sent. The IO mode includes a mode in which the transfer block length is the same and a mode in which the transfer block length is different in the read command and the write command. In addition, the IO mode includes a mode in which the number of times the command is sent is the same and a mode in which the read command and the write command are different.

[0058] exist Figure 5 For example, the "IO mode" of "number" "2" indicates "sending 75% of the write commands with a transfer block length of 512KB in a random pattern to the measuring drive device 3A". In addition, the "IO mode" of "number" "2" indicates "sending 25% of the read commands with a transfer block length of 512KB in a random pattern to the measuring drive device 3A". The IO mode of "75% of the write commands and 25% of the read commands" means, for example, that if the specified number of commands to be sent is 1000 times in total, then 750 write commands are sent and 250 read commands are sent.

[0059] (Structure of Driver Device Response Performance Data Table 432)

[0060] Figure 6 This is a diagram showing the structure of the driver device response performance data table 432 of Embodiment 1. The driver device response performance data table 432 is a list that lists the response performance data of the measuring driver device 3A for the IO pattern sent to the measuring driver device 3A in association with each other when generating training data for the learning model 132M.

[0061] The driver device response performance data table 432 has columns of "number", "IO mode", and "response performance data". "Number" is identification information of the IO mode. "IO mode" is the "IO mode" corresponding to the "number" in the response performance measurement IO mode table 431. "Response performance data" is the actual measured value of the response performance data actually measured when the input / output command of the corresponding "IO mode" is sent to the driver device 3A for measurement.

[0062] exist Figure 6 For example, when the input / output command of the "IO mode" of "number" "2" is sent to the measuring driver device 3A and measured, the "response performance data" is "minimum 110ms, average 160ms, maximum 210ms". That is, in the case of the "IO mode" where the ratio of the number of times the write command is sent to the number of times the read command is 75:25=3:1, the minimum value of the response time for the multiple command sending is 110 milliseconds, the average value is 160 milliseconds, and the maximum value is 210 milliseconds. As the evaluation threshold described later, various statistical values ​​of multiple response performance data representing the response performance for multiple command sending can be used (in this embodiment, the minimum value, the average value, and the maximum value are used as an example) .

[0063] Although not shown in the figure, the driver device response performance data table 432 stores operation information including corresponding read transfer block length, write transfer block length, number of read and write commands, and driver type and capacity, etc. together with the "IO mode".

[0064] (Structure and Processing of Control Device 1 in Embodiment 1)

[0065] Figure 7 This is a diagram showing the structure and processing of the control device 1 according to the first embodiment. Figure 1 as well as Figure 7 , while explaining the failure sign determination process of the drive device 3.

[0066] The operation information acquisition unit 111 of the control device 1 acquires the operation information of the subordinate driver device 3 at a fixed period (for example, every 3 minutes). The operation information (operation log) includes, for example, the transfer block length of the read command and the write command issued from the host 5.

[0067] The operation information acquisition unit 111 inputs the read transfer block length 111a, the write transfer block length 111b, and the number of read and write commands 111c in the acquired operation information to the feature quantity generation unit 112. In addition, the operation information acquisition unit 111 inputs the drive type and capacity 111d in the acquired operation information to the learning model selection unit 114. In addition, the operation information acquisition unit 111 inputs the response performance data 111e to the failure sign determination unit 113.

[0068] The learning model selection unit 114 selects a learning model 132M corresponding to the input drive type and capacity 111 d from the learning model pool 132 , and develops the learning model 132M in the memory 12 .

[0069] The feature quantity generating section 112 generates feature quantities for each of the input read transfer block length 111 a , write transfer block length 111 b , and read and write command count 111 c , and inputs the feature quantities to the learning model 132M.

[0070] The learning model 132M outputs an evaluation threshold value of the response performance data 111e for each of the input feature values ​​of the read transfer block length 111a, the write transfer block length 111b, and the number of read and write commands 111c. The evaluation threshold value is input to the predicted failure sign determination unit 113.

[0071] The failure sign determination unit 113 compares the input response performance data 111e with the evaluation threshold of the response performance data 111e. When the response performance data 111e exceeds the evaluation threshold, the failure sign determination unit 113 determines that the drive device 3 has a sign of failure, and the corresponding drive device 3 is likely to fail in the near future.

[0072] In addition, the learning model 132M can also take the input characteristic quantity and response performance data of the input operation information as input, and output the judgment result of whether the response performance data meets the fault sign (NG) or does not meet the fault sign (OK). Therefore, the fault sign judgment unit 113 outputs the judgment result of the learning model 132M as the judgment result of the fault sign of the drive device 3.

[0073] (Structure and Processing of Learning Model Generating Device 4 in Embodiment 1)

[0074] Figure 8 FIG. 4 is a diagram showing the structure and processing of the learning model generation device 4 according to the first embodiment. Figure 1 and Figure 8 The learning model generation process is described.

[0075] When the user instructs to start learning the learning model 132M, the operation information acquisition unit 411 of the learning model generation device 4 starts the reference software and performs the following processing. That is, the operation information acquisition unit 411 sequentially sends the read commands and write commands with different transmission block lengths of the IO patterns stored in the response performance measurement IO pattern table 431 to the measurement driver device 3A within the first transmission period. Then, the operation information acquisition unit 411 acquires the operation information of the measurement driver device 3A for each IO pattern. The first transmission period is a relatively short time in minutes (for example, 5 minutes) less than 10 minutes.

[0076] The items of the operating information acquired by the operating information acquisition unit 411 are the same as the operating information acquired by the operating information acquisition unit 111 of the control device 1 of the storage system S. The operating information acquisition unit 411 sends the write command and the read command at a predetermined number of times for each IO mode. The operating information acquisition unit 411 acquires the operating information of the measurement driver device 3A for the write command and the read command. The operating information acquisition unit 411 calculates the statistical values ​​such as the maximum value, the minimum value, and the average value of the response performance data for the write command and the read command sent in the first sending period for each IO mode, and stores them in the driver device response performance data table 432.

[0077] The operation information acquisition unit 411 inputs the operation information of each IO pattern stored in the driver device response performance data table 432 to the feature quantity generation unit 412. Here, the operation information input to the feature quantity generation unit 412 is the read transfer block length 411a, the write transfer block length 411b, and the read and write command number 411c. In addition, the operation information acquisition unit 411 inputs the driver type and capacity 411d and the response performance data 411e of the driver device 3A for measurement to the learning model generation unit 413.

[0078] The feature quantity generating section 412 generates feature quantities of the read transfer block length 411 a , the 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 section 413 .

[0079] The learning model generation unit 413 learns the characteristic quantities of the read transfer block length 411a, the write transfer block length 411b, and the number of read and write commands 411c and the response performance data 411e for each IO mode for each input drive type and capacity 411d. Then, the learning model generation unit 413 generates a learning model 132M for each drive type and capacity, which takes the characteristic quantities of the read transfer block length, the write transfer block length, and the number of read and write commands as inputs and outputs an evaluation threshold value of the response performance data. The learning model generation unit 413 stores the generated learning model 132M in the learning model pool 132.

[0080] (Driver Failure Sign Determination Processing in Embodiment 1)

[0081] Fig. 9 1 is a flowchart showing the drive failure sign determination process of Embodiment 1. The drive failure sign determination process of Embodiment 1 is executed by the control device 1 of the storage system S at a fixed period (for example, every 3 minutes). In addition, when the drive failure sign determination process is executed, the learning model 132M of each drive type and each capacity of the drive device 3 connected to the subordinate of the control device 1 is stored in the learning model pool 132.

[0082] First, in step S11 , the operation information acquisition unit 111 of the control device 1 acquires the operation information of the driver device 3 .

[0083] Next, in step S12, the control device 1 determines whether the operating information acquired in step S11 indicates that a response delay of the storage system S has occurred. When the operating information indicates that a response delay of the storage system S has occurred ("Yes" in step S12), the control device 1 transfers the process to step S13. On the other hand, when the operating information indicates that a response delay other than a storage system S has occurred ("No" in step S12), the control device 1 ends the drive failure sign determination process.

[0084] In step S13, the control device 1 determines whether the operating information obtained in step S11 indicates that the cause of the response delay is the driver device 3. When the operating information indicates that the cause of the response delay is the driver device 3 ("Yes" in step S13), the control device 1 transfers the process to step S14. On the other hand, when the operating information indicates that the cause of the response delay is other than the driver device 3 ("No" in step S13), the control device 1 ends the driver failure sign determination process.

[0085] In step S14 , the feature quantity generating unit 112 of the control device 1 generates feature quantities of the read transfer block length, the write transfer block length, and the number of read and write commands included in the operation information acquired in step S11 , and inputs the feature quantities to the learning model 132M.

[0086] Next, in step S15, the learning model selection unit 114 selects a learning model 132M corresponding to the driver type and capacity of the driver device 3 as the target of driver failure sign determination, which is the output source of the operation information obtained in step S11, and develops it in the memory 12. If the learning model 132M corresponding to the driver type and capacity of the driver device 3 as the target of driver failure sign determination has already been developed in the memory 12, step S15 is omitted.

[0087] Next, in step S16 , the predicted-failure-evidence determining unit 113 inputs the feature amount generated in step S14 to the learning model 132M, and acquires the evaluation threshold value of the response performance data output from the learning model 132M.

[0088] Next, in step S17, the fault sign determination unit 113 determines whether there is a driver device 3 whose actual measured value of the response performance data included in the operation information obtained in step S11 exceeds the evaluation threshold of the response performance data obtained in step S116. If there is a driver device 3 that exceeds the evaluation threshold of the response performance data ("Yes" in step S17), the fault sign determination unit 113 transfers the processing to step S18. On the other hand, if there is no driver device 3 that exceeds the evaluation threshold of the response performance data ("No" in step S17), the fault sign determination unit 113 ends the driver fault sign determination processing.

[0089] In step S18, the failure sign determination unit 113 copies the data of the drive device 3 of the drive device ID determined in step S17 to exceed the evaluation threshold of the response performance data to the spare drive device 3. Alternatively, the control device 1 outputs the notification of the failure sign together with the corresponding operation information to the management terminal (not shown) of the storage system S. The operator operating the management terminal or the like notified of the failure sign of the drive device 3 instructs the maintenance personnel to replace the drive device 3 of the corresponding drive device ID.

[0090] (Learning Model Generation Processing in Implementation Method 1)

[0091] Fig.10 4 is a flowchart showing the learning model generation process according to Embodiment 1. When the learning model generation process is executed, a drive device response performance data table 432 is generated for each drive type and capacity.

[0092] 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 the write command and the number of read and write commands from the driver device response performance data table 432 .

[0093] Next, in step S22 , the feature quantity generating unit 412 of the learning model generating device 4 generates a feature quantity based on the operating information acquired in step S21 .

[0094] Next, in step S23 , the learning model generating device 4 generates explanatory variables based on the feature quantities generated in step S22 .

[0095] Next, in step S24, the operation information acquisition unit 411 acquires the measured value of the response performance data from the driver device response performance data table 432. Next, in step S25, the feature quantity generation unit 412 generates a target variable based on the measured value of the response performance data acquired in step S21.

[0096] Next, in step S26, the learning model generation unit 413 of the learning model generation device 4 learns the training data that associates the explanatory variables generated in step S23 with the corresponding target variables generated in step S25, and generates the learning model 132M. The learning model 132M has already learned the training data including the explanatory variables and the target variables.

[0097] In addition, the processing order of steps S21 to S23 and steps S24 to S25 may be changed, or they may be processed in parallel.

[0098] (Effects of Embodiment 1)

[0099] In the first embodiment, predetermined information about write commands and read commands included in the operation information of the actuator device 3 is input to the learning model 132M, and a failure sign of the actuator device 3 is determined based on an output related to the response performance of the learning model 132M.

[0100] Therefore, according to the first embodiment, it is possible to more accurately detect a sign of failure of the drive device 3 in the storage system S based on the difference between the patterns of the write command and the read command.

[0101] In the first embodiment, the learning model 132M has performed learning of training data including explanatory variables and target variables. The explanatory variables are generated based on the transfer block length and the number of commands of the read command and the write command. The target variable is generated based on the response performance data of the measuring driver device 3A measured by sending a first transfer block length of a corresponding number of first commands to the measuring driver device 3A and sending a second transfer block length of a corresponding number of second commands to the measuring driver device 3A. The response performance data is the response time, IOPS, latency, or throughput of the measuring driver device 3A for the execution of the read command and the write command.

[0102] Therefore, according to the first embodiment, it is possible to more accurately detect a sign of failure of the drive device 3 in the storage system S based on the difference between the transfer block length and the number of commands of the read command and the write command and the pattern of the response performance data.

[0103] In the first embodiment, the learning model 132M has already performed learning using the response performance data measured for the read command and the write command having different transfer block lengths as training data.

[0104] Therefore, according to the first embodiment, not only the ratio and load of the number of commands between read commands and write commands are used, but also a learning model of training data obtained by making the transfer block length of each command different is used, so that the failure sign of the drive device 3 can be detected more accurately.

[0105] In the first embodiment, the learning model 132M outputs an evaluation threshold value based on the statistical value of the response performance data, and determines a failure sign of the actuator device 3 based on a comparison between the evaluation threshold value and the actual measurement value of the response performance when executing a command.

[0106] Therefore, according to the first embodiment, based on the objective evaluation threshold value after statistical processing outputted from the learning model 132M, it is possible to more accurately perform the determination of the failure sign of the drive device 3 from a statistical point of view.

[0107] Furthermore, in the first embodiment, the learning model 132M corresponding to the driver type and capacity of the driver device 3 is selected, and the failure sign of the driver device 3 is determined using the selected learning model 132M.

[0108] Even if the workload is the same in the same parity check group, if the models of the drive devices are different, the response performance may be significantly different. Therefore, when the learning model is generated and the failure sign is determined without considering the drive type and capacity, the failure sign of the drive device may not be accurately detected, and the drive device may be blocked by mistake regardless of whether it is normal or not. In contrast, according to the first embodiment, the failure sign of the drive device 3 can be detected more accurately based on the difference in the drive type and capacity.

[0109] Here, a description is given of how a better learning model for determining the delay in the response performance of a driver device is constructed by performing learning including training data obtained by making the transfer block lengths of a read command and a write command different from each other.

[0110] Fig.11A 1 is a diagram for explaining the performance evaluation results of a learning model (comparative example) that is learned from only training data obtained by setting the transfer block length of each of the read command and the write command to be the same. Fig. 11B This is a diagram for explaining the performance evaluation results of a learning model (Embodiment 1) that is learned by including training data obtained by making the transfer block length of each of the read command and the write command different. Fig.11A as well as Fig. 11B These are the results of actually determining the response performance of the driver device using the learning model (comparative example) and the learning model (embodiment 1).

[0111] exist Fig.11A and Fig. 11BIn the three-dimensional space, the first axis is "write BLK" (transmission block length of write data), the second axis is "read BLK" (transmission block length of read data), and the third axis is "average delay" (average response delay time). The judgment threshold of "average delay" corresponding to each combination of "write BLK" and "read BLK" is plotted as "○". In addition, Fig.11A as well as Fig. 11B In the three-dimensional space, the response performance of a normal driver device without response delay is depicted by "×". The first axis and the second axis represent the block length of write data and read data as a ratio relative to the reference, with a predetermined block length (e.g., 400 blocks) being 1.0 (reference).

[0112] For example, when the "write BLK" is 1.0 and the "read BLK" is about 0.0 to 0.2, Fig.11A As shown in the circled portion of the figure, in the comparative example, the response performance of the normal driver device represented by the “×” exceeds the response delay determination threshold represented by the “○”. That is, the response performance of the normal driver device is erroneously detected as the occurrence of response delay.

[0113] On the other hand, when the "write BLK" is 1.0 and the "read BLK" is about 0.0 to 0.2, Fig. 11B As shown in the circled portion of the figure, in Embodiment 1, the response performance of the normal driver device represented by the “×” is lower than the response delay determination threshold represented by the “○”. That is, the response performance of the normal driver device is not erroneously detected as the occurrence of response delay.

[0114] That is, according to Fig.11A and Fig. 11B It can be seen that the learning model (Embodiment 1) is a better learning model for determining the delay in the response performance of the driver device by appropriately setting the determination threshold of the response delay, compared to the learning model (Comparative Example).

[0115] (Variation of Implementation Example 1)

[0116] In the first embodiment described above, when the learning model 132M is generated, the read command and the write command with different transmission block lengths are sequentially sent to the measuring driver device 3A during the first transmission period to acquire the operation information. However, the present invention is not limited thereto, and the read command and the write command with the idle period period set periodically may be sent regardless of whether the transmission block lengths of the read command and the write command sent to the measuring driver device 3A are different.

[0117] The idle period is a period of less than 30 seconds, such as 2 seconds, during which no load is applied to the measuring actuator device 3A. The "reading command and writing command having an idle period period regularly" is a reading command and writing command having an idle period period of 2 seconds at intervals of 30 seconds, for example.

[0118] By continuously applying read commands and write commands with idle periods periodically provided to the measuring driver device 3A, it is found that the performance degradation of the driver device is more significantly reflected in the operation information than when there is no idle period. Therefore, by using the operation information of the measuring driver device 3A obtained by continuously applying read commands and write commands with idle periods provided as training data, it is possible to learn a learning model 132M that can more accurately determine a fault sign.

[0119] In addition, when obtaining the operating information that becomes the training data for generating the learning model 132M in the above-mentioned embodiment 1, the transmission period of the read command and the write command may be set to the second transmission period instead of the first transmission period, regardless of the presence or absence of the idle period. The second transmission period is, for example, a period of ten thousand seconds or more. Using the training data based on the operating information obtained by measuring the long-term response performance of the second transmission period, it is possible to learn the learning model 132M that absorbs the short-term fluctuation of the response performance of the driver device and can more accurately determine the fault sign.

[0120] That is, the training data of the learning model 132M includes at least any one of the following first response performance data, second response performance data, third response performance data, and fourth response performance data.

[0121] The first response performance data is response performance data measured by sending read commands and write commands with different transfer block lengths to the measuring driver device 3A. The second response performance data is response performance data measured by sending read commands and write commands with idle periods periodically set to the measuring driver device 3A. The third response data is response performance data measured by continuously sending read commands and write commands with different transfer block lengths to the measuring driver device 3A for a predetermined time. The fourth response data is response performance data measured by continuously sending read commands and write commands with idle periods periodically set to the measuring driver device 3A for a predetermined time.

[0122] Here, a better learning model for determining the delay in the response performance of the driver device is constructed by inserting idle periods, in which no load is applied to the driver device periodically, into the training data acquired by the read and write commands for learning. Hereinafter, the idle periods are referred to as "idle". Fig.12This is a diagram for explaining the actual response performance obtained by sending a read command and a write command without inserting an idle period to a normal drive device, and a read command and a write command with inserting an idle period. Fig.12 In the figure, the horizontal axis is "elapsed time (sec)" and the vertical axis is "delay (response time)".

[0123] Fig.12 The dashed curve of "No Idle" in FIG. 1 shows the response performance of the drive device to the read command and the write command without inserting the idle period. In addition, Fig.12 The solid line curve of "with idle period" in FIG. 1 represents the response performance of the drive device to the read command and the write command inserted with the idle period.

[0124] like Fig.12 As shown, the "delay" of a normal driver device greatly differs depending on whether an idle time is inserted in a read command or a write command. That is, the response performance of a normal driver device is delayed further by inserting an idle time in a read command or a write command. This proves that, in order to accurately determine the reduction in the response performance of the driver device, it is important to use a learning model that has been learned using training data obtained by inserting an idle time in a read command or a write command. That is, it is known that a better learning model for determining the delay in the response performance of the driver device can be constructed by learning using training data obtained by inserting an idle time in a read command or a write command.

[0125] In addition, if Fig.12 As shown, the response performance of the driver device varies greatly in a short time. Therefore, it is known that it is appropriate to use the response performance data measured over a long period of time as training data for learning the learning model for determining the delay of the response performance of the driver device in order to eliminate short-term fluctuations.

[0126] In addition, it is found that when an idle time of at least 30 seconds or less is inserted at intervals of 30 seconds, the response delay becomes larger than when the read command and the write command are continuously applied without an idle time. Based on this finding, an example of a method of inserting an appropriate idle time for the read command and the write command when obtaining training data for learning a learning model for determining the delay of the response performance of the driver device is given.

[0127] [Implementation Method 2]

[0128] In the first embodiment, failure sign determination of the drive device 3 is performed using the learning model 132M generated based on the read transfer block length, the write transfer block length, the number of read and write commands, and the response performance data included in the operation information.

[0129] However, the present invention is not limited thereto, and the learning model 132M may be generated based on the read transfer block length, the write transfer block length, the number of read and write commands, and the operation information other than the response performance data to perform failure sign determination of the drive device 3 .

[0130] (Configuration and Processing of Control Device 1B in Embodiment 2)

[0131] Fig.13 This is a diagram showing the configuration and processing of a control device 1B according to the second embodiment.

[0132] The operating information acquired by the operating information acquisition unit 111B of the control device 1B according to the second embodiment is different from the operating information acquired by the operating information acquisition unit 111 of the control device 1 according to the first embodiment in that the operating information further includes the following operating information. That is, it further includes temperature information 111f, the number of errors 111g, a timestamp 111h, a total write amount 111i, a total read amount 111j, an available spare area 111k, and an idle time 111l. Such operating information is, for example, performance statistics such as SMART (Self-Monitoring Analysis and Reporting Technology) information of the drive device 3.

[0133] 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 executing the corresponding write command or read command. The timestamp 111h is the date and time when the corresponding write command and read command are executed in the drive device 3. The total write amount 111i is the total write capacity for executing the corresponding write command. The total read amount 111j is the total read capacity for executing the corresponding read command. The available spare area 111k is the free capacity of the drive device 3 when executing the corresponding write command or read command. The idle time 111l is the length of the idle period inserted into the corresponding write command or read command (for example, 2 seconds) and the insertion interval (for example, 30 seconds interval).

[0134] That is, in Embodiment 2, the learning model 132MB is a learning model obtained by learning the training data using the characteristic amount of the operation information to which the performance statistical information is added as an explanatory variable compared with the operation information in Embodiment 1. In Embodiment 2, the characteristic amount of the operation information to which the performance statistical information is added compared with the operation information in Embodiment 1 is input to the learning model 132MB, and the evaluation threshold of the response performance data 111e is outputted with respect to the characteristic amount of the operation information.

[0135] (Structure and Processing of Learning Model Generating Device 4B in Embodiment 2)

[0136] Fig.14 This is a diagram showing the structure and processing of the learning model generation device 4B according to the second embodiment.

[0137] When the user instructs to start learning the learning model 132MB, the operating information acquisition unit 411B of the learning model generation device 4B according to the second embodiment activates the reference software and acquires the operating information of the measurement driver device 3A.

[0138] Here, the operating information acquired by the operating information acquisition unit 411B of the learning model generation device 4B according to the second embodiment is different from the operating information of the first embodiment in that the operating information further includes the following operating information. That is, it further includes temperature information 411f, the number of errors 411g, a time stamp 411h, a total write amount 411i, a total read amount 411j, an available spare area 411k, and an idle time 411l. This operating information is similar to the operating information acquired by the operating information acquisition unit 111B of the control device 1B, and is, for example, performance statistics information of the driver device 3.

[0139] The temperature information 411f, the number of errors 411g, the time stamp 411h, the total write amount 411i, the total read amount 411j, the available spare area 411k, and the idle time 411l are respectively the same as the temperature information 111f to the idle time 111l.

[0140] That is, in the second embodiment, the learning model 132MB is generated by learning the training data using the feature amount of the operating information obtained by adding performance statistical information compared to the operating information in the first embodiment as the explanatory variable and the response performance data as the target variable.

[0141] (Effects of Embodiment 2)

[0142] In the second embodiment, the operation information used for predicting a failure sign of the drive device 3 and the training data learned when generating the learning model 132M include performance statistical information such as SMART information of the drive device.

[0143] Therefore, in the second embodiment, it is possible to more accurately detect a failure sign of the driver device 3 based on the operation information of the driver device 3 other than the read transfer block length, the write transfer block length, and the number of read and write commands.

[0144] (Variation of Embodiments 1 and 2)

[0145] In the first and second embodiments, the operation information acquisition units 411 and 411B acquire the operation information of the measuring actuator device 3A and store the information in the actuator device response performance data table 432 .

[0146] However, it is not limited to the operation information of the measuring driver device 3A. Fig.14 As shown, the operation information of multiple other driver devices 3 or measurement driver devices 3A is collected via a public network such as the Internet N2. Then, the operation information is accumulated in the operation information database 6 according to the driver type and capacity. The learning model generation unit 413, 413B can also learn the training data based on the operation information of multiple other driver devices 3 or measurement driver devices 3A for each driver type and capacity accumulated in the operation information database 6 to generate the learning model 132M, 132MB.

[0147] In this way, by collecting and learning a large amount of operating information of multiple other drive devices 3 or measuring drive devices 3A via a public network such as the Internet N2, the model accuracy of the learning model 132MB can be improved, and the failure signs of the drive device 3 can be detected more accurately.

[0148] The above-mentioned embodiments disclosed in the present application are described in detail, but the present application is not limited to the above-mentioned embodiments, and various changes can be made within the scope of the main purpose. For example, the above-mentioned embodiments are embodiments described in detail in order to easily understand the present invention, and are not limited to all the structures described. In addition, for a part of the structure of the above-mentioned embodiments, other structures can be added, deleted, or replaced.

[0149] In addition, part or all of the above-mentioned structures, functional units, processing units, etc. may also be implemented by hardware, for example, by designing in an integrated circuit, etc. In addition, the above-mentioned structures, functions, etc. may also be implemented by software by interpreting and executing programs that implement each function through a processor. Information such as programs, tables, files, etc. that implement each function can be placed in a storage device such as a memory, HDD, SSD, or a recording medium such as an IC card, SD card, or DVD.

[0150] In the above-mentioned drawings, control lines and information lines are shown as lines that are considered necessary for explanation, and are not limited to showing all control lines and information lines in implementation. For example, it can be considered that almost all structures are actually connected to each other.

[0151] The configuration of the functions and data of the storage system S, control devices 1, 1B, and learning model generation devices 4, 4B described above is only an example, and the configuration of the functions and data can be changed to the optimal configuration from the perspectives of hardware and software performance, processing efficiency, communication efficiency, etc.

[0152] Description of Reference Numerals

[0153] S: storage system, 1, 1B: control device, 3: drive device, 3A: drive device for measurement, 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 comprising a drive device for storing data and a control device for controlling input and output of data to the drive device, characterized in that: The control device has a processor and a memory. The memory stores a learning model for evaluating the response performance of the driver device to the execution of the command related to the input and output by the control device, The processor obtains operating information of the drive device, inputs predetermined information related to the command included in the operating information into the learning model, and determines a sign of failure of the drive device based on an output related to the response performance of the learning model to the input of the predetermined information.

2. The storage system according to claim 1, characterized in that: The predetermined information includes the transmission block length and the number of commands of the read command and the write command in the commands, The learning model has performed learning on training data including an explanatory variable and a target variable, the explanatory variable being generated based on the transfer block length and the command number of the read command and the write command, the target variable being generated based on response performance data, the response performance data indicating the response performance of the measuring driver device measured when the read command of a first transfer block length corresponding to the first command number is sent to the measuring driver device, and the write command of a second transfer block length corresponding to the second command number is sent to the measuring driver device, The response performance data is response time, IOPS, latency, or throughput of the drive device for measurement in response to execution of the read command and the write command, where the IOPS is the number of input / output operations per second.

3. The storage system according to claim 2, characterized in that: The training data includes the response performance data measured by sending the read command and the write command having the first transfer block length and the second transfer block length different from each other to the measuring driver device.

4. The storage system according to claim 3, characterized in that: The training data includes the response performance data measured by continuously sending the read command and the write command having the first transfer block length and the second transfer block length different from each other to the measuring driver device for a predetermined time.

5. The storage system according to claim 2, characterized in that: The training data includes the response performance data measured by sending the read command and the write command to the measuring driver device with an idle period in which no load is applied to the measuring driver device periodically.

6. The storage system according to claim 5, characterized in that: The training data includes the response performance data measured by continuously sending the read command and the write command, in which the idle period is periodically set, to the measuring driver device for a predetermined period of time.

7. The storage system according to claim 2, characterized in that: The output related to the response performance is an evaluation threshold of the response performance data, The processor determines a sign of a failure of the driver device based on a comparison between the evaluation threshold value output by the learning model in response to the input of the predetermined information and an actual measured value of the response performance data when the command is executed.

8. The storage system according to claim 2, characterized in that: The memory stores the learning model selected from the learning models for each driver type and capacity of the driver device for which learning of the training data for each driver type and capacity has been performed, The processor selects the learning model corresponding to the driver type and capacity of the driver device, and inputs the predetermined information into the selected learning model.

9. The storage system according to claim 2, characterized in that: The predetermined information includes predetermined performance statistics of the driver device, The learning model has performed learning of the training data including the predetermined performance statistics.

10. The storage system according to claim 9, characterized in that: The learning model has already performed learning on the training data collected via a network and including the predetermined performance statistical information of other drive devices of other storage systems.

11. A learning model for evaluating the response performance of a driver device to a read command and a write command involved in input and output of data in a storage system having a driver device for storing data and a control device for controlling input and output of data to the driver device, characterized in that: The learning model has performed learning on training data including an explanatory variable and a target variable, the explanatory variable being generated based on the transfer block length and the number of commands of the read command and the write command, the target variable being generated based on response performance data, the response performance data indicating response performance of the measuring driver device measured when the read command of a first transfer block length corresponding to the first command number is sent to the measuring driver device, and the write command of a second transfer block length corresponding to the second command number is sent to the measuring driver device, The training data includes one or more of the following response performance data: the response performance data measured by sending the read command and the write command having the first transfer block length and the second transfer block length different from each other to the measuring driver device; The response performance data is measured by sending the read command and the write command to the measuring driver device during an idle period in which no load is applied to the measuring driver device at regular intervals; the response performance data measured by continuously sending the read command and the write command having the first transfer block length and the second transfer block length different from each other to the measuring driver device for a predetermined time; as well as The response performance data is measured by continuously sending the read command and the write command with the idle period set periodically to the measuring driver device for a predetermined time, The learning model enables the control device to function by taking the transmission block length and the number of commands of the read command and the write command sent by the control device to the driver device as input and outputting an evaluation threshold value of the response performance for evaluating the response performance of the driver device.

12. A method for generating a learning model, wherein the learning model is used to evaluate the response performance of the driver device to read commands and write commands involved in the input and output of data in a storage system having a driver device for storing data and a control device for controlling the input and output of data to the driver device, characterized in that: The learning model generation device includes the following processes: Obtaining the transfer block length and command number of the read command and the write command; generating a feature quantity according to the transmission block length and the number of commands; generating explanatory variables according to the characteristic quantities; Acquiring response performance data, the response performance data indicating the response performance of the measuring driver device measured when the read commands of the first transfer block length corresponding to the first command number are sent to the measuring driver device, and the write commands of the second transfer block length corresponding to the second command number are sent to the measuring driver device; generating a target variable based on the response performance data; as well as performing learning on training data including the explanatory variables and the target variable, The training data includes at least one of the following response performance data: the response performance data measured by sending the read command and the write command having the first transfer block length and the second transfer block length different from each other to the measuring driver device; The response performance data is measured by sending the read command and the write command to the measuring driver device during an idle period in which no load is applied to the measuring driver device at regular intervals; the response performance data measured by continuously sending the read command and the write command having the first transfer block length and the second transfer block length different from each other to the measuring driver device for a predetermined time; as well as The response performance data is measured by continuously sending the read command and the write command, in which the idle period is periodically set, to the measuring driver device for a predetermined time.