Solid-state drive performance fluctuation testing method, device, equipment and storage medium
By generating test action sequences and calculating the changes in storage performance indicators, the problem of low efficiency and accuracy in solid-state drive performance testing is solved, and automated and standardized performance fluctuation evaluation is realized, and testing efficiency and accuracy are improved.
Patent Information
- Application Number
- CN202510712897.9
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2025-05-29
- Publication Date
- 2025-08-19
- Estimated Expiration
- 2045-05-29
AI Technical Summary
In the prior art, solid-state drive performance testing relies on manual operation, resulting in low testing efficiency and accuracy, and the inability to objectively evaluate performance fluctuations.
By generating the test action sequence corresponding to the performance test instructions, calling the test tool to execute the test action sequence, obtaining storage performance indicators, and calculating performance fluctuations based on the metric changes, realizing an automated and standardized test process.
It improves the efficiency and accuracy of solid-state drive performance testing, eliminates the impact of manual operation differences on the test results, and realizes an objective evaluation of performance fluctuations.
Smart Images

Figure CN120236639B_ABST
Abstract
Description
Technical Field
[0001] The present application relates to the field of performance testing technology, and in particular to a method, apparatus, device, and storage medium for testing performance fluctuations of a solid-state drive. Background Art
[0002] With the rapid development of non-volatile flash memory (NAND Flash) technology, the performance and reliability of solid state drives (SSDs) have become key factors in market competition.
[0003] Because SSD performance is affected by the inherent characteristics of NAND flash memory, testing is typically required to determine the extent of the impact. Currently, testing for the extent of SSD performance impact relies heavily on the testing experience of relevant personnel, who perform data read and write operations on the SSD and observe the SSD's performance during the data read and write process.
[0004] However, the data reading and writing operation process and performance observation of manual testing are highly subjective and cannot guarantee testing efficiency and accuracy. Summary of the Invention
[0005] The present application provides a solid-state hard drive performance fluctuation testing method, apparatus, device and storage medium to at least solve the problems of low testing efficiency and accuracy in related technologies.
[0006] This application provides a method for testing solid-state drive performance fluctuations, including:
[0007] According to the performance test instruction, generate a test action sequence corresponding to the performance test instruction;
[0008] Call the test tool to execute the test action sequence on the solid-state drive to be tested;
[0009] Obtaining storage performance indicators of the solid-state drive to be tested during the execution of the test action sequence;
[0010] Based on the change in storage performance indicators, the performance fluctuation test results of the solid-state drive to be tested are calculated.
[0011] The present application also provides a solid-state drive performance fluctuation testing device, comprising:
[0012] The first generating module is used to generate a test action sequence corresponding to the performance test instruction according to the performance test instruction;
[0013] An execution module is used to call a test tool to execute a test action sequence on the solid-state drive to be tested;
[0014] An acquisition module is used to obtain the storage performance index of the solid-state drive to be tested during the execution of the test action sequence;
[0015] The calculation module is used to calculate the performance fluctuation test result of the solid-state drive to be tested based on the change amount of the storage performance index.
[0016] The present application also provides an electronic device, comprising: a memory for storing a computer program; and a processor for implementing the steps of any of the above-mentioned solid-state hard drive performance fluctuation testing methods when executing the computer program.
[0017] The present application also provides a computer-readable storage medium, in which a computer program is stored. When the computer program is executed by a processor, the steps of any of the above-mentioned solid-state hard drive performance fluctuation testing methods are implemented.
[0018] The present application also provides a computer program product, including a computer program, which implements the steps of any of the above-mentioned solid-state hard drive performance fluctuation testing methods when executed by a processor.
[0019] This application generates a corresponding test action sequence based on performance test instructions, organizes multiple test actions into a repeatable standardized test process, eliminates the impact of differences in manually executed test operations on test results, and calculates the performance fluctuation test results of the solid-state hard drive to be tested based on the change in the storage performance indicators of the solid-state hard drive to be tested during the execution of the test action sequence. On the basis of sufficient data support, an objective evaluation of the performance fluctuation of the solid-state hard drive is achieved, and the automation and standardization of the test are jointly realized from both the test process and result evaluation aspects, thereby improving the efficiency and accuracy of the test. BRIEF DESCRIPTION OF THE DRAWINGS
[0020] In order to more clearly illustrate the embodiments of the present application, the following is a brief introduction to the drawings required for use in the embodiments. Obviously, the drawings described below are only some embodiments of the present application. For ordinary technicians in this field, other drawings can be obtained based on these drawings without any creative work.
[0021] Figure 1 A flow chart of a method for testing solid-state drive performance fluctuations provided in an embodiment of the present application;
[0022] Figure 2 A schematic diagram of an application scenario provided in an embodiment of the present application;
[0023] Figure 3 A schematic diagram of a read disturbance test process provided in an embodiment of the present application;
[0024] Figure 4A schematic diagram of a data retention capability test process provided in an embodiment of the present application;
[0025] Figure 5 A schematic diagram of the structure of a solid-state drive performance fluctuation testing device provided in an embodiment of the present application. DETAILED DESCRIPTION
[0026] The following will be combined with the accompanying drawings in the embodiments of this application to clearly and completely describe the technical solutions in the embodiments of this application. Obviously, the embodiments described are only part of the embodiments of this application, not all of them. Based on the embodiments in this application, all other embodiments obtained by ordinary technicians in this field without making creative efforts are within the scope of protection of this application.
[0027] It should be noted that, in the description of this application, the terms "comprises," "includes," or any other variations thereof are intended to cover non-exclusive inclusion, such that a process, method, article, or device comprising a series of elements includes not only those elements, but also other elements not explicitly listed, or elements inherent to such process, method, article, or device. The terms "first," "second," etc., in this application are used to distinguish similar objects, and are not used to describe a particular order or sequence.
[0028] In order to enable those skilled in the art to better understand the present application, the present application is further described in detail below with reference to the accompanying drawings and specific implementation methods.
[0029] Figure 1 This is a flow chart of the solid state drive performance fluctuation test method provided in the embodiment of the present application. This method can be applied to Figure 2 The application scenario shown includes a server 21 and a terminal 22, wherein the server 21 is installed with a solid-state drive to be tested; the terminal 22 is communicatively connected to the server 21, and is used to perform test actions on the solid-state drive to be tested and obtain corresponding test data.
[0030] Terminal 22 can be a device with data processing capabilities, such as a smartphone, PDA, tablet, desktop, laptop, or all-in-one computer. A solid-state drive (SSD) complies with a specified communication protocol and is equipped with key hardware components, including non-volatile NAND memory chips and a controller. Capacities include 0.96TB, 1.60TB, 3.2TB, 3.84TB, 6.40TB, 7.68TB, 12.8TB, and 15.36TB. This product can be plugged into a server for data transport and storage in various business scenarios.
[0031] It is understandable that the solid-state drive performance fluctuation testing method provided in the embodiment of the present application can also be applied in other scenarios.
[0032] The following combination Figure 2 The application scenario shown is Figure 1 The following describes a method for testing the performance fluctuation of a solid-state drive. The method includes the following specific steps:
[0033] S101. Generate a test action sequence corresponding to the performance test instruction according to the performance test instruction.
[0034] The performance test instruction refers to a control command that triggers a solid-state drive performance test. The instruction can be input by a user through a terminal user interface or automatically generated by a preset script.
[0035] A test action sequence is an ordered set of test steps, including multiple test operation steps, such as initialization operation, data writing operation, reading operation, etc.
[0036] After receiving the performance test instruction, the terminal identifies the performance test instruction and generates a test action sequence. The test action sequence is used to implement the test process required by the performance test instruction.
[0037] S102: Calling a test tool to execute the test action sequence on the solid state drive to be tested.
[0038] The terminal establishes a communication channel with the solid-state drive to be tested in the server through a specified communication protocol, and issues corresponding control instructions to the solid-state drive to be tested based on the test action sequence, so that the specified test steps are executed in sequence according to the action execution order in the test action sequence.
[0039] Specifically, a test tool, such as Fio, is installed on the terminal. The terminal calls the test tool to execute the test action sequence on the solid state drive to be tested.
[0040] For example, the test action sequence can enable Fio to perform a multi-threaded / process I / O load mode on the solid-state drive to be tested according to the specified I / O type, so as to implement multiple test actions in the test action sequence.
[0041] S103: Acquire storage performance indicators of the solid-state drive to be tested during the execution of the test action sequence.
[0042] The storage performance index is used to characterize the performance of the solid-state drive to be tested during the execution of the test action sequence.
[0043] Optionally, storage performance indicators include quantitative indicators such as data read bandwidth value in the time series dimension, data read efficiency (Input / Output Operations Per Second, IOPS), latency distribution, and statistics of abnormal events.
[0044] S104: Calculate and obtain a performance fluctuation test result of the solid-state drive to be tested based on the change in the storage performance indicator.
[0045] Specifically, based on the change in storage performance indicators, the performance change of the solid-state drive to be tested during the execution of the test action sequence is determined to obtain the performance fluctuation test results of the solid-state drive to be tested, such as the decrease in data reading bandwidth value, the decrease in data reading efficiency, etc.
[0046] Among them, statistical methods such as standard deviation calculation and linear regression analysis can be used to process storage performance indicators, generate a time-series change chart of data transmission rate, and identify key inflection points and other performance mutation moments for annotation and further statistical analysis to obtain performance fluctuation test results.
[0047] The disclosed embodiment generates a corresponding test action sequence according to performance test instructions, organizes multiple test actions into a repeatable standardized test process, eliminates the impact of differences in manually executed test operations on test results, and calculates the performance fluctuation test results of the solid-state hard disk to be tested based on the change in the storage performance indicators of the solid-state hard disk to be tested during the execution of the test action sequence. On the basis of sufficient data support, an objective evaluation of the performance fluctuation of the solid-state hard disk is achieved, and the automation and standardization of the test are jointly achieved from both the test process and the result evaluation, thereby improving the efficiency and accuracy of the test.
[0048] In some embodiments, a test action sequence corresponding to the performance test instruction is generated based on the performance test instruction, including: determining the performance test type and performance test requirements corresponding to the performance test instruction; determining the target sequence template corresponding to the performance test instruction based on the performance test type; and adjusting the test action and / or action parameters in the target sequence template based on the performance test requirements to obtain a test action sequence corresponding to the performance test instruction.
[0049] The performance test type refers to a read disturbance test or a data retention test.
[0050] The performance test type is identified by a keyword or parameter in the performance test instruction. For example, the performance test type is determined by the field “Read Disturb” in the performance test instruction.
[0051] Performance testing requirements are specific requirements for the test actions included in a test action sequence, or specific requirements for the execution parameters of any test action. For example, the execution time of a test action, the data block size or queue depth when reading or writing data, etc.
[0052] The target sequence template is a pre-set test step framework, which may include multiple test actions, the execution order of each test action, placeholders for action parameters, and the like.
[0053] A plurality of preset sequence templates are pre-set, and each preset sequence template corresponds to a different performance test type.
[0054] When a performance test instruction is received, a target sequence template is determined from multiple preset sequence templates based on the performance test type. Furthermore, based on the performance test requirements, test actions in the target sequence template are added, deleted, or replaced, and / or action parameters in the test actions are modified, ultimately resulting in a test action sequence that meets the performance test type and requirements.
[0055] For example, for a read disturb test that requires high load testing, a "full disk write" operation is added before the data read operation in the target sequence template corresponding to the read disturb test, placing the SSD under test in a high load state before the data read operation begins. Alternatively, for a read disturb test that requires extended data read time, the data read time in the target sequence template corresponding to the read disturb test is increased from the original 3 hours to 6 hours. It is understood that the specific test action adjustments and action parameter adjustments are determined based on the performance requirements test.
[0056] The disclosed embodiment matches the target sequence template according to the performance test type, and further adjusts the target sequence template as needed according to the performance test requirements to obtain a test action sequence. On the basis of the benchmark test action provided by the target sequence template, the test action sequence can adapt to the changing performance test requirements, so that the test method can adapt to various performance test scenarios, thereby improving the flexibility of the performance fluctuation test method.
[0057] In some embodiments, when the performance test instruction is a read interference test instruction, generating a test action sequence corresponding to the performance test instruction according to the performance test instruction includes: generating a first test action sequence according to the read interference test instruction. The first test action sequence includes: performing a low-level format on the solid-state drive to be tested; writing data to the solid-state drive to be tested based on a sequential data write operation until the solid-state drive to be tested reaches a full load state; continuously performing a sequential data read operation on the fully loaded solid-state drive to be tested within a first preset time period; and continuously performing a random data read operation on the fully loaded solid-state drive to be tested within a second preset time period.
[0058] Read disturb refers to the situation in NAND flash solid-state drives where frequent reading of data in a certain area can cause errors in the data of adjacent storage cells.
[0059] Figure 3A flow chart of a read disturbance test provided in an embodiment of the present application. Figure 3 As shown, when the performance test instruction is a read disturbance test instruction, the test tool is called to execute a test action sequence on the solid-state drive to be tested, including:
[0060] S301. Perform low-level formatting on the solid state drive to be tested.
[0061] In this step, the SSD is first low-level formatted and the block size (BS) is set. The block size is determined based on the performance test requirements, for example, 512KB. The block size represents the buffer size, that is, the amount of data that can be stored in the buffer during each read or write operation.
[0062] Generally, formatting includes low-level formatting and high-level formatting.
[0063] Low-level formatting is to divide a blank solid-state hard drive into cylinders and tracks, and then divide the tracks into several sectors. Each sector is further divided into an identification part ID, a gap area GAP, and a data area DATA.
[0064] Low-level formatting is the process before high-level formatting. Low-level formatting can only be performed on a solid-state drive and cannot support a single partition in the solid-state drive.
[0065] Advanced formatting, also known as logical formatting, is a logical operation performed on an SSD. It writes specific data to specific areas of the SSD based on the user-selected file system (such as FAT12, FAT16, FAT32, NTFS, EXT2, EXT3, etc.) for easier file management. Advanced formatting is primarily used to initialize an SSD or SSD partition and erase all files from the original SSD or partition.
[0066] S302 : Writing data to the solid-state drive to be tested based on a sequential data writing operation until the solid-state drive to be tested reaches a full load state.
[0067] Sequential data write operation refers to writing data to the SSD to be tested in a continuous address increment manner.
[0068] The fully loaded state refers to the state where the data size of the SSD under test is close to the physical capacity limit and the available space is lower than the preset threshold (such as 1%). At this time, the SSD under test needs to frequently execute the garbage collection algorithm, and the data erase and write pressure reaches its peak.
[0069] Use sequential write to fill the SSD to be tested to ensure even data distribution within the disk. This is used to simulate the continuous high-load write scenario of the SSD in real business.
[0070] Specifically, a test tool is used to initiate a full disk sequential data write operation, and the written data is randomly generated by the test tool.
[0071] S303 : continuously performing a sequential data reading operation on the fully loaded solid state drive to be tested within a first preset time period.
[0072] The first preset time period is the duration of the sequential data read operation specified in the performance test requirement or defaulted in the target sequence template.
[0073] Sequential data read operations refer to reading data in a continuously increasing manner according to the logical block address, simulating a continuous file access scenario.
[0074] The purpose of sequential read data operations is to evaluate the performance fluctuations of SSDs under long-term sequential read operations, especially the fluctuations in data read bandwidth.
[0075] For example, if the first preset time is set to 8 hours, then after the disk is fully written, a sequential data reading operation is performed for 8 hours.
[0076] S304: Continuously perform a random data read operation on the fully loaded solid state drive to be tested within a second preset time period.
[0077] The second preset time period is the duration of the random data read operation specified in the performance test requirement or defaulted in the target sequence template.
[0078] Random read data operations refer to accessing data according to random logical block addresses, simulating fragmented data reading scenarios such as database queries.
[0079] The purpose of random read data operations is to evaluate the performance fluctuations of SSDs under long-term random read data operations, especially the fluctuations in data read efficiency.
[0080] S305: Test data analysis.
[0081] Specifically, when the performance test instruction is a read interference test instruction, the storage performance indicators include data read bandwidth and data read and write efficiency; the performance fluctuation test results include bandwidth fluctuation test results and read and write efficiency fluctuation test results.
[0082] Based on the change in the storage performance indicator, a performance fluctuation test result of the solid-state drive to be tested is calculated, including: calculating a decrease in the second data read bandwidth relative to the first data read bandwidth to obtain a bandwidth fluctuation test result corresponding to a read interference test instruction, where the first data read bandwidth is the data read bandwidth of the solid-state drive to be tested at the start time of a first preset time period, and the second data read bandwidth is the data read bandwidth of the solid-state drive to be tested at the end time of the first preset time period.
[0083] The first data read bandwidth represents the bandwidth baseline value at the initial stage of the sequential data read operation; the second data read bandwidth represents the bandwidth at the end of the sequential data read operation, reflecting the steady-state performance of the SSD to be tested after a long period of read interference.
[0084] The difference between the first data read bandwidth and the second data read bandwidth is calculated, and the ratio of the difference to the first data read bandwidth is further calculated to obtain the reduction of the second data read bandwidth relative to the first data read bandwidth, that is, the bandwidth fluctuation test result corresponding to the read disturbance test instruction.
[0085] The bandwidth fluctuation test result corresponding to the read disturbance test instruction represents the degree of bandwidth reduction of the solid state drive to be tested after a long period of read disturbance (a first preset time period).
[0086] Based on the change in the storage performance indicator, the performance fluctuation test result of the solid-state hard disk to be tested is calculated, which also includes: calculating the decrease in the second data read and write efficiency relative to the first data read and write efficiency, and obtaining the read and write efficiency fluctuation test result corresponding to the read interference test instruction, the first data read and write efficiency is the data read and write efficiency of the solid-state hard disk to be tested at the starting moment of the second preset time period, and the second data read and write efficiency is the data read and write efficiency of the solid-state hard disk to be tested at the end moment of the second preset time period.
[0087] Data read and write efficiency is the number of random read operations completed per second, reflecting the ability of the solid-state drive to handle concurrent requests.
[0088] The first data read and write efficiency is the data read and write efficiency in the initial stage of the sequential data read operation; the second data read and write efficiency is the data read and write efficiency at the end of the sequential data read operation, reflecting the data read and write performance of the solid state drive to be tested after long-term read interference.
[0089] Calculate the difference between the first data read / write efficiency and the second data read / write efficiency, and further calculate the ratio of the difference to the first data read / write efficiency to obtain the decrease in the second data read / write efficiency relative to the first data read / write efficiency, that is, the read / write efficiency fluctuation test result corresponding to the read interference test instruction.
[0090] The read / write efficiency fluctuation test results corresponding to the read disturbance test instructions represent the degree of service capability degradation after long-term read disturbance.
[0091] The disclosed embodiment constructs an extreme stress scenario through a full disk write operation. Through long-term sequential read and random read operations, it can effectively simulate the read interference phenomenon of the solid-state drive under high load, evaluate the impact of this phenomenon on the sequential read data bandwidth and random read data read and write efficiency, stimulate the garbage collection algorithm of the controller in the solid-state drive, and provide data support for the garbage collection algorithm and controller optimization.
[0092] In some embodiments, when the performance test instruction is a data retention capability test instruction, a test action sequence corresponding to the performance test instruction is generated according to the performance test instruction, including: generating a second test action sequence according to the data retention capability test instruction. The second test action sequence includes: performing low-level formatting on the solid-state drive to be tested; writing data to the solid-state drive to be tested based on a sequential data write operation until the solid-state drive to be tested reaches a full load state; performing a quiescent operation on the fully loaded solid-state drive to be tested for a preset quiescent time period, wherein the length of the preset quiescent time period is proportional to the capacity of the solid-state drive to be tested; continuously performing a sequential data read operation on the fully loaded solid-state drive to be tested within a third preset time period; and continuously performing a random data read operation on the fully loaded solid-state drive to be tested within a fourth preset time period.
[0093] Figure 4 This is a flow chart of a data retention capability test provided by an embodiment of the present application. Figure 4 As shown, when the performance test instruction is a read disturbance test instruction, the test tool is called to execute a test action sequence on the solid-state drive to be tested, including:
[0094] S401. Perform low-level formatting on the solid state drive to be tested.
[0095] S402 : Writing data to the solid-state drive to be tested based on a sequential data writing operation until the solid-state drive to be tested reaches a full load state.
[0096] The implementation process and principle of S401~S402 are consistent with those of S301~S302, and will not be repeated here.
[0097] S403 : performing a rest operation on the fully loaded solid state drive to be tested for a preset rest period of time, where the length of the preset rest period of time is proportional to the capacity of the solid state drive to be tested.
[0098] The quiescent operation involves powering off the SSD under test and saving it, simulating a data retention scenario where the SSD under test has not been used for a long time. During the quiescent period, the charge in the NAND floating-gate transistor gradually leaks, resulting in a decrease in data integrity.
[0099] The length of the rest period is automatically calculated according to the capacity of the solid-state drive to be tested.
[0100] Optionally, the length of the preset rest period is shortened by heating the solid state drive to be tested, so as to improve the test efficiency.
[0101] Optionally, during the idle period, the SSD to be tested is powered on periodically to read the health status of the SSD to be tested, and record whether prompt messages such as "Force GC ret" and "v_lun=...." appear on the serial port.
[0102] S404: continuously perform a sequential data read operation on the fully loaded solid state drive to be tested within a third preset time period.
[0103] The third preset time period is the duration of the sequential data read operation specified in the performance test requirement or defaulted in the target sequence template.
[0104] After the quiescent operation, sequential data read operations are performed on the SSD to be tested to evaluate the impact of charge leakage during the quiescent period on data integrity.
[0105] S405 : Continuously perform a random data read operation on the fully loaded solid state drive to be tested within a fourth preset time period.
[0106] The fourth preset time period is the duration of the random data read operation specified in the performance test requirement or defaulted in the target sequence template.
[0107] After the quiescent operation, random data read operations are performed on the SSD to be tested to evaluate the impact of the quiescent operation on the fragmented data access capability of the SSD to be tested.
[0108] S406: Test data analysis.
[0109] Specifically, the storage performance indicators include data read bandwidth and data read and write efficiency; the performance fluctuation test results include bandwidth fluctuation test results and read and write efficiency fluctuation test results.
[0110] When the performance test instruction is a data retention capability test instruction, a performance fluctuation test result of the solid-state drive to be tested is calculated based on the change in the storage performance indicator, including: calculating a decrease in the fourth data read bandwidth relative to the third data read bandwidth to obtain a bandwidth fluctuation test result corresponding to the data retention capability test instruction, where the third data read bandwidth is the data read bandwidth at the start of the static time period, and the fourth data read bandwidth is the data read bandwidth at the end of the third preset time period.
[0111] The third data read bandwidth is the initial bandwidth benchmark value before the static operation begins. It is usually the result of a sequential read test performed immediately after the full disk write is completed, reflecting the optimal performance of the solid-state drive under test when there is no charge leakage.
[0112] The fourth data read bandwidth is a steady-state bandwidth value of a sequential read test after the static state is completed, reflecting the performance degradation state after long-term static state.
[0113] The difference between the third data read bandwidth and the fourth data read bandwidth is calculated, and the ratio of the difference to the third data read bandwidth is further calculated to obtain a decrease in the fourth data read bandwidth relative to the third data read bandwidth, that is, a bandwidth fluctuation test result corresponding to the data retention capability test instruction.
[0114] The bandwidth fluctuation test results corresponding to the data retention capability test instructions are used to characterize the impact of long-term static conditions on sequential read bandwidth.
[0115] When the performance test instruction is a data retention capability test instruction, the performance fluctuation test result of the solid-state hard disk to be tested is calculated based on the change in the storage performance indicator, and also includes: calculating the decrease in the fourth data read and write efficiency relative to the third data read and write efficiency, and obtaining the read and write efficiency fluctuation test result corresponding to the data retention capability test instruction, the third data read and write efficiency is the data read and write efficiency at the start of the static time period, and the fourth data read and write efficiency is the data read and write efficiency at the end of the fourth preset time period.
[0116] The third data read and write efficiency is a data read and write efficiency benchmark value for random data read operations before rest, reflecting the concurrent processing capability of the solid-state drive to be tested when there is no charge leakage.
[0117] The fourth data read and write efficiency is a steady-state value of the data read and write efficiency of random data read operations after rest, reflecting the attenuation state of concurrent data read and write performance caused by data retention capability.
[0118] Calculate the difference between the third data read / write efficiency and the fourth data read / write efficiency, and further calculate the ratio of the difference to the third data read / write efficiency to obtain the decrease in the fourth data read / write efficiency relative to the third data read / write efficiency, that is, the read / write efficiency fluctuation test result corresponding to the data retention capability test instruction.
[0119] The read / write efficiency fluctuation test results corresponding to the data retention capability test instructions are used to characterize the impact of long-term static conditions on the read / write efficiency of random read operations.
[0120] The disclosed embodiment intuitively quantifies the data retention capability of the SSD to be tested after long-term static storage by measuring the reduction in sequential read bandwidth and random read efficiency, thereby providing accurate and effective data reference for the durability and reliability evaluation of the SSD and improving the comprehensiveness of SSD testing.
[0121] At the same time, the above-mentioned test method for the impact of NAND characteristics on SSD performance can comprehensively evaluate the impact of read interference and data retention capabilities on the data read bandwidth of SSD sequential read operations and the data read and write efficiency performance of random read operations, providing important data support for the design and optimization of SSDs and improving the performance and reliability of SSDs.
[0122] In some embodiments, a performance degradation prediction model is constructed based on the solid-state drive attribute information corresponding to historical data retention capability tests, the rest conditions of the rest operation, and historical performance fluctuation test results.
[0123] For example, the solid-state drive attribute information and the resting conditions of the resting operation (such as resting time, resting temperature, etc.) are used as the input of the performance degradation prediction model to be trained, and the historical performance fluctuation test results of the data retention capability test are used as the output of the performance degradation prediction model to be trained. The performance degradation prediction model to be trained is trained to obtain a trained performance degradation prediction model.
[0124] The attribute information of the solid-state drive to be tested and the static conditions of the static operation are input into the performance degradation prediction model to obtain a performance degradation prediction value output by the performance degradation prediction model. The performance degradation prediction value includes a predicted decrease in data read bandwidth and / or a predicted decrease in data read and write efficiency.
[0125] The performance degradation prediction model is used to predict the performance degradation of the solid-state drive after long-term static storage based on the solid-state drive attribute information and static conditions, such as the decrease in data read bandwidth and the decrease in data read and write efficiency.
[0126] On this basis, each time a data retention capability test is performed, the rest conditions of the rest operation in the test action sequence and the attribute information of the solid-state drive to be tested are used as inputs to the performance degradation prediction model. The performance degradation prediction model outputs a predicted data read bandwidth reduction and / or a predicted data read / write efficiency reduction. After the data retention capability test is completed, the performance fluctuation test results are obtained. The performance fluctuation test results include the actual data read bandwidth reduction and / or the actual data read / write efficiency reduction, which are compared with the predicted data read bandwidth reduction and / or the predicted data read / write efficiency reduction.
[0127] If the difference between the performance fluctuation test result (the actual data read bandwidth decrease and / or the actual data read and write efficiency decrease) and the performance degradation prediction value (the predicted data read bandwidth decrease and / or the predicted data read and write efficiency decrease) is greater than a preset threshold, it is determined that the performance of the solid-state drive undergoing the data retention capability test is extremely good or extremely poor.
[0128] If the performance fluctuation test result is less than the performance degradation prediction value, and the difference between the performance fluctuation test result and the performance degradation prediction value is greater than the preset threshold, a first prompt message is generated, and the first prompt message is used to prompt the user to use the solid-state drive to be tested as a hard drive performance optimization target.
[0129] Specifically, the performance fluctuation test result is less than the performance degradation prediction value, including: the actual data read bandwidth decrease is less than the predicted data read bandwidth decrease; or the actual data read and write efficiency decrease is less than the predicted data read and write efficiency decrease.
[0130] If the actual value obtained from the SSD test is smaller than the predicted value, and the difference between the actual value and the predicted value is greater than a preset threshold, it means that the data retention capability of the SSD is better than normal. A first prompt message is generated to inform the user that the SSD has excellent performance and can serve as an important reference data source for optimizing hard drive performance.
[0131] If the performance fluctuation test result is greater than the performance degradation prediction value, and the difference between the performance fluctuation test result and the performance degradation prediction value is greater than a preset threshold, a second prompt message is generated, and the second prompt message is used to prompt the user that the solid-state drive to be tested needs to be optimized.
[0132] Specifically, the performance fluctuation test result is greater than the performance degradation prediction value, including: the actual data read bandwidth decrease is greater than the predicted data read bandwidth decrease; or the actual data read and write efficiency decrease is greater than the predicted data read and write efficiency decrease.
[0133] If the actual value obtained from the SSD test is greater than the predicted value, and the difference between the actual value and the predicted value is greater than a preset threshold, it means that the data retention capability of the SSD is lower than normal, and a second prompt message is generated to inform the user that the SSD performance is poor and may require focused optimization.
[0134] The disclosed embodiment constructs a performance degradation prediction model based on historical performance fluctuation test results and corresponding solid-state drive attribute information, provides data reference for the degree of performance degradation for the current data retention capability test, and generates a prompt message when the performance degradation degree of the solid-state drive currently being tested deviates from the normal range. On the basis of ensuring test efficiency and accuracy, it further provides a reference for subsequent performance optimization work of the solid-state drive.
[0135] In some embodiments, the solid-state drive to be tested includes a target solid-state drive and a control solid-state drive, and the method further includes: generating performance optimization reference information of the target solid-state drive based on the performance fluctuation test results of the target solid-state drive and the performance fluctuation test results of the control solid-state drive.
[0136] The target SSD is the device under test whose performance needs to be evaluated or whose design needs to be optimized, such as a new model, new process, or improved version of the SSD; the control SSD is a reference device used as a performance benchmark, such as a mainstream model in the market, a previous generation product, or a competing device.
[0137] Optionally, the target solid state drive and the reference solid state drive should have the same specifications, such as the same hard drive capacity, the same number of NAND stacking layers, etc.
[0138] Performance fluctuation test results include, but are not limited to, quantitative metrics such as the sequential read bandwidth degradation and random read efficiency degradation. By calculating the performance differences between the target and control SSDs, a comparative analysis is conducted. Based on these comparative analysis results, as well as a pre-set expert experience library and historical optimization case studies, actionable recommendations are generated, including recommendations for firmware algorithm adjustments.
[0139] For example, in a read disturb test, Brand 1 SSD and Brand 2 SSD serve as target SSD and reference SSD, respectively.
[0140] Before the sequential read data operation, the sequential read data bandwidth of Brand 1 SSD was 7000MB / s, which dropped to 6200MB / s after the sequential read data operation, a decrease of 11.4%. The data read and write efficiency before the random read operation was 1,000,000 IOPS, which dropped to 850,000 IOPS after the random read operation, a decrease of 15%.
[0141] Before the sequential read data operation, the sequential read data bandwidth of Brand 2 SSD was 7300MB / s, which dropped to 6500MB / s after the sequential read data operation, a decrease of 10.9%; the data read and write efficiency before the random read operation was 1100000 IOPS, which dropped to 950000 IOPS after the random read operation, a decrease of 13.6%.
[0142] As can be seen, Brand 1's SSD has a more conservative controller scheduling strategy, resulting in a more significant performance degradation after prolonged read operations. This may be related to the infrequent garbage collection algorithm. Brand 2's SSD uses dynamic cache allocation technology, resulting in less performance fluctuations, but the higher initial IOPS results in a greater absolute degradation.
[0143] Therefore, the performance optimization reference information for brand 1 solid-state drives is to optimize the frequency of the garbage collection algorithm, for example, increasing the frequency to trigger the garbage collection algorithm to once every two hours; the performance optimization reference information for brand 2 solid-state drives is to balance the cache allocation strategy.
[0144] For another example, in a data retention capability test, Brand 1 SSD and Brand 2 SSD serve as target SSD and reference SSD to each other.
[0145] Before the static operation, the sequential read data bandwidth of Brand 1 SSD was 7000MB / s. After the static and sequential read operations, it dropped to 6800MB / s, a decrease of 2.8%. The data read and write efficiency before the random read operation was 1,000,000 IOPS. After the random read operation, it dropped to 980,000 IOPS, a decrease of 2%.
[0146] Before the static operation, the sequential read data bandwidth of Brand 2 SSD was 7300MB / s. After the static and sequential read data operations, it dropped to 7100MB / s, a decrease of 2.7%. The data read and write efficiency before the random read operation was 1100000 IOPS. After the random read operation, it dropped to 1075000 IOPS, a decrease of 2.3%.
[0147] As can be seen, Brand 1 SSD uses high-density TLC NAND, and data charge decay is minimal after rest. The performance degradation is mainly due to the time-consuming controller self-test. Brand 2 SSD is equipped with an independent dynamic random access memory (DRAM) cache, which allows for faster data recovery after rest, but the NAND cell leakage is slightly higher than that of Brand 1 SSD.
[0148] Therefore, the performance optimization reference information for Brand 1 SSDs is to shorten the self-test cycle. The performance optimization reference information for Brand 2 SSDs is to optimize NAND cell leakage control.
[0149] Optionally, performance optimization reference information for long-term static scenarios also includes adding a regular data refresh mechanism, such as automatically scanning the disk data every month.
[0150] Optional, based on the performance optimization reference information of the read interference test and data retention test of Brand 1 and Brand 2 SSDs, Brand 1 SSD is suitable for high-load short-term read and write scenarios, but needs to enhance long-term read stability; Brand 2 SSD is suitable for mixed read and write environments, but needs to optimize NAND unit leakage control.
[0151] The disclosed embodiment generates performance optimization reference information for solid-state drives through performance difference data, which facilitates engineers to quickly determine performance optimization strategies based on technical knowledge, provides a reference for solid-state drive performance optimization work, shortens the performance optimization cycle of solid-state drives, and improves R&D efficiency.
[0152] Through the description of the above implementation methods, those skilled in the art can clearly understand that the method according to the above embodiment can be implemented by means of software plus the necessary general hardware platform, and of course it can also be implemented by hardware, but in many cases the former is a better implementation method.
[0153] An embodiment of the present application also provides a solid state drive performance fluctuation testing device. Figure 5 This is a schematic diagram of the structure of the solid state drive performance fluctuation test device provided in the embodiment of the present application. Figure 5As shown, the solid-state hard disk performance fluctuation testing device 50 includes a first generation module 51, an execution module 52, an acquisition module 53, and a calculation module 54; the first generation module 51 is used to generate a test action sequence corresponding to the performance test instruction according to the performance test instruction; the execution module 52 is used to call the test tool to execute the test action sequence on the solid-state hard disk to be tested; the acquisition module 53 is used to obtain the storage performance index of the solid-state hard disk to be tested during the execution of the test action sequence; the calculation module 54 is used to calculate the performance fluctuation test result of the solid-state hard disk to be tested based on the change in the storage performance index.
[0154] Optionally, the first generation module 51 includes a first determination unit 511, a second determination unit 512, and an adjustment unit 513; the first determination unit 511 is used to determine the performance test type and performance test requirements corresponding to the performance test instruction; the second determination unit 512 is used to determine the target sequence template corresponding to the performance test instruction based on the performance test type; the adjustment unit 513 is used to adjust the test actions and / or action parameters in the target sequence template according to the performance test requirements to obtain a test action sequence corresponding to the performance test instruction.
[0155] Optionally, when the performance test instruction is a read interference test instruction, the execution module 52 is used to perform low-level formatting on the solid-state hard disk to be tested; write data to the solid-state hard disk to be tested based on a sequential write data operation until the solid-state hard disk to be tested reaches a full load state; continue to perform sequential read data operations on the solid-state hard disk to be tested in a fully loaded state within a first preset time period; and continue to perform random read data operations on the solid-state hard disk to be tested in a fully loaded state within a second preset time period.
[0156] Optionally, the storage performance indicators include data read bandwidth and data read and write efficiency; the performance fluctuation test results include bandwidth fluctuation test results and read and write efficiency fluctuation test results; the calculation module 54 includes a first calculation unit 541 and a second calculation unit 542; the first calculation unit 541 is used to calculate the reduction in the second data read bandwidth relative to the first data read bandwidth, and obtain the bandwidth fluctuation test result corresponding to the read interference test instruction, the first data read bandwidth is the data read bandwidth of the solid-state drive to be tested at the starting moment of the first preset time period, and the second data read bandwidth is the data read bandwidth of the solid-state drive to be tested at the end moment of the first preset time period; the second calculation unit 542 is used to calculate the reduction in the second data read and write efficiency relative to the first data read and write efficiency, and obtain the read and write efficiency fluctuation test result corresponding to the read interference test instruction, the first data read and write efficiency is the data read and write efficiency of the solid-state drive to be tested at the starting moment of the second preset time period, and the second data read and write efficiency is the data read and write efficiency of the solid-state drive to be tested at the end moment of the second preset time period.
[0157] Optionally, when the performance test instruction is a data retention capability test instruction, the execution module 52 is used to perform low-level formatting on the solid-state hard disk to be tested; write data to the solid-state hard disk to be tested based on a sequential data write operation until the solid-state hard disk to be tested reaches a full load state; perform a static operation on the fully loaded solid-state hard disk to be tested for a preset static time period, and the length of the preset static time period is proportional to the capacity of the solid-state hard disk to be tested; continue to perform sequential data read operations on the fully loaded solid-state hard disk to be tested within a third preset time period; and continue to perform random data read operations on the fully loaded solid-state hard disk to be tested within a fourth preset time period.
[0158] Optionally, the storage performance indicators include data read bandwidth and data read and write efficiency; the performance fluctuation test results include bandwidth fluctuation test results and read and write efficiency fluctuation test results; the first calculation unit 541 is used to calculate the decrease in the fourth data read bandwidth relative to the third data read bandwidth, and obtain the bandwidth fluctuation test result corresponding to the data retention capability test instruction, the third data read bandwidth is the data read bandwidth at the start of the static time period, and the fourth data read bandwidth is the data read bandwidth at the end of the third preset time period; the second calculation unit 542 is used to calculate the decrease in the fourth data read and write efficiency relative to the third data read and write efficiency, and obtain the read and write efficiency fluctuation test result corresponding to the data retention capability test instruction, the third data read and write efficiency is the data read and write efficiency at the start of the static time period, and the fourth data read and write efficiency is the data read and write efficiency at the end of the fourth preset time period.
[0159] Optionally, the solid-state hard disk performance fluctuation testing device 50 also includes a prediction module 55, which is used to input the attribute information of the solid-state hard disk to be tested and the static conditions of the static operation into the performance degradation prediction model to obtain a performance degradation prediction value output by the performance degradation prediction model; wherein, the performance degradation prediction model is trained based on the solid-state hard disk attribute information, the static conditions of the static operation and the historical performance fluctuation test results corresponding to the historical data retention capability test, and the performance degradation prediction value includes the predicted data read bandwidth reduction and / or the predicted data read and write efficiency reduction; if the performance fluctuation test result is less than the performance degradation prediction value, and the difference between the performance fluctuation test result and the performance degradation prediction value is greater than a preset threshold, a first prompt message is generated, and the first prompt message is used to prompt the user to use the solid-state hard disk to be tested as a hard disk performance optimization target; or, if the performance fluctuation test result is greater than the performance degradation prediction value, and the difference between the performance fluctuation test result and the performance degradation prediction value is greater than the preset threshold, a second prompt message is generated, and the second prompt message is used to prompt the user that the solid-state hard disk to be tested needs to be optimized.
[0160] For the description of the features in the embodiment corresponding to the solid-state hard disk performance fluctuation testing device, please refer to the relevant description of the embodiment corresponding to the solid-state hard disk performance fluctuation testing method, and no further details will be given here.
[0161] An embodiment of the present application further provides an electronic device comprising a memory and a processor, wherein the memory stores a computer program, and the processor is configured to run the computer program to execute the steps of any of the above-mentioned embodiments of the solid-state hard drive performance fluctuation test method.
[0162] An embodiment of the present application further provides a computer-readable storage medium storing a computer program, wherein the computer program is configured to execute the steps of any of the above-mentioned solid-state drive performance fluctuation test method embodiments when running.
[0163] In an exemplary embodiment, the computer-readable storage medium may include, but is not limited to, various media that can store computer programs, such as a USB flash drive, a read-only memory (ROM), a random access memory (RAM), a mobile hard disk, a magnetic disk, or an optical disk.
[0164] An embodiment of the present application further provides a computer program product, which includes a computer program. When the computer program is executed by a processor, the steps of any of the above-mentioned solid-state hard drive performance fluctuation testing method embodiments are implemented.
[0165] An embodiment of the present application also provides another computer program product, including a non-volatile computer-readable storage medium, which stores a computer program. When the computer program is executed by a processor, it implements the steps in any of the above-mentioned solid-state hard drive performance fluctuation test method embodiments.
[0166] Professionals may further appreciate that the units and algorithm steps of each example described in conjunction with the embodiments disclosed herein can be implemented in electronic hardware, computer software, or a combination of the two. In order to clearly illustrate the interchangeability of hardware and software, the above description has generally described the components and steps of each example according to their functions. Whether these functions are performed in hardware or software depends on the specific application and design constraints of the technical solution. Professionals and technicians may use different methods to implement the described functions for each specific application, but such implementation should not be considered beyond the scope of this application.
[0167] The above is a detailed introduction to the solid-state hard drive performance fluctuation test method, device, equipment and storage medium provided by the present application. This article uses specific examples to illustrate the principles and implementation methods of the present application. The description of the above embodiments is only used to help understand the method and core ideas of the present application. It should be pointed out that for ordinary technicians in this technical field, without departing from the principles of the present application, several improvements and modifications can be made to the present application, and these improvements and modifications also fall within the scope of protection of the claims of the present application.
Claims
1. A method for testing solid state drive performance fluctuations, characterized in that: include: According to the performance test instruction, a test action sequence corresponding to the performance test instruction is generated; Invoke the test tool to execute the test action sequence on the solid state drive to be tested; Obtaining storage performance indicators of the solid-state drive to be tested during the execution of the test action sequence; Based on the change in the storage performance indicator, a performance fluctuation test result of the solid-state drive to be tested is calculated; When the test action sequence includes a static operation, the method further includes: Inputting the attribute information of the solid-state drive to be tested and the static conditions of the static operation into a performance degradation prediction model to obtain a performance degradation prediction value output by the performance degradation prediction model; If the difference between the performance fluctuation test result and the performance degradation prediction value is greater than a preset threshold, a prompt message is generated.
2. The solid state drive performance fluctuation testing method according to claim 1, characterized in that: The step of generating a test action sequence corresponding to the performance test instruction according to the performance test instruction includes: Determine the performance test type and performance test requirements corresponding to the performance test instruction; Determining, according to the performance test type, a target sequence template corresponding to the performance test instruction; According to the performance test requirements, the test actions and / or action parameters in the target sequence template are adjusted to obtain a test action sequence corresponding to the performance test instruction.
3. The solid state drive performance fluctuation testing method according to claim 1, wherein: When the performance test instruction is a read disturbance test instruction, the calling test tool executes the test action sequence on the solid state drive to be tested, including: Performing low-level formatting on the solid-state hard disk to be tested; Writing data to the solid-state drive to be tested based on a sequential data write operation until the solid-state drive to be tested reaches a full load state; Continuously performing a sequential data reading operation on the fully loaded solid-state drive to be tested within a first preset time period; The random data read operation is continuously performed on the fully loaded solid state drive to be tested within a second preset time period.
4. The solid state drive performance fluctuation testing method according to claim 3, characterized in that: The storage performance indicators include data reading bandwidth and data reading and writing efficiency; the performance fluctuation test results include bandwidth fluctuation test results and reading and writing efficiency fluctuation test results; The calculating, based on the variation of the storage performance indicator, a performance fluctuation test result of the solid-state drive to be tested, includes: calculating a decrease in the second data read bandwidth relative to the first data read bandwidth to obtain a bandwidth fluctuation test result corresponding to the read disturbance test instruction, where the first data read bandwidth is the data read bandwidth of the solid-state drive to be tested at the start time of the first preset time period, and the second data read bandwidth is the data read bandwidth of the solid-state drive to be tested at the end time of the first preset time period; Calculate the decrease in the second data read and write efficiency relative to the first data read and write efficiency to obtain the read and write efficiency fluctuation test result corresponding to the read interference test instruction, where the first data read and write efficiency is the data read and write efficiency of the solid-state drive to be tested at the starting moment of the second preset time period, and the second data read and write efficiency is the data read and write efficiency of the solid-state drive to be tested at the end moment of the second preset time period.
5. The solid state drive performance fluctuation testing method according to claim 1, wherein: When the performance test instruction is a data retention capability test instruction, the calling test tool executes the test action sequence on the solid state drive to be tested, including: Performing low-level formatting on the solid-state hard disk to be tested; Writing data to the solid-state drive to be tested based on a sequential data write operation until the solid-state drive to be tested reaches a full load state; Performing a rest operation on the fully loaded solid-state hard disk to be tested for a preset rest period of time, wherein the length of the preset rest period of time is proportional to the capacity of the solid-state hard disk to be tested; Continuously performing a sequential data reading operation on the fully loaded solid-state drive to be tested within a third preset time period; The random data read operation is continuously performed on the fully loaded solid state drive to be tested within a fourth preset time period.
6. The solid state drive performance fluctuation testing method according to claim 5, characterized in that: The storage performance indicators include data reading bandwidth and data reading and writing efficiency; the performance fluctuation test results include bandwidth fluctuation test results and reading and writing efficiency fluctuation test results; The calculating, based on the variation of the storage performance indicator, a performance fluctuation test result of the solid-state drive to be tested, includes: calculating a decrease in a fourth data read bandwidth relative to a third data read bandwidth to obtain a bandwidth fluctuation test result corresponding to the data retention capability test instruction, wherein the third data read bandwidth is the data read bandwidth at the start of the static time period, and the fourth data read bandwidth is the data read bandwidth at the end of the third preset time period; Calculate the decrease in the fourth data read and write efficiency relative to the third data read and write efficiency to obtain the read and write efficiency fluctuation test result corresponding to the data retention capability test instruction, where the third data read and write efficiency is the data read and write efficiency at the start of the static time period, and the fourth data read and write efficiency is the data read and write efficiency at the end of the fourth preset time period.
7. The solid state drive performance fluctuation testing method according to claim 5, characterized in that: The performance degradation prediction model is trained based on the SSD attribute information corresponding to historical data retention capability tests, the static conditions of static operations, and historical performance fluctuation test results. The performance degradation prediction value includes a predicted data read bandwidth reduction and / or a predicted data read and write efficiency reduction. If the difference between the performance fluctuation test result and the performance degradation prediction value is greater than a preset threshold, a prompt message is generated, including: If the performance fluctuation test result is less than the performance degradation prediction value, and the difference between the performance fluctuation test result and the performance degradation prediction value is greater than a preset threshold, a first prompt message is generated, wherein the first prompt message is used to prompt the user to select the solid-state drive to be tested as a hard drive performance optimization target; or, If the performance fluctuation test result is greater than the performance degradation prediction value, and the difference between the performance fluctuation test result and the performance degradation prediction value is greater than a preset threshold, a second prompt information is generated, and the second prompt information is used to prompt the user that the solid-state drive to be tested needs to be optimized.
8. A solid state drive performance fluctuation testing device, characterized in that: include: A first generating module is used to generate a test action sequence corresponding to the performance test instruction according to the performance test instruction; An execution module, configured to call a test tool to execute the test action sequence on the solid-state drive to be tested; An acquisition module, configured to acquire storage performance indicators of the solid-state drive to be tested during the execution of the test action sequence; A calculation module, configured to calculate a performance fluctuation test result of the solid-state drive to be tested based on a change in the storage performance indicator; A prediction module, configured to input the attribute information of the solid-state drive to be tested and the static conditions of the static operation into a performance degradation prediction model, and obtain a performance degradation prediction value output by the performance degradation prediction model; If the difference between the performance fluctuation test result and the performance degradation prediction value is greater than a preset threshold, a prompt message is generated.
9. An electronic device, characterized in that: include: memory for storing computer programs; A processor, configured to implement the steps of the solid-state drive performance fluctuation testing method according to any one of claims 1 to 7 when executing the computer program.
10. A computer-readable storage medium, characterized in that The computer-readable storage medium stores a computer program, wherein when the computer program is executed by a processor, the steps of the solid-state drive performance fluctuation testing method according to any one of claims 1 to 7 are implemented.
Citation Information
Patent Citations
Hard disk test management method and system, terminal and storage medium
CN116244133A
Hard disk test method and device, computer equipment and storage medium
CN116401110A