Method and system for testing performance stability of solid state disk and medium
By designing solid-state drive performance stability testing methods, including low-lattice, sequential writing and high-pressure random reading operations, the problem of the performance stability of solid-state drives in a small-scale LBA is solved in the existing technology that it is difficult to test the performance stability of solid-state drives in a small-scale LBA, and a comprehensive evaluation of the performance stability of solid-state drives and monitoring of equipment health status is achieved.
Patent Information
- Application Number
- CN202411586579.4
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-11-08
- Publication Date
- 2025-02-25
AI Technical Summary
The prior art is difficult to fully cover the performance stability test of solid-state drives in scenarios of large pressure reading files in LBAs for a long time and a small range.
A solid-state drive performance stability testing method is designed, including starting the test machine equipped with a solid-state drive to be tested, recording log information, writing the entire disk at low latitude, writing the entire disk in 128k three times in sequence, performing long-term high-pressure random reading operations within a 1GB space range, saving write bandwidth monitoring data, drawing performance curve charts, and counting the number of monitoring points below 80% of the average bandwidth.
Through this test method, the performance stability of solid-state drives in a specific LBA range can be comprehensively evaluated, performance degradation or abnormal fluctuations can be found, and the equipment health status can be monitored in a timely manner, and the equipment's health status can be provided with references for performance optimization and improvement, so as to improve the reliability verification of the equipment.
Smart Images

Figure CN119517143A_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the field of storage, and in particular to a method, system and medium for testing the performance stability of a solid-state hard disk. Background Art
[0002] The performance stability of solid-state drives significantly impacts data reliability, application performance, user experience, and cost-effectiveness. However, current testing methods lack specialized testing methods for performance stability under the conditions of long, high-stress file reads within a small LBA range. Conventional performance testing methods struggle to fully cover these conditions. Therefore, a method is needed to test performance stability under these conditions. Summary of the Invention
[0003] In view of the defects of the prior art, the present invention designs a new testing method for the scenario of reading files under high pressure in a small range of LBA for a long time. This method can fully reflect the stability of the reading load in a small range of LBA.
[0004] In order to solve the above technical problem, the present invention adopts a technical solution: a solid state drive performance stability testing method, comprising the following steps: S01. The test machine equipped with the solid-state drive to be tested is powered on, and log information of the solid-state drive to be tested is recorded; S02. Perform a low-level format on the entire solid-state drive to be tested; S03, performing a 128KB sequential write on the entire solid-state drive to be tested three times, so that the solid-state drive to be tested enters a steady state; S04. Randomly select a test initial address within the SSD under test and perform a long, high-stress random read operation within 1GB of the SSD under test. The long period is more than 72 hours, and the high stress is a random read stress test with a queue depth of 64, a number of threads of 4, and different bs values. Save the write bandwidth monitoring data during the test and iterate over the bs parameter, where bs is the block size, i.e., the block size of a single I / O operation. S05. Save bandwidth monitoring data based on different bs parameters, draw a performance curve with time on the x-axis and bandwidth on the y-axis, and count the number of monitoring points where the bandwidth is lower than 80% of the average value. If the number of monitoring points where the bandwidth is lower than 80% of the average value does not exceed one thousandth of the total number of points, and there are no monitoring points where the io value drops to 0, the performance curve test passes. S06. After step S04 is completed, the log information of the solid-state drive to be tested is recorded, and the recorded log information is compared with the log information before the test. If the log comparison condition is met, the log comparison passes; If both the performance curve and the log are compared, the test passes. Otherwise, the test fails and ends.
[0005] Furthermore, the log comparison conditions are: no error information is added, the temperature and power consumption meet the test standards, there are no errors in the FIO output, and there are no IO errors in the system log.
[0006] Furthermore, in step S03, the fio tool is used to perform 3 passes of 128k sequential writes on the entire disk of the sample to be tested, and the fio tool parameters are -numjobs=1 --iodepth=128 --rw=write --bs=128k --loops=3 --size=100%.
[0007] Furthermore, in step S04, the fio tool is used to perform a long-term, high-stress random read operation within the 1GB space of the SSD to be tested.
[0008] Furthermore, the bs parameter is 4, 8, 16, 20, 32, 48, and other fio tool parameters are: --thread=1 --direct=1 --norandommap=1 --randrepeat=0 --rw=randread --bs=${blk size}k --size=1G --runtime=4h --time based --group reporting --ioengine=libaio --numjobs=4 --iodepth=64.
[0009] Furthermore, the number of long-term, high-stress random read operations performed within the 1GB space of the solid-state drive to be tested is 3, and the test initial address of each random read operation is different from the test initial address of the previous random read operation.
[0010] Furthermore, in step S04, the second-level monitoring data of the write bandwidth during the test is saved. In step S05, the second-level bandwidth monitoring data is saved according to different bs parameters.
[0011] Furthermore, the log information saved in steps S01 and S06 includes smart log and vendor log.
[0012] The present invention also discloses a solid state drive performance stability testing system, comprising a processor and a memory storing program instructions, wherein the processor is configured to execute the solid state drive performance stability testing method described above when running the program instructions.
[0013] The present invention also discloses a storage medium storing program instructions, which, when running, execute the solid-state hard disk performance stability testing method as described above.
[0014] Beneficial effects of the present invention: Contributes to performance stability evaluation: 1. Through a long, high-stress file read test, we can comprehensively evaluate the performance stability of the SSD within a specific LBA range. This helps to identify whether the device has performance degradation, abnormal fluctuations, or other stability issues during long-term use.
[0015] 2. Effectively monitor device health: Performance monitoring during testing and smart log and vendor log data recording can help monitor the health of storage devices. By analyzing this data and abnormal event records, potential device problems can be discovered in a timely manner and appropriate preventive measures can be taken.
[0016] 3. Performance optimization and improvement: Test results can provide important insights for optimizing and improving SSD performance. By analyzing test data and developing targeted optimization strategies, we can improve device performance under high-pressure file reading scenarios.
[0017] 4. Improve reliability verification: Long-term high-pressure file reading tests can verify the reliability of solid-state drives under extreme usage conditions and simulate real user scenarios. This helps to confirm the stability and reliability of the device under long-term high-load reading conditions and improve the credibility of the device.
[0018] In summary, the performance stability testing method under the scenario of long-term high-pressure file reading within a small LBA range helps to comprehensively evaluate the performance and stability of storage devices, providing an important reference for the reliable operation of the device, and also providing strong support for performance optimization and fault prevention. BRIEF DESCRIPTION OF THE DRAWINGS
[0019] Figure 1 This is a flow chart of Example 1. DETAILED DESCRIPTION
[0020] In order to be able to understand the features and technical content of the embodiments of the present disclosure in more detail, the implementation of the embodiments of the present disclosure is described in detail below in conjunction with the accompanying drawings. The accompanying drawings are for reference only and are not used to limit the embodiments of the present disclosure. In the following technical description, for the sake of convenience of explanation, a full understanding of the disclosed embodiments is provided through multiple details. However, one or more embodiments can still be implemented without these details. In other cases, to simplify the drawings, well-known structures and devices can be simplified for display.
[0021] Example 1 This embodiment discloses a method for testing the performance stability of a solid-state drive (SSD). This method first ensures that the NVMESSD under test is in a normal state and records log information such as the smart log and vendor log before testing. A full low-level format is performed on the SSD under test, followed by three 128KB sequential writes to the entire drive to stabilize the SSD. A long, high-stress random read operation is performed within the 1GB internal space of the NVME SSD. Three addresses are randomly selected, and the write bandwidth monitoring data, measured in seconds, is saved during the test. Performance curves are plotted based on the second-level bandwidth monitoring data from different test cases.
[0022] Specific as Figure 1 As shown, this method includes the following steps: S01. The test machine is turned on, the solid-state drive to be tested has been inserted into the test machine, and the test machine can recognize the drive normally.
[0023] S02. Before conducting the NVMe SSD performance stability test, record the log information of the solid-state drive to be tested. The log information includes the mart log and vendor log. This information serves as a reference and basis for comparison after the test is completed, and can help analyze the correctness of subsequent test results.
[0024] S03. Perform a full low-level format on the solid-state drive to be tested.
[0025] S04: Perform three 128k sequential writes on the entire SSD to ensure it enters a steady state. In this embodiment, the fio tool performs three 128k sequential writes on the entire SSD. Some fio tool parameters include: --numjobs=1 --iodepth=128 --rw=write --bs=128k --loops=3 --size=100%.
[0026] S05. Randomly select a test initial address within the SSD under test and use the fio tool to perform a long, high-stress random read operation within the 1GB space of the SSD under test. The long period is more than 72 hours, and the high stress is a random read stress test with a queue depth of 64, 4 threads, and different bs settings. Save the second-level monitoring data of the write bandwidth during the test and traverse the bs parameter. bs is the block size, that is, the block size of a single I / O operation. Other test parameter configurations are: --thread=1 --direct=1 --norandommap=1 --randrepeat=0 --rw=randread --bs=${blk size}k--size=1G --runtime=4h --time based --group reporting --ioengine=libaio --numjobs=4 --iodepth=64.
[0027] S06. Save second-level bandwidth monitoring data based on different bs parameters, draw a performance curve with time on the x-axis and bandwidth on the y-axis, and count the number of monitoring points where the bandwidth is lower than 80% of the average value. Among all second-level monitoring points, if the number of monitoring points where the bandwidth is lower than 80% of the average value does not exceed one thousandth of the total number of points, and there are no monitoring points where the io drops to 0, the performance curve test passes.
[0028] S07. After step S05, the smart log, vendor log and other log information of the solid-state drive to be tested are recorded, and the recorded log information is compared with the log information before the test. If the log comparison conditions are met, the log comparison passes; If both the performance curve and the log are compared, the test passes. Otherwise, the test fails and ends.
[0029] In this embodiment, the log comparison conditions are: no error information is added, the temperature and power consumption meet the test standards, the FIO output has no error, and the system log has no IO error.
[0030] In this embodiment, the number of long-term high-stress random read operations performed within the 1GB space of the solid-state drive to be tested is 3, and the test initial address of each random read operation is different from the test initial address of the previous random read operation.
[0031] Example 2 This embodiment discloses a solid-state drive performance stability testing system, comprising a processor and memory. Optionally, the system may also include a communication interface and a bus. The processor, communication interface, and memory may communicate with each other via the bus. The communication interface may be used for information transmission. The processor may invoke logic instructions in the memory to execute the solid-state drive performance stability testing method described in the above embodiment.
[0032] In addition, the logic instructions in the above-mentioned memory can be implemented in the form of software functional units and can be stored in a computer-readable storage medium when sold or used as an independent product.
[0033] Memory, as a computer-readable storage medium, can be used to store software programs and computer-executable programs, such as the program instructions / modules corresponding to the methods in the embodiments of the present disclosure. The processor executes the program instructions / modules stored in the memory to perform functional applications and data processing, thereby implementing the solid-state drive performance stability testing method in the above-mentioned embodiments.
[0034] The memory may include a program storage area and a data storage area. The program storage area may store an operating system and at least one application required for a function; the data storage area may store data generated based on the use of the terminal device. Furthermore, the memory may include high-speed random access memory and non-volatile memory.
[0035] Example 3 The present invention also discloses a storage medium storing program instructions, which, when running, execute the solid-state hard disk performance stability testing method as described above.
[0036] The aforementioned computer-readable storage medium may be a transient computer-readable storage medium or a non-transitory computer-readable storage medium.
[0037] The technical solutions of the embodiments of the present disclosure may be embodied in the form of a software product, which is stored in a storage medium and includes one or more instructions for causing a computer device (which may be a personal computer, server, or network device, etc.) to execute all or part of the steps of the method described in the embodiments of the present disclosure. The aforementioned storage medium may be a non-transitory storage medium, including: a USB flash drive, a mobile hard drive, a read-only memory (ROM), a random access memory (RAM), a magnetic disk, an optical disk, and other media that can store program code, or a transient storage medium.
[0038] The above description and the accompanying drawings sufficiently illustrate the embodiments of the present disclosure to enable those skilled in the art to practice them. Other embodiments may include structural, logical, electrical, process and other changes. The embodiments represent only possible variations. Unless expressly required, individual components and functions are optional, and the order of operations may vary. Parts and features of some embodiments may be included in or replace parts and features of other embodiments. Moreover, the terms used in this application are only used to describe the embodiments and are not used to limit the scope of protection. As used in the description herein, unless the context clearly indicates otherwise, the singular forms "a", "an" and "the" are intended to also include the plural forms. Similarly, the term "and / or" as used in this application refers to any and all possible combinations of one or more associated listings. In addition, when used in this application, the term "comprise" and its variations "comprises" and / or comprising refer to the presence of stated features, wholes, steps, operations, elements, and / or components, but do not exclude the presence or addition of one or more other features, wholes, steps, operations, elements, components and / or groups thereof. In the absence of further restrictions, an element defined by the sentence "comprising a..." does not exclude the presence of other identical elements in the process, method or device that includes the element. In this article, each embodiment may focus on the differences from other embodiments, and the same and similar parts between the various embodiments can be referenced to each other. For the methods, products, etc. disclosed in the embodiments, if they correspond to the method part disclosed in the embodiments, then the relevant parts can be referred to the description of the method part.
[0039] Those skilled in the art will appreciate that the units and algorithm steps of each example described in conjunction with the embodiments disclosed herein can be implemented in electronic hardware, or a combination of computer software and electronic hardware. Whether these functions are performed in hardware or software may depend on the specific application and design constraints of the technical solution. The technicians may use different methods to implement the described functions for each specific application, but such implementation should not be considered to be beyond the scope of the embodiments of the present disclosure. The technicians will clearly understand that, for the convenience and brevity of description, the specific working processes of the systems, devices and units described above can refer to the corresponding processes in the aforementioned method embodiments and will not be repeated here.
Claims
1. A method for testing the performance stability of a solid state drive, characterized in that: The following steps are involved: S01, the test machine equipped with the solid state drive to be tested is turned on, and log information of the solid state drive to be tested is recorded; S02. Perform a low-level format on the solid state drive to be tested; S03, perform 128k sequential write on the solid state drive to be tested three times, so that the solid state drive to be tested enters a steady state; S04, randomly selecting a test initial address in the SSD to be tested, performing a long-term high-pressure random read operation within the 1GB space of the SSD to be tested, the long time is more than 72 hours, the high pressure is a queue depth of 64, the number of threads is 4, and different bs random read pressure tests are performed, the write bandwidth monitoring data during the test is saved, and the bs parameter is traversed, where bs is the block size, that is, the block size of a single I / O operation; S05. Save bandwidth monitoring data according to different bs parameters, draw a performance curve with time on the x-axis and bandwidth on the y-axis, and count the number of monitoring points that are lower than 80% of the bandwidth average. If the number of monitoring points that are lower than 80% of the bandwidth average does not exceed one thousandth of the total number of points, and there is no monitoring point with io falling to 0, it means that the performance curve test has passed; S06. After step S04 is finished, the log information of the solid state drive to be tested is recorded, and the recorded log information is compared with the log information before the test. If the log comparison condition is met, the log comparison passes; If the performance curve chart and the log comparison are both passed, this round of testing passes, otherwise the test fails and the test ends.
2. The method for testing the performance stability of a solid state drive according to claim 1, wherein: The log comparison conditions are: no error information is added, the temperature and power consumption meet the test standards, there is no error in the FIO output, and there is no IO error in the system log.
3. The method for testing the performance stability of a solid state drive according to claim 1, wherein: In step S03, the fio tool is used to perform 128k sequential writes on the entire disk for three times on the sample to be tested, and the fio tool parameters are -numjobs=1 --iodepth=128 --rw=write --bs=128k --loops=3 --size=100%.
4. The method for testing the performance stability of a solid state drive according to claim 1, wherein: In step S04, the fio tool is used to perform a long-term, high-pressure random read operation within the 1GB space of the SSD to be tested.
5. The method for testing the performance stability of a solid state drive according to claim 1, wherein: The bs parameters are 4, 8, 16, 20, 32, 48. Other fio tool parameters are: --thread=1 --direct=1 --norandommap=1-randrepeat=0--rw=randread --bs=${blk size}k --size=1G --runtime=4h --timebased -.group reporting --ioengine=libaio --numjobs=4 --iodepth=64.
6. The method for testing the performance stability of a solid state drive according to claim 1, wherein: The number of long-term and high-stress random read operations performed within the 1GB space of the solid state drive to be tested is 3, and the test initial address of each random read operation is different from the test initial address of the previous random read operation.
7. The method for testing the performance stability of a solid state drive according to claim 1, wherein: In step S04, the write bandwidth second-level monitoring data during the test is saved. In step S05, the second-level bandwidth monitoring data is saved according to different bs parameters.
8. The method for testing the performance stability of a solid state drive according to claim 1, wherein: The log information saved in steps S01 and S06 includes smart log and vendor log.
9. A solid state drive performance stability testing system, comprising a processor and a memory storing program instructions, characterized in that: The processor is configured to execute the solid state drive performance stability testing method as described in any one of claims 1 to 8 when running the program instructions.
10. A storage medium storing program instructions, characterized in that: When the program instructions are executed, the solid state drive performance stability testing method according to any one of claims 1 to 8 is executed.
Citation Information
Cited By
Performance test method for static trusted protection file and related device
CN120196529A