Storage device testing method and storage device testing system

By adopting the architecture of the first device and the second device in the storage device test system, providing the test parameter configuration interface and asynchronous communication mechanism, the problem of inflexible testing parameter configuration in the prior art is solved, lack of real-time feedback and low log analysis efficiency in log analysis, and an efficient and real-time testing process is achieved.

CN119883783APending Publication Date: 2025-04-25HOSIN GLOBAL ELECTRONICS CO LTD
View PDF 0 Cites 2 Cited by

Patent Information

Application Number
CN202411973995.X
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-12-30
Publication Date
2025-04-25

AI Technical Summary

Technical Problem

The existing storage device testing system has problems such as inflexible testing parameters configuration, lack of real-time test status feedback, and low test log analysis efficiency.

Method used

The architecture of the first device and the second device is adopted, and the test parameter configuration interface is provided through the first device to realize the flexible configuration of the test parameters; through the asynchronous communication mechanism, the first device can perform other tasks without waiting for the test to be completed after issuing the test instructions; through the analysis and processing of the test log, the rapid positioning of test exceptions is achieved.

Benefits of technology

It improves testing efficiency, realizes real-time test status feedback and fast problem positioning, and improves system resource utilization.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119883783A_ABST
    Figure CN119883783A_ABST
Patent Text Reader

Abstract

The invention provides a storage device testing method and a storage device testing system. The method comprises the steps of receiving a test parameter through a first device display parameter configuration interface, generating a test instruction based on the test parameter, and sending the test instruction to a second device; and the second equipment executes a test task on the storage device according to the test instruction, and generates a test log containing test execution state information during execution. And after the test is completed, the second equipment sends the test log to the first equipment for analysis so as to determine an execution result of each test step and identify an abnormal state. Wherein the first equipment can execute other work after sending the test instruction, and does not need to wait for the completion of the test task. According to the invention, a distributed architecture design is adopted, parallel testing of multiple storage devices and cooperative work of multiple second devices are supported, and rapid abnormal positioning is realized by adopting a hierarchical analysis strategy, so that the problems of parameter configuration solidification, response delay, low analysis efficiency and the like in a traditional testing method are effectively solved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to a memory management technology, and in particular to a memory device testing method and a memory device testing system using the method. Background Art

[0002] In the process of storage device development, software testing is an important part of ensuring product reliability. In order to understand the performance of storage devices, storage devices need to be tested before they are officially put into mass production. The common testing method at present is that the server and the test end establish a connection through a protocol before each test. After a single storage device to be tested is connected to the test bench, the server sends a test instruction to the test end, waits for the test end to return the test result after completing the test task, and then repeats the above process until the entire test process is completed.

[0003] In the above test method, the server and the test end need to successfully pass the protocol authentication each time before they can interact with each other to complete a test process. This results in low test efficiency, and each time the test can only be known whether there is an abnormality after the test is completed.

[0004] Therefore, a testing method is urgently needed to solve the above problems. Summary of the invention

[0005] In view of the problems existing in the storage device test system in the prior art, namely, the inflexible configuration of test parameters, lack of real-time test status feedback, low efficiency of test log analysis, etc., the present invention provides a storage device test method and system. The technical solution of the present invention adopts the architecture of the first device and the second device, and provides a test parameter configuration interface through the first device, so that the tester can set the test parameters according to the requirements; through the asynchronous communication mechanism, the first device can execute other tasks without waiting for the test to be completed after issuing the test instruction; through the analysis and processing of the test log, the rapid location of the test abnormality is achieved.

[0006] One or more embodiments of the present invention provide a storage device testing method, which is applied to a first device, wherein the first device is communicatively connected to the first device, and the second device is communicatively connected to the storage device, and is characterized in that it includes: receiving multiple test parameters via a parameter configuration interface of the first device, and generating a test instruction based on the test parameters; sending the test instruction to the second device to instruct the second device to perform a test task on the storage device according to the test instruction, and generating a test log during the execution of the test task; receiving the test log and performing data analysis to determine the execution results of each test step in the test task, and identifying the abnormal state of the storage device based on the execution results, wherein the first device can perform other tasks after sending the test instruction without waiting for the completion of the test task.

[0007] One or more embodiments of the present invention provide a storage device testing method, which is applicable to a storage device testing system, wherein the storage device testing system includes a first device, a second device, and a storage device. The method includes: displaying a parameter configuration interface via the first device to receive a plurality of test parameters input; generating a test instruction via the first device based on the plurality of test parameters, wherein the first device is communicatively connected to the second device; sending the test instruction to the second device via the first device, wherein the second device is communicatively connected to the storage device, wherein the second device is used to control the storage device; executing a test task on the storage device according to the test instruction via the second device, and generating a test log containing test execution status information during the execution of the test task; sending the test log to the first device after completing the test task via the second device; parsing the received test log via the first device to determine the execution results of each test step in the test task, and identifying the abnormal state of the storage device based on the execution results, wherein the first device can perform other work after sending the test instruction without waiting for the completion of the test task.

[0008] In one or more embodiments of the present invention, the first device includes: an input / output device for displaying the parameter configuration interface and receiving the inputted multiple test parameters; a first storage device for storing multiple first program modules, including a parameter configuration module, an instruction generation module, and a data analysis module; a first memory; a first communication circuit unit; and a first processor. The first processor is used to execute the multiple first program modules, the parameter configuration module is used to provide the parameter configuration interface, the instruction generation module is used to generate the test instruction according to the multiple test parameters, and the data analysis module is used to analyze the test log.

[0009] In one or more embodiments of the present invention, the second device includes: a second storage device storing a plurality of second program modules, including an instruction processing module, a test execution module and a log management module; a second memory; a second communication circuit unit; and a second processor. The second processor is used to execute the plurality of second program modules, wherein the instruction processing module is used to receive and parse the test instruction to obtain a plurality of test subtasks corresponding to the test task and a plurality of subtask parameters corresponding to each test subtask; the test execution module is used to generate a plurality of test instruction sequences corresponding to the plurality of test subtasks according to the plurality of test subtasks and the plurality of subtask parameters, and issue the plurality of test instruction sequences to the storage device to execute the plurality of test subtasks, and the log management module is used to generate the test log according to the plurality of execution results received corresponding to the plurality of test subtasks.

[0010] In one or more embodiments of the present invention, the multiple test parameters include: a test type parameter for specifying the type of test performed on the storage device; a test time parameter for specifying the execution duration of the test task; a test cycle parameter for specifying the number of repetitions of the test task; a test condition parameter for specifying the execution condition of the test task; and a test data parameter for specifying the test data of the test task.

[0011] In one or more embodiments of the present invention, the test type parameters include at least one of a durability test, a data retention ability test, a read performance test, a write performance test, a reliability test, and a power consumption test, wherein the test data parameters of the durability test include a programming voltage, an erase voltage, and a number of programming / erase times; the test data parameters of the read performance test include a read voltage, a read address range, and a read data mode; the test data parameters of the write performance test include a write voltage, a write address range, and a write data mode; and the test data parameters of the power consumption test include an operating voltage, an operating current, and an operating frequency.

[0012] In one or more embodiments of the present invention, the steps of receiving and parsing the test instruction to obtain the multiple test subtasks corresponding to the test task and the multiple subtask parameters corresponding to each test subtask include: obtaining the multiple test subtasks corresponding to the test type parameters according to the test type parameters in the test instruction; determining the execution order and the number of repetitions of each of the test subtasks according to the test time parameters and the test cycle parameters; and generating corresponding subtask parameters for each of the test subtasks according to the test data parameters and the test condition parameters.

[0013] In one or more embodiments of the present invention, the test execution module is also used to: monitor the execution result of each of the test subtasks, wherein the execution result includes the execution time, execution status code and performance index; when the execution result of the target test subtask within the multiple test subtasks does not meet the preset performance threshold, determine whether the target test subtask needs to be adjusted, and execute the parameter adjustment procedure. The parameter adjustment procedure includes: analyzing the performance index deviation in the execution result; selecting the corresponding adjustment strategy from the preset adjustment rule library according to the type and degree of the performance index deviation; calculating the new subtask parameter value based on the adjustment strategy; and generating a new test instruction sequence corresponding to the target test subtask according to the new subtask parameter, wherein the test execution module issues the new test instruction sequence to the storage device to obtain the new execution result of the target test subtask, wherein the log management module updates the test log according to the new execution result of the target test subtask.

[0014] In one or more embodiments of the present invention, the parameter adjustment program executes a machine learning model, wherein the test execution module trains the machine learning model based on historical test data. The historical test data includes: historical execution results of multiple historical test subtasks; historical parameter adjustment records corresponding to each of the historical execution results; and the degree of performance improvement corresponding to the historical parameter adjustment records. The machine learning model is used to: analyze the performance indicator deviation in the execution result; predict the expected effects of multiple adjustment strategies based on the performance indicator deviation; and determine the optimal adjustment strategy based on the expected effect to generate the corresponding adjusted subtask parameter value. The test execution module is also used to: apply the adjusted subtask parameter value to the corresponding test subtask to generate and issue an adjusted test instruction sequence to the storage device; obtain another execution result corresponding to the adjusted test instruction sequence; and update the historical test data of the machine learning model based on the other execution result.

[0015] In one or more embodiments of the present invention, the first communication circuit unit and the second communication circuit unit establish a communication connection through the TCP / IP protocol, wherein: the first communication circuit unit is configured as a TCP server for listening to a preset communication port; the second communication circuit unit is configured as a TCP client for converting a test protocol into a TCP / IP protocol.

[0016] In one or more embodiments of the present invention, the data analysis module is also used to: receive and store historical test logs of multiple storage devices; establish a storage device performance degradation model based on the performance data in the historical test logs; predict the optimal test parameter ranges for different types of storage devices based on the performance degradation model; and provide the optimal test parameter ranges to the parameter configuration module for parameter initialization of subsequent test tasks.

[0017] One or more embodiments of the present invention provide a storage device test system for testing a storage device, the storage device test system comprising: a first device; a second device, which is connected to the first device in communication to receive the test instruction; and the storage device, which is connected to the second device in communication. The first device displays a parameter configuration interface to receive a plurality of test parameters, and generates a test instruction based on the plurality of test parameters, wherein the second device performs a test task on the storage device according to the test instruction, and generates a test log containing test execution status information during the execution of the test task, and after completing the test task, sends the test log to the first device, wherein the first device parses the received test log to determine the execution result of each test step in the test task, and identifies the abnormal state of the storage device based on the execution result, wherein the first device can perform other tasks after sending the test instruction without waiting for the completion of the test task.

[0018] Based on the above, the storage device testing method and system provided by the present invention have the following technical features: the first device implements the configuration and adjustment of the test parameters through the parameter configuration interface, and the second device executes the test instructions and records the test log. The system adopts a master-slave architecture, so that the first device can perform other tasks after sending the test instructions, while the second device independently executes the test and records the log. The present invention processes the log data generated by the test process through the log analysis module to locate the time point of the test anomaly and the related products. The system also combines the machine learning model to optimize the test parameters using historical test data. In terms of communication, the system adopts the TCP / IP protocol to realize data exchange between the first device and the second device, and supports deployment in different test environments. Through the above technical scheme, the present invention solves the technical problems of test parameter configuration and problem location in the prior art, and realizes the automation of the storage device test process. BRIEF DESCRIPTION OF THE DRAWINGS

[0019] The accompanying drawings are included to provide a further understanding of the present invention and are incorporated in and constitute a part of this specification. The drawings illustrate embodiments of the present invention and together with the description serve to explain the principles of the present invention.

[0020] Figure 1is a schematic structural diagram of a storage device testing system according to an embodiment of the present invention;

[0021] Figure 2 A flowchart of a storage device testing method of a first device according to an embodiment of the present invention;

[0022] Figure 3 A sequence diagram of a storage device testing method of a storage device testing system according to an embodiment of the present invention;

[0023] Figure 4 A sequence diagram of a machine learning test optimization method according to an embodiment of the present invention;

[0024] Figure 5 is a schematic diagram of a parameter configuration interface according to an embodiment of the present invention;

[0025] Figure 6 The flowchart is a storage device testing method of the storage device testing system according to an embodiment of the present invention.

[0026] Description of Figure Numbers

[0027] 10: Storage device test system

[0028] 100: First Equipment

[0029] 110: First processor

[0030] 120: First storage device

[0031] 130: First Memory

[0032] 140: First communication circuit unit

[0033] 150: Input / output devices

[0034] 200: Second device

[0035] 210: Second processor

[0036] 220: Second storage device

[0037] 230: Second memory

[0038] 240: Second communication circuit unit

[0039] 250: Memory interface control circuit

[0040] 300: Storage device (to be tested)

[0041] 301, 302: Storage device (to be tested)

[0042] S210, S220, S230: Process steps of the storage device testing method of the first device

[0043] S610, S620, S630, S640, S650, S660: process steps of a storage device testing method of a storage device testing system

[0044] S310, S3101, S3102, S3103, S320, S330, S331, S3311, S3312, S3313, S3314, S332, S3321, S3322, S3323, S340, S3401, S3402, S3403: detailed process steps of the storage device test method of the storage device test system

[0045] S401, S402, S403, S410, S411, S412, S413, S414, S415, S416, S417, S418: Process steps of a storage device testing method using machine learning test optimization

[0046] UI1, 151: Parameter configuration interface

[0047] 221: Machine Learning Models

[0048] 222: Training database DETAILED DESCRIPTION

[0049] Reference will now be made in detail to exemplary embodiments of the present invention, examples of which are illustrated in the accompanying drawings. Whenever possible, the same reference numerals are used in the drawings and the description to refer to the same or like parts.

[0050] Currently, factories use automatic machines to test storage devices before mass production, usually using the following fixed process: first confirm that the test machine is in an idle state, and then the server controls the robotic arm to place the product to be tested in multiple designated test positions. Next, the test machine and the server establish a communication connection and complete identity authentication through a handshake protocol. Subsequently, the test machine sends a start command to the server, and the server tests the designated test positions according to the command. Finally, after the server completes the test, it returns the test end status to the test machine.

[0051] However, this traditional testing method has the following problems:

[0052] (1) Test process rigidity: The software test interaction process in the production environment is relatively fixed; the test steps are executed in a preset order and lack flexibility; it is difficult for testers to adjust test parameters and test methods according to actual needs; it is not conducive to the continuous optimization and improvement of the software.

[0053] (2) Rigid response mechanism: The automatic machine performs the test according to a fixed process; the server needs to wait until the entire test process is completely completed before receiving result feedback.

[0054] (3) Low analysis efficiency: After the test is completed, the test log needs to be manually checked; there is a lack of automated data analysis tools; after the test is completed, the tester needs to check the test logs one by one, which makes it difficult to quickly locate the specific time point when the problem occurred and the corresponding abnormal data.

[0055] In addition, the robot control mechanism in the traditional test process also increases the complexity of the test system and may introduce additional uncertainties. For example, physical factors such as robot positioning accuracy and contact reliability may affect the accuracy of the test results.

[0056] In order to effectively solve the above-mentioned traditional testing problems, the present invention provides a storage device testing system.

[0057] Figure 1 FIG. 4 is a block diagram of a storage device testing system according to an embodiment of the present invention.

[0058] In one embodiment, if Figure 1 As shown, the present invention provides a storage device test system 10, comprising a first device 100, a second device 200, and a plurality of storage devices to be tested 300. The first device 100 is used to generate test instructions and analyze test results, the second device 200 is used to execute test instructions and control the storage device to be tested 300, and the storage device to be tested 300 is a storage product to be tested.

[0059] Specifically, the first device 100 includes an input / output device 150, a processor 110, a storage device 120, a memory 130, and a communication circuit unit 140. The input / output device 150 is used to display a parameter configuration interface and receive test parameters input by a tester. The processor 110 is used to execute program instructions stored in the storage device 120 or the memory 130 to implement functions such as processing test parameters, generating test instructions, and analyzing test logs. The storage device 120 is used to store program modules required for testing, and the memory 130 is used to temporarily store data during program execution. The communication circuit unit 140 is used to communicate data with the second device 200.

[0060] In this embodiment, the processor 110 may be a computing unit such as a central processing unit (CPU), a single-chip microcomputer (MCU), a digital signal processor (DSP), an application-specific integrated circuit (ASIC), a field programmable gate array (FPGA), etc. The storage device 120 may be a non-volatile storage device such as a hard disk drive (HDD), a solid-state drive (SSD), a flash memory, etc. The memory 130 may be a volatile memory such as a dynamic random access memory (DRAM), a static random access memory (SRAM), etc.

[0061] The second device 200 is an electronic device, which includes a processor 210, a storage device 220, a memory 230, a communication circuit unit 240 and a memory interface control circuit 250. The processor 210 is used to execute program instructions stored in the storage device 220 or the memory 230 to parse the test instructions received from the first device 100 and convert them into corresponding storage device test instruction sequences. The storage device 220 is used to store test-related program modules, including but not limited to instruction processing modules, test execution modules and log management modules. The memory 230 is used to temporarily store data generated during the test. The communication circuit unit 240 is used to exchange data with the first device 100, and the memory interface control circuit 250 is used to control the test operation of the storage device 300 to be tested.

[0062] In this embodiment, the memory interface control circuit 250 can be configured to support multiple storage device interface protocols, such as SATA (Serial Advanced Technology Attachment), PCIe (Peripheral Component Interconnect Express), eMMC (embedded Multi-Media Card) and other interface standards. This enables the second device 200 to adapt to different types of storage devices 300 to be tested.

[0063] The storage device to be tested 300 includes but is not limited to a plurality of storage devices to be tested 301, 302. These storage devices to be tested may be NAND flash memory, solid state drive (SSD), embedded memory or other types of non-volatile storage devices. Each storage device to be tested is connected to the second device 200 through the memory interface control circuit 250 to receive the test instruction and perform the corresponding test operation.

[0064] In the specific implementation process, the processor 110 of the first device 100 executes the parameter configuration module to generate a test instruction based on the test parameters. These test parameters may include durability test parameters (such as programming voltage, erasure voltage, programming / erasure times), performance test parameters (such as read / write speed, delay time), etc. The test instruction is transmitted to the second device 200 through the communication circuit unit 140, 240, and the processor 210 executes the test execution module to convert the test instruction into a specific storage device operation instruction (such as a test instruction sequence).

[0065] The processors 110 and 210 can be, for example, embedded processors based on the ARM (Advanced RISC Machine) architecture, which are particularly suitable for performing real-time control and data acquisition tasks. The storage device 220 can use a highly reliable industrial-grade SSD or eMMC to ensure the integrity of the test program and data. The memories 130 and 230 can use high-speed DRAMs such as DDR3 or DDR4 to meet the data cache requirements during the test process.

[0066] The communication circuit units 140 and 240 communicate with each other using the TCP / IP protocol, and a physical connection can be achieved through an Ethernet interface. In one embodiment, a communication connection is established between the first device 100 and the second device 200 via the TCP / IP protocol. Specifically, the first communication circuit unit 140 of the first device 100 is configured as a TCP server, responsible for monitoring a preset communication port (such as port 5000) and waiting for a connection request from the second device 200. The second communication circuit unit 240 of the second device 200 is configured as a TCP client, responsible for initiating a connection with the first device 100.

[0067] The second device 200 needs to process various test protocols from the factory environment. The second communication circuit unit 240 uses protocol conversion software (such as BLIoTLink) to implement the protocol conversion function. The software supports the conversion of multiple industrial communication protocols, for example: converting the PLC protocol to the TCP / IP protocol; converting the Modbus RTU protocol to the Modbus TCP protocol; converting the DL / T645 protocol to the OPC UA protocol. Through this protocol conversion mechanism, it is ensured that the second device 200 can communicate with factory equipment of different protocols while maintaining a TCP / IP connection with the first device 100.

[0068] In practical applications, wired or wireless network connection can be selected according to the requirements of the test environment to provide a stable and reliable data transmission channel.

[0069] The memory interface control circuit 250 can be implemented using a programmable logic device, such as an FPGA or a CPLD (Complex Programmable Logic Device), which enables it to flexibly adapt to the interface requirements of different types of storage devices and adjust the test timing parameters in real time.

[0070] In one embodiment, the first storage device 120 stores a plurality of program modules, including a parameter configuration module, an instruction generation module, and a data analysis module. These modules are executed by the first processor 110 to implement an automated test management function of the storage device.

[0071] Specifically, the input / output device 150 may be a display device with a graphical user interface, such as an LCD display, and may be equipped with input devices such as a keyboard and a mouse. Through the input / output device 150, the tester can interact with the test system, view and input test parameters. In another embodiment, the input / output device 150 may also be a touch display.

[0072] The parameter configuration module generates a parameter configuration interface on the input / output device 150, which presents configuration options of various test parameters in a structured manner. For example, the interface may include: a test type selection drop-down menu; a numerical input box for test time and cycle; a multiple-option configuration area for test conditions; and a detailed setting interface for test data parameters.

[0073] Figure 5 It is a schematic diagram of a parameter configuration interface according to an embodiment of the present invention.

[0074] In one embodiment, if Figure 5 As shown, the parameter configuration interface UI1 of the first device 100 is a graphical user interface for durability testing. The interface includes multiple functional areas, which are respectively used to configure serial port communication parameters, test task parameters and return code settings.

[0075] The first functional area is the serial port setting area, which includes the following configuration items:

[0076] Port number (COM Port): used to select a serial communication port for communicating with the second device 200, and supports selections from COM1 to COM99. In the example, COM2 is selected.

[0077] Baud Rate: Set the data transmission rate of serial communication. In the example, it is configured as 9600bps.

[0078] Data Bits: Configure the number of data bits for each data frame. In the example, it is set to 8 bits.

[0079] Parity: Set the parity mode for data transmission. You can choose None (no parity), Even (even parity), Odd (odd parity), etc.

[0080] Stop Bits: Configure the stop bit length of the data frame. In the example, it is set to 1 bit.

[0081] Port status indication: The serial port connection status is displayed through an indicator light, and a "close serial port" control button is provided.

[0082] The second functional area is the test setting area, which contains the following parameters:

[0083] Test duration configuration: Use the "Days" and "Hours" input boxes to set the test duration. In the example, it is set to 3 days and 0 hours.

[0084] Cycle times setting: You can select a test mode based on a fixed number of times.

[0085] Test result saving option: Use the check box to control whether to save the test results.

[0086] Time parameter settings include: (1) Timeout: Set the maximum waiting time for a single test operation, which is 200 seconds in the example; (2) Delay: Set the interval time between test operations, which is 200 milliseconds in the example.

[0087] The third functional area is the test status and control area:

[0088] Text display area: can display any text information related to the test task. For example, it can display operation instructions to indicate the basic operation process: "Select and open the serial port -> test settings -> edit and load the return code settings -> start command -> start".

[0089] Test status monitoring fields include: showing the number of test cases that passed, failed, and Unknown.

[0090] Running information display: including running time and current cycle number (number of running turns).

[0091] Start command input box: used to input a specific test start command, and the example shows "@START_TEST0010000000+". It should be noted that the test start command here is only used as an example and is not intended to limit the present invention.

[0092] Return code setting (return setting): select the return code format of the test result through the drop-down menu. In the example, select "ReturnCode-DieSorl". It should be noted that the return code format here is only used as an example and is not intended to limit the present invention.

[0093] Operation buttons, including: "Load" and "Edit" buttons for managing test configurations; "Start" button for starting a test; "Stop" button for aborting a test; "Update" button for refreshing the interface display.

[0094] When the tester enters the test parameters through the parameter configuration interface, the instruction generation module receives and processes these parameters. The module first verifies the validity and integrity of the parameters, and then converts these parameters into a standardized test instruction format according to the preset instruction generation rules. For example, for durability testing, the instruction generation module organizes parameters such as programming voltage and erase voltage into a specific instruction sequence.

[0095] In this embodiment, the data analysis module is responsible for processing the test logs returned from the second device 200. This module can, for example, implement the following functions: (1) Log parsing: converting the original test logs into structured data. (2) Data statistics: calculating the statistical values ​​of various test indicators. (3) Anomaly detection: identifying abnormal situations during the test process. (4) Result analysis: generating test reports and optimization suggestions.

[0096] In one embodiment, the first device 100 may also use a system log service to manage the test log. Specifically, the first device 100 uses the rsyslog service of the Linux operating system to implement the logging function. The service implements log management through the following configuration:

[0097] (1) Log classification storage: For example, the received logs can be further classified according to the test tasks of the logs.

[0098] (2) Log rotation strategy: Set the maximum size of a single log file to the preset file size; retain the most recent N log file versions; automatically perform log rotation periodically; and automatically compress and archive log files that exceed the retention period.

[0099] Through this log management mechanism, the first device 100 can effectively manage a large amount of log data generated during the test process, avoiding log files from occupying too much storage space, while maintaining the accessibility and integrity of the log data.

[0100] On the other hand, in one embodiment, the storage device 220 of the second device 200 stores a plurality of program modules, which are executed by the processor 210 to implement the automatic testing function of the storage device. Specifically, these program modules include: an instruction processing module, a test execution module, and a log management module.

[0101] The instruction processing module is used to receive and parse the test instruction sent from the first device 100. When receiving the test instruction, the instruction processing module first parses out multiple test subtasks contained in the test task, and multiple subtask parameters corresponding to each test subtask. For example, a complete storage device test task may include multiple different types of test subtasks, such as a durability test subtask, a performance test subtask, etc.

[0102] In one embodiment, the parsing process of the instruction processing module executing the test instruction includes three main steps. First, the instruction processing module extracts the test type parameter from the test instruction and determines a series of test subtasks to be executed accordingly. Secondly, the instruction processing module plans the execution timing and number of cycles of each test subtask by analyzing the test time parameter and the test cycle parameter. Finally, the instruction processing module configures the specific execution parameters required for each test subtask based on the test data parameter and the test condition parameter.

[0103] For example, when performing a durability test on a storage device, the instruction processing module operates as follows:

[0104] First, based on the type parameter of the durability test, five necessary test subtasks are determined, in order: initialization test, write test, read verification, erase test and erase verification.

[0105] Secondly, if the test time parameter is set to 3 days and the test cycle parameter is set to 200 milliseconds / time, the module will organize these five subtasks into a cyclic sequence and repeat them within the 3-day test time.

[0106] Finally, the module sets specific execution parameters for each subtask, such as setting a programming voltage of 4.5V and a write address range of 0x0000-0xFFFF for the write test subtask, and setting an erase voltage of -8V and an erase block size of 64KB for the erase test subtask.

[0107] Through this hierarchical instruction parsing method, the system can decompose complex test tasks into controllable execution units, which is convenient for the test execution module to accurately control and also convenient for the recording and analysis of test logs. In addition, the modular design of this parsing method enables the system to flexibly respond to different types of test requirements by simply adjusting the corresponding parameter configuration.

[0108] In addition, the test execution module receives the test subtasks and their parameters parsed by the instruction processing module, and generates corresponding test instruction sequences accordingly. These test instruction sequences are issued to the storage device 300 to be tested to perform specific test operations. For example, for the durability test subtask, the test execution module generates a test instruction sequence including a specific programming voltage, an erasing voltage, and a programming / erasing number of times.

[0109] The log management module is responsible for collecting and managing the execution results generated during the test process. Specifically, after each test subtask is completed, the log management module will collect its execution results (including various collectible data / information during the execution process) and organize these results into a standardized test log format. These test logs will then be sent back to the first device 100 for analysis.

[0110] In the specific implementation process, the types and contents of test parameters are diverse, for example, they may include the following categories:

[0111] (1) Test type parameter: used to specify the type of test to be performed, which can be one of the following types or a combination thereof: (a) Endurance test: mainly tests the reliability performance of the storage device under repeated programming / erasing operations; (b) Data retention test: evaluates the ability of the storage device to retain data; (c) Read performance test: tests the data reading speed and stability of the storage device; (d) Write performance test: evaluates the data writing performance of the storage device; (e) Reliability test: comprehensively tests the stability of the storage device; (f) Power consumption test: measures the energy consumption performance of the storage device under various operating conditions.

[0112] (2) Test time parameters: specify the execution time of each test task.

[0113] (3) Test cycle parameters: set the number of times the test task is repeated.

[0114] (4) Test condition parameters: specify the specific conditions for test execution.

[0115] (5) Test data parameters: Contains corresponding specific parameter values ​​according to different test types.

[0116] For different types of tests, the test data parameters are different. For example, for endurance testing, it is necessary to set test data parameters such as programming voltage, erasing voltage, and programming / erasing times; for read performance testing, it is necessary to specify test data parameters such as read voltage, read address range, and read data mode; for write performance testing, it is necessary to set test data parameters such as write voltage, write address range, and write data mode; for power consumption testing, it is mainly concerned with test data parameters such as operating voltage, operating current, and operating frequency.

[0117] Through this modular and parameterized design, the present embodiment can flexibly adapt to various test requirements and ensure the controllability and repeatability of the test process.

[0118] Figure 2 The flowchart is a storage device testing method of a first apparatus according to an embodiment of the present invention.

[0119] Please refer to Figure 2 The main steps of the storage device testing method of the first device of the present invention are described in detail below:

[0120] S210: receiving a plurality of test parameters via the parameter configuration interface of the first device 100, and generating a test instruction according to the test parameters

[0121] Specifically, the first device 100 receives test parameters of the durability test, data retention test, performance test, etc. through the parameter configuration interface, and converts these parameters into a standardized test instruction format according to the preset instruction generation rules. The test parameters include: test type, test time, test cycle, test conditions, and test data parameters. Among them, the test data parameters include corresponding specific parameter values ​​according to different test types, for example, the durability test includes parameters such as programming voltage, erasure voltage, and programming / erasing times.

[0122] S220: Sending the test instruction to the second device 200 to instruct the second device 200 to perform a test task on the storage device according to the test instruction, and generating a test log during the execution of the test task

[0123] Specifically, the first device 100 sends the generated test instruction to the second device 200 via the TCP / IP protocol. After receiving the test instruction, the second device 200 parses it into multiple specific test subtasks and their corresponding execution parameters. During the test execution process, the second device 200 records the test execution status information in real time, including execution time, status code, performance indicators and other data, and generates a structured test log. When a performance anomaly is detected, the second device 200 may start a parameter adjustment process to optimize the test parameters.

[0124] S230: receiving the test log and performing data analysis to determine the execution results of each test step in the test task, and identifying the abnormal state of the storage device based on the execution results, wherein the first device 100 can perform other tasks after sending the test instruction without waiting for the completion of the test task

[0125] Specifically, the first device 100 performs multi-level analysis on the received test log through the data analysis module, including: log structure analysis, abnormal state identification, abnormal classification processing and execution result statistics. The first device 100 divides the abnormalities into three levels: critical abnormalities, warning abnormalities and prompt abnormalities, and generates corresponding analysis reports. At the same time, the first device 100 adopts an asynchronous processing mechanism, which can execute other tasks after sending the test instructions, thereby improving the efficiency of system resource utilization. The analysis results of the test log can be used to establish a storage device performance degradation model to provide a basis for subsequent test parameter optimization.

[0126] In order to more completely describe the operation process of the entire system, the following uses Figure 6 To explain.

[0127] Figure 6 The flowchart is a storage device testing method of the storage device testing system according to an embodiment of the present invention.

[0128] Please refer to Figure 6 The main steps of the storage device testing method of the storage device testing system of the present invention are described in detail below:

[0129] Step S610: Display a parameter configuration interface to receive multiple test parameters input via the first device 100. Specifically, the input test type parameter, test time parameter, test cycle parameter, test condition parameter, and test data parameter are received through the parameter configuration interface. When the test type is a durability test, the test data parameters include specific parameters such as programming voltage, erasing voltage, and programming / erasing times.

[0130] Step S620: Generate a test instruction based on the multiple test parameters via the first device 100, wherein the first device is communicatively connected to the second device 200. In this step, the instruction generation module of the first device 100 converts the test parameters into a standardized test instruction format. A connection can be established between the first device and the second device 200 through a variety of communication protocols, including but not limited to: TCP / IP protocol: data transmission through a network interface; RS-232 protocol: direct communication through a serial port; USB protocol: high-speed data transmission through a universal serial bus; industrial field bus protocol: such as Modbus, Profibus, etc., suitable for industrial environments. The choice of communication protocol depends on the specific test environment requirements and hardware configuration conditions.

[0131] Step S630: The test instruction is sent to the second device via the first device 100, and the second device 200 is communicatively connected to the storage device 300, wherein the second device is used to control the storage device. After receiving the test instruction, the second device 200 establishes a physical connection with the storage device to be tested through the memory interface control circuit 250. The memory interface control circuit 250 supports multiple storage device interface standards to ensure compatibility with different types of storage devices.

[0132] Step S640: Execute the test task on the storage device 300 according to the test instruction via the second device 200, and generate a test log containing test execution status information during the execution of the test task. The second device 200 parses the test instruction into a specific test operation sequence, and executes each test operation in a predetermined order and timing. At the same time, the execution status, timestamp, operation results and other information during the test process are recorded in real time.

[0133] Step S650: After completing the test task, the test log is sent to the first device 100 via the second device 200. The test log is organized in a structured format and contains detailed execution records of all test steps to facilitate subsequent data analysis.

[0134] Step S660: The received test log is parsed via the first device 100 to determine the execution results of each test step in the test task, and the abnormal state of the storage device is identified based on the execution results, wherein the first device 100 can execute other tasks after sending the test instruction without waiting for the completion of the test task.

[0135] In one embodiment, the test log parsing process performed by the first device 100 includes multiple analysis levels and processing stages.

[0136] Specifically, the data analysis module processes the test logs through the following steps:

[0137] (1) Log structure analysis. For example, parse test records according to the predefined log format; extract basic information such as execution timestamp, operation type, status code, etc.; identify the relationship and execution order between test steps.

[0138] (2) Abnormal state identification. Abnormal states in the test log can be divided into the following types: (a) Operation timeout abnormality, for example: single operation response time exceeds the threshold; continuous operation interval is abnormal; test step execution order is disordered. (b) Performance indicator abnormality: read and write speed is lower than expected; error rate exceeds the allowable range; response delay is too high. (c) Data consistency abnormality: written data verification fails; erase operation is not fully executed; data checksum error.

[0139] (3) Exception classification and processing. According to the severity of the exception, the system classifies the exception into: critical exception, which requires immediate termination of the test; warning exception, which needs to be recorded but the test can continue; and prompt exception, which is only used as a reference for optimization.

[0140] (4) Execution result statistics. For each test step, for example, statistics can be collected on: number of successes / failures; average execution time; performance indicator distribution; and frequency of abnormalities.

[0141] The first device 100 processes the test log through the data analysis module, identifies possible abnormal situations, and generates a test report. This asynchronous processing mechanism improves the resource utilization efficiency of the system.

[0142] In another embodiment, the data analysis module is also used to: receive and store historical test logs of multiple storage devices; establish a storage device performance degradation model based on the performance data in the historical test logs; predict the optimal test parameter ranges for different types of storage devices based on the performance degradation model; and provide the optimal test parameter range to the parameter configuration module for parameter initialization of subsequent test tasks.

[0143] In more detail, the data analysis module performs the following processing flow:

[0144] (1) Historical data management: The data analysis module receives and stores test logs from multiple storage devices 300 to establish a structured historical database. These test logs may include, for example: storage device model and specification information; test type and parameter configuration records; performance indicator measurement results; and test time series data.

[0145] (2) Performance degradation modeling: Based on the performance data in the historical test log, the data analysis module establishes a storage device performance degradation model. This model can analyze, for example: the relationship between the number of write / erase cycles and the error rate; the correlation between data retention time and data integrity; the trend of operation delay with usage time; and the performance degradation rate under different working conditions.

[0146] (3) Parameter range prediction: The data analysis module uses performance degradation models to predict the optimal test parameter range for different types of storage devices, such as: safe operating range of programming / erase voltage; optimal timing parameters for read operations; optimal speed settings for write operations; and reasonable intervals between test cycles.

[0147] (4) Parameter initialization: The data analysis module provides the predicted optimal parameter range to the parameter configuration module, which can be used, for example, for: parameter initialization of new test tasks; validation of test parameter validity; automatic optimization of test configurations; and timely identification of abnormal parameters.

[0148] Through this intelligent parameter configuration mechanism based on historical data, the system can provide more accurate test parameter configuration for different types of storage devices, improve test efficiency and reduce test failure rate.

[0149] This test method adopts a master-slave architecture, and realizes automation and parallelization of the test process through the division of labor and cooperation between the first device 100 and the second device 200. The first device 100 is responsible for the management of the test task and the result analysis, and the second device 200 is responsible for the execution and log recording of the specific test. This architectural design improves the overall efficiency of the test system 10.

[0150] In one embodiment, the test execution module of the second device 200 implements the dynamic monitoring and parameter adjustment functions of the test task. Specifically, the test execution module monitors the execution of each test subtask and records the execution results including the execution time, execution status code and performance indicators. When it is found that the execution result of the target test subtask does not reach the preset performance threshold, the test execution module will start the parameter adjustment process.

[0151] For example, when performing a durability test on the storage device 300, the working process of the test execution module is as follows:

[0152] (1) Monitor the execution results of the write test subtask, including: execution time: the time taken for a single write operation; execution status code: the completion status of the write operation; performance indicators: write speed, number of error bits, etc.

[0153] (2) When the number of error bits in the write operation exceeds the preset threshold corresponding to this test task (for example, the number of error bits per 1KB of data is greater than 4 bits), the test execution module executes a parameter adjustment procedure, including: first analyzing the performance indicator deviation to determine the extent to which the number of error bits exceeds the threshold; selecting a corresponding adjustment strategy from a preset adjustment rule library, such as reducing the write speed or adjusting the write voltage; calculating a new write voltage value or adjusting the write timing parameters according to the selected adjustment strategy; and generating a test instruction sequence containing new parameters.

[0154] (3) The test execution module then executes the new test instruction sequence, including: issuing the adjusted write command to the storage device 300; obtaining the new execution result; and updating the test log by the log management module to record the performance changes before and after the parameter adjustment.

[0155] This dynamic parameter adjustment mechanism can timely discover and handle performance anomalies during the test process, avoid wasting time due to test failure, and adaptively adjust test parameters to automatically improve the overall test task without manual intervention, while providing a basis for subsequent test parameter optimization. In addition, by recording the process and effect of parameter adjustment in a log, it is also convenient to analyze the performance of the storage device 300 under different parameter configurations.

[0156] In one embodiment, the parameter adjustment program of the second device 200 uses machine learning technology to optimize the test parameters. The program realizes automatic adjustment and optimization of the test parameters by establishing and training a machine learning model. The test execution module first collects and organizes historical test data, which includes the execution results of the test subtasks, parameter adjustment records, and corresponding performance improvement data. For example, in the durability test of the storage device 300, the historical data will record the execution time and error rate of the write operation, as well as the corresponding voltage adjustment records and performance improvement effects.

[0157] When performance anomalies occur during the test of the storage device 300, the machine learning model analyzes the current performance indicator deviation. Taking the write operation as an example, if the error rate is detected to exceed the preset threshold, the model will analyze the degree of error rate deviation and predict the effects of different adjustment strategies based on historical data. These strategies may include adjusting the write voltage, modifying the operation timing, etc. The model selects the optimal parameter adjustment scheme by evaluating the expected effect and possible risks of each strategy.

[0158] The test execution module then applies the optimized parameters to the test through the optimal parameter adjustment scheme. Specifically, the test execution module generates a test instruction sequence containing new parameters and issues it to the storage device 300 for execution. After the test is completed, the module collects new execution results and feeds these results back to the machine learning model. This continuous data collection and model update mechanism enables the system to continuously improve its parameter adjustment strategy and improve test efficiency. For example, if a voltage adjustment significantly improves write performance, this experience will be recorded and used for subsequent parameter optimization in similar situations.

[0159] Through machine learning technology, the present invention can establish an adaptive test parameter optimization system, which can not only quickly respond to performance anomalies, but also accumulate test experience and continuously improve parameter adjustment strategies. This method has higher adaptability and optimization efficiency than the traditional fixed rule adjustment method.

[0160] In another embodiment, the parameter adjustment function can be performed not only by the second device 200, but also by the instruction generation module of the first device 100. Specifically, the instruction generation module of the first device 100 receives the test log returned by the second device 200 to achieve dynamic monitoring and parameter adjustment of the test task.

[0161] Specifically, the instruction generation module monitors the execution results of each test subtask in real time, including execution time, execution status code and performance indicators. When the instruction generation module finds that the execution result of the target test subtask does not reach the preset performance threshold, it will execute the parameter adjustment procedure.

[0162] The execution process of the parameter adjustment program includes: first analyzing the performance indicator deviation in the execution result; then selecting the corresponding adjustment strategy from the preset adjustment rule library according to the type and degree of the deviation; calculating the new subtask parameter value based on the selected adjustment strategy; finally, generating another test instruction containing a new test instruction sequence according to the new subtask parameter, and sending it to the test execution module of the second device 200. The test execution module then issues the new test instruction sequence to the storage device 300 for execution according to the other test instruction to obtain the new execution result of the target test subtask. The log management module updates the test log according to these new execution results.

[0163] In another embodiment, the parameter adjustment program of the instruction generation module optimizes the parameter adjustment by executing the machine learning model. The instruction generation module trains the machine learning model based on historical test data, which includes: the execution results of multiple historical test subtasks, the corresponding parameter adjustment records, and the degree of performance improvement. The machine learning model predicts the expected effects of multiple adjustment strategies by analyzing the performance indicator deviations in the execution results, and selects the optimal adjustment strategy based on the expected effects to generate the corresponding adjusted subtask parameter values.

[0164] Subsequently, the instruction generation module applies the adjusted subtask parameter value to the corresponding test subtask to generate another test instruction containing the adjusted test instruction sequence. The other test instruction will be sent to the second device 200 to perform the adjusted test operation and obtain the corresponding execution result. After obtaining the new execution result of the corresponding adjusted test instruction sequence, the instruction generation module updates the historical test data of the machine learning model based on these results for continuous optimization of the parameter adjustment strategy.

[0165] For example, when performing a durability test on the storage device 300, when the number of error bits in a write operation exceeds a preset threshold, the instruction generation module analyzes the performance deviation, calculates a new write voltage value or timing parameter, and generates a test instruction containing these new parameters and sends it to the second device 200 for execution. In this way, the first device 100 can achieve unified management and optimization of test parameters at the system level.

[0166] In one embodiment, the parameter configuration module of the first device 100 provides an automatic scheduling function. This function is implemented by automatic scheduling software, and supports three scheduling modes: simulation mode, mode based on TOC (Theory of Constraints) and mode based on mathematical modeling.

[0167] When using simulation mode, the automatic scheduling software will build a simulation model of the test process based on historical test data and calculate the optimal test schedule through simulation. For example, for durability testing, the software will reasonably allocate the execution time of the test task based on historical execution time and resource usage.

[0168] When the TOC-based mode is used, the software will identify key constraints in the test process, such as the limit on the number of parallel tests of the storage device 300, the available time of the test equipment, etc., and formulate a test schedule around these constraints.

[0169] When using a model based on mathematical modeling, the software converts the test scheduling problem into a mathematical optimization problem, taking into account multiple objective functions such as test time and resource utilization, and solving the optimal test execution plan.

[0170] In another embodiment, the first device 100 implements an automatic loop verification mechanism for the test task. The test execution monitoring program of the first device 100 automatically starts the test verification process at a preset time interval (e.g., every 3 days). Specifically, the execution process of the monitoring program may include: checking the status of multiple storage devices 300 to be tested; loading preset test parameter configurations; generating a test instruction sequence; sending a test instruction to the second device 200; waiting for and receiving a test log; and analyzing test results.

[0171] In one embodiment, after each cycle verification is completed, the monitoring program will generate a verification report, for example, the following information may be recorded: test execution time period; test parameter configuration; test result statistics; abnormal situation records.

[0172] Through this automatic cycle verification mechanism, the system can continuously monitor the performance status of the storage device 300, promptly discover and record possible problems, and provide a basis for subsequent problem analysis and resolution.

[0173] Figure 3 FIG. 4 is a sequence diagram of a storage device testing method according to an embodiment of the present invention.

[0174] In one embodiment, if Figure 3 As shown, the storage device testing method of the present invention includes four main stages: test initialization stage S310, transition to the next working state S320, test execution stage S330 and test completion stage S340. These four stages are respectively completed by the parameter configuration interface, the first device 100, the second device 200 and the storage device 300.

[0175] The test initialization phase S310 mainly completes the configuration of test parameters and the generation of test instructions. In this phase, the system receives test parameters through the parameter configuration interface, the first device 100 generates corresponding test instructions, and sends the test instructions to the second device 200.

[0176] The transition to the next working state S320 indicates that the first device 100 can transition to other working states after sending the test instruction without waiting for the completion of the test task. This asynchronous processing mechanism improves the resource utilization efficiency of the system.

[0177] The test execution phase S330 is a phase in which the second device 200 performs specific test operations. This phase includes two main parts: successive execution of the test S331 and whether the execution result meets the performance threshold S332. The second device 200 is responsible for parsing and executing the test instructions and collecting and analyzing the results in this phase.

[0178] The test completion stage S340 mainly processes the transmission and analysis of the test results. In this stage, the second device 200 sends the test log to the first device 100, and the first device 100 analyzes the results and displays the analysis results.

[0179] In one embodiment, if Figure 3 As shown, the testing method of the present invention comprises the following detailed steps in each main stage:

[0180] [Test initialization phase S310]

[0181] Step S3101: Input test parameters through the parameter configuration interface, which include configuration information such as test type, test time, and test conditions.

[0182] Step S3102: The first device 100 generates a test instruction according to the input test parameters. The test instruction includes complete test configuration information and execution requirements.

[0183] Step S3103: The first device 100 sends a test instruction to the second device 200. The test instruction is transmitted through a preset communication protocol.

[0184] [Test execution phase S330]

[0185] In the iterative execution test S331 section, for multiple test subtasks:

[0186] Step S3311: The second device 200 parses the received test instruction and generates multiple specific test instruction sequences.

[0187] Step S3312 : the second device 200 sends a plurality of test instruction sequences to the storage device 300 .

[0188] Step S3313: The second device 200 receives the test result returned by the storage device 300.

[0189] Step S3314: The second device 200 generates a test log based on the test result. If the number of test tasks includes test operations that are repeated multiple times, the process can return to step S3311.

[0190] It should be noted that the test execution phase may also include an adjustment procedure S332. If the execution result does not meet the performance threshold:

[0191] Step S3321: When the test result does not meet the performance threshold, the second device 200 adjusts the subtask parameters.

[0192] Step S3322: The second device 200 re-executes the test using the adjusted parameters.

[0193] Step S3323: The second device 200 receives and records the new test result.

[0194] [Testing completed stage S340]

[0195] Step S3401: the second device 200 sends the complete test log to the first device 100.

[0196] Step S3402: The first device 100 analyzes and processes the test log to evaluate the test execution status.

[0197] Step S3403: The first device 100 generates an analysis report and displays the analysis results through a parameter configuration interface.

[0198] Through this detailed step division, the system achieves precise control and effective management of the test process. This structured step design also facilitates the system to locate problems and optimize improvements.

[0199] In another embodiment, the test method of the present invention further includes processing steps related to the machine learning model in the test execution stage S330. Specifically, when the second device 200 performs step S3321 to adjust the subtask parameters, the detailed operations include:

[0200] (1) Input processing of the machine learning model: reading the performance indicator data of the current test subtask;

[0201] Extract relevant records from the historical test database; organize performance deviation data into a standardized format.

[0202] (2) Analysis and prediction of machine learning models: Calculate multiple possible parameter adjustment schemes; evaluate the expected performance improvement effect of each scheme; and score each scheme based on the expected effect.

[0203] (3) Parameter optimization decision: select the parameter adjustment solution with the highest score; generate specific parameter adjustment values; and update the test instruction sequence.

[0204] (4) Feedback learning processing: record the test results under new parameters; compare the difference between the predicted effect and the actual result; update the training data set of the machine learning model.

[0205] For example, when performing a durability test on the storage device 300, if the error rate of the write operation exceeds a threshold, the machine learning model will: analyze the current error mode and performance indicators; predict the effect of adjusting the write voltage or timing parameters; select the optimal parameter adjustment scheme; apply the new parameters and verify the effect; and incorporate the verification results into the training data set.

[0206] This machine learning-based parameter adjustment mechanism can provide more accurate parameter adjustment strategies for different types of performance anomalies through continuous learning and optimization, thereby improving test efficiency and accuracy. At the same time, the empirical data accumulated by the machine learning model also provides an important reference for subsequent test parameter optimization.

[0207] Figure 4 It is a sequence diagram of a machine learning test optimization method according to an embodiment of the present invention.

[0208] In one embodiment, if Figure 4 As shown, the present invention provides a test optimization method based on machine learning, which is implemented by the second device 200, the storage device 300, the machine learning model 221 and the training database 222. Specifically, the following steps are included:

[0209] Step S401 : the second device 200 executes a test instruction sequence to the storage apparatus 300 .

[0210] Step S402 : the storage device 300 returns the test result to the second device 200 .

[0211] Step S403: The second device 200 checks the performance indicators and evaluates whether the test results meet the expected requirements.

[0212] Machine learning optimization stage S410: When the performance indicators of the test results do not meet the preset thresholds, the system starts a machine learning (ML) adjustment procedure, which may include the following procedures, for example.

[0213] Data collection and preparation:

[0214] Step S411: The second device 200 sends the performance indicator data to the machine learning model 221.

[0215] Step S412: Acquire historical training data from the training database 222 .

[0216] Machine Learning Analysis:

[0217] Step S413: The machine learning model 221 analyzes performance deviations.

[0218] Step S414: predicting the effects of multiple possible parameter adjustment strategies.

[0219] Step S415: Determine the optimal adjustment strategy based on the prediction results.

[0220] Optimized execution and verification:

[0221] Step S416: The machine learning model 221 returns the optimized parameters to the second device 200.

[0222] Step S417: The second device 200 performs a new test using the optimized parameters.

[0223] Step S418: Obtain new test results and evaluate the optimization effect.

[0224] This machine learning-based optimization method has the following characteristics:

[0225] (1) Real-time response: Ability to initiate optimization process promptly based on test results; (2) Data-driven: Use historical data to support decision making; (3) Continuous optimization: Improve optimization results by continuously accumulating experience.

[0226] Although most of the above embodiments only describe implementation methods for one storage device to be tested, it is worth mentioning that, in one embodiment, the test method of the present invention can be applied to a parallel test scenario of multiple storage devices to be tested. Specifically, the parameter configuration interface of the first device 100 provides a storage device configuration area for setting relevant parameters of the storage device to be tested, which may include:

[0227] The number of storage devices to be tested; the type identification of each storage device (such as SSD, eMMC, UFS, etc.); storage capacity specifications; interface type (such as SATA, PCIe, eMMC, etc.); firmware version information and other hardware characteristic parameters.

[0228] According to these configuration parameters, the second device 200 respectively establishes connections with a plurality of storage devices to be tested (such as storage devices to be tested 301, 302, etc.) through the memory interface control circuit 250. The memory interface control circuit 250 can dynamically configure corresponding communication protocols and control signals according to the interface types of different storage devices to ensure correct communication with various storage devices.

[0229] In addition, in another embodiment, the test method of the present invention supports a parallel operation mode of multiple second devices. The parameter configuration interface of the first device 100 includes a second device configuration area for managing the test task allocation of multiple second devices. The second device configuration area can be set, for example: identification information of the second device (such as device ID, IP address, MAC address, etc.); hardware configuration information of each second device; test task allocation strategy; load balancing parameters; communication parameter configuration and other related parameters of different second devices.

[0230] The first device 100 can distribute test tasks to multiple second devices at the same time according to the configuration parameters of the second device configuration area. Each second device independently executes the test instructions it receives and returns the test log to the first device 100. In addition, in another embodiment, the data analysis module of the first device 100 can integrate the test logs from multiple second devices to generate a comprehensive test report.

[0231] This parallel testing architecture of multiple second devices significantly improves the processing capacity of the test system, enabling it to perform a large number of test tasks at the same time. At the same time, through a reasonable task allocation mechanism, the system can make full use of the hardware resources of each second device and improve the overall test efficiency.

[0232] This embodiment also provides a computer program product, including a computer readable code, or a non-volatile computer readable storage medium carrying the computer readable code, when the computer readable code is executed in a processor, the processor executes the steps of the above storage device testing method. The computer program product can be implemented in hardware, firmware, software or a combination thereof. In an optional embodiment, the computer program product is specifically embodied as a computer storage medium, and in another optional embodiment, the computer program product is specifically embodied as a software product, such as a software development kit (SDK) and the like.

[0233] Based on the above, the storage device testing method and storage device testing system provided by the embodiment of the present invention realize the efficient management and execution of test tasks through the distributed architecture design of the first device and the second device. The first device adopts an asynchronous processing mechanism, and can execute other tasks after issuing the test instruction, which significantly improves the utilization rate of system resources. The second device realizes the accurate parsing and execution of the test instruction through modular test execution design, and ensures the traceability of the test process through real-time log recording. The system introduces a machine learning model for parameter optimization, which can adaptively adjust the test parameters based on historical test data to improve the test accuracy. In addition, the system supports parallel testing of multiple storage devices and collaborative work of multiple second devices, and fully utilizes hardware resources through a flexible task allocation mechanism. In particular, in terms of log management, a hierarchical analysis strategy is adopted to realize the rapid positioning and classification processing of abnormal states, providing a reliable basis for storage device performance evaluation. Through these innovative designs, the present invention solves the problems of parameter configuration solidification, response delay and low analysis efficiency in traditional test methods, and provides an efficient and intelligent automation solution for storage device testing.

[0234] Finally, it should be noted that the above embodiments are only used to illustrate the technical solutions of the present invention, rather than to limit it. Although the present invention has been described in detail with reference to the aforementioned embodiments, those skilled in the art should understand that they can still modify the technical solutions described in the aforementioned embodiments, or replace some or all of the technical features therein by equivalents. 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 invention.

Claims

1. A storage device testing method, applied to a first device, wherein: The first device is communicatively connected to the second device, and the second device is communicatively connected to the storage device, and is characterized by comprising: Receiving a plurality of test parameters via a parameter configuration interface of the first device, and generating a test instruction according to the test parameters; Sending the test instruction to the second device to instruct the second device to perform a test task on the storage device according to the test instruction and to generate a test log during the execution of the test task; Receive the test log and perform data analysis to determine the execution results of each test step in the test task, and identify the abnormal state of the storage device based on the execution results, wherein the first device can perform other tasks after sending the test instruction without waiting for the completion of the test task.

2. The storage device testing method according to claim 1, characterized in that: The first device comprises: An input / output device, used for displaying the parameter configuration interface and receiving the inputted multiple test parameters; A first storage device stores a plurality of first program modules, including a parameter configuration module, an instruction generation module, and a data analysis module, wherein the parameter configuration module is used to provide the parameter configuration interface, the instruction generation module is used to generate the test instruction according to the plurality of test parameters, and the data analysis module is used to analyze the test log; a first memory; a first communication circuit unit; and A first processor, wherein the first processor is used to execute the plurality of first program modules.

3. The storage device testing method according to claim 2, characterized in that: The second device comprises: The second storage device stores a plurality of second program modules, including an instruction processing module, a test execution module and a log management module. The instruction processing module is used to receive and parse the test instruction to obtain a plurality of test subtasks corresponding to the test task and a plurality of subtask parameters corresponding to each test subtask; The test execution module is used to generate a plurality of test instruction sequences corresponding to the plurality of test subtasks respectively according to the plurality of test subtasks and the plurality of subtask parameters, and issue the plurality of test instruction sequences to the storage device to execute the plurality of test subtasks. The log management module is used to generate the test log according to the received multiple execution results corresponding to the multiple test subtasks; A second memory; a second communication circuit unit; and A second processor, wherein the second processor is used to execute the plurality of second program modules.

4. The storage device testing method according to claim 3, characterized in that: The multiple test parameters include: a test type parameter for specifying the type of test to be performed on the storage device; A test time parameter, used to specify the execution time of the test task; A test cycle parameter, used to specify the number of repetitions of the test task; Test condition parameters, used to specify the execution conditions of the test task; and The test data parameter is used to specify the test data of the test task.

5. The storage device testing method according to claim 4, characterized in that: The test type parameter includes at least one of a durability test, a data retention capability test, a read performance test, a write performance test, a reliability test, and a power consumption test, wherein: The test data parameters of the durability test include programming voltage, erasing voltage, and programming / erasing times; The test data parameters of the read performance test include read voltage, read address range, and read data mode; The test data parameters of the write performance test include write voltage, write address range, and write data mode; and The test data parameters of the power consumption test include operating voltage, operating current, and operating frequency.

6. The storage device testing method according to claim 5, characterized in that: The step of receiving and parsing the test instruction to obtain the multiple test subtasks corresponding to the test task and the multiple subtask parameters corresponding to each test subtask includes: According to the test type parameter in the test instruction, acquiring the multiple test subtasks corresponding to the test type parameter; Determine the execution order and repetition times of each test subtask according to the test time parameter and the test cycle parameter; Generate corresponding subtask parameters for each of the test subtasks according to the test data parameters and the test condition parameters.

7. The storage device testing method according to claim 3, characterized in that: The instruction generation module is also used for: Monitoring the execution result of each of the test subtasks, wherein the execution result includes execution time, execution status code and performance index; When the execution result of the target test subtask in the plurality of test subtasks does not meet a preset performance threshold, determining whether the target test subtask needs to be adjusted, and executing a parameter adjustment procedure, The parameter adjustment procedure includes: Analyzing performance indicator deviations in the execution results; According to the type and degree of the performance indicator deviation, a corresponding adjustment strategy is selected from a preset adjustment rule library; Calculating new subtask parameter values ​​based on the adjustment strategy; and generating another test instruction according to the new subtask parameter, including a new test instruction sequence corresponding to the target test subtask, wherein the another test instruction is sent to the test execution module of the second device; Based on the other test instruction, the test execution module issues the new test instruction sequence to the storage device to obtain a new execution result of the target test subtask. The log management module updates the test log according to the new execution result of the target test subtask.

8. The storage device testing method according to claim 7, characterized in that: The parameter adjustment procedure executes a machine learning model, wherein: The instruction generation module trains the machine learning model based on historical test data, where the historical test data includes: Historical execution results of multiple historical test subtasks; a historical parameter adjustment record corresponding to each of the historical execution results; and the degree of performance improvement corresponding to the historical parameter adjustment record; The machine learning models described are used to: Analyzing the performance indicator deviation in the execution result; predicting expected effects of each of a plurality of adjustment strategies based on the performance indicator deviation; and Determine the optimal adjustment strategy according to the expected effect to generate corresponding adjusted subtask parameter values; The instruction generation module is also used for: Applying the adjusted subtask parameter value to the corresponding test subtask to generate the another test instruction including the adjusted test instruction sequence; Obtain another execution result corresponding to the adjusted test instruction sequence; Based on the another execution result, the historical test data of the machine learning model is updated.

9. The storage device testing method according to claim 3, characterized in that: The first communication circuit unit and the second communication circuit unit establish a communication connection via the TCP / IP protocol, wherein: The first communication circuit unit is configured as a TCP server for monitoring a preset communication port; The second communication circuit unit is configured as a TCP client, and is used to convert the test protocol into a TCP / IP protocol.

10. The storage device testing method according to claim 2, characterized in that: The data analysis module is also used for: receiving and storing historical test logs of a plurality of storage devices; Establishing a storage device performance degradation model based on the performance data in the historical test log; Based on the performance degradation model, predicting the optimal test parameter ranges of different types of storage devices; The optimal test parameter range is provided to the parameter configuration module for parameter initialization of subsequent test tasks.

11. A storage device testing system for testing a storage device, characterized in that: include: First device; A second device, which is communicatively connected to the first device and is used to receive a test instruction; as well as The storage device is connected in communication with the second device. The first device displays a parameter configuration interface to receive a plurality of test parameters, and generates a test instruction based on the plurality of test parameters. The second device executes a test task on the storage device according to the test instruction, generates a test log including test execution status information during the execution of the test task, and sends the test log to the first device after completing the test task. The first device parses the received test log to determine the execution results of each test step in the test task, and identifies the abnormal state of the storage device based on the execution results. The first device can execute other tasks after sending the test instruction without waiting for the completion of the test task.

12. The storage device testing system according to claim 11, wherein: The first device comprises: An input / output device, used for displaying the parameter configuration interface and receiving the inputted multiple test parameters; A first storage device storing a plurality of first program modules, including a parameter configuration module, an instruction generation module, and a data analysis module; a first memory; a first communication circuit unit; and a first processor, wherein the first processor is used to execute the plurality of first program modules, The parameter configuration module is used to provide the parameter configuration interface. The instruction generation module is used to generate the test instruction according to the multiple test parameters. The data analysis module is used to analyze the test log.

13. The storage device testing system according to claim 12, wherein: The second device comprises: A second storage device storing a plurality of second program modules, including an instruction processing module, a test execution module, and a log management module; A second memory; a second communication circuit unit; and a second processor, wherein the second processor is used to execute the plurality of second program modules, The instruction processing module is used to receive and parse the test instruction to obtain a plurality of test subtasks corresponding to the test task and a plurality of subtask parameters corresponding to each test subtask; The test execution module is used to generate a plurality of test instruction sequences corresponding to the plurality of test subtasks respectively according to the plurality of test subtasks and the plurality of subtask parameters, and issue the plurality of test instruction sequences to the storage device to execute the plurality of test subtasks. The log management module is used to generate the test log according to the received multiple execution results corresponding to the multiple test subtasks.

14. The storage device testing system according to claim 13, wherein: The multiple test parameters include: a test type parameter for specifying the type of test to be performed on the storage device; A test time parameter, used to specify the execution time of the test task; A test cycle parameter, used to specify the number of repetitions of the test task; Test condition parameters, used to specify the execution conditions of the test task; and The test data parameter is used to specify the test data of the test task.

15. The storage device testing system according to claim 14, wherein: The test type parameter includes at least one of a durability test, a data retention capability test, a read performance test, a write performance test, a reliability test, and a power consumption test, wherein: The test data parameters of the durability test include programming voltage, erasing voltage, and programming / erasing times; The test data parameters of the read performance test include read voltage, read address range, and read data mode; The test data parameters of the write performance test include write voltage, write address range, and write data mode; and The test data parameters of the power consumption test include operating voltage, operating current, and operating frequency.

16. The storage device testing system according to claim 15, characterized in that: The step of receiving and parsing the test instruction to obtain the multiple test subtasks corresponding to the test task and the multiple subtask parameters corresponding to each test subtask includes: According to the test type parameter in the test instruction, acquiring the multiple test subtasks corresponding to the test type parameter; Determine the execution order and repetition times of each test subtask according to the test time parameter and the test cycle parameter; Generate corresponding subtask parameters for each of the test subtasks according to the test data parameters and the test condition parameters.

17. The storage device testing system according to claim 13, wherein: The test execution module is also used for: Monitoring the execution result of each of the test subtasks, wherein the execution result includes execution time, execution status code and performance index; When the execution result of the target test subtask in the plurality of test subtasks does not meet a preset performance threshold, determining whether the target test subtask needs to be adjusted, and executing a parameter adjustment procedure, The parameter adjustment procedure includes: Analyzing performance indicator deviations in the execution results; According to the type and degree of the performance indicator deviation, a corresponding adjustment strategy is selected from a preset adjustment rule library; Calculating new subtask parameter values ​​based on the adjustment strategy; and According to the new subtask parameters, a new test instruction sequence corresponding to the target test subtask is generated, The test execution module issues the new test instruction sequence to the storage device to obtain a new execution result of the target test subtask. The log management module updates the test log according to the new execution result of the target test subtask.

18. The storage device testing system according to claim 17, wherein: The parameter adjustment procedure executes a machine learning model, wherein: The test execution module trains the machine learning model based on historical test data, where the historical test data includes: Historical execution results of multiple historical test subtasks; a historical parameter adjustment record corresponding to each of the historical execution results; and the degree of performance improvement corresponding to the historical parameter adjustment record; The machine learning models described are used to: Analyzing the performance indicator deviation in the execution result; predicting expected effects of each of a plurality of adjustment strategies based on the performance indicator deviation; and Determine the optimal adjustment strategy according to the expected effect to generate corresponding adjusted subtask parameter values; The test execution module is also used for: Applying the adjusted subtask parameter value to the corresponding test subtask to generate and issue an adjusted test instruction sequence to the storage device; Obtain another execution result corresponding to the adjusted test instruction sequence; Based on the another execution result, the historical test data of the machine learning model is updated.

19. The storage device testing system according to claim 13, wherein: The first communication circuit unit and the second communication circuit unit establish a communication connection via the TCP / IP protocol, wherein: The first communication circuit unit is configured as a TCP server for monitoring a preset communication port; The second communication circuit unit is configured as a TCP client, and is used to convert the test protocol into a TCP / IP protocol.

20. The storage device testing system according to claim 12, wherein: The data analysis module is also used for: receiving and storing historical test logs of a plurality of storage devices; Establishing a storage device performance degradation model based on the performance data in the historical test log; Based on the performance degradation model, predicting the optimal test parameter ranges of different types of storage devices; as well as The optimal test parameter range is provided to the parameter configuration module for parameter initialization of subsequent test tasks.

Citation Information

Cited By

  • Memory bank SLT automatic test method and device, equipment and medium

    CN120950318A

  • Read-write test method and device for memory

    CN121415851A