Testing method, device and equipment for solid state disk and medium
By randomly selecting areas in the physical area of the solid state drive for reset operations, simulating the target fill and fragmented state, the area state problem in the existing test methods that cannot be fully evaluated by ZNS SSD is solved, and effective detection and performance evaluation of FTL metadata overflow is achieved.
Patent Information
- Application Number
- CN202510531051.5
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-04-25
- Publication Date
- 2025-08-01
AI Technical Summary
The existing solid-state drive testing methods have failed to fully simulate the performance of ZNS SSDs in different regional states, especially in regional fragmentation scenarios and FTL metadata overflow problems.
By randomly selecting areas at predetermined time intervals in the physical area of the solid state drive for reset operations, the target fill state and fragmentation state are simulated, and read and write tests are performed to generate a test report.
It effectively simulates the fragmentation process of solid-state drives, improves the ability to detect FTL metadata overflow problems, and comprehensively evaluates the performance of SSDs throughout the life cycle.
Smart Images

Figure CN120412693A_ABST
Abstract
Description
Technical Field
[0001] This application relates to the technical field of hard disk detection, and more specifically, to a test method, device, equipment, and medium for a solid-state drive. Background Art
[0002] With the rapid development of technologies such as big data and cloud computing, the requirements for the storage performance of servers are getting higher and higher. As a core storage component of servers, the stability performance of solid-state drives will directly affect the actual use of servers. Therefore, it is crucial to conduct real and comprehensive stability tests on solid-state drives before server shipment. The zoned namespace solid-state drive (ZNS SSD) that partitions and manages namespaces adopts zoned storage management, achieving efficient management of storage space, and has advantages such as high lifespan and low cost compared to traditional SSDs.
[0003] However, in related technologies, there are still deficiencies in some specific application scenarios. For example, traditional test methods usually fail to comprehensively simulate the performance of ZNS SSDs in different region states. The test scenarios do not simulate the region fragmentation scenario and cannot detect the problem of FTL (Flash Translation Layer) metadata overflow caused by excessive region reset frequency. Summary of the Invention
[0004] In view of this, this application provides a test method, device, equipment, and medium for a solid-state drive.
[0005] One aspect of this application provides a test method for a solid-state drive. The method includes: during the process of sequentially writing data to the physical regions of the solid-state drive to be tested according to the physical address, randomly selecting at least some of the regions from the physically written regions for reset operations at a predetermined time interval until the physical regions reach the target region state, where the target region state includes the target filling state and the target fragmentation state; performing read and write tests on the physical regions in the target region state to obtain test data; and generating a test report based on the test data.
[0006] Another aspect of this application provides a test device for a solid-state drive, which includes: a random reset module, configured to randomly select at least some of the regions from the physically written regions for reset operations at a predetermined time interval during the process of sequentially writing data to the physical regions of the solid-state drive to be tested until the physical regions reach the target region state, where the target region state includes the target filling state and the target fragmentation state of the physical regions; a test module, configured to perform read and write tests on the physical regions in the target region state to obtain test data; and a generation module, configured to generate a test report based on the test data.
[0007] Another aspect of the present application provides an electronic device, including: one or more processors; a memory for storing one or more computer programs, wherein the one or more processors execute the one or more computer programs to implement the steps of the above method.
[0008] Another aspect of the present application further provides a computer-readable storage medium, on which computer programs or instructions are stored, and when the computer programs or instructions are executed by a processor, the steps of the above method are implemented.
[0009] Another aspect of the present application further provides a computer program product, including computer programs or instructions, and when the computer programs or instructions are executed by a processor, the steps of the above method are implemented.
[0010] According to the technical solution of the present application, by randomly selecting physical regions with written data for resetting at a predetermined time interval, the fragmentation process of the solid-state drive to be tested can be effectively simulated. The random reset operation breaks the continuity of the data, increases the distribution of invalid blocks, and thus gradually increases the degree of fragmentation. Combining the adjustment of the target filling state, the performance of the SSD in the full life cycle state can be comprehensively evaluated. And through high-frequency random reset operations, the high random write pressure in the real scenario can also be simulated, making the FTL metadata overflow problem easier to expose, so as to facilitate the detection of the FTL metadata overflow problem caused by too high a regional reset frequency. BRIEF DESCRIPTION OF THE DRAWINGS
[0011] Through the following description of the embodiments of the present application with reference to the drawings, the above content and other objects, features and advantages of the present application will be clearer. In the drawings:
[0012] Figure 1 Schematically shows a flowchart of a method for testing a solid-state drive according to an embodiment of the present application;
[0013] Figure 2 Schematically shows a flowchart of a method for testing a solid-state drive according to another embodiment of the present application;
[0014] Figure 3 Schematically shows a flowchart of processing test data according to an embodiment of the present application;
[0015] Figure 4 Schematically shows a configuration diagram of a hardware device for testing a solid-state drive according to an embodiment of the present application;
[0016] Figure 5 Schematically shows a structural block diagram of a test device for a solid-state drive according to an embodiment of the present application;
[0017] Figure 6A block diagram of an electronic device suitable for implementing a test method for a solid-state drive according to an embodiment of the present application is schematically shown. Detailed implementation manners
[0018] Hereinafter, embodiments of the present application will be described with reference to the accompanying drawings. However, it should be understood that these descriptions are merely exemplary and are not intended to limit the scope of the present application. In the following detailed description, for the sake of explanation, many specific details are set forth in order to provide a comprehensive understanding of the embodiments of the present application. However, obviously, one or more embodiments can also be implemented without these specific details. In addition, in the following description, descriptions of well-known structures and technologies are omitted to avoid unnecessarily confusing the concepts of the present application.
[0019] The terms used herein are merely for describing specific embodiments and are not intended to limit the present application. The terms "including", "comprising", etc. used herein indicate the presence of features, steps, operations, and / or components, but do not exclude the presence or addition of one or more other features, steps, operations, or components.
[0020] All terms used herein (including technical and scientific terms) have the meanings commonly understood by those skilled in the art, unless otherwise defined. It should be noted that the terms used herein should be interpreted as having a meaning consistent with the context of this specification and should not be interpreted in an idealized or overly rigid manner.
[0021] In the case of using expressions such as "at least one of A, B, and C", generally, it should be interpreted according to the meaning commonly understood by those skilled in the art (for example, "a system having at least one of A, B, and C" should include, but is not limited to, a system having only A, only B, only C, having A and B, having A and C, having B and C, and / or having A, B, and C).
[0022] Figure 1 A flowchart of a test method for a solid-state drive according to an embodiment of the present application is schematically shown.
[0023] As Figure 1 shown, the test method for the solid-state drive of this embodiment includes operations S110 to S130.
[0024] In operation S110, during the process of sequentially writing data to the physical regions of the solid-state drive to be tested according to the physical addresses, at a predetermined time interval, at least part of the regions are randomly selected from the physical regions where the data has been written for a reset operation until the physical regions reach a target region state, and the target region state includes a target filling state and a target fragmentation state.
[0025] In operation S120, a read / write test is performed on the physical area in the target area state to obtain test data.
[0026] In operation S130, a test report is generated based on the test data.
[0027] In this embodiment, the solid-state drive to be tested can be a ZNS SSD. The physical address mapping table of the physical area of the solid-state drive to be tested can be obtained using the management interface or tool of the solid-state drive to be tested. Then, the data to be written is obtained, and the data is segmented into a size suitable for writing to the solid-state drive to be tested. A write command is sent to the controller of the solid-state drive to be tested and the physical address is specified. According to the physical address mapping table, the physical location corresponding to each data segment is determined, and the data segments are written to the physical area of the solid-state drive to be tested in the order of the physical addresses.
[0028] The target fill state represents the proportion of valid data in the total capacity of the physical area. The physical area can be made to be in different fill states by controlling the amount of data written. For example, the physical area can be filled to 30%, 80%, 100%, etc., and read / write tests can be performed on the physical areas in different fill states respectively.
[0029] The target fragmentation state represents the discontinuity of the distribution of valid data on the physical storage units. The higher the degree of fragmentation, the more dispersed the distribution of valid data, and the efficiency of garbage collection and wear leveling may be reduced, thus affecting the performance of the solid-state drive to be tested.
[0030] By randomly selecting physical areas of the written data for resetting at a predetermined time interval, the physical area of the solid-state drive to be tested can be gradually guided to reach the desired degree of fragmentation. For example, every predetermined time interval, 10% of the areas are randomly selected from the physical areas of the written data for resetting operations. Through random resetting operations, the valid data in the selected physical areas can be made invalid, and the garbage collection mechanism of the solid-state drive to be tested can be used to reorganize the invalid data and migrate the valid data, so that the distribution of the valid data will gradually become discontinuous, thus increasing the degree of fragmentation.
[0031] The predetermined time interval can be, for example, every 5 minutes, 10 minutes, etc., and this application does not limit it. By setting different time intervals, the fragmentation process can be controlled. For example, frequent resetting operations will quickly increase the degree of fragmentation. Fewer resetting operations result in a slower fragmentation process.
[0032] By randomly selecting physical regions with written data for reset at a predetermined time interval, the fragmentation process of the solid-state drive (SSD) under test can be effectively simulated. The random reset operation breaks the data continuity and increases the distribution of invalid blocks, thereby gradually increasing the fragmentation degree. Combining with the adjustment of the target fill state, the performance of the SSD throughout its life cycle can be comprehensively evaluated. Moreover, through high-frequency random reset operations, the high random write pressure in real scenarios can also be simulated, making the problem of FTL metadata overflow easier to expose, thus facilitating the detection of FTL metadata overflow problems caused by excessive regional reset frequencies.
[0033] According to an embodiment of the present application, performing read and write tests on the SSD under test in the target region state, the test data obtained may include: performing at least one of sequential read and write, cross-region read and write, dynamic switching test of sequential read and write and cross-region read and write on the physical regions in the target region state.
[0034] Sequential read and write means continuously writing or reading data to / from a physical region, and is used to evaluate the performance of the SSD in continuous data transfer scenarios.
[0035] Cross-region read and write means jumping to read and write data between multiple physical regions, and can be used to test the performance of the SSD in cross-region data transfer scenarios.
[0036] The dynamic switching test of sequential read and write and cross-region read and write means that in the same test process, sequential read and write and cross-region read and write are alternately executed to simulate a mixed scenario of real loads. It can be used to evaluate the stability of the SSD when the load switches.
[0037] In a schematic embodiment, the SSD can be initialized first, and then data can be sequentially written to the physical regions of the initialized SSD until the physical regions are filled to 80% of the fill state. Every 5 minutes, 10% of the physical regions are randomly selected for reset, and this continues for 12 hours to make the SSD reach a high fragmentation state. A sequential read and write test is continuously performed for 6 hours with QD (Queue Depth) = 32 and a block size of 128 KB. A cross-region read and write test is continuously performed for 6 hours with QD = 128 and a block size of 4 KB. Sequential read and write and cross-region read and write operations are alternately executed, with a switching interval of 10 seconds, and this continues for 6 hours. Thus, a comprehensive test of performing sequential read and write, cross-region read and write, and dynamic switching of sequential read and write and cross-region read and write on the physical regions of the SSD under test is completed.
[0038] According to an embodiment of the present application, by performing sequential read and write, cross-region read and write, and dynamic switching tests in the target region state, the performance and reliability of the SSD in complex scenarios can be comprehensively evaluated.
[0039] According to an embodiment of the present application, performing a read and write test on a physical area in a target area state may also include: performing a read and write test on the solid-state hard disk to be tested in a target area state under a target load state, the target load state including at least one of a steady-state load, a burst load, and an overload load.
[0040] Steady-state load represents the state in which an SSD maintains a stable load over a long period of operation. For example, bandwidth stress intensity reaches 70% of its maximum capacity. This simulates the scenario in which an SSD continuously processes read and write requests in daily use and is used to evaluate the sustained performance and stability of the SSD.
[0041] Burst load describes the state of an SSD experiencing a large number of read and write requests in a short period of time. For example, bandwidth stress reaches 120% of its maximum capacity and lasts for more than 10 seconds. This simulates high-concurrency or bursty data access scenarios on an SSD. It is used to test the SSD's transient response capability and peak performance.
[0042] Overload indicates that an SSD is subjected to a load exceeding its design capacity. For example, bandwidth stress reaches 150% of its maximum capacity and persists for more than 5 seconds. This simulates SSD performance under extreme usage scenarios and is used to assess the SSD's extreme performance and fault tolerance.
[0043] Under the target load state, at least one of sequential read and write, cross-region read and write, and dynamic switching tests of sequential read and write and cross-region read and write can be performed on the physical regions in the target region state.
[0044] According to the embodiments of the present application, by performing read and write tests on the physical area in the target area state under steady-state load, burst load, and overload load, a comprehensive evaluation of the hard drive's performance under different load conditions can be achieved. This can determine the performance degradation patterns of the SSD under different stress levels and identify hardware defects such as insufficient design margin (e.g., a power module unable to support burst loads).
[0045] According to an embodiment of the present application, performing a read / write test on a physical area in a target area state to obtain test data includes: performing a read / write test on the physical area in the target area state under additional conditions to obtain test data. The additional conditions represent environmental intervention conditions imposed on the solid-state drive under test during the read / write test.
[0046] In an embodiment of the present application, the environmental intervention conditions may include ambient temperature, random voltage drop events, signal attenuation events, and the like.
[0047] Under additional conditions, at least one of sequential read and write, cross-region read and write, and dynamic switching tests of sequential read and write and cross-region read and write may be performed on the physical region in the target region state.
[0048] According to an embodiment of the present application, by performing read and write tests on the physical area of the target area state under attachment conditions, the richness of the test scenario can be improved.
[0049] According to an embodiment of the present application, under additional conditions, performing read and write tests on the solid-state drive to be tested in the target area state, the obtained test data may include: gradually increasing the ambient temperature of the solid-state drive to be tested, and when the ambient temperature rises to the target temperature, increasing the load of the solid-state drive to be tested to a predetermined load, so as to perform read and write tests on the physical area in the target area state with the coupling of the target temperature and the predetermined load, and obtain test data under the intervention of the ambient temperature.
[0050] The target temperature setting can be 70 degrees, and the predetermined load can be >90% bandwidth. The present application is not limited to this, and both the target temperature and the predetermined load can be set according to requirements.
[0051] The ramp curve of the ambient temperature can be set. For example, at a heating rate of 2°C / min, the ambient temperature is gradually increased from 25°C to 70°C, and the predetermined load is injected at the target temperature. Detect whether the SSD triggers dynamic thermal throttling (such as frequency reduction, current limiting) at high temperatures, so as to evaluate the impact of the ambient temperature on the SSD performance.
[0052] The data of the internal temperature sensor of the SSD can be monitored and compared with the external ambient temperature. When the temperature difference between the shell and the inside is >15°C, it indicates low heat dissipation efficiency and may cause local overheating damage. It is also possible to verify the stability of the SSD under drastic temperature fluctuations based on the performance data of the SSD under the interference of the ambient temperature, and ensure that the SSD can work normally within a wide temperature range (-40°C to 85°C).
[0053] According to an embodiment of the present application, since the ambient temperature and the load will change simultaneously during the actual use of the SSD. For example, in a data center, when the server runs at a high load for a long time, the temperature of the computer room may gradually increase. Through the coupling test of the target temperature and the predetermined load, potential problems of the hard disk in a specific temperature environment can be found, such as a decrease in read and write speed and an increase in data error rate may occur under high temperature and high load, so as to more accurately evaluate the reliability of the hard disk.
[0054] According to an embodiment of the present application, under additional conditions, performing read and write tests on the solid-state drive to be tested in the target area state, the obtained test data may further include: simulating a random voltage drop event, and randomly triggering a random voltage drop event during the process of performing read and write tests on the physical area in the target area state, so as to obtain test data under the intervention of the random voltage drop.
[0055] The voltage sag situation can be simulated by a programmable power supply, and signals with random voltage sags, such as amplitude, duration, etc., can be generated to simulate real power supply abnormal scenarios. For example, the base voltage is 12V ± 5%, the amplitude of the random voltage sag is 10.8 - 11.5V, and the duration is 1 - 5ms.
[0056] Perform read and write tests on the target area, and trigger voltage sag events at random times. During the test, test data such as read and write speeds, changes in CRC (Cyclic Redundancy Check) error rates, response times, etc. can be obtained, and at the same time, information such as the trigger time, amplitude, and duration of the voltage sag event is recorded. And evaluate the read and write performance, data integrity, and reliability of the SSD under random voltage sag intervention.
[0057] According to the embodiments of the present application, voltage sags may cause various failure modes in the SSD, such as data loss, data corruption, read and write errors, system crashes, etc. Through read and write tests and data analysis, the performance of the SSD under random voltage sags can be comprehensively detected, and the fault tolerance and recovery capabilities of the SSD during random voltage sags can be evaluated.
[0058] According to the embodiments of the present application, under additional conditions, perform read and write tests on the solid-state drive to be tested in the target area state, and the test data obtained may include: calling a signal attenuation device, and randomly triggering a signal attenuation event with a preset duration during the read and write test on the physical area in the target area state to obtain test data under signal attenuation intervention.
[0059] In the embodiments of the present application, the signal attenuation device may be a PCIe (Peripheral Component Interconnect express, high-speed serial computer expansion bus standard) signal attenuation simulation device.
[0060] In some embodiments, during the read and write test, a preset trigger mechanism, such as a random number generator, can be used to randomly trigger a signal attenuation event with a preset duration. When the signal attenuation is triggered, the signal attenuation device attenuates the signal according to the set attenuation amount. For example, the PCIe signal is attenuated by 2dB. During the signal attenuation intervention, relevant data of the read and write test are recorded in real time, including test data such as signal strength, read and write success rate, data transmission rate, etc.
[0061] According to the embodiments of the present application, the influence degree of signal attenuation on read and write performance can be evaluated by comparing the read and write success rates in the normal state and under signal attenuation intervention. The data transmission rates under different signal attenuation amounts can also be compared to understand the influence of signal attenuation on data transmission efficiency.
[0062] In a schematic embodiment, before testing the SSD, the test environment can be constructed first. The test environment includes hardware configuration and software deployment. The hardware configuration includes a server, at least one solid-state drive to be tested, and the solid-state drive to be tested is connected to the server through PCIe4.0 x4. External devices such as a program-controlled temperature chamber, a PCIe signal attenuation device, etc. The software deployment includes operating system deployment, test tool deployment, monitoring tool deployment, automation script deployment, etc.
[0063] In a schematic embodiment, the test of the solid-state drive can include the test of the area life cycle. The life cycle test includes three sub-stages. In the first sub-stage (0 - 12 hours): Sequentially write data to the physical area of the hard drive to be tested until the physical area is filled to 80% of its capacity (block size 128K, QD32), and randomly reset 10% of the physical area every 5 minutes. The second sub-stage (12 - 36 hours): Perform cross-area read and write tests on the physical area. For example, 30% of the operations span adjacent 2 - 4 areas, and at the same time simulate random power drops. For example, trigger a 10.8V / 3ms event once every 30 minutes. The third sub-stage (36 - 48 hours): Raise the environmental temperature to 70°C and maintain it, and perform a high-frequency area reset operation. Implement the test of the entire area life cycle of the hard drive to be tested from empty to full and from a low fragmentation state to a high fragmentation state.
[0064] In a schematic embodiment, the test of the solid-state drive can also include a mixed load stability test. A mixed load with multiple read and write ratios can be set for sequential read and write or cross-area read and write. For example, 70% write and 30% read, 50% read and 50% write, 30% write and 70% read, and a mixed load with random switching between sequential read and write and cross-area read and write. Different block sizes are configured for each load, and additional conditions can also be imposed in the read and write tests. The additional conditions can be, for example, temperature conditions, random voltage drops, signal attenuation, or bandwidth limitations, random delays, forced FTL reconstruction, etc. Under the additional conditions, perform read and write tests on the solid-state drive to be tested under a mixed load. Implement the stability test of the hard drive to be tested under multiple mixed loads.
[0065] According to an embodiment of the present application, during the process of performing read and write tests on a physical area in the target area state, an abnormal event is randomly triggered to perform a recovery test for the abnormal event. The abnormal event includes at least one of power-off and write pointer out-of-bounds.
[0066] Sudden power-off can be simulated through IPMI (Intelligent Platform Management Interface) instructions or a power control device and randomly triggered during the read and write test to simulate a real power-off scenario.
[0067] The write pointer out-of-bounds can be triggered by writing a test program to deliberately write data beyond the allocated address range and randomly trigger the write pointer out-of-bounds during read-write tests.
[0068] It is possible to record the time taken for the SSD to recover from an exception to the normal state and verify the data consistency before and after the exception event to evaluate the impact of the exception event on the stability of the SSD.
[0069] For a power-off event, after the power is restored, check whether the system where the physical area is located can start normally and perform system recovery operations automatically or manually. For a write pointer out-of-bounds event, according to the storage technology and file system characteristics used in the physical area, take corresponding recovery measures. For example, for a file system with self-healing capabilities, it can automatically correct the error caused by the write pointer out-of-bounds, while for a file system without self-healing capabilities, data recovery can be performed manually. After recovery, the integrity of the data in the physical area can be verified. It is also possible to perform read-write performance tests on the recovered physical area again, compare the performance data before and after recovery, and evaluate the impact of the exception event on the performance of the physical area.
[0070] According to an embodiment of the present application, by randomly triggering a power-off event and testing the recovery process, the data protection ability and system recovery ability of the physical area in the case of a sudden power-off can be evaluated. Understand whether the storage technology used in the physical area (such as the power-off protection mechanism of the SSD) can effectively prevent data loss and whether the system can quickly resume normal operation after a power-off. Through the write pointer out-of-bounds recovery test, the response and processing ability of the write pointer out-of-bounds event can be evaluated, and it can be checked whether the physical area can correctly detect and handle the write pointer out-of-bounds error to avoid data corruption and system crashes.
[0071] Figure 2 Schematically shows a flowchart of a test method for a solid-state drive according to another embodiment of the present application.
[0072] As Figure 2 shown, during the process of sequentially writing data to the physical area 210 of the hard disk to be tested, at a predetermined time interval, randomly select at least part of the area from the physically written area for reset operation until the physical area reaches the target area state. Perform a read-write test 230 on the physical area 220 in the target area state to obtain test data 270. Among them, the read-write test 230 includes a sequential read-write test 231, a cross-region read-write test 232, and a sequential read-write and cross-region read-write dynamic switching test 233.
[0073] During the process of performing read / write test 230 on physical region 220 in the target region state, additional condition 240 can be added to obtain test data under the intervention of the additional condition. For example, a read / write test with the coupling of target temperature and predetermined load can be performed on physical region 220 in the target region state to obtain test data under the intervention of ambient temperature 241; or, a random voltage drop event 242 can be randomly triggered to obtain test data under the intervention of random voltage drop; or, a signal attenuation event 243 with a predetermined duration can be randomly triggered to obtain test data under the intervention of signal attenuation.
[0074] During the process of performing read / write test 230 on physical region 220 in the target region state, different target loads 250 can also be set. For example, read / write test 230 can be performed on physical region 220 in the target region state under steady-state load 251, mutation load 252, and overload load 253 respectively to obtain test data under different target loads.
[0075] During the process of performing read / write test 230 on physical region 220 in the target region state, abnormal event 260 can also be randomly triggered, such as randomly triggering power-off 261, write pointer out-of-bounds 262, etc., and obtaining test data under abnormal event
[0076] According to the embodiments of the present application, by performing multiple-mode read / write tests on the physical region in the target region state, and also performing multiple-mode read / write tests under different additional conditions, different target loads, and abnormal event interferences respectively, the test coverage rate and the fault detection rate can be significantly improved.
[0077] According to the embodiments of the present application, the test data includes the performance data of the solid-state drive to be tested and the health status data of the solid-state drive to be tested; based on the test data, a test report is generated, including: generating a stability report of the solid-state drive to be tested based on the performance data; generating a health score report of the solid-state drive to be tested based on the health status data; determining the abnormal data in the tested data, and generating an abnormal event analysis report based on the abnormal data.
[0078] Performance data includes metrics such as IOPS (Input / Output Operations Per Second), latency, error rate, etc. Metrics such as IOPS, latency, error rate, etc. for sequential read / write, cross-region read / write, and dynamic switching between sequential read / write and cross-region read / write tests on physical space can be obtained separately, and metrics such as IOPS, latency, error rate, etc. for sequential read / write, cross-region read / write, and dynamic switching between sequential read / write and cross-region read / write tests on physical space under different additional conditions can be obtained. And based on their respective metrics such as IOPS, latency, error rate, etc., the stability index under different test conditions is calculated, and a stability report is generated according to multiple stability indices. The calculation formula for the stability index is as follows:
[0079]
[0080] Among them, S is the stability index, |ΔIOPS| represents the absolute value of the change in IOPS, IOPSmax represents the maximum IOPS value that the SSD can reach, P99_latency is the latency of 99% of the requests, Threshold represents the latency threshold, Error_count is the error count, and Error_max is the maximum number of errors.
[0081] A threshold can be set for the stability index, such as 0.7. When S < 0.7, it is determined that the SSD test fails. This application is not limited to this, and the corresponding threshold can also be set according to actual needs.
[0082] The health status data can be obtained from the SMART (Self-Monitoring, Analysis and Reporting Technology) attribute information in the SSD, and the health status data can include metric data such as Program / Erase Fail Count, SSD WearLeveling, Remaining Endurance, etc. Potential problems of the SSD, such as increased bad blocks, too high temperature, or insufficient remaining life, can be detected in advance through the SMART attributes. Thus, a health score report of the solid-state drive to be tested is generated.
[0083] In some embodiments, the abnormal data points of the test data can be detected by the Isolation Forest method, and analyzed according to the abnormal data points and the additional conditions during the test process of the abnormal data points, such as the temperature curve, voltage fluctuation record, etc., to obtain an abnormal event analysis report.
[0084] A schematic exception event analysis report is, for example: The IOPS of the SSD decreased by 42% during the high-temperature stage (68°C). The reason is that the temperature protection mechanism of the flash chip of the solid-state drive was triggered. It is recommended to optimize the heat dissipation design or adjust the temperature control strategy.
[0085] The collected performance data can also be input into a pre-trained prediction model according to time series, and the predicted stability index can be output for early warning. The prediction model can be an LSTM (Long Short-Term Memory) model.
[0086] Figure 3 A flowchart showing the processing of test data according to an embodiment of the present application is schematically illustrated.
[0087] As Figure 3 shown, performance data 320, health status data 330, and exception data 340 can be determined from the test data 310. A stability report 350 is generated according to the performance data 320, and a health score report 360 is generated according to the health status data 330. An exception event analysis report 370 is generated according to the exception data 340.
[0088] According to an embodiment of the present application, there can be multiple SSDs to be tested. When performing read and write tests on the physical spaces of multiple solid-state drives to be tested, based on the physical connection topology diagram, the processor cores bound to each solid-state drive to be tested are determined, and the load is allocated based on the priority of the metadata and the input / output bandwidth.
[0089] Specifically, according to the physical connection topology diagram, such as the PCIe topology diagram, the affinity distance between each SSD and the CPU can be calculated, and the SSD can be bound to the CPU core of the nearest NUMA (Non-Uniform Memory Access) node to reduce cross-node access latency. At the same time, 20% of the cores are reserved as emergency resources to ensure the system fault tolerance under sudden loads.
[0090] After the CPU resource allocation is completed, the input / output bandwidth of each SSD can be dynamically and hierarchically restricted. For example, the input / output bandwidth can be adjusted within the range of 50 - 100%, and an independent high-priority queue is divided for FTL metadata operations (such as resetting the area) to avoid performance jitter or overflow caused by metadata competition.
[0091] Through the resource allocation perceived by the PCIe topology diagram, the CPU computing resources can be maximally utilized; with the help of the dynamic hierarchical restriction of the input / output bandwidth and the priority scheduling of the metadata, the test load and system stability can be balanced. The two work together to build an efficient and reliable ZNS SSD test environment.
[0092] Figure 4 Schematically shows a hardware device configuration diagram for solid-state drive testing according to an embodiment of the present application.
[0093] As Figure 4 shown, the hardware devices for solid-state drive testing may include a monitoring device 410, a switch 420, a terminal device 430, and a test server 440. The monitoring device 410 is used to monitor in real time key performance indicators such as the read and write speeds, IOPS, and latency of the SSD, and collect environmental data such as temperature and power consumption during the test process. The switch 420 is responsible for connecting the terminal device, the test server, and the monitoring device in the test environment to ensure efficient data transmission between different devices. The terminal device 430 is used to issue test requests and display test results. The test server 440 receives test requests from the terminal device 430, allocates tasks, and coordinates resources to complete the testing of one or more solid-state drives 445. The test server 440 includes a temperature control device 443, a signal attenuation device 443, a power supply 441, and multiple CPUs 444. The temperature control device 443 is used to control the ambient temperature. The signal attenuation device 443 is used to simulate signal attenuation. The power supply 441 can be a programmable power supply used to simulate voltage random drop events. Through the collaborative work of each device, an efficient and reliable SSD test environment can be constructed to ensure the accuracy and repeatability of test results.
[0094] Based on the above solid-state drive testing method, the present application also provides a solid-state drive testing device. The following will be combined with Figure 5 to describe this device in detail.
[0095] Figure 5 Schematically shows a structural block diagram of a solid-state drive testing device according to an embodiment of the present application.
[0096] As Figure 5 shown, the solid-state drive testing device 500 of this embodiment includes a random reset module 510, a test module 520, and a generation module 530.
[0097] The random reset module 510 is used to randomly select at least part of the physical areas from the physically written areas at a predetermined time interval during the process of sequentially writing data to the physical areas of the SSD to be tested according to the physical address until the physical areas reach the target area state, and the target area state includes the target filling state and the target fragmentation state of the physical areas.
[0098] The test module 520 is used to perform read and write tests on the physical areas in the target area state to obtain test data.
[0099] The generation module 530 is used to generate a test report based on the test data.
[0100] According to an embodiment of the present application, the test module 520 includes a first test sub-module.
[0101] The first test sub-module is configured to perform a read-write test on a physical area in the target area state under additional conditions to obtain test data, where the additional conditions represent environmental intervention conditions applied to the solid-state drive under test during the read-write test.
[0102] According to an embodiment of the present application, the first test sub-module includes at least one of the following test units:
[0103] The first test unit is configured to gradually increase the environmental temperature of the solid-state drive under test and increase the load of the solid-state drive under test to a predetermined load when the environmental temperature rises to the target temperature, so as to perform a read-write test with the target temperature and the predetermined load coupled on the physical area in the target area state, and obtain test data under environmental temperature intervention.
[0104] The second test unit simulates a random voltage drop event and randomly triggers a random voltage drop event during the process of performing a read-write test on the physical area in the target area state, so as to obtain test data under random voltage drop intervention.
[0105] The third test unit calls a signal attenuation device and randomly triggers a signal attenuation intervention for a predetermined duration during the process of performing a read-write test on the physical area in the target area state, so as to obtain test data under signal attenuation intervention.
[0106] According to an embodiment of the present application, the test module further includes a second test sub-module.
[0107] The second test sub-module is configured to perform at least one of sequential read-write, cross-region read-write, and dynamic switching tests between sequential read-write and cross-region read-write on the physical area in the target area state.
[0108] According to an embodiment of the present application, the test module further includes a third test sub-module.
[0109] The third test sub-module is configured to perform a read-write test on the solid-state drive under test in the target area state under a target load state, and the target load state includes at least one of a steady-state load, a burst load, and an overload load.
[0110] According to an embodiment of the present application, the test device 500 of the solid-state drive further includes a fourth test sub-module.
[0111] The fourth test sub-module is configured to randomly trigger an abnormal event during the process of performing a read-write test on the physical area in the target area state, so as to perform a recovery test for the abnormal event, where the abnormal event includes at least one of a power failure and a write pointer out-of-bounds.
[0112] According to an embodiment of the present application, the test data includes performance data of the solid-state drive to be tested and health status data of the solid-state drive to be tested; the generation module includes: a first report generation unit, a second report generation unit, and a third report generation unit.
[0113] The first report generation unit is configured to generate a stability report of the solid-state drive to be tested based on the performance data.
[0114] The second report generation unit generates a health score report of the solid-state drive to be tested based on the health status data.
[0115] The third report generation unit determines abnormal data in the tested data, and generates an abnormal event analysis report based on the abnormal data.
[0116] According to an embodiment of the present application, any combination of the random reset module 510, the test module 520, and the generation module 530 can be combined and implemented in one module, or any one of them can be split into multiple modules. Alternatively, at least part of the functions of one or more of these modules can be combined with at least part of the functions of other modules and implemented in one module. According to an embodiment of the present application, at least one of the random reset module 510, the test module 520, and the generation module 530 can be at least partially implemented as a hardware circuit, such as a field-programmable gate array (FPGA), a programmable logic array (PLA), a system-on-chip, a system-on-substrate, a system-on-package, an application-specific integrated circuit (ASIC), or any other reasonable way of integrating or packaging circuits, etc., implemented by hardware or firmware, or implemented in any one of the three implementation methods of software, hardware, and firmware, or in any appropriate combination of several of them. Alternatively, at least one of the random reset module 510, the test module 520, and the generation module 530 can be at least partially implemented as a computer program module, and when the computer program module is run, the corresponding functions can be executed.
[0117] Figure 6 Schematically shows a block diagram of an electronic device suitable for implementing the test method of the solid-state drive according to an embodiment of the present application.
[0118] Figure 6 Schematically shows a block diagram of an electronic device suitable for implementing the method described above according to an embodiment of the present application. Figure 6 The shown electronic device is only an example and should not impose any limitation on the functions and usage scope of the embodiments of the present application.
[0119] The electronic device is intended to represent various forms of digital computers, such as, laptop computers, desktop computers, workstations, personal digital assistants, servers, blade servers, mainframe computers, and other suitable computers. The electronic device may also represent various forms of mobile devices, such as, personal digital processors, cellular telephones, smart phones, wearable devices and other similar computing devices. The components shown herein, their connections and relationships, and their functions are only examples and are not intended to limit the implementation of the present application described herein and / or claimed.
[0120] As Figure 6 shown, the device 600 includes a computing unit 601 that can perform various appropriate actions and processes in accordance with a computer program stored in a read only memory (ROM) 602 or a computer program loaded from a storage unit 608 into a random access memory (RAM) 603. In the RAM 603, various programs and data required for the operation of the device 600 can also be stored. The computing unit 601, the ROM 602, and the RAM 603 are connected to each other via a bus 604. An input / output (I / O) interface 605 is also connected to the bus 604.
[0121] A plurality of components in the electronic device 600 are connected to the I / O interface 605, including: an input unit 606, such as a keyboard, a mouse, etc.; an output unit 607, such as various types of displays, speakers, etc.; a storage unit 608, such as a magnetic disk, an optical disk, etc.; and a communication unit 609, such as a network card, a modem, a wireless communication transceiver, etc. The communication unit 609 allows the device 600 to exchange information / data with other devices via a computer network such as the Internet and / or various telecommunication networks.
[0122] The computing unit 601 can be various general-purpose and / or special-purpose processing components with processing and computing capabilities. Some examples of the computing unit 601 include, but are not limited to, a central processing unit (CPU), a graphics processing unit (GPU), various dedicated artificial intelligence (AI) computing chips, various computing units running machine learning model algorithms, a digital signal processor (DSP), and any suitable processor, controller, microcontroller, etc. The computing unit 601 executes the various methods and processes described above, such as the testing method. For example, in some embodiments, the testing method can be implemented as a computer software program that is tangibly contained in a machine-readable medium, such as the storage unit 608. In some embodiments, part or all of the computer program can be loaded and / or installed onto the device 600 via the ROM 602 and / or the communication unit 609. When the computer program is loaded into the RAM 603 and executed by the computing unit 601, one or more steps of the testing method described above can be executed. Alternatively, in other embodiments, the computing unit 601 can be configured to execute the testing method in any other suitable manner (e.g., by means of firmware).
[0123] The various embodiments of the systems and techniques described above in this document can be implemented in digital electronic circuit systems, integrated circuit systems, field-programmable gate arrays (FPGA), application-specific integrated circuits (ASIC), application-specific standard products (ASSP), systems-on-a-chip (SOC), complex programmable logic devices (CPLD), computer hardware, firmware, software, and / or combinations thereof. These various embodiments can include: being implemented in one or more computer programs that can be executed and / or interpreted on a programmable system including at least one programmable processor, which can be a dedicated or general-purpose programmable processor, receiving data and instructions from a storage system, at least one input device, and at least one output device, and transmitting the data and instructions to the storage system, the at least one input device, and the at least one output device.
[0124] The program code for implementing the methods of this application can be written in any combination of one or more programming languages. These program codes can be provided to the processor or controller of a general-purpose computer, a special-purpose computer, or other programmable testing devices, such that when the program codes are executed by the processor or controller, the functions / operations specified in the flowchart and / or block diagram are implemented. The program code can be executed entirely on the machine, partially on the machine, executed partially on the machine and partially on a remote machine as an independent software package, or executed entirely on a remote machine or server.
[0125] In the context of this application, a machine-readable medium can be a tangible medium that can contain or store a program for use by or in connection with an instruction execution system, apparatus, or device. A machine-readable medium can be a machine-readable signal medium or a machine-readable storage medium. A machine-readable medium can include, but is not limited to, electronic, magnetic, optical, electromagnetic, infrared, or semiconductor systems, apparatus, or devices, or any suitable combination of the foregoing. More specific examples of a machine-readable storage medium would include an electrical connection based on one or more wires, a portable computer diskette, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or Flash memory), an optical fiber, a portable compact disc read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing.
[0126] To provide for interaction with a user, the systems and techniques described herein can be implemented on a computer having: a display device (e.g., a CRT (cathode ray tube) or LCD (liquid crystal display) monitor) for displaying information to the user; and a keyboard and a pointing device (e.g., a mouse or a trackball) by which the user can provide input to the computer. Other kinds of devices can also be used to provide for interaction with the user; for example, feedback provided to the user can be any form of sensory feedback (e.g., visual feedback, auditory feedback, or tactile feedback); and input from the user can be received in any form (including acoustic, speech, or tactile input).
[0127] The systems and techniques described herein can be implemented in a computing system that includes back-end components (e.g., as a data server), or a computing system that includes middleware components (e.g., an application server), or a computing system that includes front-end components (e.g., a user computer having a graphical user interface or a web browser through which the user can interact with an implementation of the systems and techniques described herein), or a computing system that includes any combination of such back-end components, middleware components, or front-end components. The components of the system can be interconnected by any form or medium of digital data communication (e.g., a communication network). Examples of communication networks include: a local area network (LAN), a wide area network (WAN), and the Internet.
[0128] A computer system can include a client and a server. The client and the server are generally remote from each other and typically interact through a communication network. The client-server relationship is created by computer programs running on the respective computers and having a client-server relationship to each other. The server can be a cloud server, a server of a distributed system, or a server incorporating a blockchain.
[0129] Those skilled in the art can understand that the features described in the various embodiments of the present application can be combined and / or combined in various ways, even if such combinations or combinations are not explicitly described in the present application. In particular, without departing from the spirit and teachings of the present application, the features described in the various embodiments of the present application can be combined and / or combined in various ways. All such combinations and / or combinations fall within the scope of the present application.
[0130] The embodiments of the present application have been described above. However, these embodiments are only for illustrative purposes and are not intended to limit the scope of the present application. Although the embodiments have been described separately above, this does not mean that the measures in the respective embodiments cannot be used advantageously in combination. Without departing from the scope of the present application, those skilled in the art can make various substitutions and modifications, and all such substitutions and modifications should fall within the scope of the present application.
Claims
1. A test method for a solid-state drive, characterized in that, The method includes: During the process of sequentially writing data to the physical regions of the solid-state drive under test according to the physical addresses, at a predetermined time interval, randomly select at least some of the physical regions where data has been written for a reset operation until the physical regions reach the target region state, where the target region state includes a target filling state and a target fragmentation state; Perform read and write tests on the physical regions in the target region state to obtain test data; Generate a test report based on the test data.
2. The test method according to claim 1, wherein The performing read and write tests on the physical regions in the target region state to obtain test data includes: Under additional conditions, perform read and write tests on the physical regions in the target region state to obtain the test data, where the additional conditions represent the environmental intervention conditions applied to the solid-state drive under test during the read and write tests.
3. The test method according to claim 2, wherein The performing read and write tests on the solid-state drive under test in the target region state under additional conditions to obtain test data includes at least one of the following situations: Gradually increase the environmental temperature of the solid-state drive under test, and when the environmental temperature rises to the target temperature, increase the load of the solid-state drive under test to a predetermined load, so as to perform read and write tests with the coupling of the target temperature and the predetermined load on the physical regions in the target region state to obtain test data under environmental temperature intervention; Simulate a random voltage drop event, and randomly trigger the random voltage drop event during the process of performing read and write tests on the physical regions in the target region state to obtain test data under random voltage drop intervention; Invoke a signal attenuation device, and randomly trigger a signal attenuation event for a predetermined duration during the process of performing read and write tests on the physical regions in the target region state to obtain test data under signal attenuation intervention.
4. The testing method according to any one of claims 1 to 3, characterized in that, The performing read and write tests on the solid-state drive under test in the target region state to obtain test data further includes: Perform at least one of sequential read and write, cross-region read and write, and dynamic switching tests between sequential read and write and cross-region read and write on the physical regions in the target region state.
5. The testing method according to any one of claims 1 to 3, characterized in that, The performing read and write tests on the physical regions in the target region state further includes: Under a target load state, perform read and write tests on the solid-state drive under test in the target region state, where the target load state includes at least one of a steady-state load, a burst load, and an overload load.
6. The method according to any one of claims 1 to 3, characterized in that, The method further includes: During the process of performing read and write tests on the physical regions in the target region state, randomly trigger an abnormal event to perform a recovery test for the abnormal event; where the abnormal event includes at least one of power-off and write pointer out-of-bounds.
7. The test method according to any one of claims 1 to 3, wherein the test data includes performance data of the solid-state drive under test and health status data of the solid-state drive under test; The generating a test report based on the test data includes: Generate a stability report of the solid-state drive under test based on the performance data; Generate a health score report of the solid-state drive under test based on the health status data; Identify the abnormal data in the test data, and generate an analysis report of abnormal events based on the abnormal data.
8. A test device for a solid-state drive, characterized in that, Including: A random reset module, configured to randomly select at least some of the physically addressed areas that have been written with data for a reset operation at a predetermined time interval during the process of writing data to the physical areas of the solid-state drive to be tested in the order of physical addresses, until the physical areas reach the target area state, where the target area state includes the target filling state and the target fragmentation state; A test module, configured to perform read and write tests on the physical areas in the target area state to obtain test data; A generation module, configured to generate a test report based on the test data.
9. An electronic device, including: One or more processors; A memory, configured to store one or more programs, wherein when the one or more programs are executed by the one or more processors, the one or more processors implement the method according to any one of claims 1 to 7.
10. A computer-readable storage medium, on which executable instructions are stored, and when the instructions are executed by a processor, the processor implements the method according to any one of claims 1 to 7.
Citation Information
Patent Citations
Disk fragment manufacturing method and device, storage medium and intelligent terminal
CN110221781A
Terminal equipment performance test method and device, terminal equipment and storage medium
CN110502414A
Temperature reliability test method and test platform for enterprise-level solid state disk
CN116705140A
Memory performance test method and device, readable storage medium and electronic equipment
CN117476086A
Disk fragmentation test system
US20050027934A1
Cited By
Method for evaluating service life of storage device and electronic device
CN120670189A
A preprocessing method and storage device under a solid state disk hybrid test scene
CN120743204B
Hard disk test method, electronic equipment, medium and computer program product
CN120743658A
Method for verifying average fault-free time of solid state disk
CN121237187A
A method for verifying mean time between failures of a solid state drive
CN121237187B