SSD device, steady state detection apparatus and method for SSD device, medium, and program product
By collecting and analyzing the IOPS data of SSD devices, dividing time periods and calculating the average IOPS value, the problem of unintelligent steady-state detection of SSD devices is solved, and accurate steady-state detection and evaluation are achieved.
Patent Information
- Application Number
- CN202510313192.X
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-08-05
- Publication Date
- 2025-07-04
- Estimated Expiration
- 2044-08-05
AI Technical Summary
The steady-state detection of existing SSD devices is not intelligent enough, making it difficult to accurately evaluate the steady-state state.
By collecting IOPS data in the preset time period, dividing the time period, calculating the average IOPS value, and using IOPS data changes and correlation to determine the SSD steady-state evaluation value to realize dynamic steady-state detection.
It improves the steady-state detection intelligence of SSD devices and realizes accurate steady-state detection and quantitative evaluation.
Smart Images

Figure CN120256261A_ABST
Abstract
Description
[0001] This application is a divisional application of the Chinese patent application filed with the China Patent Office on August 5, 2024, with application number 202411065036.8 and application name “Steady-state detection method, device and SSD device for SSD equipment”, all contents of which are incorporated by reference in this application. Technical Field
[0002] The present application relates to the field of storage technology or solid-state hard disk technology, and specifically to an SSD device, a steady-state detection device, method, medium and program product for an SSD device. Background Art
[0003] In practical applications, a solid state disk (SSD), also known as a solid state drive or SSD device, can be a hard disk made of a solid-state electronic storage chip array. At present, the steady-state detection of SSD devices is not intelligent enough. Therefore, how to improve the intelligence of the steady-state detection of SSD devices needs to be solved urgently. Summary of the invention
[0004] The embodiments of the present application provide an SSD device, a steady-state detection apparatus, method, medium, and program product for an SSD device, which can improve the intelligence of steady-state detection of the SSD device.
[0005] In a first aspect, an embodiment of the present application provides a steady-state detection method for an SSD device, which is applied to an SSD device. The method includes:
[0006] Collect IOPS data in a preset time period to obtain multiple IOPS data;
[0007] Dividing the preset time period into multiple time periods in chronological order, acquiring IOPS data corresponding to the multiple time periods from the multiple IOPS data, to obtain multiple IOPS data sets;
[0008] Determine the average IOPS of each of the multiple time periods according to the multiple IOPS data sets to obtain multiple average IOPS values;
[0009] Determine a current SSD steady-state evaluation value according to the multiple average IOPS values;
[0010] When the current SSD steady-state evaluation value is greater than a preset threshold, determining that the SSD is in a steady-state data state;
[0011] When the current SSD steady-state evaluation value is less than or equal to the preset threshold, it is determined that the SSD is not in the steady-state data state.
[0012] In a second aspect, an embodiment of the present application provides a steady-state detection device for an SSD device, which is applied to the SSD device. The device includes: a collection unit, an acquisition unit, and a determination unit, where
[0013] The collection unit is configured to collect IOPS data for a preset time period to obtain a plurality of IOPS data;
[0014] The acquisition unit is configured to divide the preset time period into a plurality of time periods in chronological order, and obtain the IOPS data corresponding to the plurality of time periods from the plurality of IOPS data to obtain a plurality of IOPS data sets;
[0015] The determination unit is configured to determine the average IOPS of each time period in the plurality of time periods according to the plurality of IOPS data sets to obtain a plurality of average IOPS values; determine the current SSD steady-state evaluation value according to the plurality of average IOPS values; when the current SSD steady-state evaluation value is greater than a preset threshold, determine that the SSD is in a steady-state data state; when the current SSD steady-state evaluation value is less than or equal to the preset threshold, determine that the SSD is not in the steady-state data state.
[0016] In a third aspect, an embodiment of the present application provides an SSD device, including a processor, a memory, a communication interface, and one or more programs. Among them, the above one or more programs are stored in the above memory and are configured to be executed by the above processor. The above programs include instructions for executing the steps in the first aspect of the embodiment of the present application.
[0017] In a fourth aspect, an embodiment of the present application provides a computer-readable storage medium. The computer-readable storage medium stores a computer program for electronic data exchange. The computer program enables a computer to execute some or all of the steps described in the first aspect of the embodiment of the present application.
[0018] In a fifth aspect, an embodiment of the present application provides a computer program product. The computer program product includes a non-transitory computer-readable storage medium storing a computer program. The computer program is operable to enable a computer to execute some or all of the steps described in the first aspect of the embodiment of the present application. The computer program product can be a software installation package.
[0019] Implementing the embodiments of the present application has the following beneficial effects:
[0020] It can be seen that the SSD device, the steady-state detection device, method, medium and program product of the SSD device described in the embodiments of the present application are applied to the SSD device, collect IOPS data for a preset time period to obtain a plurality of IOPS data, divide the preset time period into a plurality of time periods in chronological order, obtain the IOPS data corresponding to the plurality of time periods from the plurality of IOPS data to obtain a plurality of IOPS data sets, determine the average IOPS of each time period in the plurality of time periods according to the plurality of IOPS data sets to obtain a plurality of average IOPS values, determine the current SSD steady-state evaluation value according to the plurality of average IOPS values, when the current SSD steady-state evaluation value is greater than the preset threshold, determine that the SSD is in a steady-state data state, and when the current SSD steady-state evaluation value is less than or equal to the preset threshold, determine that the SSD is not in a steady-state data state. In this way, dynamic steady-state detection can be realized by using the change of IOPS data. Since the IOPS data for a period of time reflects the steady-state change process, for example, it can change from a non-steady state to a steady state, and the correlation between the IOPS data of different time periods can be used to achieve accurate steady-state evaluation. Based on the SSD steady-state evaluation value, the steady-state degree can be quantified, thereby realizing accurate steady-state detection, which helps to improve the intelligence of steady-state detection of the SSD device. BRIEF DESCRIPTION OF THE DRAWINGS
[0021] In order to more clearly illustrate the technical solutions in the embodiments of the present application or the prior art, the following will briefly introduce the drawings required for the description of the embodiments or the prior art. Obviously, the drawings in the following description are only some embodiments of the present application. For those of ordinary skill in the art, without creative efforts, other drawings can be obtained based on these drawings.
[0022] Figure 1 is a flowchart of a method for detecting the steady state of an SSD device provided by an embodiment of the present application;
[0023] Figure 2 is a flowchart of another method for detecting the steady state of an SSD device provided by an embodiment of the present application;
[0024] Figure 3 is a structural diagram of an SSD device provided by an embodiment of the present application;
[0025] Figure 4 is a block diagram of the functional units of a steady-state detection device for an SSD device provided by an embodiment of the present application. DETAILED DESCRIPTION OF THE EMBODIMENTS
[0026] To enable those skilled in the art to better understand the solution of this application, the technical solutions in the embodiments of this application will be clearly and completely described below in conjunction with the accompanying drawings in the embodiments of this application. Obviously, the described embodiments are only a part of the embodiments of this application, rather than all the embodiments. Based on the embodiments in this application, all other embodiments obtained by those of ordinary skill in the art without creative efforts shall fall within the protection scope of this application.
[0027] The terms "first", "second", etc. in the specification and claims of this application and the above-mentioned drawings are used to distinguish different objects, rather than to describe a specific order. In addition, the terms "include" and "have" and any variations thereof are intended to cover non-exclusive inclusion. For example, a process, method, system, product or device that includes a series of steps or units is not limited to the listed steps or units, but optionally further includes steps or units not listed, or optionally further includes other steps or units inherent to these processes, methods, products or devices.
[0028] Referring to "embodiment" herein means that a specific feature, structure or characteristic described in connection with the embodiment may be included in at least one embodiment of this application. The phrase appears in various places in the specification does not necessarily refer to the same embodiment, nor is it an independent or alternative embodiment mutually exclusive with other embodiments. Those skilled in the art will explicitly and implicitly understand that the embodiments described herein can be combined with other embodiments.
[0029] In the embodiments of this application, the steady state of the SSD device can be understood as that after the SSD device is used for a period of time, its performance reaches stability. The steady state of the SSD device can also be referred to as the steady state data state.
[0030] In the embodiments of this application, the number of read and write (I / O) operations per second (Input / Output Operations Per Second, IOPS) can be understood as the amount of input and output per second (or the number of read and write operations). IOPS is one of the main indicators for measuring disk performance. Of course, IOPS can also be used to implement the steady state detection of the SSD.
[0031] The embodiments of this application will be introduced in detail below.
[0032] Please refer to Figure 1 , Figure 1 which is a schematic flowchart of a method for detecting the steady state of an SSD device provided by an embodiment of this application. As shown in the figure, it is applied to an SSD device. The method for detecting the steady state of this SSD device includes:
[0033] 101. Collect IOPS data for a preset time period to obtain multiple IOPS data.
[0034] Among them, the preset time period can be set in advance or be the system default.
[0035] In specific implementation, IOPS data can be collected at each preset time interval. Furthermore, multiple IOPS data can be obtained. The preset time interval can be set in advance or be the system default.
[0036] 102. Divide the preset time period into multiple time periods in chronological order, and obtain the IOPS data corresponding to the multiple time periods from the multiple IOPS data to obtain multiple IOPS data sets.
[0037] In specific implementation, the preset time period can be divided into multiple time periods in chronological order. The durations of the time periods in the multiple time periods can be the same or different. Then, the IOPS data corresponding to the multiple time periods can also be obtained from the multiple IOPS data to obtain multiple IOPS data sets.
[0038] In some possible examples, the following steps may further be included:
[0039] A1. Count the number of IOPS data within a preset range among the multiple IOPS data to obtain a target statistical result;
[0040] A2. Determine the total number of the multiple IOPS data;
[0041] A3. Determine the target ratio between the target statistical result and the total number;
[0042] A4. When the target ratio is greater than a preset threshold, execute the step of dividing the preset time period into multiple time periods in chronological order.
[0043] Among them, the preset range can be set in advance or be the system default. The preset range can be understood as the mean range of IOPS data during the process of changing from the non-steady data state to the steady data state, or it can also be understood as the mean range of IOPS data during the process of changing from the steady data state to the non-steady data state.
[0044] In specific implementation, the number of IOPS data within a preset range among multiple IOPS data can be counted to obtain a target statistical result, and the total number of multiple IOPS data can also be determined. Then, according to the target ratio between the target statistical result and the total number, that is, target ratio = target statistical result / total number, furthermore, when the target ratio is greater than a preset threshold, it indicates that the effective ratio of the IOPS data is relatively high, which means that it will enter the steady-state data state from the non-steady-state data state, or enter the non-steady-state data state from the steady-state data state, and perform the step of dividing the preset time period into multiple time periods in chronological order. In this way, dynamic steady-state detection can be realized by using the change of effective IOPS data. Since the IOPS data for a period of time reflects the steady-state change process, for example, it can change from non-steady state to steady state, and the accuracy of steady-state evaluation can be realized by using the correlation between the IOPS data of different time periods. Based on the steady-state evaluation value of the SSD, the steady-state degree can be quantified, thereby realizing accurate steady-state detection, which helps to improve the intelligence of steady-state detection of SSD devices.
[0045] 103. Determine the average IOPS of each time period in the multiple time periods according to the multiple IOPS data sets, and obtain multiple average IOPS values.
[0046] In specific implementation, the average IOPS of each time period in the multiple time periods can be determined according to the multiple IOPS data sets, and multiple average IOPS values can be obtained, that is, the mean value of each IOPS data set in the multiple IOPS data sets can be determined, and multiple average IOPS values can be obtained.
[0047] In some possible examples, step 103 above, determining the average IOPS of each time period in the multiple time periods according to the multiple IOPS data sets and obtaining multiple average IOPS values includes:
[0048] 31. Determine the average value of the IOPS values in the target IOPS data set to obtain a reference average IOPS value; the target IOPS data set is any one of the multiple IOPS data sets;
[0049] 32. Count the number of IOPS data within the preset range in the target IOPS data set to obtain a first statistical result;
[0050] 33. Determine the total number of IOPS in the target IOPS data set;
[0051] 34. According to the first ratio between the first statistical result and the total number of IOPS;
[0052] 35. Determine the target optimization coefficient corresponding to the first ratio;
[0053] 36. Optimize the reference average IOPS value according to the target optimization coefficient to obtain the average IOPS value corresponding to the target IOPS dataset.
[0054] In specific implementation, taking the target IOPS dataset as an example, the target IOPS dataset is any one of multiple IOPS datasets. Then, the average value of the IOPS values in the target IOPS dataset can be determined to obtain the reference average IOPS value. Also, the number of IOPS data within a preset range in the target IOPS dataset can be counted to obtain the first statistical result. The total number of IOPS in the target IOPS dataset can be determined. According to the first ratio between the first statistical result and the total number of IOPS, in this way, the effectiveness of the IOPS data can be determined. Also, the mapping relationship between the preset ratio and the optimization coefficient can be pre-stored. Furthermore, based on this mapping relationship, the target optimization coefficient corresponding to the first ratio can be determined, and then the reference average IOPS value can be optimized according to the target optimization coefficient to obtain the average IOPS value corresponding to the target IOPS dataset, that is, the average IOPS value corresponding to the target IOPS dataset = (1 + target optimization coefficient) * reference average IOPS value. In this way, the average value can be dynamically optimized using the effectiveness of the IOPS data, making the average value more in line with the actual situation. Thus, accurate steady-state detection can be achieved, which helps to improve the intelligence of steady-state detection of SSD devices.
[0055] 104. Determine the current SSD steady-state evaluation value according to the multiple average IOPS values.
[0056] In specific implementation, the multiple average IOPS values have continuity and gradual change to a certain extent. For example, the change from non-steady state to steady state is not sudden but gradual. Therefore, the current SSD steady-state evaluation value can be determined according to the multiple average IOPS values.
[0057] In some possible examples, step 104 above, determining the current SSD steady-state evaluation value according to the multiple average IOPS values, may include the following steps:
[0058] 41. Obtain the target average IOPS value among the multiple average IOPS values, and the time period corresponding to the target average IOPS value is the closest to the current moment;
[0059] 42. Determine the reference SSD steady-state evaluation value corresponding to the target average IOPS according to the mapping relationship between the preset IOPS value and the SSD steady-state evaluation value;
[0060] 43. Determine multiple coordinate points according to the multiple average IOPS values and the corresponding time periods. The horizontal axis of each coordinate point is time, and the vertical axis is the IOPS value;
[0061] 44. Fit the multiple coordinate points to obtain a fitted straight line and a fitted curve;
[0062] 45. Obtain the target slope of the fitted straight line;
[0063] 46. Determine the fitted IOPS value at the current moment according to the fitted curve;
[0064] 47. Determine the target deviation degree between the fitted IOPS value and the target average IOPS value;
[0065] 48. Determine the target adjustment parameter corresponding to the target deviation degree;
[0066] 49. Determine the target fine-tuning parameter corresponding to the target slope;
[0067] 50. Adjust the reference SSD steady-state evaluation value according to the target adjustment parameter and the target fine-tuning parameter to obtain the current SSD steady-state evaluation value.
[0068] In the embodiments of the present application, the target average IOPS value among the multiple average IOPS values can be obtained, and the time period corresponding to the target average IOPS value is the closest to the current moment. It is also possible to pre-store the mapping relationship between the preset IOPS value and the SSD steady-state evaluation value in advance. The SSD steady-state evaluation value is used to evaluate the steady-state degree, and the reference SSD steady-state evaluation value corresponding to the target average IOPS is determined according to this mapping relationship.
[0069] Then, it is also possible to determine multiple coordinate points according to the multiple average IOPS values and the corresponding time periods. The abscissa of each coordinate point is time, and the ordinate is the IOPS value. Each coordinate point corresponds to an average IOPS value and a time point, and this time point is the middle moment of the time period corresponding to this average IOPS value. Then fit the multiple coordinate points to obtain a fitted straight line and a fitted curve. The fitted straight line reflects the speed trend of the steady-state change, and the fitted curve reflects the result trend of the steady-state change.
[0070] Specifically, the target slope of the fitting line can be obtained, and the fitting IOPS value at the current moment can be determined according to the fitting curve, and the target deviation degree between the fitting IOPS value and the target average IOPS value can be determined. The target deviation degree = (fitting IOPS value - target average IOPS value) / (fitting IOPS value + target average IOPS value). Since the steady state is also a dynamically changing process, the actual IOPS value can be predicted using the fitting curve. Of course, since the IOPS is collected at every preset time interval as described above, it is not necessarily the case that the true IOPS value at the current moment is just collected. Therefore, through fitting, the IOPS value at the current moment can be accurately predicted. The target average IOPS value is the average IOPS value in the most recent time period, which can better reflect the situation at the current moment, and the deviation degree reflects the change trend of the IOPS value in a short period of time.
[0071] Furthermore, the mapping relationship between the preset deviation degree and the adjustment parameter can be pre-stored. The value range of the adjustment parameter can be from -0.1 to 0.1. The target adjustment parameter corresponding to the target deviation degree can be determined according to this mapping relationship. The mapping relationship between the preset slope and the fine-tuning parameter can also be pre-stored. The value range of the fine-tuning parameter can be from -0.02 to 0.02. The target fine-tuning parameter corresponding to the target slope can be determined based on this mapping relationship. Next, the reference SSD steady-state evaluation value is adjusted according to the target adjustment parameter and the target fine-tuning parameter to obtain the current SSD steady-state evaluation value, that is, the current SSD steady-state evaluation value = (1 + target adjustment parameter) * (1 + target fine-tuning parameter). Among them, the deviation degree not only represents the degree of deviation but also represents the direction of deviation. By determining the corresponding adjustment parameter through the deviation degree, the gap between the prediction and the actual can be narrowed. The fitting line reflects the speed trend of the steady-state change, and the slope reflects its steady-state change rhythm. Furthermore, considering the correlation between different time periods, the gap between the prediction and the actual is narrowed again, which further helps to achieve accurate steady-state evaluation by using the correlation between the IOPS data in different time periods. Based on the SSD steady-state evaluation value, the steady-state degree can be quantified, thereby realizing accurate steady-state detection and helping to improve the intelligence of the steady-state detection of the SSD device.
[0072] In some possible examples, step 49 of determining the target fine-tuning parameter corresponding to the target slope may include the following steps:
[0073] 491. Determine the reference fine-tuning parameter corresponding to the target slope;
[0074] 492. Determine the increment between two adjacent average IOPS values according to the multiple average IOPS values to obtain multiple increments;
[0075] 493. Determine the target mean square error corresponding to the multiple increments;
[0076] 494. Determine a target feedback adjustment parameter corresponding to the target mean square error.
[0077] 495. Adjust the reference fine-tuning parameter according to the target feedback adjustment parameter to obtain the target fine-tuning parameter.
[0078] In the embodiments of the present application, a mapping relationship between a preset slope and a fine-tuning parameter can be pre-stored. Furthermore, a reference fine-tuning parameter corresponding to a target slope can be determined based on this mapping relationship. Then, the increment between two adjacent average IOPS values can be determined according to multiple average IOPS values to obtain multiple increments. Taking the i-th average IOPS value and the (i + 1)-th average IOPS value as an example, the corresponding increment is: increment = ((i + 1)-th average IOPS value - i-th average IOPS value) / i-th average IOPS value. The increment reflects the steady-state stage change law to a certain extent. The target mean square error corresponding to multiple increments can also be determined. The mean square error reflects the steady-state stage change smoothness to a certain extent.
[0079] Furthermore, a mapping relationship between a preset mean square error and a feedback adjustment parameter can be pre-stored. Based on this mapping relationship, a target feedback adjustment parameter corresponding to the target mean square error is determined. This feedback adjustment parameter can be used to suppress the interference in the steady-state change evaluation process (this interference is caused by the attributes of the SSD device itself). Then, the reference fine-tuning parameter is adjusted according to the target feedback adjustment parameter to obtain the target fine-tuning parameter, that is, target fine-tuning parameter = (1 + target feedback adjustment parameter) * reference fine-tuning parameter. In this way, the corresponding feedback adjustment parameter can be determined using the steady-state stage change smoothness to suppress the interference in the steady-state change evaluation process. Thus, it helps to achieve accurate steady-state detection and improve the steady-state detection intelligence of the SSD device.
[0080] 105. When the current SSD steady-state evaluation value is greater than a preset threshold, determine that the SSD is in a steady-state data state.
[0081] Among them, the preset threshold can be set in advance or be the system default. When the current SSD steady-state evaluation value is greater than the preset threshold, it is determined that the SSD is in a steady-state data state. In this way, dynamic steady-state detection can be achieved using the change of IOPS data. Since the IOPS data for a period of time reflects the steady-state change process, for example, it can change from non-steady state to steady state, and the accurate steady-state evaluation can be achieved using the correlation between the IOPS data in different time periods. The steady-state degree can be quantified based on the SSD steady-state evaluation value. Thus, accurate steady-state detection is achieved, which helps to improve the steady-state detection intelligence of the SSD device.
[0082] In some possible examples, the following steps may further be included:
[0083] B1. Obtain the target hardware environment parameters and target software environment parameters of the SSD device;
[0084] B2. Determine the first threshold corresponding to the target hardware environment parameters;
[0085] B3. Determine the second threshold corresponding to the target software environment parameters;
[0086] B4. Obtain the target physical environment parameters of the SSD device;
[0087] B5. Determine the target weight pair corresponding to the target physical environment parameters, where the target weight pair includes a target first weight and a target second weight; the target first weight is the weight corresponding to the target hardware environment parameters, and the target second weight is the weight corresponding to the target software environment parameters;
[0088] B6. Perform a weighted operation based on the first threshold, the second threshold, and the target weight pair to obtain the preset threshold.
[0089] In specific implementation, the target hardware environment parameters may include at least one of the following: SSD device model, SSD hardware configuration parameters, etc., which are not limited herein. The target software environment parameters may include at least one of the following: network bandwidth, memory size, flash memory size, SSD software configuration parameters, etc., which are not limited herein. The target physical environment parameters may include at least one of the following: environmental temperature, environmental humidity, magnetic field interference intensity, environmental light intensity, etc., which are not limited herein.
[0090] In specific implementation, the target hardware environment parameters and target software environment parameters of the SSD device can be obtained. Also, the mapping relationship between the preset hardware environment parameters and the threshold can be stored in advance. Then, based on this mapping relationship, the first threshold corresponding to the target hardware environment parameters can be determined. Additionally, the mapping relationship between the preset software environment parameters and the threshold can be stored in advance. Then, based on this mapping relationship, the second threshold corresponding to the target software environment parameters can be determined. The target physical environment parameters of the SSD device can also be obtained, and the mapping relationship between the preset physical environment parameters and the weight pair can be stored in advance. Then, based on this mapping relationship, the target weight pair corresponding to the target physical environment parameters can be determined. The target weight pair includes a target first weight and a target second weight. The target first weight is the weight corresponding to the target hardware environment parameters, and the target second weight is the weight corresponding to the target software environment parameters, and the target first weight + target second weight = 1.
[0091] Next, weighted operations can be performed according to the first threshold, the second threshold, and the target weight pair to obtain a preset threshold, that is, preset threshold = first threshold * target first weight + second threshold * target second weight. In this way, on the one hand, a threshold corresponding to the hardware environment parameters and software environment parameters can be obtained, and on the other hand, a weight pair corresponding to the physical environment parameters can be obtained. Then, based on the threshold corresponding to the hardware environment parameters and software environment parameters and this weight pair for calculation, a threshold corresponding to the actual hardware environment parameters, software environment parameters, and physical environment parameters can be obtained, which helps to ensure the accuracy of the SSD steady-state evaluation.
[0092] 106. When the current SSD steady-state evaluation value is less than or equal to the preset threshold, it is determined that the SSD is not in the steady-state data state.
[0093] In specific implementation, when the current SSD steady-state evaluation value is less than or equal to the preset threshold, it can be determined that the SSD is not in the steady-state data state, that is, it is in the non-steady-state data state.
[0094] It can be seen that the steady-state detection method of the SSD device described in the embodiments of the present application is applied to the SSD device, collects IOPS data in a preset time period to obtain a plurality of IOPS data, divides the preset time period into a plurality of time periods in chronological order, obtains the IOPS data corresponding to the plurality of time periods from the plurality of IOPS data to obtain a plurality of IOPS data sets, determines the average IOPS of each time period in the plurality of time periods according to the plurality of IOPS data sets to obtain a plurality of average IOPS values, determines the current SSD steady-state evaluation value according to the plurality of average IOPS values, when the current SSD steady-state evaluation value is greater than the preset threshold, determines that the SSD is in the steady-state data state, and when the current SSD steady-state evaluation value is less than or equal to the preset threshold, determines that the SSD is not in the steady-state data state. In this way, dynamic steady-state detection can be realized by using the change of IOPS data. Since the IOPS data for a period of time reflects the steady-state change process, for example, it can change from non-steady state to steady state, and the accuracy of steady-state evaluation can be realized by using the correlation between the IOPS data of different time periods. Based on the SSD steady-state evaluation value, the steady-state degree can be quantified, thereby realizing accurate steady-state detection, which helps to improve the intelligence of the steady-state detection of the SSD device.
[0095] Please refer to Figure 2 , Figure 2 which is a schematic flowchart of a steady-state detection method for an SSD device provided by an embodiment of the present application. As shown in the figure, applied to the SSD device, the steady-state detection method of this SSD device includes:
[0096] 201. Collect IOPS data in a preset time period to obtain a plurality of IOPS data.
[0097] 202. Count the number of IOPS data within a preset range among the multiple IOPS data to obtain a target statistical result.
[0098] 203. Determine the total number of the multiple IOPS data.
[0099] 204. According to the target ratio between the target statistical result and the total number.
[0100] 205. When the target ratio is greater than a preset threshold, divide the preset time period into multiple time periods in chronological order, and obtain multiple IOPS data sets by acquiring the IOPS data corresponding to the multiple time periods from the multiple IOPS data.
[0101] 206. Determine the average IOPS of each time period among the multiple time periods according to the multiple IOPS data sets to obtain multiple average IOPS values.
[0102] 207. Determine the current SSD steady-state evaluation value according to the multiple average IOPS values.
[0103] 208. When the current SSD steady-state evaluation value is greater than the preset threshold, determine that the SSD is in a steady-state data state.
[0104] 209. When the current SSD steady-state evaluation value is less than or equal to the preset threshold, determine that the SSD is not in the steady-state data state.
[0105] Among them, the specific descriptions of the above steps 201 - 209 can refer to the corresponding steps of the steady-state detection method of the SSD device described above Figure 1 and will not be elaborated here.
[0106] It can be seen that the steady-state detection method of the SSD device described in the embodiments of the present application is applied to the SSD device, collects IOPS data for a preset time period to obtain multiple IOPS data, counts the number of IOPS data within a preset range among the multiple IOPS data to obtain a target statistical result, determines the total number of the multiple IOPS data, and based on the target ratio between the target statistical result and the total number, when the target ratio is greater than a preset threshold, divides the preset time period into multiple time periods in chronological order, obtains the IOPS data corresponding to the multiple time periods from the multiple IOPS data to obtain multiple IOPS data sets, determines the average IOPS of each time period among the multiple time periods according to the multiple IOPS data sets to obtain multiple average IOPS values, determines the current SSD steady-state evaluation value according to the multiple average IOPS values, and when the current SSD steady-state evaluation value is greater than the preset threshold, determines that the SSD is in a steady-state data state, and when the current SSD steady-state evaluation value is less than or equal to the preset threshold, determines that the SSD is not in a steady-state data state. In this way, dynamic steady-state detection can be achieved by using the change of IOPS data. Since the IOPS data for a period of time reflects the steady-state change process, for example, it can change from a non-steady state to a steady state, and the accurate steady-state evaluation can be achieved by using the correlation between the IOPS data of different time periods. Based on the SSD steady-state evaluation value, the steady-state degree can be quantified, thereby achieving accurate steady-state detection, which helps to improve the intelligence of the steady-state detection of the SSD device.
[0107] Consistently with the above embodiments, please refer to Figure 3 , Figure 3 which is a schematic structural diagram of an SSD device provided by an embodiment of the present application. As shown in the figure, the SSD device includes a processor, a memory, a communication interface, and one or more programs. The above one or more programs are stored in the above memory and are configured to be executed by the above processor. In the embodiments of the present application, the above programs include instructions for performing the following steps:
[0108] Collect IOPS data for a preset time period to obtain multiple IOPS data;
[0109] Divide the preset time period into multiple time periods in chronological order, and obtain the IOPS data corresponding to the multiple time periods from the multiple IOPS data to obtain multiple IOPS data sets;
[0110] Determine the average IOPS of each time period among the multiple time periods according to the multiple IOPS data sets to obtain multiple average IOPS values;
[0111] Determine the current SSD steady-state evaluation value according to the multiple average IOPS values;
[0112] When the current SSD steady-state evaluation value is greater than a preset threshold, it is determined that the SSD is in a steady-state data state;
[0113] When the current SSD steady-state evaluation value is less than or equal to the preset threshold, it is determined that the SSD is not in the steady-state data state.
[0114] In some possible examples, in terms of determining the current SSD steady-state evaluation value according to the multiple average IOPS values, the above program includes instructions for performing the following steps:
[0115] Obtain the target average IOPS value among the multiple average IOPS values, and the time period corresponding to the target average IOPS value is the closest to the current moment;
[0116] Determine the reference SSD steady-state evaluation value corresponding to the target average IOPS according to the mapping relationship between the preset IOPS value and the SSD steady-state evaluation value;
[0117] Determine multiple coordinate points according to the multiple average IOPS values and the corresponding time periods. The horizontal axis of each coordinate point is time, and the vertical axis is the IOPS value;
[0118] Fit the multiple coordinate points to obtain a fitting straight line and a fitting curve;
[0119] Obtain the target slope of the fitting straight line;
[0120] Determine the fitting IOPS value at the current moment according to the fitting curve;
[0121] Determine the target deviation degree between the fitting IOPS value and the target average IOPS value;
[0122] Determine the target adjustment parameter corresponding to the target deviation degree;
[0123] Determine the target fine-tuning parameter corresponding to the target slope;
[0124] Adjust the reference SSD steady-state evaluation value according to the target adjustment parameter and the target fine-tuning parameter to obtain the current SSD steady-state evaluation value.
[0125] In some possible examples, in terms of determining the target fine-tuning parameter corresponding to the target slope, the above program includes instructions for performing the following steps:
[0126] Determine the reference fine-tuning parameter corresponding to the target slope;
[0127] Determine the increment between two adjacent average IOPS values according to the multiple average IOPS values to obtain multiple increments;
[0128] Determine the target mean square error corresponding to the multiple increments;
[0129] Determine the target feedback adjustment parameter corresponding to the target mean square error;
[0130] Adjust the reference fine-tuning parameter according to the target feedback adjustment parameter to obtain the target fine-tuning parameter.
[0131] In some possible examples, the above program further includes instructions for performing the following steps:
[0132] Obtain the target hardware environment parameters and target software environment parameters of the SSD device;
[0133] Determine the first threshold corresponding to the target hardware environment parameters;
[0134] Determine the second threshold corresponding to the target software environment parameters;
[0135] Obtain the target physical environment parameters of the SSD device;
[0136] Determine the target weight pair corresponding to the target physical environment parameters, the target weight pair includes a target first weight and a target second weight; the target first weight is the weight corresponding to the target hardware environment parameters, and the target second weight is the weight corresponding to the target software environment parameters;
[0137] Perform a weighted operation according to the first threshold, the second threshold, and the target weight pair to obtain the preset threshold.
[0138] In some possible examples, the above program further includes instructions for performing the following steps:
[0139] Count the number of IOPS data within a preset range in the multiple IOPS data to obtain a target statistical result;
[0140] Determine the total number of the multiple IOPS data;
[0141] According to the target ratio between the target statistical result and the total number;
[0142] When the target ratio is greater than the preset threshold, execute the step of dividing the preset time period into multiple time periods in chronological order.
[0143] It can be seen that the SSD device described in the embodiments of the present application collects IOPS data for a preset time period to obtain a plurality of IOPS data, divides the preset time period into a plurality of time periods in chronological order, obtains the IOPS data corresponding to the plurality of time periods from the plurality of IOPS data to obtain a plurality of IOPS data sets, determines the average IOPS of each time period among the plurality of time periods according to the plurality of IOPS data sets to obtain a plurality of average IOPS values, determines the current SSD steady-state evaluation value according to the plurality of average IOPS values, determines that the SSD is in a steady-state data state when the current SSD steady-state evaluation value is greater than a preset threshold, and determines that the SSD is not in the steady-state data state when the current SSD steady-state evaluation value is less than or equal to the preset threshold. In this way, dynamic steady-state detection can be realized by using the change of IOPS data. Since the IOPS data for a period of time reflects the steady-state change process, for example, it can change from a non-steady state to a steady state, and the accurate steady-state evaluation can be realized by using the correlation between the IOPS data of different time periods. Based on the SSD steady-state evaluation value, the steady-state degree can be quantified, thereby realizing accurate steady-state detection and helping to improve the intelligence of the steady-state detection of the SSD device.
[0144] Figure 4 It is a functional unit composition block diagram of a steady-state detection device 400 for an SSD device involved in the embodiments of the present application. The steady-state detection device 400 of the SSD device is applied to the SSD device. The steady-state detection device 400 of the SSD device includes: a collection unit 401, an acquisition unit 402, and a determination unit 403, where
[0145] The collection unit 401 is configured to collect IOPS data for a preset time period to obtain a plurality of IOPS data;
[0146] The acquisition unit 402 is configured to divide the preset time period into a plurality of time periods in chronological order, and obtain the IOPS data corresponding to the plurality of time periods from the plurality of IOPS data to obtain a plurality of IOPS data sets;
[0147] The determination unit 403 is configured to determine the average IOPS of each time period among the plurality of time periods according to the plurality of IOPS data sets to obtain a plurality of average IOPS values; determine the current SSD steady-state evaluation value according to the plurality of average IOPS values; determine that the SSD is in a steady-state data state when the current SSD steady-state evaluation value is greater than a preset threshold; and determine that the SSD is not in the steady-state data state when the current SSD steady-state evaluation value is less than or equal to the preset threshold.
[0148] In some possible examples, in terms of determining the current SSD steady-state evaluation value according to the plurality of average IOPS values, the determination unit 403 is specifically configured to:
[0149] Obtain a target average IOPS value among the multiple average IOPS values, where the time period corresponding to the target average IOPS value is the closest to the current moment;
[0150] Determine a reference SSD steady-state evaluation value corresponding to the target average IOPS according to the mapping relationship between the preset IOPS value and the SSD steady-state evaluation value;
[0151] Determine multiple coordinate points according to the multiple average IOPS values and the corresponding time periods. The horizontal axis of each coordinate point is time, and the vertical axis is the IOPS value;
[0152] Fit the multiple coordinate points to obtain a fitting straight line and a fitting curve;
[0153] Obtain the target slope of the fitting straight line;
[0154] Determine the fitting IOPS value at the current moment according to the fitting curve;
[0155] Determine the target deviation degree between the fitting IOPS value and the target average IOPS value;
[0156] Determine a target adjustment parameter corresponding to the target deviation degree;
[0157] Determine a target fine-tuning parameter corresponding to the target slope;
[0158] Adjust the reference SSD steady-state evaluation value according to the target adjustment parameter and the target fine-tuning parameter to obtain the current SSD steady-state evaluation value.
[0159] In some possible examples, in terms of determining the target fine-tuning parameter corresponding to the target slope, the determining unit 403 is specifically configured to:
[0160] Determine a reference fine-tuning parameter corresponding to the target slope;
[0161] Determine the increment between two adjacent average IOPS values according to the multiple average IOPS values to obtain multiple increments;
[0162] Determine the target mean square error corresponding to the multiple increments;
[0163] Determine a target feedback adjustment parameter corresponding to the target mean square error;
[0164] Adjust the reference fine-tuning parameter according to the target feedback adjustment parameter to obtain the target fine-tuning parameter.
[0165] In some possible examples, the steady-state detection device 400 of the SSD device is further specifically configured to:
[0166] Obtain the target hardware environment parameters and target software environment parameters of the SSD device;
[0167] Determine a first threshold corresponding to the target hardware environment parameters;
[0168] Determine a second threshold corresponding to the target software environment parameters;
[0169] Obtain the target physical environment parameters of the SSD device;
[0170] Determine a target weight pair corresponding to the target physical environment parameters, where the target weight pair includes a target first weight and a target second weight; the target first weight is the weight corresponding to the target hardware environment parameters, and the target second weight is the weight corresponding to the target software environment parameters;
[0171] Perform a weighted operation according to the first threshold, the second threshold, and the target weight pair to obtain the preset threshold.
[0172] In some possible examples, the steady-state detection device 400 of the SSD device is further specifically configured to:
[0173] Count the number of IOPS data within a preset range among the multiple IOPS data to obtain a target statistical result;
[0174] Determine the total number of the multiple IOPS data;
[0175] According to the target ratio between the target statistical result and the total number;
[0176] When the target ratio is greater than the preset threshold, perform the step of dividing the preset time period into multiple time periods in chronological order.
[0177] It can be seen that the steady-state detection device of the SSD device described in the embodiments of the present application is applied to the SSD device, collects IOPS data for a preset time period to obtain multiple IOPS data, divides the preset time period into multiple time periods in chronological order, obtains the IOPS data corresponding to the multiple time periods from the multiple IOPS data to obtain multiple IOPS data sets, determines the average IOPS of each time period in the multiple time periods according to the multiple IOPS data sets to obtain multiple average IOPS values, determines the current SSD steady-state evaluation value according to the multiple average IOPS values, determines that the SSD is in a steady-state data state when the current SSD steady-state evaluation value is greater than the preset threshold, and determines that the SSD is not in a steady-state data state when the current SSD steady-state evaluation value is less than or equal to the preset threshold. In this way, dynamic steady-state detection can be achieved by using the change of IOPS data. Since the IOPS data for a period of time reflects the steady-state change process, for example, it can change from a non-steady state to a steady state, and the accurate steady-state evaluation can be achieved by using the correlation between the IOPS data of different time periods. Based on the SSD steady-state evaluation value, the steady-state degree can be quantified, thereby achieving accurate steady-state detection, which helps to improve the intelligence of the steady-state detection of the SSD device.
[0178] It can be understood that the functions of the respective program modules of the steady-state detection device of the SSD device in this embodiment can be specifically implemented according to the methods in the above method embodiments, and the specific implementation process can refer to the relevant descriptions of the above method embodiments, which will not be elaborated here.
[0179] The embodiments of the present application further provide a computer storage medium, wherein the computer storage medium stores a computer program for electronic data exchange, and the computer program enables the computer to execute some or all of the steps of any of the methods recorded in the above method embodiments.
[0180] The embodiments of the present application further provide a computer program product. The above computer program product includes a non-transitory computer-readable storage medium storing a computer program, and the above computer program is operable to enable the computer to execute some or all of the steps of any of the methods recorded in the above method embodiments. The computer program product can be a software installation package.
[0181] It should be noted that for the foregoing method embodiments, for the sake of simple description, they are all expressed as a series of action combinations. However, those skilled in the art should know that the present application is not limited by the described action sequence, because according to the present application, certain steps can be performed in other sequences or simultaneously. Secondly, those skilled in the art should also know that the embodiments described in the specification are all preferred embodiments, and the actions and modules involved are not necessarily essential to the present application.
[0182] In the above embodiments, the descriptions of the respective embodiments have their own focuses. For parts not elaborated in a certain embodiment, reference may be made to the relevant descriptions of other embodiments.
[0183] In several embodiments provided by the present application, it should be understood that the disclosed device can be implemented in other ways. For example, the device embodiments described above are merely illustrative. For example, the above division of units is only a logical function division. In actual implementation, there may be other division methods. For example, multiple units or components can be combined or integrated into another system, or some features can be ignored or not executed. Another point is that the displayed or discussed coupling or direct coupling or communication connection between each other can be through some interfaces. The indirect coupling or communication connection of the device or unit can be in an electrical or other form.
[0184] The units described above as separate components may or may not be physically separated. The components displayed as units may or may not be physical units, that is, they can be located in one place, or can be distributed to multiple network units. Some or all of the units can be selected according to actual needs to achieve the purpose of the solution of this embodiment.
[0185] In addition, in each embodiment of the present application, the functional units can be integrated in a processing unit, or each unit can exist physically alone, or two or more units can be integrated in one unit. The above integrated unit can be implemented in the form of hardware or in the form of a software functional unit.
[0186] If the above integrated unit is implemented in the form of a software functional unit and sold or used as an independent product, it can be stored in a computer-readable memory. Based on such an understanding, the technical solution of the present application, in essence, or the part that contributes to the prior art, or all or part of the technical solution, can be embodied in the form of a software product. This computer software product is stored in a memory and includes several instructions for causing a computer device (which can be a personal computer, a server or a network device, etc.) to execute all or part of the steps of the above methods in each embodiment of the present application. And the aforementioned memory includes: USB flash drives, read-only memories (ROM, Read-Only Memory), random access memories (RAM, Random Access Memory), mobile hard disks, magnetic disks or optical discs and other various media that can store program codes.
[0187] Those of ordinary skill in the art can understand that all or part of the steps in the various methods of the above embodiments can be completed by instructing relevant hardware through a program, and this program can be stored in a computer-readable memory. The memory may include: a flash drive, a read-only memory (abbreviation: ROM), a random access memory (abbreviation: RAM), a magnetic disk, an optical disk, etc.
[0188] The above has introduced the embodiments of the present application in detail. Specific examples are used herein to elaborate on the principle and implementation manner of the present application. The description of the above embodiments is only used to help understand the method and its core idea of the present application; at the same time, for those of ordinary skill in the art, according to the idea of the present application, there will be changes in the specific implementation manner and application scope. In summary, the content of this specification should not be construed as a limitation on the present application.
Claims
1. A steady-state detection device for an SSD device, characterized in that, Applied to an SSD device, the device includes: an acquisition unit, an obtaining unit, and a determination unit, where the acquisition unit is configured to acquire IOPS data for a preset time period to obtain a plurality of IOPS data; the obtaining unit is configured to divide the preset time period into a plurality of time periods in chronological order, and obtain the IOPS data corresponding to the plurality of time periods from the plurality of IOPS data to obtain a plurality of IOPS data sets; the determination unit is configured to determine the average IOPS of each time period in the plurality of time periods according to the plurality of IOPS data sets to obtain a plurality of average IOPS values; determine the current SSD steady-state evaluation value according to the plurality of average IOPS values; when the current SSD steady-state evaluation value is greater than a preset threshold, determine that the SSD is in a steady-state data state; when the current SSD steady-state evaluation value is less than or equal to the preset threshold, determine that the SSD is not in the steady-state data state.
2. The device according to claim 1, characterized in that, In terms of determining the current SSD steady-state evaluation value according to the plurality of average IOPS values, the determination unit specifically is configured to: obtain a target average IOPS value among the plurality of average IOPS values, and the time period corresponding to the target average IOPS value is the closest to the current moment; determine a reference SSD steady-state evaluation value corresponding to the target average IOPS according to a mapping relationship between the preset IOPS value and the SSD steady-state evaluation value; determine a plurality of coordinate points according to the plurality of average IOPS values and the corresponding time periods, the horizontal axis of each coordinate point is time, and the vertical axis is the IOPS value; fit the plurality of coordinate points to obtain a fitting straight line and a fitting curve; obtain a target slope of the fitting straight line; determine a fitting IOPS value at the current moment according to the fitting curve; determine a target deviation degree between the fitting IOPS value and the target average IOPS value; determine a target adjustment parameter corresponding to the target deviation degree; determine a target fine-tuning parameter corresponding to the target slope; adjust the reference SSD steady-state evaluation value according to the target adjustment parameter and the target fine-tuning parameter to obtain the current SSD steady-state evaluation value.
3. The device according to claim 2, characterized in that, In terms of determining the target fine-tuning parameter corresponding to the target slope, the determination unit specifically is configured to: determine a reference fine-tuning parameter corresponding to the target slope; determine an increment between two adjacent average IOPS values according to the plurality of average IOPS values to obtain a plurality of increments; determine a target mean square error corresponding to the plurality of increments; determine a target feedback adjustment parameter corresponding to the target mean square error; adjust the reference fine-tuning parameter according to the target feedback adjustment parameter to obtain the target fine-tuning parameter.
4. The device according to any one of claims 1 to 3, characterized in that, The device is further specifically configured to: obtain target hardware environment parameters and target software environment parameters of the SSD device; determine a first threshold corresponding to the target hardware environment parameters; determine a second threshold corresponding to the target software environment parameters; obtain target physical environment parameters of the SSD device; Determine a target weight pair corresponding to the target physical environment parameter, where the target weight pair includes a target first weight and a target second weight; the target first weight is the weight corresponding to the target hardware environment parameter, and the target second weight is the weight corresponding to the target software environment parameter; Perform a weighted operation according to the first threshold, the second threshold, and the target weight pair to obtain the preset threshold.
5. The device according to any one of claims 1 to 3, characterized in that The steady-state detection device of the SSD device is further specifically configured to: Count the number of IOPS data within a preset range among the multiple IOPS data to obtain a target statistical result; Determine the total number of the multiple IOPS data; According to the target ratio between the target statistical result and the total number; When the target ratio is greater than the preset threshold, perform the step of dividing the preset time period into multiple time periods in chronological order.
6. A steady-state detection method for an SSD device, characterized in that, Applied to an SSD device, the method includes: Collect IOPS data for a preset time period to obtain multiple IOPS data; Divide the preset time period into multiple time periods in chronological order, and obtain multiple IOPS data sets corresponding to the multiple time periods from the multiple IOPS data; Determine the average IOPS of each time period among the multiple time periods according to the multiple IOPS data sets to obtain multiple average IOPS values; Determine the current SSD steady-state evaluation value according to the multiple average IOPS values; When the current SSD steady-state evaluation value is greater than the preset threshold, determine that the SSD is in a steady-state data state; When the current SSD steady-state evaluation value is less than or equal to the preset threshold, determine that the SSD is not in the steady-state data state.
7. The method according to claim 6, wherein The determining the current SSD steady-state evaluation value according to the multiple average IOPS values includes: Obtain a target average IOPS value among the multiple average IOPS values, where the time period corresponding to the target average IOPS value is the closest to the current moment; Determine the reference SSD steady-state evaluation value corresponding to the target average IOPS according to the mapping relationship between the preset IOPS value and the SSD steady-state evaluation value; Determine multiple coordinate points according to the multiple average IOPS values and the corresponding time periods, where the horizontal axis of each coordinate point is time and the vertical axis is the IOPS value; Fit the multiple coordinate points to obtain a fitting line and a fitting curve; Obtain the target slope of the fitting line; Determine the fitting IOPS value at the current moment according to the fitting curve; Determine the target deviation between the fitting IOPS value and the target average IOPS value; Determine a target adjustment parameter corresponding to the target deviation; Determine a target fine-tuning parameter corresponding to the target slope; Adjust the reference SSD steady-state evaluation value according to the target adjustment parameter and the target fine-tuning parameter to obtain the current SSD steady-state evaluation value.
8. An SSD device, characterized in that, Includes a processor, a memory, and a communication interface, where the memory is used to store one or more programs and is configured to be executed by the processor, and the programs include instructions for performing the steps in the method as claimed in claim 6 or 7.
9. A computer-readable storage medium, characterized in that, A computer program for electronic data interchange is stored, wherein the computer program causes a computer to execute the method according to claim 6 or 7.
10. A computer program product, characterized in that, A computer program is included, which is stored in a computer-readable storage medium; when a processor of an electronic device reads the computer program from the computer-readable storage medium, the processor executes the computer program, causing the electronic device to execute the method according to any one of claims 6 or 7.
Citation Information
Patent Citations
NVMe solid state disk IOPS test method, system and device
CN110111835A
Project auditing method, electronic equipment and related product
CN115545628A
SSD (Solid State Disk) equipment steady state detection method and device and SSD equipment
CN117331807A
SSD (Solid State Disk) equipment steady state detection method and device and SSD equipment
CN119003302A
Storage device, performance estimation program, and performance estimation method
JP2017090959A