A multi-channel parallel testing method, system, medium and product for solid-state hard drives
Through multi-channel parallel testing methods and a multi-level control architecture that dynamically adjusts test intensity, the efficiency and reliability issues of the solid-state drive test system in high-concurrency scenarios are solved, and an efficient and accurate testing process and exception handling are achieved.
Patent Information
- Application Number
- CN202411576889.8
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2024-11-06
- Publication Date
- 2025-09-19
- Estimated Expiration
- 2044-11-06
AI Technical Summary
Existing solid-state drive testing systems are inefficient in high-concurrency and large-scale testing scenarios, and single-channel anomalies can cause the entire test to stagnate, affecting test progress and quality.
A multi-channel parallel testing method is adopted. Through the multi-level control architecture of the main controller, sub-controller and test channels, the test intensity is dynamically adjusted, and channels are isolated when anomalies are detected. The performance indicators and importance levels are combined to optimize the utilization of test resources.
It improves test efficiency and accuracy, ensures that normal tests are not affected by abnormal channels, optimizes resource utilization, handles abnormal situations in a timely manner, and provides health status assessment and early warning mechanisms.
Smart Images

Figure CN119479763B_ABST
Abstract
Description
Technical Field
[0001] The present application relates to the field of solid-state drive testing, and in particular to a multi-channel parallel testing method, system, medium, and product for solid-state drives. Background Art
[0002] With the rapid development of big data and cloud computing technologies, demand for data storage devices continues to rise. As a next-generation storage medium, solid-state drives (SSDs), with their excellent read and write performance, reliable data security, and excellent environmental adaptability, are gradually replacing traditional mechanical hard drives and becoming the preferred storage solution for data centers, enterprise servers, and other scenarios. Driven by the rapid growth in SSD market demand, manufacturers are continuously expanding production capacity, which places higher demands on SSD testing efficiency and quality.
[0003] Currently, SSD testing primarily utilizes a single-channel serial test method. The test system connects to the SSD under test via a single test channel and sequentially performs read and write tests according to pre-set test items. During the test, the system collects performance metrics such as the SSD's read and write speed and response time, and records this data in a test report.
[0004] However, related test systems have limitations and drawbacks when it comes to high-concurrency and large-scale SSD testing. For example, single-channel serial testing is inefficient, and when an anomaly occurs in a test channel, the test system must pause all test tasks for inspection and maintenance, extending test time. Summary of the Invention
[0005] The present application provides a multi-channel parallel testing method, system, medium and product for solid-state hard drives, which are used to improve the efficiency and reliability of solid-state hard drive testing.
[0006] In the first aspect, the present application provides a multi-channel parallel testing method for solid-state hard drives, which is applied to a test system. The test system includes a main controller, several sub-controllers, several test channels and several solid-state hard drives. The main controller is connected to the sub-controllers respectively, the sub-controllers are interconnected with the test channels, and the test channels are interconnected with the solid-state hard drives. The number of sub-controllers is equal to the number of test channels, and the number of test channels is equal to the number of solid-state hard drives. The method includes: after receiving the test instruction issued by the main controller, the sub-controller obtains the reading speed and writing speed of the solid-state hard drive; the sub-controller determines the test intensity corresponding to the solid-state hard drive based on the reading speed, the writing speed and a preset performance indicator-test intensity correspondence table, and the performance indicator-test intensity correspondence table includes different reading speed and different writing speed correspondences. corresponding test intensity; after sending the read and write test tasks of the test intensity to the solid-state hard disk, the sub-controller monitors the read and write speed, read and write response time and read and write error rate of the test channel; when the read and write speed is lower than the preset speed threshold, the read and write response time exceeds the preset time threshold and / or the read and write error rate exceeds the preset error rate threshold, the main controller sends a channel isolation instruction to the sub-controller, and the channel isolation instruction is used to indicate that the abnormal test channel is isolated from the normal test channel, and the abnormal test channel is used to indicate a test channel with a read and write speed lower than the preset speed threshold, the read and write response time exceeds the preset time threshold and / or the read and write error rate exceeds the preset error rate threshold, and the normal test channel is used to indicate a test channel with a read and write speed exceeding the preset speed threshold, the read and write response time is lower than the preset time threshold and / or the read and write error rate is lower than the preset error rate threshold.
[0007] By adopting the above technical solution, based on the multi-level control architecture of main controller-sub-controller-test channel-SSD in the test system, multi-channel parallel testing of SSDs is realized, which significantly improves the test efficiency. The sub-controller can dynamically adjust the test intensity according to the actual read and write performance of the SSD, avoiding over-testing or under-testing that may be caused by uniform test intensity. When an abnormal test channel is detected, the main controller will send a channel isolation instruction to the sub-controller to process the abnormal test channel separately from the normal test channel. This not only ensures the normal test of the normal test channel, but also can handle abnormal situations in a timely manner. The overall test progress will not be affected by problems in a single test channel, which not only improves the accuracy and reliability of the test, but also optimizes the utilization efficiency of test resources.
[0008] In combination with some embodiments of the first aspect, in some embodiments, the sub-controller determines the test intensity corresponding to the solid-state hard disk based on the read speed, the write speed and a preset performance indicator-test intensity correspondence table, where the performance indicator-test intensity correspondence table includes test intensities corresponding to different read speeds and different write speeds, specifically including: the sub-controller matches the read speed and the write speed with the performance indicator-test intensity correspondence table to obtain the test intensity; if the read speed and the write speed cannot match the performance indicator-test intensity correspondence table, the sub-controller determines the preset read speed with the smallest difference from the read speed, the first test intensity corresponding to the preset read speed, the preset write speed with the smallest difference from the write speed, and the second test intensity corresponding to the preset write speed; the sub-controller determines the test intensity based on the read speed, the preset read speed, the first test intensity, the write speed, the preset read speed and the second test intensity.
[0009] By adopting the above technical solution and introducing a matching mechanism between performance indicator and test intensity, the sub-controller can accurately select the appropriate test intensity for the corresponding SSD. When an exact match is not possible, the sub-controller selects the closest preset parameters by calculating the minimum difference and intelligently calculates the optimal test intensity based on these preset parameters. This adaptive test intensity determination method ensures that the test intensity matches the actual performance of the SSD being tested, avoiding drive wear caused by excessively high test intensity or inadequate testing caused by excessively low test intensity, thereby improving the scientific nature and accuracy of the test.
[0010] In combination with some embodiments of the first aspect, in some embodiments, after the sub-controller sends the read and write test task of the test intensity to the solid-state hard drive, and monitors the read and write speed, read and write response time, and read and write error rate of the test channel, the method also includes: the sub-controller determines the read and write speed change curve, the read and write response time change curve, and the read and write error rate change curve based on the read and write speed, read and write response time, and read and write error rate of the solid-state hard drive in a first preset time; based on the read and write speed change curve, the read and write response time change curve, and the read and write error rate change curve, the sub-controller determines the health status of the solid-state hard drive.
[0011] By employing this technical solution, the sub-controller monitors various SSD performance indicators over a first preset period of time and plots a performance indicator change curve, thereby comprehensively assessing the SSD's health. This dynamic monitoring and curve analysis method not only reflects the SSD's current performance status but also reveals its performance change trends, helping to identify potential performance degradation or failures early.
[0012] In combination with some embodiments of the first aspect, in some embodiments, after the step in which the main controller sends a channel isolation instruction to the sub-controller when the read and write speed is lower than a preset speed threshold, the read and write response time exceeds a preset time threshold and / or the read and write error rate exceeds a preset error rate threshold, the method further includes: the sub-controller determines the importance of the abnormal solid-state hard drive based on a preset level table and the label of the abnormal solid-state hard drive, the preset level table including the importance corresponding to the label of the solid-state hard drive; the sub-controller determines the channel isolation time according to the importance of the abnormal solid-state hard drive, the higher the importance, the longer the channel isolation time; the sub-controller stops sending the read and write test task to the abnormal solid-state hard drive within the channel isolation time.
[0013] By adopting the above technical solution and introducing a SSD importance grading mechanism, the sub-controller can adaptively adjust the channel isolation duration based on the criticality of abnormal SSDs. For abnormal SSDs with higher importance, the sub-controller will use a longer channel isolation duration to fully observe and handle them. For abnormal SSDs with lower importance, the sub-controller will use a shorter channel isolation duration. This differentiated isolation strategy ensures that critical products receive sufficient exception handling time while avoiding the loss of testing efficiency caused by excessive isolation.
[0014] In combination with some embodiments of the first aspect, in some embodiments, after the main controller issues a channel isolation instruction to the sub-controller when the read / write speed is lower than a preset speed threshold, the read / write response time exceeds a preset time threshold and / or the read / write error rate exceeds a preset error rate threshold, the method further includes: the main controller determines the test channel adjacent to the abnormal test channel as an adjacent test channel; the main controller obtains the temperature data and current data of the adjacent test channel; if the temperature data exceeds the preset temperature range or the current data exceeds the preset current range, the main controller reduces the test intensity of the adjacent test channel by a preset percentage.
[0015] By employing this technical solution, the main controller monitors the temperature and current data of adjacent test channels, enabling timely detection of potential chain reactions. When an adjacent test channel experiences an abnormal temperature or current, the main controller automatically reduces its test intensity, maintaining test continuity while reducing test pressure. This prevents adjacent test channels from being affected by the abnormal test channel and causing new faults, effectively preventing the spread of abnormal conditions, improving the safety and reliability of the test system, and optimizing the utilization of test resources.
[0016] In combination with some embodiments of the first aspect, in some embodiments, after the step of reducing the test intensity of the adjacent test channel by a preset percentage when the temperature data exceeds the preset temperature threshold or the current data exceeds the preset current threshold, the method also includes: within a second preset time period after reducing the test intensity, if the temperature data of the adjacent test channel is within the preset temperature range and the current data is within the preset current range, the main controller restores the test intensity of the adjacent test channel to the original test intensity at a preset speed.
[0017] By adopting this technical solution, the main controller monitors the temperature and current data of adjacent test channels in real time after reducing the test intensity. After confirming that the adjacent test channels have returned to normal, it gradually restores the test intensity at a preset rate. This gradual recovery mechanism avoids sudden changes in test intensity and ensures a smooth test process.
[0018] In combination with some embodiments of the first aspect, in some embodiments, the method also includes: the main controller determines the two-dimensional physical location coordinates of all abnormal test channels; based on the two-dimensional physical location coordinates, the main controller calculates the Euclidean distance between the abnormal test channels; when the number of abnormal test channels whose Euclidean distance is less than a preset distance threshold exceeds a preset number threshold, the main controller determines that the abnormal test channels are clustered; and the main controller issues an early warning to the administrator.
[0019] By employing this technical solution, the main controller calculates the Euclidean distance between abnormal test channels based on their two-dimensional physical location coordinates, thereby identifying their spatial distribution characteristics. When abnormal test channels exhibit clustered distribution, the main controller promptly issues an alert to the administrator. This spatial clustering analysis method can quickly identify potential systemic issues, such as uneven cooling and unstable power supply, enabling administrators to implement targeted solutions.
[0020] In a second aspect, an embodiment of the present application provides a test system, which includes: one or more processors and a memory; the memory is coupled to the one or more processors, the memory is used to store computer program code, the computer program code includes computer instructions, and the one or more processors call the computer instructions to enable the test system to execute the method described in the first aspect and any possible implementation of the first aspect.
[0021] In a third aspect, an embodiment of the present application provides a computer program product comprising instructions, which, when executed on a test system, enables the test system to execute the method described in the first aspect and any possible implementation of the first aspect.
[0022] In a fourth aspect, an embodiment of the present application provides a computer-readable storage medium comprising instructions. When the instructions are executed on a test system, the test system executes the method described in the first aspect and any possible implementation of the first aspect.
[0023] It is understandable that the test system provided in the second aspect, the computer program product provided in the third aspect, and the computer storage medium provided in the fourth aspect are all used to execute the methods provided in the embodiments of the present application. Therefore, the beneficial effects that can be achieved can be referenced to the beneficial effects of the corresponding methods and will not be repeated here.
[0024] One or more technical solutions provided in the embodiments of this application have at least the following technical effects or advantages:
[0025] 1. By adopting the above technical solution, based on the multi-level control architecture of main controller-sub-controller-test channel-solid state drive in the test system, multi-channel parallel testing of solid state drives is realized, which significantly improves the test efficiency. The sub-controller can dynamically adjust the test intensity according to the actual read and write performance of the solid state drive, avoiding over-testing or under-testing that may be caused by uniform test intensity. When an abnormal test channel is detected, the main controller will send a channel isolation instruction to the sub-controller to process the abnormal test channel separately from the normal test channel. This not only ensures the normal test of the normal test channel, but also can handle abnormal situations in a timely manner. The overall test progress will not be affected by problems in a single test channel, which not only improves the accuracy and reliability of the test, but also optimizes the utilization efficiency of test resources.
[0026] 2. By adopting the above technical solution and introducing a SSD importance grading mechanism, the sub-controller can adaptively adjust the channel isolation duration based on the criticality of abnormal SSDs. For abnormal SSDs with higher criticality, the sub-controller will use a longer channel isolation duration to fully observe and handle them. For abnormal SSDs with lower criticality, the sub-controller will use a shorter channel isolation duration. This differentiated isolation strategy ensures that critical products receive sufficient exception handling time while avoiding the reduction in testing efficiency caused by excessive isolation.
[0027] 3. By employing this technical solution, the main controller calculates the Euclidean distance between abnormal test channels based on their two-dimensional physical location coordinates, thereby identifying their spatial distribution characteristics. When abnormal test channels exhibit clustered distribution, the main controller promptly issues an alert to the administrator. This spatial clustering analysis method can quickly identify potential systemic issues, such as uneven cooling and unstable power supply, enabling administrators to implement targeted solutions. BRIEF DESCRIPTION OF THE DRAWINGS
[0028] Figure 1It is a structural diagram of the test system in the embodiment of the present application;
[0029] Figure 2 This is a flow chart of a multi-channel parallel testing method for a solid-state drive according to an embodiment of the present application;
[0030] Figure 3 This is another flowchart of the multi-channel parallel testing method for solid-state drives according to an embodiment of the present application;
[0031] Figure 4 It is a schematic diagram of the structure of a physical device of the test system in an embodiment of the present application. DETAILED DESCRIPTION
[0032] The terms used in the following examples of the present application are only for the purpose of describing specific embodiments and are not intended to limit the present application. As used in the specification of the present application, the singular expressions "a", "an", "above", "the", and "this" are intended to include plural expressions as well, unless the context clearly indicates otherwise. It should also be understood that the term "and / or" used in the present application refers to any or all possible combinations of one or more of the listed items.
[0033] In the following, the terms "first" and "second" are used for descriptive purposes only and should not be understood to imply or suggest relative importance or implicitly indicate the number of the technical features indicated. Therefore, the features defined as "first" and "second" may explicitly or implicitly include one or more of the features. In the description of the embodiments of this application, unless otherwise specified, "plurality" means two or more.
[0034] See also Figure 1 , is a structural diagram of the test system in an embodiment of the present application.
[0035] The test system includes a main controller, several sub-controllers, several test channels and several solid-state drives. The main controller is connected to each sub-controller respectively, each sub-controller corresponds to a test channel respectively, and each test channel is connected to a solid-state drive respectively. The number of sub-controllers is equal to the number of test channels, and the number of test channels is equal to the number of solid-state drives.
[0036] The main controller is the core of the entire test system, responsible for coordinating and controlling the operations of its various sub-controllers. Sub-controllers receive instructions from the main controller and directly manage and control their subordinate solid-state drives (SSDs) through test channels. These sub-controllers can be independent microcontrollers or FPGAs. In a test system, a test channel is a path or medium for transmitting test signals, data, or instructions. It can be a physical channel, such as a cable or interface, or a software-defined channel that transfers information between the sub-controllers and SSDs. A solid-state drive (SSD) is a storage device that uses an array of solid-state electronic memory chips to store data, replacing the rotating disks and moving read / write heads of traditional mechanical hard drives. SSDs offer faster read and write speeds, lower power consumption, and greater shock resistance. In a test system, SSDs can be used to store large amounts of test data, provide high-speed data access, and support efficient testing operations.
[0037] The following is a description of the process of the method provided by this implementation. Figure 2 , is a flow chart of a multi-channel parallel testing method for a solid-state drive in an embodiment of the present application.
[0038] S201: After receiving a test instruction from the main controller, the sub-controller obtains the read speed and write speed of the solid state drive;
[0039] Among them, the test instruction is used to represent the control command for starting the solid-state drive test process; the read speed refers to the data transmission rate when the solid-state drive performs data reading operations, usually in MB / s; the write speed refers to the data transmission rate when the solid-state drive performs data writing operations, also in MB / s.
[0040] Specifically, the main controller first sends a test command to a designated sub-controller. Upon receiving the test command, the sub-controller sends read and write commands to the SSD and measures the data transfer time to obtain the actual read and write speeds. During the speed test, multiple read and write operations are performed using data blocks of a preset size (such as 4KB or 8KB), and the average speed is calculated to ensure the accuracy of the measurement results.
[0041] S202, the sub-controller determines a test intensity corresponding to the solid-state drive according to the read speed, the write speed, and a preset performance indicator-test intensity correspondence table, wherein the performance indicator-test intensity correspondence table includes test intensities corresponding to different read speeds and different write speeds;
[0042] Among them, the performance indicator-test intensity correspondence table refers to a pre-established mapping relationship table between performance parameters and test intensity, which is used to guide the selection of test intensity; test intensity refers to the degree of stress applied to the solid-state drive during the test, including parameters such as read and write frequency and data size; preset represents the standard value or reference value that has been configured before the system is run; the data in the correspondence table is usually based on a large amount of test data and experience values.
[0043] This step is performed after obtaining the actual read and write speed of the solid-state drive. Specifically, the sub-controller first tries to find the record that best matches the current read and write speed in the performance indicator-test intensity correspondence table. If no completely matching record is found, the closest performance gear will be selected by calculating the difference, and the test intensity will be appropriately adjusted according to the degree of difference between the actual speed and the preset speed. The determination of the test intensity will comprehensively consider the balance of read and write speeds to avoid a single indicator from excessively affecting the selection of test intensity. At the same time, the system will take into account the specific model and application scenario of the solid-state drive to ensure that the selected test intensity can fully verify the performance without causing excessive stress on the device.
[0044] S203: After sending the read and write test task of the test intensity to the solid-state drive, the sub-controller monitors the read and write speed, read and write response time, and read and write error rate of the test channel;
[0045] Among them, the read and write test task refers to the specific test instruction sequence generated according to the determined test intensity; the read and write speed refers to the rate at which the solid-state drive reads (read speed) and writes (write speed) data per unit time; the read and write response time refers to the time interval from issuing the read and write test task to receiving the response; the read and write error rate refers to the proportion of errors in the total read and write operations; monitoring refers to the process of continuously collecting and recording relevant performance parameters.
[0046] Specifically, the sub-controller generates a sequence of read and write test commands containing different data patterns and transfer sizes based on the test intensity. These commands are then sent to the SSD according to a preset timing. During the test, the sub-controller records the completion time and data correctness of each read and write operation in real time, and calculates and compiles various performance indicators.
[0047] S204. When the read / write speed is lower than the preset speed threshold, the read / write response time exceeds the preset time threshold and / or the read / write error rate exceeds the preset error rate threshold, the main controller sends a channel isolation instruction to the sub-controller. The channel isolation instruction is used to indicate that the abnormal test channel is isolated from the normal test channel. The abnormal test channel is used to indicate a test channel in which the read / write speed is lower than the preset speed threshold, the read / write response time exceeds the preset time threshold and / or the read / write error rate exceeds the preset error rate threshold. The normal test channel is used to indicate a test channel in which the read / write speed exceeds the preset speed threshold, the read / write response time is lower than the preset time threshold and / or the read / write error rate is lower than the preset error rate threshold.
[0048] Among them, the preset speed threshold is used to indicate the minimum read and write speed standard; the preset time threshold is used to indicate the maximum acceptable response delay time; the preset error rate threshold is used to indicate the maximum probability of error occurrence; the channel isolation instruction refers to a control command that requires the sub-controller to stop using the corresponding test channel; an abnormal test channel refers to a test channel whose performance indicators exceed the preset range; a normal test channel refers to a test channel whose performance indicators are within the normal range.
[0049] Specifically, the main controller will continuously receive and analyze monitoring data from each sub-controller. When it finds that any performance indicator of a test channel exceeds the preset threshold, it will immediately send a channel isolation instruction to the corresponding sub-controller. The channel isolation instruction will clearly indicate the number of the test channel that needs to be isolated. After receiving the channel isolation instruction, the sub-controller will immediately stop sending new read and write test tasks to the test channel and save the current test status information. At the same time, the main controller will activate the corresponding protection mechanism to ensure that problems with abnormal test channels will not affect other normal operating test channels. During the isolation process, the main controller will continue to monitor the status of the abnormal test channel to provide necessary data support for subsequent fault analysis and recovery.
[0050] By adopting the above technical solution, based on the multi-level control architecture of main controller-sub-controller-test channel-SSD in the test system, multi-channel parallel testing of SSDs is realized, which significantly improves the test efficiency. The sub-controller can dynamically adjust the test intensity according to the actual read and write performance of the SSD, avoiding over-testing or under-testing that may be caused by uniform test intensity. When an abnormal test channel is detected, the main controller will send a channel isolation instruction to the sub-controller to process the abnormal test channel separately from the normal test channel. This not only ensures the normal test of the normal test channel, but also can handle abnormal situations in a timely manner. The overall test progress will not be affected by problems in a single test channel, which not only improves the accuracy and reliability of the test, but also optimizes the utilization efficiency of test resources.
[0051] The following is a more detailed description of the process of the method provided by this implementation. Figure 3 , is another flow chart of the multi-channel parallel testing method for solid-state drives in an embodiment of the present application.
[0052] S301, after receiving the test instruction from the main controller, the sub-controller obtains the read speed and write speed of the solid state drive;
[0053] For details, please refer to step S101, which will not be described again here.
[0054] S302, the sub-controller matches the read speed and the write speed with the performance indicator-test intensity correspondence table to obtain the test intensity;
[0055] Matching refers to the process of searching the performance indicator-test intensity correspondence table for records that are exactly the same as or closest to the current read and write speeds. The performance indicator-test intensity correspondence table is a pre-configured two-dimensional mapping table that contains recommended test intensities for different read and write speed combinations. Test intensity indicates the load level during the test and includes specific parameters such as I / O queue depth, data block size, and read-write ratio.
[0056] Specifically, the sub-controller first normalizes the acquired read and write speeds (e.g., rounding them to a specific precision). Then, the sub-controller searches for matching records in the performance indicator-test intensity correspondence table. This performance indicator-test intensity correspondence table typically takes a matrix format, with the horizontal axis representing different read speed ranges and the vertical axis representing different write speed ranges. The elements in the matrix represent the corresponding test intensities. If a fully matching record is found, the sub-controller directly adopts the corresponding test intensity. If there are multiple matches within the allowable deviation range, the sub-controller selects a conservative test intensity to ensure test safety.
[0057] S303: If the read speed and the write speed do not match the performance indicator-test intensity correspondence table, the sub-controller determines a preset read speed having a minimum difference from the read speed, a first test intensity corresponding to the preset read speed, a preset write speed having a minimum difference from the write speed, and a second test intensity corresponding to the preset write speed;
[0058] Among them, the preset read speed refers to the read speed gear value pre-defined in the performance indicator-test intensity correspondence table; the preset write speed refers to the write speed gear value pre-defined in the performance indicator-test intensity correspondence table; the minimum difference means that the absolute difference between the actual read speed and the preset read speed is the smallest, and the absolute difference between the actual write speed and the preset write speed is the smallest; the first test intensity is used to represent the test parameter set corresponding to the closest preset read speed; the second test intensity refers to the test parameter set corresponding to the closest preset write speed.
[0059] This step is performed after a complete match fails. Specifically, the sub-controller will calculate the difference between the actual read and write speeds and all the preset speed values in the corresponding table. For the read speed, the system selects the preset read speed with the smallest difference and its corresponding first test intensity; for the write speed, it also selects the preset write speed with the smallest difference and its corresponding second test intensity. When calculating the difference, the consistency of the speed unit will be taken into account, and unit conversion will be performed when necessary. If there are multiple preset values with the same difference, the system will select the smaller preset value to ensure the safety of the test.
[0060] S304, the sub-controller determines the test intensity according to the read speed, the preset read speed, the first test intensity, the write speed, the preset read speed, and the second test intensity;
[0061] Specifically, first, the sub-controller calculates the deviation ratio between the actual read speed and the preset read speed, as well as the deviation ratio between the actual write speed and the preset write speed, and then the sub-controller performs weighted adjustment on the first test intensity and the second test intensity according to the direction and size of the deviation. The importance weight of the read and write speeds will be taken into account during the adjustment, and usually the weight of the read performance is slightly higher than the write performance. If the actual read and write speeds are higher than the preset read and write speeds or the actual write speeds are higher than the preset write speeds, the sub-controller will appropriately increase the corresponding test intensity; if the actual read and write speeds are lower than the preset read and write speeds or the actual write speeds are lower than the preset write speeds, the sub-controller will reduce the test intensity accordingly. The final test intensity will be obtained by weighted averaging or other preset calculation formulas, taking into account the test intensities of the two dimensions of read and write. The sub-controller will also ensure that the calculated test intensity does not exceed the safety range.
[0062] S305: After sending the read and write test task of the test intensity to the solid-state drive, the sub-controller monitors the read and write speed, read and write response time, and read and write error rate of the test channel;
[0063] For details, please refer to step S103, which will not be described again here.
[0064] S306, the sub-controller determines a read / write speed variation curve, a read / write response time variation curve, and a read / write error rate variation curve according to the read / write speed, read / write response time, and read / write error rate of the solid state drive during the first preset time period;
[0065] Among them, the first preset duration refers to the pre-set performance data collection period, which is usually several hours or days; the read and write speed change curve refers to a graphical representation describing the trend of changes in the read and write speed of the solid-state drive over time, with the horizontal axis being time and the vertical axis being the read and write speed value; the read and write response time change curve refers to a graphical representation describing the trend of changes in the command response delay of the solid-state drive over time, reflecting the real-time performance of the solid-state drive; the read and write error rate change curve refers to a graphical representation describing the trend of changes in the frequency of read and write errors of the solid-state drive over time, which is used to reflect the reliability of the solid-state drive.
[0066] Specifically, first, the sub-controller pre-processes the collected read and write speeds, read and write response times, and read and write error rates of the solid-state hard drive in the first preset time period, including removing outliers, data smoothing and other operations. Then, the sub-controller arranges the processed data points in chronological order and generates a continuous change curve through interpolation or fitting algorithms. In order to improve the reliability of the curve, the sub-controller will use technologies such as moving average to eliminate the impact of short-term fluctuations. The generated curve will include annotations of key feature points, such as performance mutation points, stable intervals, etc. At the same time, the sub-controller will also calculate various statistical characteristics of the curve, such as rate of change, fluctuation range, etc., to provide a basis for subsequent health status assessment.
[0067] S307, the sub-controller determines the health status of the solid state drive based on the read / write speed change curve, the read / write response time change curve, and the read / write error rate change curve;
[0068] Specifically, the sub-controller first analyzes key characteristics of the read / write speed curves, read / write response time curves, and read / write error rate curves, including but not limited to: the overall trend of the curve (increasing, decreasing, or stable), the amplitude of the curve fluctuations (reflecting performance stability), the location of the curve inflection points (indicating sudden performance changes), and the correlation between the curves. The sub-controller then matches these characteristics with pre-set health status assessment rules. For example, if all curves show a stable trend with minimal fluctuations, the status is determined to be "Excellent"; if there is a clear downward trend but the warning threshold has not been reached, the status is determined to be "Good"; if there is a sharp performance degradation or frequent error rate spikes, the status is determined to be "Warning" or "Critical". The sub-controller also considers the weighting of different performance indicators, generally giving a higher weight to the read / write error rate than to the read / write speed. The final health status assessment result is reported to the main controller, which may trigger appropriate warning or protection mechanisms.
[0069] S308. When the read / write speed is lower than a preset speed threshold, the read / write response time exceeds a preset time threshold, and / or the read / write error rate exceeds a preset error rate threshold, the main controller sends a channel isolation instruction to the sub-controller, where the channel isolation instruction is used to indicate that an abnormal test channel is isolated from a normal test channel, where the abnormal test channel indicates a test channel whose read / write speed is lower than the preset speed threshold, whose read / write response time exceeds a preset time threshold, and / or whose read / write error rate exceeds a preset error rate threshold, and the normal test channel indicates a test channel whose read / write speed exceeds the preset speed threshold, whose read / write response time is lower than a preset time threshold, and / or whose read / write error rate is lower than a preset error rate threshold;
[0070] For details, please refer to step S104, which will not be described again here.
[0071] S309: The sub-controller determines the importance of the abnormal solid-state drive according to a preset level table and the label of the abnormal solid-state drive, wherein the preset level table includes the importance corresponding to the label of the solid-state drive;
[0072] Among them, the preset level table refers to a pre-configured SSD importance grading table, which is used to store the importance of different SSDs; the label refers to the unique identification number of the SSD, which usually contains the serial number or location information; the abnormal SSD refers to the SSD that has been detected to have abnormal performance; the importance level refers to the criticality of the SSD in the entire test system, which is usually divided into multiple levels (such as core, important, general, etc.).
[0073] Specifically, first, the sub-controller reads the unique label from the abnormal SSD, and then the sub-controller queries the preset level table to obtain the corresponding importance information. The preset level table usually adopts a hierarchical structure, and different levels correspond to different processing strategies. For example, an SSD storing critical business data will be marked as the highest importance, while an SSD storing temporary data may be marked as a lower importance. If the label is not clearly defined in the preset level table, the sub-controller will classify it according to the default rules.
[0074] S310: The sub-controller determines a channel isolation duration according to the importance of the abnormal solid-state drive. The higher the importance, the longer the channel isolation duration.
[0075] The channel isolation duration refers to the duration of suspending the test of the abnormal solid-state drive; the higher the importance, the longer the channel isolation duration, which refers to an increasing relationship between the importance and the channel isolation duration.
[0076] Specifically, the sub-controller will determine the channel isolation time of the abnormal SSD based on the preset importance-channel isolation time correspondence table and the importance of the abnormal SSD. For example, for core-level SSDs, a longer channel isolation time (such as 24 hours) may be set to ensure sufficient cooling and troubleshooting; for general-level SSDs, a shorter channel isolation time (such as 2 hours) may be used to quickly resume testing. The sub-controller will also take into account historical fault records. If the SSD has experienced similar problems many times, the channel isolation time may be extended. At the same time, the determination of the channel isolation time will also take into account the overall test progress and resource utilization of the test system.
[0077] S311: The sub-controller stops sending the read / write test task to the abnormal solid-state drive within the channel isolation time.
[0078] Specifically, the sub-controller stops all test instructions currently being executed on the abnormal solid-state drive, clears the instruction queue of the abnormal test channel, and marks the abnormal test channel as being in an isolated state.
[0079] S312: The main controller determines the test channel adjacent to the abnormal test channel as an adjacent test channel;
[0080] The abnormal test channel refers to the test channel where the solid-state drive that has detected an abnormal condition is located; the adjacent test channel refers to other test channels that are directly connected to the abnormal test channel in physical location.
[0081] Specifically, the main controller first determines the location of the abnormal test channel based on the test system's physical layout. It then identifies all directly adjacent test channels. Adjacency typically includes vertical and horizontal proximity, and in some test systems, may also include diagonal proximity. The main controller then creates a list of adjacent channels, recording the numbers of all channels requiring special monitoring. For abnormal test channels located at the edge of the system, adjacent test channels may only exist in certain directions.
[0082] S313, the main controller obtains the temperature data and current data of the adjacent test channel;
[0083] The temperature data refers to the temperature values of adjacent test channels collected in real time by temperature sensors; the current data refers to the real-time current consumption of adjacent test channels.
[0084] Specifically, the main controller collects real-time temperature and current data from a network of sensors in adjacent test channels. Temperature data is typically measured in degrees Celsius, and the sampling frequency can range from several times per second to every minute. Current data records the power consumption of adjacent test channels, reflecting the actual test load. The main controller preprocesses the raw data, including filtering and calibration, to ensure data accuracy. It also calculates short-term data trends to provide a basis for subsequent judgment.
[0085] S314: If the temperature data exceeds a preset temperature range or the current data exceeds a preset current range, the main controller reduces the test intensity of the adjacent test channel by a preset percentage;
[0086] Among them, the preset temperature range refers to the preset normal temperature variation range; the preset current range refers to the preset current fluctuation range under normal operating conditions; and the preset percentage refers to the proportion by which the test intensity needs to be reduced.
[0087] Specifically, the main controller compares collected temperature data with a preset temperature range, and current data with a preset current range. If the temperature exceeds 85°C or the current exceeds 120% of the rated value, the main controller immediately activates a protection mechanism. Test intensity is typically reduced incrementally, starting with a preset percentage (e.g., 30%) and observing the changes in the parameters. Specific measures to reduce test intensity include reducing the number of concurrent operations, lowering the data transmission rate, and increasing the interval between operations.
[0088] S315. Within a second preset time period after the test intensity is reduced, if the temperature data of the adjacent test channel is within a preset temperature range and the current data is within a preset current range, the main controller restores the test intensity of the adjacent test channel to the original test intensity at a preset speed.
[0089] Specifically, the main controller continuously monitors the operating parameters of adjacent test channels for a second preset duration (e.g., 30 minutes). This second preset duration refers to the waiting time to observe the stability of the parameters in the adjacent test channels. If all operating parameters remain within a safe range, the main controller begins the test intensity recovery process. This recovery process uses a gradual approach, gradually increasing the test intensity at a preset rate (e.g., a 10% increase every 5 minutes) until it returns to the original test intensity. If any operating parameter anomalies recur during the recovery process, the main controller immediately interrupts the recovery process and reduces the test intensity again.
[0090] S316, the main controller determines the two-dimensional physical position coordinates of all abnormal test channels;
[0091] Specifically, the main controller first obtains a physical layout diagram of all sub-controllers, test channels, and solid-state drives. Then, based on the physical location of each abnormal test channel, the main controller maps it to a standardized two-dimensional coordinate system, obtaining the two-dimensional physical location coordinates of each abnormal test channel. A two-dimensional coordinate system typically uses a Cartesian coordinate system, with the X-axis representing horizontal position and the Y-axis representing vertical position. The main controller then creates a position index table, recording the specific coordinate values of each abnormal test channel to facilitate subsequent spatial analysis.
[0092] S317: The main controller calculates the Euclidean distance between the abnormal test channels according to the two-dimensional physical position coordinates;
[0093] Specifically, the main controller pairs all abnormal test channels and calculates the Euclidean distance between each pair of abnormal test channels. Euclidean distance refers to the straight-line distance between two points and is calculated by taking the square root of the square of the coordinate difference. The formula for calculating Euclidean distance is: √[(x1-x2)²+(y1-y2)²], where (x1, y1) and (x2, y2) are the two-dimensional physical location coordinates of the two abnormal test channels, respectively. The main controller generates a distance matrix to store the Euclidean distances between all abnormal test channels, providing data support for subsequent distribution feature analysis.
[0094] S318: When the number of abnormal test channels whose Euclidean distance is less than a preset distance threshold exceeds a preset number threshold, the main controller determines that the abnormal test channels are distributed in a cluster;
[0095] Among them, the preset distance threshold refers to the standard value used to determine the approximate distance between abnormal test channels; the preset number threshold refers to the minimum number of abnormal test channels for determining the cluster distribution phenomenon; cluster distribution indicates that the abnormal test channels are densely clustered in space.
[0096] Specifically, the main controller first sets the judgment criteria. For example, the preset distance threshold may be set to 1.5 times the standard channel spacing, and the preset number threshold may be set to 3 or more. The main controller then checks the distance matrix and counts the number of channel pairs whose Euclidean distance is less than the preset distance threshold. If there are multiple tight groups of abnormal test channels, and the number of channels within the group exceeds the preset number threshold, the main controller determines that clustering has occurred. Clustering may indicate systemic issues in a certain area, such as uneven heat dissipation or unstable power supply.
[0097] S319. The main controller issues an early warning to the administrator.
[0098] Specifically, the main controller generates detailed warning information, including key information such as the specific location of the abnormal test channel, cluster characteristics, and abnormal parameter values. Warnings can be sent to administrators through multiple channels, such as the console, SMS, and email, to ensure timely delivery. Warnings can also trigger automated response measures, such as reducing the overall test load in the relevant area.
[0099] By adopting the above technical solution and introducing a SSD importance grading mechanism, the sub-controller can adaptively adjust the channel isolation duration based on the criticality of abnormal SSDs. For abnormal SSDs with higher importance, the sub-controller will use a longer channel isolation duration to fully observe and handle them. For abnormal SSDs with lower importance, the sub-controller will use a shorter channel isolation duration. This differentiated isolation strategy ensures that critical products receive sufficient exception handling time while avoiding the loss of testing efficiency caused by excessive isolation.
[0100] By employing this technical solution, the main controller calculates the Euclidean distance between abnormal test channels based on their two-dimensional physical location coordinates, thereby identifying their spatial distribution characteristics. When abnormal test channels exhibit clustered distribution, the main controller promptly issues an alert to the administrator. This spatial clustering analysis method can quickly identify potential systemic issues, such as uneven cooling and unstable power supply, enabling administrators to implement targeted solutions.
[0101] The following describes the test system in the embodiment of the present invention from the perspective of hardware processing. Figure 4 , is a schematic diagram of a physical device structure of a test system in an embodiment of the present application.
[0102] It should be noted that Figure 4 The structure of the test system shown is only an example and should not bring any limitation to the functions and scope of use of the embodiments of the present invention.
[0103] like Figure 4As shown, the test system includes a central processing unit (CPU) 401, which can perform various appropriate actions and processes, such as the methods described in the above embodiments, based on programs stored in a read-only memory (ROM) 402 or programs loaded from a storage unit 408 into a random access memory (RAM) 403. RAM 403 also stores various programs and data required for system operation. CPU 401, ROM 402, and RAM 403 are interconnected via a bus 404. An input / output (I / O) interface 405 is also connected to bus 404.
[0104] The following components are connected to the I / O interface 405: an input section 406 including an audio input device, push button switches, and the like; an output section 407 including a liquid crystal display (LCD), an audio output device, indicator lights, and the like; a storage section 408 including a hard disk and the like; and a communication section 409 including a network interface card such as a LAN (Local Area Network) card or a modem. The communication section 409 performs communication processing via a network such as the Internet. A drive 410 is also connected to the I / O interface 405 as needed. Removable media 411, such as a magnetic disk, an optical disk, a magneto-optical disk, or a semiconductor memory, is installed in the drive 410 as needed, so that computer programs read from the removable media can be installed in the storage section 408 as needed.
[0105] In particular, according to embodiments of the present invention, the processes described above with reference to the flowcharts can be implemented as computer software programs. For example, embodiments of the present invention include a computer program product comprising a computer program carried on a computer-readable medium, the computer program including a computer program for executing the methods illustrated in the flowcharts. In such embodiments, the computer program can be downloaded and installed from a network via communication section 409 and / or installed from removable media 411. When executed by central processing unit (CPU) 401, the computer program performs the various functions defined in the present invention.
[0106] It should be noted that specific examples of computer-readable storage media may include, but are not limited to, an electrical connection having one or more conductors, a portable computer disk, a hard disk, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM), flash memory, optical fiber, portable compact disc read-only memory (CD-ROM), optical storage device, magnetic storage device, or any suitable combination thereof. In the present invention, a computer-readable storage medium may be any tangible medium containing or storing a program that can be used by or in conjunction with an instruction execution system, apparatus, or device.
[0107] The flowcharts and block diagrams in the accompanying drawings illustrate the possible architecture, functions and operations of the systems, methods and computer program products according to various embodiments of the present invention. Each box in the flowchart or block diagram can represent a module, program segment, or part of the code, and the above-mentioned module, program segment, or part of the code contains one or more executable instructions for implementing the specified logical functions. It should also be noted that in some alternative implementations, the functions marked in the box can also occur in an order different from that marked in the accompanying drawings.
[0108] Specifically, the test system of this embodiment includes a processor and a memory. The memory stores a computer program. When the computer program is executed by the processor, the multi-channel parallel test method for the solid-state drive provided in the above embodiment is implemented.
[0109] As another aspect, the present invention further provides a computer-readable storage medium, which may be included in the test system described in the above embodiments, or may exist independently and not incorporated into the test system. The storage medium carries one or more computer programs, and when executed by a processor of the test system, the test system implements the multi-channel parallel testing method for solid-state drives provided in the above embodiments.
[0110] As described above, the above embodiments are only used to illustrate the technical solutions of the present application, rather than to limit them. Although the present application has been described in detail with reference to the above embodiments, those skilled in the art should understand that they can still modify the technical solutions described in the above embodiments, or make equivalent replacements for some of the technical features therein. However, these modifications or replacements do not cause the essence of the corresponding technical solutions to deviate from the scope of the technical solutions of the embodiments of the present application.
[0111] As used in the above embodiments, the term “when” may be interpreted to mean “if” or “after” or “in response to determining that” or “in response to detecting that”, depending on the context. Similarly, the phrases “upon determining that” or “if (stated condition or event) is detected” may be interpreted to mean “if determining that” or “in response to determining that” or “upon detecting (stated condition or event)” or “in response to detecting (stated condition or event)”, depending on the context.
[0112] Those skilled in the art will appreciate that all or part of the process steps in the above-described method embodiments can be implemented by a computer program instructing the relevant hardware. The program can be stored in a computer-readable storage medium, and when executed, the program can include the process steps in the above-described method embodiments. The aforementioned storage medium includes various media capable of storing program code, such as ROM or random access memory (RAM), magnetic disks, or optical disks.
Claims
1. A multi-channel parallel testing method for solid-state hard drives, characterized in that: Applied to a test system, the test system includes a main controller, several sub-controllers, several test channels and several solid-state hard disks, the main controller is connected to the sub-controllers respectively, the sub-controllers are connected to the test channels, the test channels are connected to the solid-state hard disks, the number of the sub-controllers is equal to the number of the test channels, and the number of the test channels is equal to the number of the solid-state hard disks, the method includes: after receiving the test instruction issued by the main controller, the sub-controller obtains the reading speed and writing speed of the solid-state hard disk; the sub-controller determines the test intensity corresponding to the solid-state hard disk according to the reading speed, the writing speed and a preset performance indicator-test intensity correspondence table, the performance indicator-test intensity correspondence table includes test intensities corresponding to different reading speeds and different writing speeds; the sub-controller After sending the read and write test tasks of the test intensity to the solid-state hard disk, the read and write speed, read and write response time and read and write error rate of the test channel are monitored; when the read and write speed is lower than a preset speed threshold, the read and write response time exceeds a preset time threshold and / or the read and write error rate exceeds a preset error rate threshold, the main controller sends a channel isolation instruction to the sub-controller, and the channel isolation instruction is used to indicate that the abnormal test channel is isolated from the normal test channel, and the abnormal test channel is used to indicate a test channel in which the read and write speed is lower than the preset speed threshold, the read and write response time exceeds the preset time threshold and / or the read and write error rate exceeds the preset error rate threshold, and the normal test channel is used to indicate a test channel in which the read and write speed exceeds the preset speed threshold, the read and write response time is lower than the preset time threshold and / or the read and write error rate is lower than the preset error rate threshold; The sub-controller determines the test intensity corresponding to the solid-state hard disk based on the read speed, the write speed and a preset performance indicator-test intensity correspondence table, where the performance indicator-test intensity correspondence table includes test intensities corresponding to different read speeds and different write speeds, specifically including: the sub-controller matches the read speed and the write speed with the performance indicator-test intensity correspondence table to obtain the test intensity; if the read speed and the write speed cannot match the performance indicator-test intensity correspondence table, the sub-controller determines the preset read speed with the smallest difference from the read speed, the first test intensity corresponding to the preset read speed, the preset write speed with the smallest difference from the write speed, and the second test intensity corresponding to the preset write speed; the sub-controller determines the test intensity based on the read speed, the preset read speed, the first test intensity, the write speed, the preset read speed and the second test intensity.
2. The method according to claim 1, characterized in that After the sub-controller sends the read and write test tasks of the test intensity to the solid-state hard drive, and monitors the read and write speed, read and write response time, and read and write error rate of the test channel, the method further includes: the sub-controller determines the read and write speed change curve, the read and write response time change curve, and the read and write error rate change curve based on the read and write speed, read and write response time, and read and write error rate of the solid-state hard drive in a first preset time; based on the read and write speed change curve, the read and write response time change curve, and the read and write error rate change curve, the sub-controller determines the health status of the solid-state hard drive.
3. The method according to claim 1, characterized in that After the step in which the main controller issues a channel isolation instruction to the sub-controller when the read and write speed is lower than a preset speed threshold, the read and write response time exceeds a preset time threshold and / or the read and write error rate exceeds a preset error rate threshold, the method further includes: the sub-controller determines the importance of the abnormal solid-state hard drive based on a preset level table and the label of the abnormal solid-state hard drive, the preset level table including the importance corresponding to the label of the solid-state hard drive; the sub-controller determines the channel isolation time according to the importance of the abnormal solid-state hard drive, the higher the importance, the longer the channel isolation time; the sub-controller stops sending the read and write test task to the abnormal solid-state hard drive within the channel isolation time.
4. The method according to claim 1, wherein After the step in which the main controller issues a channel isolation instruction to the sub-controller when the read / write speed is lower than a preset speed threshold, the read / write response time exceeds a preset time threshold, and / or the read / write error rate exceeds a preset error rate threshold, the method further includes: the main controller determines a test channel adjacent to the abnormal test channel as an adjacent test channel; the main controller obtains temperature data and current data of the adjacent test channel; if the temperature data exceeds a preset temperature range or the current data exceeds a preset current range, the main controller reduces the test intensity of the adjacent test channel by a preset percentage.
5. The method according to claim 4, characterized in that After the step of reducing the test intensity of the adjacent test channel by a preset percentage when the temperature data exceeds a preset temperature threshold or the current data exceeds a preset current threshold, the method further includes: within a second preset time period after reducing the test intensity, if the temperature data of the adjacent test channel is within a preset temperature range and the current data is within a preset current range, the main controller restores the test intensity of the adjacent test channel to the original test intensity at a preset speed.
6. The method according to claim 1, characterized in that The method also includes: the main controller determines the two-dimensional physical location coordinates of all abnormal test channels; based on the two-dimensional physical location coordinates, the main controller calculates the Euclidean distance between the abnormal test channels; when the number of abnormal test channels whose Euclidean distance is less than a preset distance threshold exceeds a preset number threshold, the main controller determines that the abnormal test channels are clustered; and the main controller issues an early warning to the administrator.
7. A testing system, characterized in that: The test system includes: one or more processors and a memory; the memory is coupled to the one or more processors, the memory is used to store computer program code, the computer program code includes computer instructions, and the one or more processors call the computer instructions to cause the test system to execute the method according to any one of claims 1 to 6.
8. A computer-readable storage medium comprising instructions, characterized in that: When the instructions are executed on a test system, the test system is caused to execute the method according to any one of claims 1 to 6.
9. A computer program product, characterized in that When the computer program product is run on a test system, the test system is caused to perform the method according to any one of claims 1 to 6.
Citation Information
Patent Citations
Memory fault processing method and device
CN114064333A
Solid state disk performance detection method and device and electronic equipment
CN117149550A
Chip interface and testing method thereof
CN117827560A
Solid state disk performance test method and device, equipment and medium
CN118629484A