SSD device, steady state detection apparatus, method, medium, and program product for an SSD device
By collecting and analyzing the IOPS data of SSD devices, dividing the time period, and calculating the average IOPS value, the problem of unintelligent steady-state detection of SSD devices is solved, and accurate steady-state detection and quantitative evaluation are achieved.
Patent Information
- Application Number
- CN202510313192.X
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2024-08-05
- Publication Date
- 2026-05-15
- Estimated Expiration
- 2044-08-05
AI Technical Summary
SSD devices lack intelligent steady-state detection, making it difficult to achieve accurate steady-state detection.
By collecting IOPS data over a preset time period, dividing the time period, calculating the average IOPS value, and utilizing the changes and correlations in IOPS data, the SSD steady-state evaluation value is determined, thereby achieving dynamic steady-state detection.
It enhances the intelligence of steady-state detection in SSD devices, enabling accurate steady-state detection and quantitative evaluation of steady-state conditions.
Smart Images

Figure CN120256261B_ABST
Abstract
Description
[0001] This application is a divisional application of Chinese Patent Application No. 202411065036.8, filed with the Chinese Patent Office on August 5, 2024, entitled "Steady-state detection method, apparatus and SSD device for SSD device", the entire contents of which are incorporated herein by reference. Technical Field
[0002] This application relates to the field of storage technology or solid-state drive technology, specifically to an SSD device, a steady-state detection device, method, medium, and program product for an SSD device. Background Technology
[0003] In practical applications, solid-state drives (SSDs) are also known as solid-state drives or SSD devices, and they can be hard drives made of solid-state electronic storage chip arrays. Currently, the steady-state detection of SSD devices is not intelligent enough; therefore, improving the intelligence of steady-state detection in SSD devices is an urgent problem to be solved. Summary of the Invention
[0004] This application provides an SSD device, an SSD device steady-state detection apparatus, method, medium, and program product, which can improve the intelligence of SSD device steady-state detection.
[0005] In a first aspect, embodiments of this application provide a steady-state detection method for an SSD device, applied to an SSD device, the method comprising:
[0006] Collect IOPS data over a preset time period to obtain multiple IOPS data points;
[0007] The preset time period is divided into multiple time periods in chronological order, and the IOPS data corresponding to the multiple time periods is obtained from the multiple IOPS data to obtain multiple IOPS datasets;
[0008] Based on the multiple IOPS datasets, the average IOPS for each time period in the multiple time periods is determined, resulting in multiple average IOPS values;
[0009] The current SSD steady-state evaluation value is determined based on the multiple average IOPS values;
[0010] When the current SSD steady-state evaluation value is greater than a preset threshold, the SSD is determined to be 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] Secondly, embodiments of this application provide a steady-state detection device for an SSD device, applied to an SSD device. The device includes: a data acquisition unit, an acquisition unit, and a determination unit, wherein...
[0013] The acquisition unit is used to acquire IOPS data over a preset time period to obtain multiple IOPS data.
[0014] The acquisition unit is used to divide the preset time period into multiple time periods according to the chronological order, and to acquire the IOPS data corresponding to the multiple time periods from the multiple IOPS data to obtain multiple IOPS datasets;
[0015] The determining unit is configured to determine the average IOPS of each time period in the plurality of time periods based on the plurality of IOPS datasets, thereby obtaining a plurality of average IOPS values; determine the current SSD steady-state evaluation value based on 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.
[0016] Thirdly, embodiments of this application provide an SSD device, including a processor, a memory, a communication interface, and one or more programs, wherein the one or more programs are stored in the memory and configured to be executed by the processor, and the programs include instructions for performing the steps in the first aspect of embodiments of this application.
[0017] Fourthly, embodiments of this application provide a computer-readable storage medium storing a computer program for electronic data interchange, wherein the computer program causes a computer to perform some or all of the steps described in the first aspect of embodiments of this application.
[0018] Fifthly, embodiments of this application provide a computer program product, wherein the computer program product includes a non-transitory computer-readable storage medium storing a computer program operable to cause a computer to perform some or all of the steps described in the first aspect of embodiments of this application. The computer program product may be a software installation package.
[0019] Implementing the embodiments of this application has the following beneficial effects:
[0020] As can be seen, the SSD device, SSD steady-state detection device, method, medium, and program products described in the embodiments of this application are applied to SSD devices, collect IOPS data over a preset time period, obtain multiple IOPS data, divide the preset time period into multiple time periods according to chronological order, obtain IOPS data corresponding to multiple time periods from the multiple IOPS data, obtain multiple IOPS datasets, determine the average IOPS of each time period in the multiple time periods based on the multiple IOPS datasets, obtain multiple average IOPS values, and determine the current SSD steady-state evaluation value based on the multiple average IOPS values. When the current SSD steady-state evaluation value is greater than a preset threshold, the SSD is determined to be in a steady-state data state. When the current SSD steady-state evaluation value is less than or equal to the preset threshold, the SSD is determined to be not in a steady-state data state. In this way, dynamic steady-state detection can be achieved by using changes in IOPS data. Since IOPS data over a period of time reflects the steady-state change process, such as a change from non-steady-state to steady-state, and the correlation between IOPS data in different time periods can be used to achieve accurate steady-state evaluation, the degree of steady-state can be quantified based on the SSD steady-state evaluation value, thereby achieving accurate steady-state detection and helping to improve the intelligence of steady-state detection of SSD devices. Attached Figure Description
[0021] To more clearly illustrate the technical solutions in the embodiments of this application or the prior art, the drawings used in the description of the embodiments or the prior art will be briefly introduced below. Obviously, the drawings described below are only some embodiments of this application. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.
[0022] Figure 1 This is a flowchart illustrating a steady-state detection method for an SSD device provided in an embodiment of this application;
[0023] Figure 2 This is a flowchart illustrating another steady-state detection method for an SSD device provided in an embodiment of this application;
[0024] Figure 3 This is a schematic diagram of the structure of an SSD device provided in an embodiment of this application;
[0025] Figure 4 This is a block diagram of the functional units of a steady-state detection device for an SSD device provided in an embodiment of this application. Detailed Implementation
[0026] To enable those skilled in the art to better understand the present application, the technical solutions in the embodiments of the present application will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of the present application, and not all embodiments. Based on the embodiments in the present application, all other embodiments obtained by those of ordinary skill in the art without creative effort are within the scope of protection of the present application.
[0027] The terms "first," "second," etc., in the specification, claims, and accompanying drawings of this application are used to distinguish different objects, not to describe a specific order. Furthermore, the terms "comprising" and "having," and any variations thereof, are intended to cover non-exclusive inclusion. For example, a process, method, system, product, or apparatus that includes a series of steps or units is not limited to the listed steps or units, but may optionally include steps or units not listed, or may optionally include other steps or units inherent to these processes, methods, products, or apparatuses.
[0028] In this document, the term "embodiment" means that a particular feature, structure, or characteristic described in connection with an embodiment may be included in at least one embodiment of this application. The appearance of this phrase in various places throughout the specification does not necessarily refer to the same embodiment, nor is it a separate or alternative embodiment mutually exclusive with other embodiments. It will be explicitly and implicitly understood by those skilled in the art that the embodiments described herein can be combined with other embodiments.
[0029] In this embodiment of the application, the steady state of the SSD device can be understood as the period after which the SSD device reaches a stable performance. The steady state of the SSD device can also be referred to as the steady-state data state.
[0030] In this embodiment of the application, the number of read / write (I / O) operations per second (IOPS) can be understood as the amount of input / output (or the number of read / write operations) per second. IOPS is one of the main indicators for measuring disk performance. Of course, IOPS can also be used to implement SSD steady-state detection.
[0031] The embodiments of this application will be described in detail below.
[0032] Please see Figure 1 , Figure 1 This is a flowchart illustrating a steady-state detection method for an SSD device provided in an embodiment of this application. As shown in the figure, the method is applied to an SSD device and includes:
[0033] 101. Collect IOPS data for a preset time period to obtain multiple IOPS data.
[0034] The preset time period can be set in advance or set by the system default.
[0035] In practice, IOPS data can be collected at preset time intervals, thus obtaining multiple IOPS data. 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 according to the chronological order, and obtain the IOPS data corresponding to the multiple time periods from the multiple IOPS data to obtain multiple IOPS datasets.
[0037] In practice, a preset time period can be divided into multiple time periods in chronological order. The duration of each time period can be the same or different. Then, IOPS data corresponding to multiple time periods can be obtained from multiple IOPS data to obtain multiple IOPS datasets.
[0038] In some possible examples, the following steps may also be included:
[0039] A1. Count the number of IOPS data points within a preset range from the multiple IOPS data points to obtain the target statistical result;
[0040] A2. Determine the total number of the multiple IOPS data;
[0041] A3. Based on the target ratio between the target statistical results and the total quantity;
[0042] A4. When the target ratio is greater than a preset threshold, perform the step of dividing the preset time period into multiple time periods in chronological order.
[0043] The preset range can be set in advance or set by system default. The preset range can be understood as the average range of IOPS data during the process of changing from a non-steady-state data state to a steady-state data state, or it can be understood as the average range of IOPS data during the process of changing from a steady-state data state to a non-steady-state data state.
[0044] In specific implementation, the number of IOPS data points within a preset range can be counted to obtain the target statistical result. The total number of IOPS data points can also be determined. Then, based on the target ratio between the target statistical result and the total number (i.e., target ratio = target statistical result / total number), if the target ratio is greater than a preset threshold, it indicates a high effective proportion of IOPS data, suggesting a transition from a non-steady-state data state to a steady-state data state, or vice versa. The step of dividing the preset time period into multiple time periods in chronological order is then executed. In this way, dynamic steady-state detection can be achieved using changes in effective IOPS data. Since IOPS data over a period reflects the steady-state change process (e.g., a change from non-steady-state to steady-state), and the correlation between IOPS data in different time periods can be used to achieve accurate steady-state evaluation, the SSD steady-state evaluation value can quantify the degree of steady-state, thereby achieving accurate steady-state detection and improving the intelligence of SSD device steady-state detection.
[0045] 103. Determine the average IOPS for each time period in the multiple time periods based on the multiple IOPS datasets to obtain multiple average IOPS values.
[0046] In practice, the average IOPS of each time period in multiple time periods can be determined based on multiple IOPS datasets, thus obtaining multiple average IOPS values.
[0047] In some possible examples, step 103 above determines the average IOPS for each of the multiple time periods based on the multiple IOPS datasets, resulting in multiple average IOPS values, including:
[0048] 31. Determine the average value of IOPS values in the target IOPS dataset to obtain a reference average IOPS value; the target IOPS dataset is any one of the plurality of IOPS datasets;
[0049] 32. Count the number of IOPS data in the target IOPS dataset that are within the preset range to obtain the first statistical result;
[0050] 33. Determine the total number of IOPS in the target IOPS dataset;
[0051] 34. Based on 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 can be any IOPS dataset from multiple IOPS datasets. The average IOPS value in the target IOPS dataset can be determined to obtain a reference average IOPS value. The number of IOPS data points within a preset range in the target IOPS dataset can also be counted to obtain a first statistical result, determining the total number of IOPS in the target IOPS dataset. Based on the first ratio between the first statistical result and the total number of IOPS, the effectiveness of the IOPS data can be determined. Furthermore, a preset mapping relationship between the ratio and optimization coefficient can be pre-stored. Based on this mapping relationship, a target optimization coefficient corresponding to the first ratio can be determined. Then, the reference average IOPS value is optimized according to the target optimization coefficient to obtain the average IOPS value corresponding to the target IOPS dataset, i.e., the average IOPS value corresponding to the target IOPS dataset = (1 + target optimization coefficient) * reference average IOPS value. In this way, the effectiveness of the IOPS data can be used to dynamically optimize the average value, making it more consistent with the actual situation, thereby achieving accurate steady-state detection and helping to improve the intelligence of steady-state detection in SSD devices.
[0055] 104. Determine the current SSD steady-state evaluation value based on the multiple average IOPS values.
[0056] In practice, multiple average IOPS values have a certain degree of continuity and gradual change. For example, the transition from non-steady state to steady state is not abrupt but a gradual change. Therefore, the current steady-state evaluation value of SSD can be determined based on multiple average IOPS values.
[0057] In some possible examples, step 104 above, which determines the current SSD steady-state evaluation value based on the plurality of average IOPS values, may include the following steps:
[0058] 41. Obtain the target average IOPS value among the multiple average IOPS values, wherein the time period corresponding to the target average IOPS value is closest to the current time.
[0059] 42. Determine the reference SSD steady-state evaluation value corresponding to the target average IOPS according to the preset mapping relationship between IOPS value and SSD steady-state evaluation value;
[0060] 43. Determine multiple coordinate points based on 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 line;
[0063] 46. Determine the fitted IOPS value at the current time based on the fitted curve;
[0064] 47. Determine the target deviation between the fitted IOPS value and the target average IOPS value;
[0065] 48. Determine the target adjustment parameters corresponding to the target deviation;
[0066] 49. Determine the target fine-tuning parameters 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 this embodiment, a target average IOPS value can be obtained from multiple average IOPS values, and the time period corresponding to the target average IOPS value is closest to the current time. A preset mapping relationship between IOPS values and SSD steady-state evaluation values can also be stored in advance. The SSD steady-state evaluation value is used to evaluate the degree of steady-state operation, and a reference SSD steady-state evaluation value corresponding to the target average IOPS is determined according to this mapping relationship.
[0069] Next, multiple coordinate points can be determined based on multiple average IOPS values and corresponding time periods. The horizontal axis of each coordinate point represents time, and the vertical axis represents the IOPS value. Each coordinate point corresponds to an average IOPS value and a time point, which is the midpoint of the time period corresponding to that average IOPS value. Then, the multiple coordinate points are fitted to obtain a fitted straight line and a fitted curve. The fitted straight line reflects the velocity trend of steady-state change, and the fitted curve reflects the outcome trend of steady-state change.
[0070] Specifically, the target slope of the fitted line can be obtained, and the fitted IOPS value at the current moment can be determined based on the fitted curve. The target deviation between the fitted IOPS value and the target average IOPS value can also be determined. The target deviation is calculated as (fitted IOPS value - target average IOPS value) / (fitted IOPS value + target average IOPS value). Since steady state is also a dynamic process, the actual IOPS value can be predicted using the fitted curve. However, since IOPS is collected at preset time intervals, the actual IOPS value at the current moment may not be exactly captured. Therefore, by using the fitted curve, the IOPS value at the current moment can be accurately predicted. The target average IOPS value is the average IOPS value over the most recent time period, which better reflects the current situation. The deviation reflects the trend of IOPS value changes over a short period.
[0071] Furthermore, a pre-stored mapping relationship between the deviation and the adjustment parameter can be stored, with the adjustment parameter ranging from -0.1 to 0.1. Based on this mapping relationship, the target adjustment parameter corresponding to the target deviation is determined. Similarly, a pre-stored mapping relationship between the slope and the fine-tuning parameter can be stored, with the fine-tuning parameter ranging from -0.02 to 0.02. Based on this mapping relationship, the target fine-tuning parameter corresponding to the target slope is determined. 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, i.e., the current SSD steady-state evaluation value = (1 + target adjustment parameter) * ( (1+Target fine-tuning parameters), where deviation represents not only the degree of deviation but also the direction of deviation. By determining the corresponding adjustment parameters through deviation, the gap between prediction and reality can be narrowed. The fitted straight line reflects the speed trend of steady-state change, while the slope reflects its steady-state change rhythm. Furthermore, considering the correlation between different time periods, the gap between prediction and reality is narrowed again. This further helps to achieve accurate steady-state evaluation by utilizing the correlation between IOPS data between different time periods. Based on the SSD steady-state evaluation value, the degree of steady-state can be quantified, thereby achieving accurate steady-state detection and helping to improve the intelligence of steady-state detection of SSD devices.
[0072] In some possible examples, step 49 above, which determines the target fine-tuning parameters corresponding to the target slope, may include the following steps:
[0073] 491. Determine the reference fine-tuning parameters corresponding to the target slope;
[0074] 492. Determine the increment between two adjacent average IOPS values based on the multiple average IOPS values to obtain multiple increments;
[0075] 493. Determine the target mean square error corresponding to the plurality of increments;
[0076] 494. Determine the 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 this embodiment, a pre-stored mapping relationship between a slope and a fine-tuning parameter can be used. Then, a reference fine-tuning parameter corresponding to the target slope can be determined based on the mapping relationship. Next, the increment between two adjacent average IOPS values can be determined based on 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 pattern to a certain extent. The target mean square error corresponding to multiple increments can also be determined. The mean square error reflects the stability of the steady-state stage change to a certain extent.
[0079] Furthermore, a pre-stored mapping relationship between the mean square error and the feedback adjustment parameter can be established. Based on this mapping relationship, a target feedback adjustment parameter corresponding to the target mean square error can be determined. This feedback adjustment parameter can suppress interference in the steady-state change evaluation process (which is caused by the properties 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, i.e., target fine-tuning parameter = (1 + target feedback adjustment parameter) * reference fine-tuning parameter. In this way, the corresponding feedback adjustment parameter can be determined by the smoothness of the steady-state stage change to suppress interference in the steady-state change evaluation process. This helps to achieve accurate steady-state detection and improve the intelligence of steady-state detection of SSD devices.
[0080] 105. When the current SSD steady-state evaluation value is greater than a preset threshold, the SSD is determined to be in a steady-state data state.
[0081] The preset threshold can be set in advance or set by system default. When the current SSD steady-state evaluation value is greater than the preset threshold, the SSD is determined to be in a steady-state data state. In this way, dynamic steady-state detection can be achieved by utilizing changes in IOPS data. Since IOPS data over a period of time reflects the steady-state change process, such as a change from non-steady-state to steady-state, and the correlation between IOPS data over different time periods can be used to achieve accurate steady-state evaluation, the degree of steady-state can be quantified based on the SSD steady-state evaluation value, thereby achieving accurate steady-state detection and helping to improve the intelligence of steady-state detection in SSD devices.
[0082] In some possible examples, the following steps may also 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 parameter, the target weight pair including 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;
[0088] B6. Perform a weighted operation based on the first threshold, the second threshold, and the target weight 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 here. 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 here. The target physical environment parameters may include at least one of the following: ambient temperature, ambient humidity, magnetic field interference intensity, ambient light intensity, etc., which are not limited here.
[0090] In specific implementation, the target hardware environment parameters and target software environment parameters of the SSD device can be obtained. Furthermore, a pre-stored mapping relationship between preset hardware environment parameters and thresholds can be used to determine a first threshold corresponding to the target hardware environment parameters. Similarly, a pre-stored mapping relationship between preset software environment parameters and thresholds can be used to determine a second threshold corresponding to the target software environment parameters. The target physical environment parameters of the SSD device can also be obtained, along with a pre-stored mapping relationship between preset physical environment parameters and weight pairs. Based on this mapping relationship, a target weight pair corresponding to the target physical environment parameters can be determined. The target weight pair includes a first target weight and a second target weight. The first target weight is the weight corresponding to the target hardware environment parameters, and the second target weight is the weight corresponding to the target software environment parameters. The sum of the first target weight and the second target weight equals 1.
[0091] Next, a weighted operation can be performed based on the first threshold, the second threshold, and the target weight pair to obtain the preset threshold, i.e., preset threshold = first threshold * target first weight + second threshold * target second weight. In this way, on the one hand, the threshold corresponding to the hardware environment parameters and software environment parameters can be obtained, and on the other hand, the weight pair corresponding to the physical environment parameters can also be obtained. Then, based on the threshold corresponding to the hardware environment parameters and software environment parameters and the weight pair, the 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 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 practice, when the current SSD steady-state evaluation value is less than or equal to a preset threshold, it can be determined that the SSD is not in a steady-state data state, that is, in a non-steady-state data state.
[0094] As can be seen, the steady-state detection method for SSD devices described in this application embodiment is applied to SSD devices. It collects IOPS data over a preset time period, obtaining multiple IOPS data points. The preset time period is divided into multiple time segments according to chronological order. IOPS data corresponding to each time segment is obtained from the multiple IOPS data points, resulting in multiple IOPS datasets. The average IOPS for each time segment within the multiple time segments is determined based on the multiple IOPS datasets, resulting in multiple average IOPS values. The current SSD steady-state evaluation value is determined based on these multiple average IOPS values. When the current SSD steady-state evaluation value is greater than a preset threshold, the SSD is determined to be in a steady-state data state. When the current SSD steady-state evaluation value is less than or equal to the preset threshold, the SSD is determined to be not in a steady-state data state. Thus, dynamic steady-state detection can be achieved using changes in IOPS data. Since IOPS data over a period of time reflects the steady-state change process (e.g., from non-steady-state to steady-state), and the correlation between IOPS data from different time segments can be used to achieve accurate steady-state evaluation, the degree of steady-state can be quantified based on the SSD steady-state evaluation value, thereby achieving accurate steady-state detection and helping to improve the intelligence of SSD device steady-state detection.
[0095] Please see Figure 2 , Figure 2 This is a flowchart illustrating a steady-state detection method for an SSD device provided in an embodiment of this application. As shown in the figure, the method is applied to an SSD device and includes:
[0096] 201. Collect IOPS data for a preset time period to obtain multiple IOPS data.
[0097] 202. Count the number of IOPS data within a preset range among the multiple IOPS data to obtain the target statistical result.
[0098] 203. Determine the total number of the multiple IOPS data.
[0099] 204. The target ratio between the target statistical results and the total quantity.
[0100] 205. When the target ratio is greater than a preset threshold, the preset time period is divided into multiple time periods in chronological order, and the IOPS data corresponding to the multiple time periods is obtained from the multiple IOPS data to obtain multiple IOPS datasets.
[0101] 206. Determine the average IOPS for each time period in the multiple time periods based on the multiple IOPS datasets to obtain multiple average IOPS values.
[0102] 207. Determine the current SSD steady-state evaluation value based on the multiple average IOPS values.
[0103] 208. When the current SSD steady-state evaluation value is greater than a preset threshold, the SSD is determined to be 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, it is determined that the SSD is not in the steady-state data state.
[0105] The specific descriptions of steps 201-209 above can be found in the above descriptions. Figure 1 The corresponding steps of the described steady-state detection method for SSD devices will not be repeated here.
[0106] As can be seen, the steady-state detection method for SSD devices described in this application embodiment is applied to SSD devices. It collects IOPS data over a preset time period, obtaining multiple IOPS data points. It then counts the number of IOPS data points within a preset range to obtain a target statistical result, determines the total number of IOPS data points, and, based on a target ratio between the target statistical result and the total number, divides the preset time period into multiple time periods in chronological order when the target ratio exceeds a preset threshold. It then obtains IOPS data corresponding to each time period from the multiple IOPS data points, obtaining multiple IOPS datasets. Finally, it determines the average IOPS for each time period within the multiple IOPS datasets, resulting in multiple... The average IOPS value is used to determine the current SSD steady-state evaluation value. When the current SSD steady-state evaluation value is greater than a preset threshold, the SSD is determined to be in a steady-state data state. When the current SSD steady-state evaluation value is less than or equal to the preset threshold, the SSD is determined to be not in a steady-state data state. In this way, dynamic steady-state detection can be achieved by using changes in IOPS data. Since IOPS data over a period of time reflects the steady-state change process, such as the change from non-steady-state to steady-state, and the correlation between IOPS data over different time periods can be used to achieve accurate steady-state evaluation, the degree of steady-state can be quantified based on the SSD steady-state evaluation value, thereby achieving accurate steady-state detection and helping to improve the intelligence of steady-state detection of SSD devices.
[0107] Consistent with the above embodiments, please refer to Figure 3 , Figure 3 This is a schematic diagram of an SSD device according to an embodiment of this application. As shown in the figure, the SSD device includes a processor, a memory, a communication interface, and one or more programs. The one or more programs are stored in the memory and configured to be executed by the processor. In this embodiment, the programs include instructions for performing the following steps:
[0108] Collect IOPS data over a preset time period to obtain multiple IOPS data points;
[0109] The preset time period is divided into multiple time periods in chronological order, and the IOPS data corresponding to the multiple time periods is obtained from the multiple IOPS data to obtain multiple IOPS datasets;
[0110] Based on the multiple IOPS datasets, the average IOPS for each time period in the multiple time periods is determined, resulting in multiple average IOPS values;
[0111] The current SSD steady-state evaluation value is determined based on the multiple average IOPS values;
[0112] When the current SSD steady-state evaluation value is greater than a preset threshold, the SSD is determined to be 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, regarding the determination of the current SSD steady-state evaluation value based on the plurality of average IOPS values, the above procedure includes instructions for performing the following steps:
[0115] Obtain the target average IOPS value from the plurality of average IOPS values, wherein the time period corresponding to the target average IOPS value is closest to the current time.
[0116] The reference SSD steady-state evaluation value corresponding to the target average IOPS is determined according to the preset mapping relationship between IOPS value and SSD steady-state evaluation value;
[0117] Multiple coordinate points are determined based on 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] By fitting the multiple coordinate points, a fitted straight line and a fitted curve are obtained;
[0119] Obtain the target slope of the fitted line;
[0120] The fitted IOPS value at the current time is determined based on the fitted curve;
[0121] Determine the target deviation between the fitted IOPS value and the target average IOPS value;
[0122] Determine the target adjustment parameters corresponding to the target deviation;
[0123] Determine the target fine-tuning parameters corresponding to the target slope;
[0124] 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.
[0125] In some possible examples, the above procedure includes instructions for performing the following steps in relation to determining the target fine-tuning parameters corresponding to the target slope:
[0126] Determine the reference fine-tuning parameters corresponding to the target slope;
[0127] Based on the multiple average IOPS values, the increment between two adjacent average IOPS values is determined to obtain multiple increments;
[0128] Determine the target mean square error corresponding to the plurality of increments;
[0129] Determine the target feedback adjustment parameter corresponding to the target mean square error;
[0130] The reference fine-tuning parameter is adjusted according to the target feedback adjustment parameter to obtain the target fine-tuning parameter.
[0131] In some possible examples, the above procedure may also include instructions for performing the following steps:
[0132] Obtain the target hardware environment parameters and target software environment parameters of the SSD device;
[0133] Determine a first threshold corresponding to the target hardware environment parameters;
[0134] Determine a second threshold corresponding to the target software environment parameters;
[0135] Obtain the target physical environment parameters of the SSD device;
[0136] Determine a target weight pair corresponding to the target physical environment parameter, the target weight pair including 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;
[0137] The preset threshold is obtained by performing a weighted operation on the first threshold, the second threshold, and the target weight.
[0138] In some possible examples, the above procedure may also include instructions for performing the following steps:
[0139] The number of IOPS data points within a preset range is counted to obtain the target statistical result;
[0140] Determine the total number of the multiple IOPS data;
[0141] Based on the target ratio between the target statistical results and the total quantity;
[0142] When the target ratio is greater than a preset threshold, the step of dividing the preset time period into multiple time periods in chronological order is executed.
[0143] As can be seen, the SSD device described in this application embodiment collects IOPS data over a preset time period, obtaining multiple IOPS data points. The preset time period is divided into multiple time periods according to chronological order. IOPS data corresponding to multiple time periods is obtained from the multiple IOPS data points, resulting in multiple IOPS datasets. The average IOPS of each time period within the multiple time periods is determined based on the multiple IOPS datasets, resulting in multiple average IOPS values. The current SSD steady-state evaluation value is determined based on the multiple average IOPS values. When the current SSD steady-state evaluation value is greater than a preset threshold, the SSD is determined to be in a steady-state data state. When the current SSD steady-state evaluation value is less than or equal to the preset threshold, the SSD is determined to be not in a steady-state data state. In this way, dynamic steady-state detection can be achieved using changes in IOPS data. Since IOPS data over a period of time reflects the steady-state change process, such as a change from non-steady-state to steady-state, and the correlation between IOPS data in different time periods can be used to achieve accurate steady-state evaluation, the degree of steady-state can be quantified based on the SSD steady-state evaluation value, thereby achieving accurate steady-state detection and helping to improve the intelligence of steady-state detection in SSD devices.
[0144] Figure 4 This is a functional unit block diagram of a steady-state detection device 400 for an SSD device according to an embodiment of this application. The steady-state detection device 400 is applied to an SSD device and includes: a collection unit 401, an acquisition unit 402, and a determination unit 403.
[0145] The acquisition unit 401 is used to acquire IOPS data over a preset time period to obtain multiple IOPS data.
[0146] The acquisition unit 402 is used to divide the preset time period into multiple time periods according to the chronological order, and to acquire the IOPS data corresponding to the multiple time periods from the multiple IOPS data to obtain multiple IOPS datasets.
[0147] The determining unit 403 is configured to determine the average IOPS of each time period in the plurality of time periods based on the plurality of IOPS datasets, thereby obtaining a plurality of average IOPS values; determine the current SSD steady-state evaluation value based on 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 determining the current SSD steady-state evaluation value based on the plurality of average IOPS values, the determining unit 403 is specifically used for:
[0149] Obtain the target average IOPS value from the plurality of average IOPS values, wherein the time period corresponding to the target average IOPS value is closest to the current time.
[0150] The reference SSD steady-state evaluation value corresponding to the target average IOPS is determined according to the preset mapping relationship between IOPS value and SSD steady-state evaluation value;
[0151] Multiple coordinate points are determined based on 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] By fitting the multiple coordinate points, a fitted straight line and a fitted curve are obtained;
[0153] Obtain the target slope of the fitted line;
[0154] The fitted IOPS value at the current time is determined based on the fitted curve;
[0155] Determine the target deviation between the fitted IOPS value and the target average IOPS value;
[0156] Determine the target adjustment parameters corresponding to the target deviation;
[0157] Determine the target fine-tuning parameters corresponding to the target slope;
[0158] 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.
[0159] In some possible examples, the determining unit 403 is specifically used for determining the target fine-tuning parameters corresponding to the target slope in the following ways:
[0160] Determine the reference fine-tuning parameters corresponding to the target slope;
[0161] Based on the multiple average IOPS values, the increment between two adjacent average IOPS values is determined to obtain multiple increments;
[0162] Determine the target mean square error corresponding to the plurality of increments;
[0163] Determine the target feedback adjustment parameter corresponding to the target mean square error;
[0164] The reference fine-tuning parameter is adjusted 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 also specifically used for:
[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 parameter, the target weight pair including 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;
[0171] The preset threshold is obtained by performing a weighted operation on the first threshold, the second threshold, and the target weight.
[0172] In some possible examples, the steady-state detection device 400 of the SSD device is also specifically used for:
[0173] The number of IOPS data points within a preset range is counted to obtain the target statistical result;
[0174] Determine the total number of the multiple IOPS data;
[0175] Based on the target ratio between the target statistical results and the total quantity;
[0176] When the target ratio is greater than a preset threshold, the step of dividing the preset time period into multiple time periods in chronological order is executed.
[0177] As can be seen, the SSD steady-state detection device described in this embodiment is applied to an SSD device, collects IOPS data over a preset time period to obtain multiple IOPS data, divides the preset time period into multiple time periods according to chronological order, obtains IOPS data corresponding to multiple time periods from the multiple IOPS data, obtains multiple IOPS datasets, determines the average IOPS of each time period in the multiple time periods based on the multiple IOPS datasets, obtains multiple average IOPS values, determines the current SSD steady-state evaluation value based on 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 a 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 utilizing changes in IOPS data. Since IOPS data over a period of time reflects the steady-state change process, such as a change from non-steady-state to steady-state, and the correlation between IOPS data in different time periods can be used to achieve accurate steady-state evaluation, the degree of steady-state can be quantified based on the SSD steady-state evaluation value, thereby achieving accurate steady-state detection and helping to improve the intelligence of steady-state detection of SSD devices.
[0178] It is understood that the functions of each program module of the SSD device steady-state detection device in this embodiment can be specifically implemented according to the methods in the above method embodiments. The specific implementation process can be referred to the relevant descriptions in the above method embodiments, and will not be repeated here.
[0179] This application also provides a computer storage medium storing a computer program for electronic data interchange, which causes a computer to perform some or all of the steps of any of the methods described in the above method embodiments.
[0180] This application also provides a computer program product, which includes a non-transitory computer-readable storage medium storing a computer program operable to cause a computer to perform some or all of the steps of any of the methods described in the above method embodiments. This computer program product can be a software installation package.
[0181] It should be noted that, for the sake of simplicity, the foregoing method embodiments are all described as a series of actions. However, those skilled in the art should understand that this application is not limited to the described order of actions, as some steps may be performed in other orders or simultaneously according to this application. Furthermore, those skilled in the art should also understand that the embodiments described in the specification are preferred embodiments, and the actions and modules involved are not necessarily essential to this application.
[0182] In the above embodiments, the descriptions of each embodiment have different focuses. For parts not described in detail in a certain embodiment, please refer to the relevant descriptions in other embodiments.
[0183] In the several embodiments provided in this application, it should be understood that the disclosed apparatus can be implemented in other ways. For example, the apparatus embodiments described above are merely illustrative; for instance, the division of the units described above is only a logical functional division, and in actual implementation, there may be other division methods. For example, multiple units or components may be combined or integrated into another system, or some features may be ignored or not executed. Furthermore, the coupling or direct coupling or communication connection shown or discussed may be through some interfaces; the indirect coupling or communication connection between devices or units may be electrical or other forms.
[0184] The units described above as separate components may or may not be physically separate. The components shown as units may or may not be physical units; that is, they may be located in one place or distributed across multiple network units. Some or all of the units can be selected to achieve the purpose of this embodiment according to actual needs.
[0185] Furthermore, the functional units in the various embodiments of this application can be integrated into one processing unit, or each unit can exist physically separately, or two or more units can be integrated into one unit. The integrated unit can be implemented in hardware or as a software functional unit.
[0186] If the integrated units described above are implemented as software functional units and sold or used as independent products, they can be stored in a computer-readable storage device (CMD). Based on this understanding, the technical solution of this 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 to cause a computer device (which may be a personal computer, server, or network device, etc.) to execute all or part of the steps of the methods described in the various embodiments of this application. The aforementioned memory includes various media capable of storing program code, such as USB flash drives, read-only memory (ROM), random access memory (RAM), portable hard drives, magnetic disks, or optical disks.
[0187] Those skilled in the art will understand that all or part of the steps in the various methods of the above embodiments can be implemented by a program instructing related hardware. The program can be stored in a computer-readable storage medium, which may include: flash drive, read-only memory (ROM), random access memory (RAM), disk or optical disk, etc.
[0188] The embodiments of this application have been described in detail above. Specific examples have been used to illustrate the principles and implementation methods of this application. The description of the above embodiments is only for the purpose of helping to understand the method and core ideas of this application. At the same time, for those skilled in the art, there will be changes in the specific implementation methods and application scope based on the ideas of this application. Therefore, the content of this specification should not be construed as a limitation of this application.
Claims
1. A steady-state detection device for an SSD device, characterized in that, Applied to SSD devices, the device includes: a collection unit, an acquisition unit, and a determination unit, wherein, The acquisition unit is used to acquire IOPS data over a preset time period to obtain multiple IOPS data. The acquisition unit is used to divide the preset time period into multiple time periods according to the chronological order, and to acquire the IOPS data corresponding to the multiple time periods from the multiple IOPS data to obtain multiple IOPS datasets; The determining unit is configured to determine the average IOPS of each time period in the plurality of time periods based on the plurality of IOPS datasets, thereby obtaining a plurality of average IOPS values; determine the current SSD steady-state evaluation value based on 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. Specifically, the steady-state detection device of the SSD device is also used for: The number of IOPS data points within a preset range is counted to obtain the target statistical result; Determine the total number of the multiple IOPS data; Based on the target ratio between the target statistical results and the total quantity; When the target ratio is greater than a preset threshold, the step of dividing the preset time period into multiple time periods in chronological order is executed.
2. The apparatus according to claim 1, characterized in that, In determining the current SSD steady-state evaluation value based on the plurality of average IOPS values, the determining unit is specifically used for: Obtain the target average IOPS value from the plurality of average IOPS values, wherein the time period corresponding to the target average IOPS value is closest to the current time. The reference SSD steady-state evaluation value corresponding to the target average IOPS is determined according to the preset mapping relationship between IOPS value and SSD steady-state evaluation value; Multiple coordinate points are determined based on 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. By fitting the multiple coordinate points, a fitted straight line and a fitted curve are obtained; Obtain the target slope of the fitted line; The fitted IOPS value at the current time is determined based on the fitted curve; Determine the target deviation between the fitted IOPS value and the target average IOPS value; Determine the target adjustment parameters corresponding to the target deviation; Determine the target fine-tuning parameters corresponding to the target slope; 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.
3. The apparatus according to claim 2, characterized in that, In determining the target fine-tuning parameters corresponding to the target slope, the determining unit is specifically used for: Determine the reference fine-tuning parameters corresponding to the target slope; Based on the multiple average IOPS values, the increment between two adjacent average IOPS values is determined to obtain multiple increments; Determine the target mean square error corresponding to the plurality of increments; Determine the target feedback adjustment parameter corresponding to the target mean square error; The reference fine-tuning parameter is adjusted according to the target feedback adjustment parameter to obtain the target fine-tuning parameter.
4. The apparatus according to any one of claims 1-3, characterized in that, The device is also specifically used for: Obtain the 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 the target physical environment parameters of the SSD device; Determine a target weight pair corresponding to the target physical environment parameter, the target weight pair including 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; The preset threshold is obtained by performing a weighted operation on the first threshold, the second threshold, and the target weight.
5. A steady-state detection method for an SSD device, characterized in that, Applied to SSD devices, the method includes: Collect IOPS data over a preset time period to obtain multiple IOPS data points; The preset time period is divided into multiple time periods in chronological order, and the IOPS data corresponding to the multiple time periods is obtained from the multiple IOPS data to obtain multiple IOPS datasets; Based on the multiple IOPS datasets, the average IOPS for each time period in the multiple time periods is determined, resulting in multiple average IOPS values; The current SSD steady-state evaluation value is determined based on the multiple average IOPS values; When the current SSD steady-state evaluation value is greater than a preset threshold, the SSD is determined to be in a steady-state data state. 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; The method further includes: The number of IOPS data points within a preset range is counted to obtain the target statistical result; Determine the total number of the multiple IOPS data; Based on the target ratio between the target statistical results and the total quantity; When the target ratio is greater than a preset threshold, the step of dividing the preset time period into multiple time periods in chronological order is executed.
6. 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 perform the method as described in claim 5.
7. A computer program product, characterized in that, The method includes a computer program 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 perform the method of claim 5.