Performance test method and device for solid state disk and storage medium

By using multiple test machines and pre-set rules to perform repeated read and write tests, and fluctuation abnormality detection and visual display in the solid-state drive performance test, the complexity of long-term multi-capacity data analysis is solved, improving analysis convenience and reducing labor costs.

CN120279974APending Publication Date: 2025-07-08SHENZHEN CITY TECHWIN SEMICONDUCTOR COMPANY LIMITED
View PDF 0 Cites 1 Cited by

Patent Information

Application Number
CN202510359545.X
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-03-25
Publication Date
2025-07-08

AI Technical Summary

Technical Problem

When conducting solid-state drive performance tests, it is difficult to effectively analyze performance data of long-term multi-capacity, resulting in cumbersome processing of test results and a large amount of manual confirmation of log information, which increases labor costs.

Method used

By obtaining multiple solid-state drives and test machines to be tested, each test machine is equipped with performance testing tools, determine the test sequence and tool order based on pre-set testing rules, perform repeated read and write tests, and optimize test results through fluctuation abnormality detection and visualization.

Benefits of technology

It improves the convenience of performance problem analysis, reduces the cumbersomeness of the processing process, reduces labor costs, and simplifies the visual processing of test results.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120279974A_ABST
    Figure CN120279974A_ABST
Patent Text Reader

Abstract

The invention provides a solid state disk performance testing method and device and a storage medium. The solid state disk performance testing method comprises the steps that multiple to-be-tested solid state disks and multiple testing machines are obtained; determining a test sequence of the to-be-tested solid state disk, a target performance test tool and an execution sequence of the target performance test tool based on the test rule; performing repeated read or write test on the to-be-tested solid state disk based on the test sequence and the execution sequence; reading target performance test tool data recorded by the test machine in the test process, and performing fluctuation anomaly detection based on the target performance test tool data to obtain a detection result; adjusting the target performance test tool and the corresponding execution sequence based on the detection result, and continuing to test after adjustment to obtain a test result; and carrying out data processing based on the test result and the double capacity of the solid state disk so as to carry out multi-capacity-based visual display on the test result. In the mode, the convenience of performance problem reason analysis is improved, and the complexity of a processing flow is reduced.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to the technical field of performance testing, and in particular, to a method, device, and storage medium for testing the performance of a solid-state drive. Background Art

[0002] A solid-state drive is a hard disk made of a solid-state electronic storage chip array, and its read speed can reach several times that of a mechanical hard disk. Data writing and reading are performed by continuously charging and discharging, and it has a variety of application scenarios. When testing the disk, it is necessary to pay attention to performance testing tools under the Linux system. Currently, mainly open-source IO tools such as FIO and vdbench are used for testing.

[0003] In the actual testing of related technologies, there are often a large number of services that need to pay attention to performance data with multiple times the capacity for a long time, and it is necessary to pay attention to the performance of the disk for repeated reading or writing, so as to find out whether there is a performance fluctuation when the disk state changes, and then analyze the reasons. However, such test requirements are relatively special. For example, in the test of writing the entire SSD disk multiple times, it is not easy to view or distinguish the performance results of the disk's several times of writing when viewing the entire result, which will cause certain troubles in analyzing the reasons for performance problems. And when analyzing the reasons for performance problems, it is necessary to manually confirm a large amount of SSD log information. Therefore, the entire test analysis and processing process is relatively cumbersome. Summary of the Invention

[0004] In view of this, the purpose of the present invention is to provide a method, device, and storage medium for testing the performance of a solid-state drive, which improves the convenience of analyzing the reasons for performance problems, reduces the cumbersome nature of the processing process, and reduces labor costs.

[0005] In a first aspect, an embodiment of the present invention provides a method for testing the performance of a solid-state drive, including: obtaining a plurality of to-be-tested solid-state drives and a plurality of test machines determined in advance; each test machine is installed with a corresponding performance testing tool; determining the test order of the to-be-tested solid-state drives, the target performance testing tool in the performance testing tools, and the execution order of the target performance testing tool based on pre-set test rules; performing repeated read or write tests on the to-be-tested solid-state drives based on the test order and the execution order; during the test, reading the target performance testing tool data recorded by the test machine, and performing fluctuation anomaly detection based on the target performance testing tool data to obtain a detection result; adjusting the target performance testing tool and the corresponding execution order based on the detection result, and continuing the test after adjustment to obtain a test result; the test result includes the detection result; performing data processing based on the test result and the single-fold capacity of the solid-state drive to perform visual display of the test result based on multiple-fold capacity.

[0006] In a preferred embodiment of the present invention, before obtaining a plurality of SSDs to be tested and a plurality of test machines determined in advance, the method further includes: determining the number of SSDs to be tested and the number of test machines based on actual work; installing corresponding performance testing tools on each test machine for the control host to control the corresponding test machine to start a test program through the network and the developed system; wherein, the versions of the performance testing tools are the same; when performing a test, each test machine tests one SSD to be tested at a time, and after the test is completed, it tests the next SSD to be tested.

[0007] In a preferred embodiment of the present invention, the above-mentioned detecting the detection result based on the target performance testing tool data for abnormal fluctuations includes: determining whether there are abnormal fluctuation data points based on the target performance testing tool data to obtain a determination result; if it is determined based on the determination result that there are abnormal fluctuation data points, extracting the serial port log corresponding to the abnormal fluctuation data points; determining the cause of the abnormal fluctuation of the abnormal fluctuation data points based on the serial port log; when the determination result indicates that there are abnormal fluctuation data points, taking the abnormal fluctuation data points and the corresponding cause of the abnormal fluctuation as the detection result; when the determination result indicates that there are no abnormal fluctuation data points, taking that there are no abnormal fluctuation data points in the target performance testing tool data as the detection result.

[0008] In a preferred embodiment of the present invention, the above-mentioned determining whether there are abnormal fluctuation data points based on the target performance testing tool data to obtain a determination result includes: determining the moving average value and the moving standard deviation of the target performance testing tool data; comparing the moving average value and the moving standard deviation with a preset first abnormal threshold and a second abnormal threshold respectively; if the moving average value is greater than the first abnormal threshold and the moving standard deviation is greater than the second abnormal threshold, it is determined that there are abnormal fluctuation data points.

[0009] In a preferred embodiment of the present invention, the above-mentioned extracting the serial port log corresponding to the abnormal fluctuation data points includes: determining the time point corresponding to the abnormal fluctuation data points; extracting the corresponding serial port log based on the time point.

[0010] In a preferred embodiment of the present invention, the above-mentioned determining the cause of the abnormal fluctuation of the abnormal fluctuation data points based on the serial port log includes: determining the first quantity of the target prints within a preset time before and after the time point based on the serial port log; the target print is an ecc high print or a read retry print; if the first quantity exceeds a preset first quantity threshold, the cause of the abnormal fluctuation is the occurrence of the first quantity of target prints; determining whether a riskGC print appears at the time point based on the serial port log; if a riskGC print appears, the cause of the abnormal fluctuation is the appearance of a riskGC print in the serial port log; determining whether a V appears at the time point based on the serial port log; if a V appears, the cause of the abnormal fluctuation is the triggering of read disturb.

[0011] Adjust the target performance testing tool and its corresponding execution order based on the detection result, including: determining whether there are abnormally fluctuating data points based on the detection result; if there are no abnormally fluctuating data points, adjust the target performance testing tool to the performance testing tool corresponding to the untested performance.

[0012] In a preferred embodiment of the present invention, data processing is performed based on the test result and the single - fold capacity of the solid - state drive to perform visual display of the test result based on multiple - fold capacity, including: determining the data volume per second based on the test result; the data volume being the written data volume or the read data volume; determining the time length corresponding to the data volume of the single - fold capacity of the written or read solid - state drive; dividing all the data volumes in the test result based on the time length; displaying the data points corresponding to each data volume of the divided single - fold capacity as a line graph to view the performance change of the solid - state drive under multiple - fold capacity.

[0013] In a second aspect, an embodiment of the present invention further provides a performance testing device for a solid - state drive, including: an acquisition module, configured to acquire a plurality of pre - determined solid - state drives to be tested and a plurality of test machines; each test machine is installed with a corresponding performance testing tool; a test configuration module, configured to determine the test order of the solid - state drives to be tested, the target performance testing tool among the performance testing tools, and the execution order of the target performance testing tool based on pre - set test rules; a to - be - tested solid - state drive testing module, configured to perform repeated read or write tests on the solid - state drives to be tested based on the test order and the execution order; a fluctuation anomaly detection module, configured to, during the test, read the data of the target performance testing tool recorded by the test machine and perform fluctuation anomaly detection based on the data of the target performance testing tool to obtain a detection result; a test result determination module, configured to adjust the target performance testing tool and its corresponding execution order based on the detection result, and continue the test after adjustment to obtain a test result; the test result includes the detection result; a data processing module, configured to perform data processing based on the test result and the single - fold capacity of the solid - state drive to perform visual display of the test result based on multiple - fold capacity.

[0014] In a third aspect, an embodiment of the present invention further provides a computer - readable storage medium, which stores computer - executable instructions. When the computer - executable instructions are called and executed by a processor, the computer - executable instructions cause the processor to implement the performance testing method for the solid - state drive in the first aspect above.

[0015] The embodiments of the present invention bring the following beneficial effects:

[0016] An embodiment of the present invention provides a method, device, and storage medium for performance testing of a solid-state drive. By obtaining a plurality of solid-state drives to be tested and a plurality of test machines determined in advance, with each test machine installed with a corresponding performance testing tool, based on a pre-set test rule, determine the test order of the solid-state drives to be tested, the target performance testing tool in the performance testing tool, and the execution order of the target performance testing tool. Based on the test order and the execution order, perform repeated read or write tests on the solid-state drives to be tested. During the testing process, read the data of the target performance testing tool recorded by the test machine, and perform fluctuation anomaly detection based on the data of the target performance testing tool to obtain a detection result. Based on the detection result, adjust the target performance testing tool and the corresponding execution order, and continue the testing after adjustment to obtain a test result. The test result includes the detection result. Based on the test result and the one-fold capacity of the solid-state drive, perform data processing to perform visualization display based on multiple-fold capacity for the test result. In this way, the convenience of analyzing the cause of performance problems is improved, the complexity of the processing process is reduced, and the labor cost is reduced.

[0017] Other features and advantages of the present disclosure will be described in the following specification, or some features and advantages can be inferred from the specification or determined without doubt, or can be learned by implementing the above technologies of the present disclosure.

[0018] To make the above objects, features, and advantages of the present disclosure more obvious and understandable, the following specifically enumerates preferred embodiments and, in conjunction with the accompanying drawings, makes the following detailed description. Description of the Drawings

[0019] To more clearly illustrate the specific embodiments of the present invention or the technical solutions in the prior art, the following will briefly introduce the drawings required for use in the description of the specific embodiments or the prior art. Obviously, the following drawings are some embodiments of the present invention. For those of ordinary skill in the art, without creative efforts, other drawings can also be obtained based on these drawings.

[0020] Figure 1 It is a flowchart of a method for performance testing of a solid-state drive provided by an embodiment of the present invention;

[0021] Figure 2 It is a flowchart of another method for performance testing of a solid-state drive provided by an embodiment of the present invention;

[0022] Figure 3 It is a flowchart of yet another method for performance testing of a solid-state drive provided by an embodiment of the present invention;

[0023] Figure 4 It is a schematic structural diagram of a device for performance testing of a solid-state drive provided by an embodiment of the present invention;

[0024] Figure 5 This is a schematic structural diagram of an electronic device provided by an embodiment of the present invention. Specific embodiments

[0025] To make the objectives, technical solutions, and advantages of the embodiments of the present invention clearer, the technical solutions of the present invention will be clearly and completely described below with reference to the accompanying drawings. Apparently, the described embodiments are some, but not all, of the embodiments of the present invention. All other embodiments obtained by those of ordinary skill in the art based on the embodiments of the present invention without creative efforts shall fall within the scope of protection of the present invention.

[0026] SSD (Solid State Disk or Solid State Drive, hereinafter referred to as SSD), also known as a solid-state hard drive or solid-state drive, is a hard drive made of solid-state electronic storage chip arrays. Its read speed can reach several times that of a mechanical hard drive. Data writing and reading are performed by continuously charging and discharging, and it has a variety of application scenarios. When testing the disk, it is necessary to pay attention to the performance testing tools under the Linux system. Currently, mainly open-source IO tools such as FIO and vdbench are used for testing. These two testing tools complete the corresponding tests through the configuration of relevant parameters, and process and analyze the test results according to the work requirements, analyze how the disk performs under the corresponding tests, and find the reasons for abnormalities. Now, there are mainly several methods for analyzing whether the performance of a large number of disks is consistent and stable:

[0027] 1) By configuring parameters on different hosts, performing corresponding tests on the disks, and then viewing and analyzing the data that needs to be concerned in the results after completion.

[0028] 2) Based on the development platform of the performance testing tool, connect the device and then perform the performance tool test, and analyze the results after completion.

[0029] 2. Objective drawbacks of the related technologies:

[0030] At present, the Linux performance test is tested by FIO and vdbench performance tools. The performance test output results can record the corresponding performance of each second, such as bandwidth, IOPS, and latency. Therefore, there are corresponding drawing tools that can extract the data of each second and draw the results into images for viewing. However, in actual testing, there are often a large number of businesses that need to pay attention to the performance data of multiple capacities for a long time, and the performance of the disk when reading or writing repeatedly, that is, the performance when reading or writing multiple capacities (at least twice), so as to find out whether the disk has performance fluctuations when the state changes, and analyze the reasons. This kind of test requirements are relatively special. For example, when the entire SSD disk is written multiple times, it is not easy to view or distinguish the performance results of the disk when viewing the entire result, which will cause some trouble in analyzing the causes of performance problems. Therefore, the performance result data needs to be further processed. At the same time, if abnormal speed reduction or fluctuation occurs during the performance test, a large amount of SSD log information needs to be manually confirmed, and the cause of the problem needs to be analyzed by time point. Therefore, the entire test result processing and analysis process is cumbersome, and a large amount of data analysis and processing needs to be performed manually, which requires testers to have high efficiency and more experience.

[0031] Based on this, a performance test method, device and storage medium of a solid-state hard disk provided by an embodiment of the present invention can obtain a plurality of predetermined solid-state hard disks to be tested and a plurality of test machines, each test machine is equipped with a corresponding performance test tool, determine the test order of the solid-state hard disk to be tested, the target performance test tool in the performance test tool and the execution order of the target performance test tool based on the pre-set test rules, and repeatedly read or write the solid-state hard disk to be tested based on the test order and the execution order. During the test, read the target performance test tool data recorded by the test machine, and perform fluctuation anomaly detection based on the target performance test tool data to obtain the test result, adjust the target performance test tool and the corresponding execution order based on the test result, continue to test after adjustment, and obtain the test result, which includes the test result, and perform data processing based on the test result and one-time capacity of the solid-state hard disk to visualize the test result based on multiple times of capacity. In this way, the convenience of analyzing the cause of performance problems is improved, the cumbersomeness of the processing flow is reduced, and the labor cost is reduced.

[0032] To facilitate understanding of this embodiment, a performance testing method for a solid state drive disclosed in an embodiment of the present invention is first introduced in detail.

[0033] Example 1

[0034] The embodiment of the present invention provides a method for testing the performance of a solid state drive. Figure 1 The present invention provides a flow chart of a method for testing the performance of a solid state drive. Figure 1As shown, the performance testing method for the solid-state drive may include the following steps:

[0035] Step S101: Obtain a plurality of pre-determined solid-state drives to be tested and a plurality of test machines.

[0036] Among them, each test machine is installed with a corresponding performance testing tool.

[0037] Before the test, test environment preparation is required. Therefore, before obtaining a plurality of pre-determined solid-state drives to be tested and a plurality of test machines, the method may further include: determining the number of solid-state drives to be tested and the number of test machines based on the actual work; installing a corresponding performance testing tool on each test machine for the control host to control the corresponding test machine to start the test program through the network and the developed system; where the versions of the performance testing tools are the same; during the test, each test machine tests one solid-state drive to be tested at a time, and tests the next solid-state drive to be tested after the test is completed.

[0038] Among them, before the test, it is necessary to ensure that the performance testing tools FIO, vdbench and their versions installed on each test machine are the same. At the same time, ensure that each test machine and the serial port host are connected to the network, and the network IP (Internet Protocol) of each host is also different. The test system is at the control host. Through the IP of the test host, the control host can connect to the test machine through SSH (Secure Shell) and the IP. Subsequently, the system program can control each test machine and the serial port host, perform corresponding steps on the test machine, generate a test tool parameter file, and start the test tools: FIO, vdbench, to test the solid-state drive. At the same time, it is necessary to ensure that the identification codes of each solid-state drive are inconsistent (generally identified by the SN: Serial Number of the solid-state drive during the test).

[0039] Among them, install the serial port tool Teraterm on the serial port host, connect each SSD on the test machine through the serial cable, select the "Serial" option in the top menu bar of the tool, then select the correct COM port and baud rate, and click "OK". In the newly opened terminal window, a prompt can be seen, indicating that the connection to the SSD has been established, and the print logs of each SSD serial port can be displayed. At the same time, save the print logs of the connected SSD serial ports in a certain format and path.

[0040] Step S102: Determine the test order of the solid-state drives to be tested, the target performance testing tool in the performance testing tool, and the execution order of the target performance testing tool based on the pre-set test rules.

[0041] Among them, the test rules may include the performance to be tested for the solid-state drive to be tested and the corresponding performance test tool for this performance, as well as the test order of multiple solid-state drives to be tested and the execution order of the performance test tool.

[0042] Specifically, the relevant interface of the control host test system (which can be implemented through programming languages) can select the tools to be tested and the execution order. Then, the system executes the code of the test system according to the configured order, and controls the test host to perform tests according to the specified test tools. Some necessary test parameters need to be configured on the system interface of the control host: the test object, whether to select FIO or vdbench for testing. After selection, the corresponding parameters need to be configured, such as the IO size, read / write mode, read / write data volume (at least twice the capacity), and the result data to be saved.

[0043] Step S103: Perform repeated read or write tests on the solid-state drive to be tested based on the test order and execution order.

[0044] Among them, through relevant settings on the control host, the control host will run a program to generate corresponding parameter configuration files on each test machine, control the order of the corresponding test solid-state drives on each test host, and start the test. Due to the particularity of performance testing, in order to ensure the accuracy of the test and optimal data, each test machine only tests the performance of one solid-state drive each time during the test. After the test is completed, the test of the next solid-state drive is carried out.

[0045] Step S104: During the test, read the data of the target performance test tool recorded by the test machine, and perform fluctuation anomaly detection based on the data of the target performance test tool to obtain the detection result.

[0046] Among them, the control host can read the solid-state drive being tested on each test machine and the corresponding performance tool test data, and refresh it at a certain time interval. This interval time can be selected on the system, such as one hour. At the same time, the system identifies the points in the data with significantly higher volatility than the normal level according to the designed performance fluctuation anomaly detection algorithm. This point is the abnormal fluctuation data point.

[0047] Step S105: Adjust the target performance test tool and the corresponding execution order based on the detection result, and continue the test after adjustment to obtain the test result.

[0048] Among them, the test result includes the detection result.

[0049] Specifically, adjusting the target performance test tool and the corresponding execution order based on the detection result may include: determining whether there are abnormal fluctuation data points based on the detection result; if there are no abnormal fluctuation data points, adjusting the target performance test tool to the performance test tool corresponding to the untested performance.

[0050] Among them, the purpose of performance testing is to identify unstable performance. Therefore, during the testing process, if a function does not exhibit abnormalities within a preset time interval, excessive testing of this performance is not carried out. In subsequent tests, it is replaced with untested performance, and performance testing is performed through the performance testing tool corresponding to this performance.

[0051] Among them, the preset time interval is determined according to the actual situation, such as the sequence of time when some performances exhibit abnormalities during daily use, etc.

[0052] Step S106, perform data processing based on the test results and one - fold capacity of the solid - state drive to perform visual display of the test results based on multiple - fold capacity.

[0053] Among them, after the test is completed, the test results can be saved at the specified location of the test machine according to the specified name in the parameter configuration. Multiple solid - state drives and various test results are distinguished by naming. First, select the file results to be processed according to the path in the relevant interface of the test system of the control - end host: bandwidth results, iops results, latency results, etc.

[0054] Among them, the test results include the data volume generated during the testing process, such as the written data volume or the read data volume. This data volume is usually generated after the solid - state drive is repeatedly overwritten (corresponding to the multiple - fold capacity of the solid - state drive). Therefore, when analyzing the data volume corresponding to each fold capacity of the solid - state drive, the data volume corresponding to multiple - fold capacity is relatively cumbersome. Thus, the data can be divided by one - fold capacity, and then visual display of multiple - fold capacity can be performed through the divided data volume.

[0055] The performance testing method for a solid - state drive provided by the embodiments of the present invention can obtain a plurality of predetermined solid - state drives to be tested and a plurality of test machines. Each test machine is installed with a corresponding performance testing tool. Based on the pre - set test rules, determine the test order of the solid - state drives to be tested, the target performance testing tool in the performance testing tool, and the execution order of the target performance testing tool. Perform repeated read or write tests on the solid - state drives to be tested based on the test order and the execution order. During the testing process, read the data of the target performance testing tool recorded by the test machine, and perform fluctuation abnormality detection based on the data of the target performance testing tool to obtain the detection result. Adjust the target performance testing tool and the corresponding execution order based on the detection result, and continue the testing after adjustment to obtain the test result. The test result includes the detection result. Perform data processing based on the test result and one - fold capacity of the solid - state drive to perform visual display of the test result based on multiple - fold capacity. In this way, the convenience of analyzing the cause of performance problems is improved, the complexity of the processing process is reduced, and the labor cost is reduced.

[0056] Embodiment 2

[0057] The embodiment of the present invention also provides another method for testing the performance of a solid-state drive; this method is implemented on the basis of the method in the above embodiment; this method focuses on describing the specific implementation manner of detecting abnormal fluctuations based on the data of the target performance testing tool to obtain the detection result.

[0058] Figure 2 It is a flowchart of another method for testing the performance of a solid-state drive provided by the embodiment of the present invention. As Figure 2 shown, the process of detecting abnormal fluctuations based on the data of the target performance testing tool to obtain the detection result may include the following steps:

[0059] Step S201, determine whether there are abnormally fluctuating data points based on the data of the target performance testing tool to obtain a determination result.

[0060] Specifically, determining whether there are abnormally fluctuating data points based on the data of the target performance testing tool to obtain a determination result may include: determining the moving average value and the moving standard deviation of the data of the target performance testing tool; comparing the moving average value and the moving standard deviation with a pre-set first abnormal threshold and a second abnormal threshold respectively; if the moving average value is greater than the first abnormal threshold and the moving standard deviation is greater than the second abnormal threshold, it is determined that there are abnormally fluctuating data points.

[0061] Step S202, if it is determined based on the determination result that there are abnormally fluctuating data points, extract the serial port log corresponding to the abnormally fluctuating data points.

[0062] Specifically, extracting the serial port log corresponding to the abnormally fluctuating data points may include: determining the time point corresponding to the abnormally fluctuating data points; extracting the corresponding serial port log based on the time point.

[0063] Step S203, determine the reason for the abnormal fluctuation of the abnormally fluctuating data points based on the serial port log.

[0064] Specifically, determining the reason for the abnormal fluctuation of the abnormally fluctuating data points based on the serial port log may include: determining the first quantity of the target prints within a preset time before and after the time point based on the serial port log; the target prints are ecc high prints or read retry prints; if the first quantity exceeds the pre-set first quantity threshold, the reason for the abnormal fluctuation is the occurrence of the first quantity of target prints; determining whether riskGC prints appear at the time point based on the serial port log; if riskGC prints appear, the reason for the abnormal fluctuation is the appearance of riskGC prints in the serial port log; determining whether V appears at the time point based on the serial port log; if V appears, the reason for the abnormal fluctuation is the occurrence of read disturb.

[0065] Among them, ecc high indicates that the number of bit flips is higher than the threshold, read retry indicates re-reading, risk GC indicates garbage collection, V indicates the process of applying corresponding virtual blocks during the writing process of the solid-state drive, and read disturb indicates read interference.

[0066] Among them, after determining the cause of the abnormal fluctuation of the abnormal fluctuation data point, the cause of the abnormal fluctuation can be marked corresponding to the abnormal fluctuation data point, so that when the subsequent visual display is performed, the cause of the abnormal fluctuation of the abnormal fluctuation data point can be displayed.

[0067] Step S204, when it is determined that the result representation has abnormal fluctuation data points, the abnormal fluctuation data points and the corresponding causes of the abnormal fluctuations of the abnormal fluctuation data points are used as the detection results.

[0068] Step S205, when it is determined that the result representation does not have abnormal fluctuation data points, the fact that the target performance test tool data does not have abnormal fluctuation data points is used as the detection result.

[0069] The performance test method of the solid-state drive provided by the embodiment of the present invention can, by detecting abnormal fluctuations during the test process, process a large amount of data in advance to share the data processing pressure after the test is completed, and through the detection of the abnormal fluctuations, provide a basis for the subsequent adjustment of the target performance test tool, so as to reduce the consumption of the computing power resources of the system.

[0070] Embodiment 3

[0071] The embodiment of the present invention also provides another performance test method for a solid-state drive; this method is implemented on the basis of the method of the above embodiment; this method focuses on describing the specific implementation manner of performing data processing based on the test result and the single capacity of the solid-state drive to perform visual display of the test result based on multiple capacities.

[0072] Figure 3 is a flowchart of another performance test method for a solid-state drive provided by the embodiment of the present invention, as Figure 3 shown, this performing data processing based on the test result and the single capacity of the solid-state drive to perform visual display of the test result based on multiple capacities may include the following steps:

[0073] Step S301, determining the data volume per second based on the test result.

[0074] Among them, the data volume is: the written data volume or the read data volume.

[0075] Step S302, determining the time length corresponding to the data volume of writing to or reading from the single capacity of the solid-state drive.

[0076] Among them, the capacity of one times the solid-state drive can be determined, and this one-time capacity can be divided from all the data volumes corresponding to the test results. Then, the start and end times of the divided capacity during writing or reading are determined, so that the corresponding time length can be determined through the start time.

[0077] Among them, the test result corresponds to the test result of a certain performance. Therefore, all the data volumes are related to the tested performance, and the subsequent visual display also corresponds to this performance.

[0078] Step S303: Split all the data volumes in the test results based on the time length.

[0079] Among them, all the data volumes can be split by the above-mentioned splitting method.

[0080] Step S304: Display the data points corresponding to the data volume of each one-time capacity obtained by splitting in a line chart to view the performance changes of the solid-state drive under multiple capacities.

[0081] Among them, each one-time capacity can be separately displayed by different colors or lines with different forms.

[0082] The performance test method of the solid-state drive provided by the embodiment of the present invention can display the data anomalies corresponding to each one-time capacity in a comparative manner through visual display based on multiple capacities, and display the corresponding anomaly reasons at the anomaly positions, improving the convenience of analyzing the test results.

[0083] Embodiment 4

[0084] Corresponding to the above method embodiment, the embodiment of the present invention provides a performance test device for a solid-state drive. Figure 4 As shown in the structure schematic diagram of a performance test device for a solid-state drive provided by the embodiment of the present invention, Figure 4 The performance test device for the solid-state drive may include:

[0085] An acquisition module 401, configured to acquire a plurality of to-be-tested solid-state drives and a plurality of test machines determined in advance; each test machine is installed with a corresponding performance test tool.

[0086] A test configuration module 402, configured to determine the test order of the to-be-tested solid-state drives, the target performance test tool in the performance test tool, and the execution order of the target performance test tool based on the pre-set test rules.

[0087] A to-be-tested solid-state drive test module 403, configured to perform repeated read or write tests on the to-be-tested solid-state drives based on the test order and the execution order.

[0088] The fluctuation anomaly detection module 404 is configured to, during the testing process, read the target performance test tool data recorded by the testing machine, and perform fluctuation anomaly detection based on the target performance test tool data to obtain a detection result.

[0089] The test result determination module 405 is configured to adjust the target performance test tool and the corresponding execution order based on the detection result, continue the testing after the adjustment, and obtain a test result; the test result includes the detection result.

[0090] The data processing module 406 is configured to perform data processing based on the test result and the single capacity of the solid-state drive, so as to perform visual display of the test result based on multiple capacities.

[0091] The performance testing device for a solid-state drive provided by the embodiment of the present invention can obtain a plurality of to-be-tested solid-state drives and a plurality of testing machines determined in advance. Each testing machine is installed with a corresponding performance test tool. Based on the pre-set testing rules, determine the testing order of the to-be-tested solid-state drives, the target performance test tool in the performance test tools, and the execution order of the target performance test tool. Perform repeated read or write tests on the to-be-tested solid-state drives based on the testing order and the execution order. During the testing process, read the target performance test tool data recorded by the testing machine, and perform fluctuation anomaly detection based on the target performance test tool data to obtain a detection result. Adjust the target performance test tool and the corresponding execution order based on the detection result, continue the testing after the adjustment, and obtain a test result. The test result includes the detection result. Perform data processing based on the test result and the single capacity of the solid-state drive, so as to perform visual display of the test result based on multiple capacities. In this way, the convenience of analyzing the cause of performance problems is improved, the complexity of the processing flow is reduced, and the labor cost is reduced.

[0092] In some embodiments, the obtaining module is further configured to determine the number of to-be-tested solid-state drives and the number of testing machines based on the actual work; install the corresponding performance test tool on each testing machine for the control host to control the corresponding testing machine to start the test program through the network and the developed system; wherein, the versions of the performance test tools are the same; during the testing, each testing machine tests one to-be-tested solid-state drive each time, and tests the next to-be-tested solid-state drive after the test is completed.

[0093] In some embodiments, the fluctuation anomaly detection module is further configured to determine whether there are abnormally fluctuating data points based on the target performance test tool data, and obtain a determination result; if it is determined based on the determination result that there are abnormally fluctuating data points, extract the serial port log corresponding to the abnormally fluctuating data points; determine the cause of the abnormal fluctuation of the abnormally fluctuating data points based on the serial port log; when the determination result indicates that there are abnormally fluctuating data points, use the abnormally fluctuating data points and the corresponding cause of the abnormal fluctuation as the detection result; when the determination result indicates that there are no abnormally fluctuating data points, use the fact that there are no abnormally fluctuating data points in the target performance test tool data as the detection result.

[0094] In some embodiments, the fluctuation anomaly detection module is further configured to determine the moving average value and the moving standard deviation of the target performance test tool data; compare the moving average value and the moving standard deviation with a preset first anomaly threshold and a second anomaly threshold respectively; if the moving average value is greater than the first anomaly threshold and the moving standard deviation is greater than the second anomaly threshold, determine that there are abnormally fluctuating data points.

[0095] In some embodiments, the fluctuation anomaly detection module is further configured to determine the time point corresponding to the abnormally fluctuating data point; extract the corresponding serial port log based on the time point.

[0096] In some embodiments, the fluctuation anomaly detection module is further configured to determine the first quantity of the target print within a preset time before and after the time point based on the serial port log; the target print is ecc high print or read retry print; if the first quantity exceeds a preset first quantity threshold, the cause of the abnormal fluctuation is the occurrence of the first quantity of the target print; determine whether a riskGC print appears at the time point based on the serial port log; if a riskGC print appears, the cause of the abnormal fluctuation is the appearance of a riskGC print in the serial port log; determine whether a V appears at the time point based on the serial port log; if a V appears, the cause of the abnormal fluctuation is the triggering of read disturb.

[0097] In some embodiments, the test result determination module is further configured to determine whether there are abnormally fluctuating data points based on the detection result; if there are no abnormally fluctuating data points, adjust the target performance test tool to the performance test tool corresponding to the untested performance.

[0098] In some embodiments, the data processing module is further configured to determine the data volume per second based on the test result; the data volume is: the written data volume or the read data volume; determine the time length corresponding to the data volume of one time the capacity of the solid state drive written or read; segment all the data volumes in the test result based on the time length; display the data points corresponding to each data volume of one time the capacity in a line chart to view the performance changes of the solid state drive under multiple times the capacity.

[0099] The device provided in the embodiments of the present invention has the same implementation principle and technical effects as those in the foregoing method embodiments. For the sake of brief description, for the parts not mentioned in the device embodiments, reference may be made to the corresponding contents in the foregoing method embodiments.

[0100] Embodiment 5

[0101] The embodiments of the present invention further provide an electronic device for running the performance test method of the above-mentioned solid-state drive; refer to Figure 5 the structural schematic diagram of an electronic device shown in the figure. The electronic device includes a memory 500 and a processor 501. Among them, the memory 500 is used to store one or more computer instructions, and the one or more computer instructions are executed by the processor 501 to implement the performance test method of the above-mentioned solid-state drive.

[0102] Furthermore, Figure 5 the electronic device shown in the figure further includes a bus 502 and a communication interface 503. The processor 501, the communication interface 503 and the memory 500 are connected through the bus 502.

[0103] Among them, the memory 500 may include a high-speed random access memory (RAM, Random Access Memory), and may also include a non-volatile memory, such as at least one disk memory. Through at least one communication interface 503 (which can be wired or wireless), the communication connection between the system network element and at least one other network element can be realized, and the Internet, wide area network, local area network, metropolitan area network, etc. can be used. The bus 502 can be an ISA bus, a PCI bus or an EISA bus, etc. The bus can be divided into an address bus, a data bus, a control bus, etc. For the sake of convenience of representation, Figure 5 only a bidirectional arrow is used in the figure, but it does not mean that there is only one bus or one type of bus.

[0104] The processor 501 may be an integrated circuit chip with signal processing capabilities. In the implementation process, each step of the above method can be completed by the integrated logic circuit of the hardware in the processor 501 or the instructions in the form of software. The above-mentioned processor 501 may be a general-purpose processor, including a central processing unit (CPU for short), a network processor (NP for short), etc.; it may also be a digital signal processor (DSP for short), an application specific integrated circuit (ASIC for short), a field-programmable gate array (FPGA for short), or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components. It can implement or execute the various methods, steps and logic block diagrams disclosed in the embodiments of the present invention. The general-purpose processor may be a microprocessor or the processor may also be any conventional processor, etc. The steps of the method disclosed in combination with the embodiments of the present invention can be directly embodied as being executed and completed by a hardware decoding processor, or can be executed and completed by a combination of hardware and software modules in the decoding processor. The software module may be located in a mature storage medium in the art such as a random access memory, a flash memory, a read-only memory, a programmable read-only memory, or an electrically erasable programmable memory, a register, etc. This storage medium is located in the memory 500, and the processor 501 reads the information in the memory 500 and combines its hardware to complete the steps of the method in the foregoing embodiments.

[0105] The embodiments of the present invention also provide a computer-readable storage medium, which stores computer-executable instructions. When the computer-executable instructions are called and executed by a processor, the computer-executable instructions cause the processor to implement the above-mentioned performance testing method for a solid-state drive. For the specific implementation, reference can be made to the method embodiments, and details are not described herein again.

[0106] The computer program product for implementing the performance testing method for a solid-state drive provided by the embodiments of the present invention includes a computer-readable storage medium storing non-volatile program code executable by a processor. The instructions included in the program code can be used to execute the method described in the foregoing method embodiments. For the specific implementation, reference can be made to the method embodiments, and details are not described herein again.

[0107] Those skilled in the art can clearly understand that for the convenience and brevity of description, the specific working processes of the above-described systems, devices and units can refer to the corresponding processes in the foregoing method embodiments, and details are not described herein again.

[0108] In several embodiments provided by the present invention, it should be understood that the disclosed systems, devices, and methods can be implemented in other ways. The device embodiments described above are merely illustrative. For example, the division of the units is only a logical function division. In actual implementation, there may be other division methods. For another example, multiple units or components can be combined or integrated into another system, or some features can be ignored or not executed. Another point is that the displayed or discussed coupling, direct coupling, or communication connection to each other can be through some communication interfaces. The indirect coupling or communication connection of the devices or units can be in an electrical, mechanical, or other form.

[0109] The units described as separate components may or may not be physically separated. The components displayed as units may or may not be physical units, that is, they can be located in one place or distributed to multiple network units. Some or all of the units can be selected according to actual needs to achieve the purpose of the solution of this embodiment.

[0110] In addition, the functional units in various embodiments of the present invention can be integrated in a processing unit, or each unit can exist physically alone, or two or more units can be integrated in one unit.

[0111] If the functions are implemented in the form of software function units and sold or used as independent products, they can be stored in a non-volatile computer-readable storage medium executable by a processor. Based on such an understanding, the technical solution of the present invention, in essence, or the part that contributes to the prior art, or a part of this technical solution, can be embodied in the form of a software product. This computer software product is stored in a storage medium and includes several instructions for causing a computer device (which can be a personal computer, a server, or a network device, etc.) to execute all or part of the steps of the methods described in various embodiments of the present invention. The aforementioned storage medium includes: USB flash drives, mobile hard disks, read-only memories (ROM, Read-Only Memory), random access memories (RAM, Random Access Memory), magnetic disks, or optical discs, and other various media that can store program codes.

[0112] Finally, it should be noted that the above-described embodiments are only specific embodiments of the present invention, used to illustrate the technical solutions of the present invention, rather than limiting it. The protection scope of the present invention is not limited thereto. Although the present invention has been described in detail with reference to the foregoing embodiments, those of ordinary skill in the art should understand that any technician familiar with the technical field of the present invention can still modify the technical solutions described in the foregoing embodiments or can easily think of changes, or perform equivalent replacements on some of the technical features; and these modifications, changes or replacements do not make the essence of the corresponding technical solutions deviate from the spirit and scope of the technical solutions of the embodiments of the present invention, and should all be covered within the protection scope of the present invention. Therefore, the protection scope of the present invention should be subject to the protection scope of the claims.

Claims

1. A performance testing method for a solid-state drive, characterized in that, The method includes: Obtaining a plurality of pre-determined solid state drives to be tested and a plurality of test machines; each of the test machines is installed with a corresponding performance testing tool; Determining the test order of the solid state drives to be tested, the target performance testing tool in the performance testing tool, and the execution order of the target performance testing tool based on pre-set test rules; Performing repeated read or write tests on the solid state drives to be tested based on the test order and the execution order; During the test, reading the data of the target performance testing tool recorded by the test machine, and performing fluctuation anomaly detection based on the data of the target performance testing tool to obtain a detection result; Adjusting the target performance testing tool and the corresponding execution order based on the detection result, and continuing the test after adjustment to obtain a test result; the test result includes the detection result; Performing data processing based on the test result and the one-fold capacity of the solid state drive to perform visualization display of the test result based on multiple-fold capacities.

2. The method according to claim 1, wherein Before the step of obtaining a plurality of pre-determined solid state drives to be tested and a plurality of test machines, the method further includes: Determining the number of solid state drives to be tested and the number of test machines based on actual work; Installing a corresponding performance testing tool on each of the test machines for the control host to control the corresponding test machine to start a test program through a network and a developed system; Wherein, the versions of the performance testing tools are all the same; during the test, each test machine tests one solid state drive to be tested at a time, and tests the next solid state drive to be tested after the test is completed.

3. The method according to claim 1, wherein The performing fluctuation anomaly detection based on the data of the target performance testing tool to obtain a detection result includes: Determining whether there are abnormally fluctuating data points based on the data of the target performance testing tool to obtain a determination result; If it is determined based on the determination result that there are abnormally fluctuating data points, extracting the serial port log corresponding to the abnormally fluctuating data points; Determining the cause of the abnormal fluctuation of the abnormally fluctuating data points based on the serial port log; When the determination result indicates that there are abnormally fluctuating data points, taking the abnormally fluctuating data points and the cause of the abnormal fluctuation corresponding to the abnormally fluctuating data points as the detection result; When the determination result indicates that there are no abnormally fluctuating data points, taking that there are no abnormally fluctuating data points in the data of the target performance testing tool as the detection result.

4. The method according to claim 3, characterized in that, The determining whether there are abnormally fluctuating data points based on the data of the target performance testing tool to obtain a determination result includes: Determining the moving average value and the moving standard deviation of the data of the target performance testing tool; Comparing the moving average value and the moving standard deviation with a pre-set first anomaly threshold and a second anomaly threshold respectively; If the moving average value is greater than the first anomaly threshold and the moving standard deviation is greater than the second anomaly threshold, it is determined that there are abnormally fluctuating data points.

5. The method according to claim 3, wherein The extracting the serial port log corresponding to the abnormally fluctuating data points includes: Determining the time point corresponding to the abnormally fluctuating data points; Extracting the corresponding serial port log based on the time point.

6. The method according to claim 5, characterized in that, Determining the abnormal fluctuation cause of the abnormal fluctuation data point based on the serial port log includes: Determining a first quantity of target prints within a preset time before and after the time point based on the serial port log; the target print is an ecc high print or a read retry print; If the first quantity exceeds a preset first quantity threshold, the abnormal fluctuation cause is the occurrence of the target prints of the first quantity; Determining whether a riskGC print appears at the time point based on the serial port log; If the riskGC print appears, the abnormal fluctuation cause is the appearance of the riskGC print in the serial port log; Determining whether a V appears at the time point based on the serial port log; If the V appears, the abnormal fluctuation cause is the triggering of read disturb.

7. The method according to claim 3, wherein Adjusting the target performance test tool and the corresponding execution order based on the detection result includes: Determining whether there is an abnormal fluctuation data point based on the detection result; If there is no abnormal fluctuation data point, adjusting the target performance test tool to a performance test tool corresponding to the untested performance.

8. The method according to claim 3, wherein Processing data based on the test result and the one-fold capacity of the solid-state drive to perform visualization display of the test result based on multiple-fold capacities includes: Determining the data quantity per second based on the test result; the data quantity is the written data quantity or the read data quantity; Determining the time length corresponding to the data quantity of writing or reading the one-fold capacity of the solid-state drive; Segmenting all the data quantities in the test result based on the time length; Displaying the data points corresponding to the data quantity of each one-fold capacity obtained by segmentation in a line chart to view the performance change of the solid-state drive under multiple-fold capacities.

9. A performance testing device for a solid state drive, characterized in that, The device includes: An acquisition module, configured to acquire a plurality of pre-determined solid-state drives to be tested and a plurality of test machines; each test machine is installed with a corresponding performance test tool; A test configuration module, configured to determine the test order of the solid-state drives to be tested, the target performance test tool among the performance test tools, and the execution order of the target performance test tool based on pre-set test rules; A to-be-tested solid-state drive test module, configured to perform repeated read or write tests on the solid-state drives to be tested based on the test order and the execution order; A fluctuation anomaly detection module, configured to, during the test, read the target performance test tool data recorded by the test machine and perform fluctuation anomaly detection based on the target performance test tool data to obtain a detection result; A test result determination module, configured to adjust the target performance test tool and the corresponding execution order based on the detection result, continue the test after adjustment, and obtain a test result; the test result includes the detection result; A data processing module, configured to process data based on the test result and the one-fold capacity of the solid-state drive to perform visualization display of the test result based on multiple-fold capacities.

10. A computer-readable storage medium, characterized in that, The computer-readable storage medium stores computer-executable instructions, and when the computer-executable instructions are called and executed by a processor, the computer-executable instructions cause the processor to implement the performance testing method of the solid-state drive according to any one of claims 1 to 8.

Citation Information

Cited By

  • SSD (Solid State Disk) staged verification test method and storage equipment

    CN120808860A