Solid State Drive Data Transfer Rate Testing Method and Apparatus
By deploying multiple interconnected test nodes in the solid-state drive data transfer rate test to simulate a complex network environment and execute test tasks of various read and write operation modes in parallel, the problem that existing test methods cannot truly reflect SSD performance is solved, and efficient performance evaluation is achieved.
Patent Information
- Application Number
- CN202510143878.9
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2025-02-10
- Publication Date
- 2025-10-31
- Estimated Expiration
- 2045-02-10
AI Technical Summary
Existing SSD data transfer rate testing methods cannot accurately reflect their performance in complex network environments with multiple devices working together in a single-machine setting. Furthermore, the test tasks are limited and cannot comprehensively assess the performance of SSDs under complex workloads, resulting in low testing efficiency.
By deploying multiple interconnected test nodes connected to the solid-state drive, a real network environment with multiple devices working together is simulated. Parallel test tasks with various read and write operation modes are set up, different types of test tasks are executed in parallel, the transmission rate index of each test node is calculated, and finally the data transmission rate of the solid-state drive in a distributed parallel environment is determined.
It accurately reflects the performance of SSDs in real-world complex network environments, comprehensively considers the performance when different read and write modes are used in combination, improves testing efficiency, and shortens testing time.
Smart Images

Figure CN120066869B_ABST
Abstract
Description
Technical Field
[0001] This invention relates to the field of solid-state drive (SSD) technology, and in particular to a method and apparatus for testing SSD data transfer rates. Background Technology
[0002] In solid-state drive (SSD) performance evaluation systems, data transfer rate testing is a key indicator for measuring performance. Currently, most existing SSD data transfer rate testing methods are based on single-machine environments, which are overly idealized and differ significantly from real-world usage scenarios. In practical applications, such as large-scale data centers and cloud computing platforms, SSDs often operate in complex network environments with multiple devices working collaboratively, facing concurrent access from multiple users. Single-machine testing cannot simulate this complex network interaction and concurrency pressure, resulting in test results that fail to accurately reflect the performance of SSDs in real-world applications. Furthermore, traditional testing methods have relatively simple test tasks, typically focusing on simple sequential or random read / write operations. However, in real-world applications, data read / write patterns are complex and diverse, including not only continuous read / write of large files but also frequent random read / write of numerous small files, as well as the mixed use of different read / write operations. A single test task cannot comprehensively assess the performance of SSDs under complex workloads. Moreover, existing testing methods do not adequately utilize parallel processing capabilities during testing, often employing serial testing methods. With the rapid development of SSD technology, its read and write performance has been greatly improved. However, the serial testing method is too time-consuming and cannot meet the needs of fast and efficient testing. The problem of low efficiency is particularly prominent when a large number of SSDs need to be evaluated for performance. Summary of the Invention
[0003] This invention provides a method and apparatus for testing the data transfer rate of a solid-state drive (SSD), which can accurately reflect the performance of SSDs in real-world complex network environments, comprehensively consider the performance of SSDs when used in a mixed manner with different read and write modes, and improve the testing efficiency of SSD data transfer rate.
[0004] In a first aspect, the present invention provides a method for testing the data transfer rate of a solid-state drive, comprising:
[0005] Multiple test nodes are deployed; each test node establishes a communication link with the solid-state drive to be tested, and the test nodes form an interconnected network structure.
[0006] Test tasks with multiple read and write operation modes are set based on preset application scenarios, and the test tasks are assigned to each test node so that each test node can execute different types of test tasks in parallel.
[0007] The test tasks of each test node are started synchronously, and the amount of data and operation time of each test node when performing each read and write operation on the solid-state drive based on the assigned test task are obtained.
[0008] The final transmission rate index for each test node is calculated based on the amount of data and the operation time of each test node.
[0009] The data transfer rate of the solid-state drive in a distributed parallel environment is determined based on the final transfer rate index of each test node.
[0010] Secondly, the present invention also provides a solid-state drive data transfer rate testing device, comprising:
[0011] The deployment module is used to deploy multiple test nodes; each test node establishes a communication link with the solid-state drive to be tested, and the test nodes form an interconnected network structure.
[0012] The task testing module is used to set up test tasks with multiple read and write operation mode combinations based on preset application scenarios, and to allocate the test tasks to each test node so that each test node can execute different types of test tasks in parallel.
[0013] The acquisition module is used to synchronously start the test tasks of each test node and acquire the amount of data and the operation time of each test node when performing each read and write operation on the solid-state drive based on the assigned test task.
[0014] The computation module is used to calculate the final transmission rate index for each test node based on the amount of data and the operation time of each test node.
[0015] The transfer rate determination module is used to determine the data transfer rate of the solid-state drive in a distributed parallel environment based on the final transfer rate index of each test node.
[0016] Thirdly, the present invention also provides an electronic device, comprising: a memory for storing computer software programs; and a processor for reading and executing the computer software programs, thereby implementing the solid-state drive data transfer rate testing method as described above.
[0017] Fourthly, the present invention also provides a non-transitory computer-readable storage medium storing a computer software program, which, when executed by a processor, implements the solid-state drive data transfer rate testing method described above.
[0018] Fifthly, the present invention also provides a computer program product, including a computer program that, when executed by a processor, implements the solid-state drive data transfer rate testing method as described above.
[0019] The solid-state drive (SSD) data transfer rate testing method provided in this invention simulates a real network environment with multiple interconnected test nodes connected to the SSD, thus more accurately reflecting the SSD's performance in complex real-world network environments. Furthermore, by planning parallel test tasks and creating task sets with various read / write operation mode combinations based on different application scenarios, and distributing these tasks to each test node for parallel execution, the testing process simulates real read / write loads under complex application scenarios, comprehensively considering the SSD's performance when using different read / write modes in combination. The parallel execution of test tasks by each test node fully leverages parallel processing capabilities, significantly shortening the overall testing time and improving the efficiency of SSD data transfer rate testing. Attached Figure Description
[0020] Figure 1 This is a flowchart of a solid-state drive data transfer rate testing method provided in an embodiment of the present invention;
[0021] Figure 2 This is a structural diagram of the solid-state drive data transfer rate testing device provided in an embodiment of the present invention;
[0022] Figure 3 An embodiment diagram of the electronic device provided in this invention;
[0023] Figure 4 An embodiment diagram of a computer-readable storage medium provided in accordance with the present invention. Detailed Implementation
[0024] The technical solutions of the embodiments of the present invention will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of the present invention, and not all embodiments. Based on the embodiments of the present invention, all other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of the present invention.
[0025] In the description of this invention, the terms "first" and "second" are used for descriptive purposes only and should not be construed as indicating or implying relative importance or implicitly specifying the number of indicated technical features. Thus, a feature defined as "first" or "second" may explicitly or implicitly include one or more of the stated features. In the description of this invention, "a plurality of" means two or more, unless otherwise explicitly specified.
[0026] In the description of this invention, the term "for example" is used to mean "used as an example, illustration, or description." Any embodiment described as "for example" in this invention is not necessarily to be construed as being more preferred or advantageous than other embodiments. The following description is provided to enable any person skilled in the art to make and use the invention. Details are set forth in the following description for purposes of explanation. It should be understood that those skilled in the art will recognize that the invention can be made without using these specific details. In other instances, well-known structures and processes will not be described in detail to avoid obscuring the description of the invention with unnecessary detail. Therefore, the invention is not intended to be limited to the embodiments shown, but is consistent with the broadest scope of the principles and features disclosed herein.
[0027] Optional, see below Figure 1 As shown, Figure 1 This is a flowchart of a solid-state drive (SSD) data transfer rate testing method provided by the present invention. In this embodiment of the invention, the executing entity of the SSD data transfer rate testing method is a data transfer rate testing device. Therefore, the SSD data transfer rate testing method includes:
[0028] Step 10: Deploy multiple test nodes. Each test node establishes a communication link with the solid-state drive under test, and the test nodes form an interconnected network structure.
[0029] Optionally, the transmission rate testing device deploys multiple test nodes, each of which establishes a communication link with the solid-state drive under test, and the test nodes form an interconnected network structure.
[0030] The specific analysis process for establishing a communication link is as follows:
[0031] The transmission rate testing device is used for each test node N i Assign a first digital identifier Assign a second digital identifier to the solid-state drive (SSD) SSD And each test node N i First digital identifier and the second digital identifier ID of the solid-state drive (SSD) SSD The mapping is performed to obtain the initial key K for link communication. init ,in, The Map function represents a mapping relationship based on identifier characteristics, such as looking up information through a specific hash table, or the Encode function. Where x represents a numerical identifier, a k The coefficients are randomly generated, m represents the degree of the polynomial, and p represents the preset prime number.
[0032] Furthermore, for any target test node among the test nodes, the target test node scans the available frequency bands in its surrounding environment and records the noise level N of each available frequency band. l Occupied Status l And based on the noise level N of each available frequency band l Occupied Status l Each available frequency band is scored to obtain a score value for each available frequency band. The specific formula is Score(l)=1 / [N l *(1+O l The top n available frequency bands with the highest scores are selected as the candidate frequency band set C.
[0033] Furthermore, the target test node randomly selects a frequency band f from the candidate frequency band set C for signal transmission, and transmits the data signal Date along with the carrier signal C. carrier Modulation is performed to obtain the modulated signal. Where ω is the carrier angular frequency and t is time.
[0034] Furthermore, the target test node sends the modulated signal to the transmission rate test device, and adjusts the modulation parameters based on the calibration information fed back by the transmission rate test device. The calibration formula is Δθ=(Error / Max(Error))*θ max Where Δθ is the phase adjustment amount, Error is the current reception error, Max(Error) is the maximum permissible error, and θ max This is the maximum phase adjustment range.
[0035] Furthermore, the target test node is based on the initial key K init Generate encryption key K using the key expansion algorithm. encrypt Among them, the key expansion algorithm is 's' represents the expansion step number, and 'Hash' represents the hash function. The transmitted data is encrypted using an encryption key; the encryption algorithm is as follows: Here, Date represents the transmitted data. It represents a specific matrix multiplication operation, and IV represents the initial vector.
[0036] Furthermore, the target test node monitors the link's bandwidth occupancy (B) and data transmission delay (T) in real time, according to formula R. adjust =[R current *(1-B / B max )] / (1+T / T max Adjust the transmission rate R adjust , where R current B is the current transmission rate, T is the maximum bandwidth, and T is the maximum bandwidth. maxIt represents the maximum allowable latency, ensuring that the link maintains efficient and stable data transmission in different network environments.
[0037] Furthermore, after receiving the data, the transmission rate testing device decrypts the data using a decryption key and verifies the integrity of the data using a checksum algorithm, wherein the checksum algorithm is... Among them, Date i This represents the i-th data block of the transmitted data Date, where q is a parity prime number. If the verification passes, the transmission rate testing device sends an acknowledgment message to the target test node, containing the authentication code AuthCode = Hash(K). encrypt After the target test node verifies that the authentication code (+Timestamp) is correct, it officially confirms that the communication link has been successfully established.
[0038] The specific process for establishing the network structure is described in steps 101 to 105.
[0039] Step 20: Based on the preset application scenario, set up test tasks with multiple read and write operation modes, and distribute the test tasks to each test node so that each test node can execute different types of test tasks in parallel.
[0040] Furthermore, the transmission rate testing device sets up test tasks with a combination of read and write operation modes according to preset application scenarios, as described in steps 201 to 205. The preset application scenarios include video editing scenarios, audio storage scenarios, image rendering scenarios, and communication data transmission scenarios.
[0041] Furthermore, the transmission rate testing device distributes the test tasks to each test node, as described in steps 206 to 208, so that each test node executes different types of test tasks in parallel.
[0042] Step 30: Simultaneously start the test tasks of each test node, and obtain the amount of data and operation time of each test node when performing each read and write operation on the solid-state drive based on the assigned test task.
[0043] Furthermore, the transmission rate testing device synchronously starts the test tasks of each test node, and obtains the amount of data and the operation time when each test node performs each read and write operation on the solid-state drive based on the assigned test task, as described in steps 301 to 306.
[0044] Step 40: Calculate the final transmission rate index for each test node based on the data volume and operation time of each test node.
[0045] Furthermore, the transmission rate testing device calculates the final transmission rate index corresponding to each test node based on the data volume and operation time of each test node, as detailed in steps 401 to 404.
[0046] Step 50 determines the data transfer rate of the solid-state drive in a distributed parallel environment based on the final transfer rate index of each test node.
[0047] Furthermore, the transmission rate testing device determines the data transmission rate of the solid-state drive in a distributed parallel environment based on the final transmission rate index of each test node, as detailed in steps 501 to 503.
[0048] This invention simulates a real network environment where multiple interconnected test nodes are connected to the solid-state drive (SSD), thus more accurately reflecting the SSD's performance in complex real-world network environments. Furthermore, by planning parallel test tasks and creating task sets with various read / write operation modes based on different application scenarios, these tasks are distributed to each test node for parallel execution. This allows the testing process to simulate real read / write loads under complex application scenarios, comprehensively evaluating the SSD's performance when different read / write modes are used in combination. The parallel execution of test tasks by each test node fully leverages parallel processing capabilities, significantly shortening the overall testing time and improving the testing efficiency of SSD data transfer rates.
[0049] In one embodiment, steps 101 to 105 are described as follows:
[0050] Step 101: Evaluate the capabilities of each test node to obtain the comprehensive capability value of each test node, and assign each test node to the corresponding node layer based on the comprehensive capability value of each test node.
[0051] Optionally, the transmission rate testing device tests each test node N. i Perform capability assessment to obtain N for each test node. i Ability (N) as a whole i ), where each test node N i Ability (N) as a whole i The calculation formula for ) is as follows:
[0052]
[0053] Among them, P i Indicates test node N i The processing power of S i Indicates test node N i Storage capacity, B i Indicates test node N iNetwork bandwidth.
[0054] Furthermore, the transmission rate testing device is configured according to each test node N. i The overall capability value will be the value of each test node N i Data is allocated to different node layers, which include a core layer, a middle layer, and an edge layer. Core layer nodes are responsible for high-speed data forwarding and processing, middle layer nodes assist the core layer in data distribution and aggregation, and edge layer nodes are mainly responsible for data interaction with solid-state drives. The specific allocation formula is as follows:
[0055]
[0056] Among them, Layer(N) i ) represents test node N i The node layer, This indicates rounding up. MaxAbility represents the maximum value of the capabilities of all nodes, and MinAbility represents the minimum value of the capabilities of all nodes. Layer(N) i ) = 1 indicates that the test node N i The node layer is the edge layer, Layer(N) i ) = 2 indicates that the test node N i The node layer is the intermediate layer, Layer(N) i ) = 3 indicates that the test node N i The node layer is the core layer.
[0057] Step 102: For each first test node in the core layer, construct the backbone network of the core layer based on the connection cost between each first test node.
[0058] Furthermore, for each first test node in the core layer, the transmission rate testing device determines the transmission rate based on the geographical distance d between the i-th and j-th test nodes in the core layer. ij Complementary abilities C ij (Calculated by comparing the capability vectors of the i-th test node and the j-th test node), calculate the connection cost (Cost) between the i-th test node and the j-th test node. ij =d ij *(1-C ij ).
[0059] Furthermore, the transmission rate testing device establishes a connection between the i-th test node and the j-th test node, whose connection cost is lower than a preset cost threshold, to construct the backbone network of the core layer.
[0060] Step 103: For each second test node in the intermediate layer, construct a distribution network between the intermediate layer and the core layer based on the first connection quality between each second test node and each first test node, and the first load condition of each first test node.
[0061] Furthermore, for each second test node in the intermediate layer, the transmission rate testing device determines the transmission rate based on the respective second test node n in the intermediate layer. i With each of the first test nodes n in the core layer j The first connection quality Q(n) between i ,n j ), and each of the first test nodes n in the core layer j First load case L(n) j ), determine each second test node n in the intermediate layer i The first target connection node in the core layer is established, and a connection is formed, resulting in a distribution network between the middle layer and the core layer. The quality of the first connection is tested by the second test node n. i With the first test node n j Signal strength I(n) between i ,n j ) and signal delay T(n i ,n j The evaluation yielded the formula Q(n). i ,n j )=I(n i ,n j ) / T(n i ,n j And establish a connection with the second test node n. i With the first test node n j The condition between them satisfies arg max j (Q(n i ,n j ) / L(n j )).
[0062] Step 104: For each third test node in the edge layer, construct an interactive network between the edge layer and the middle layer based on the second connection quality between each third test node and each second test node, the second load of each second test node, and the data transmission requirements of the solid-state drive.
[0063] Furthermore, for each third test node in the edge layer, the transmission rate testing device performs tests based on the data of each third test node n in the edge layer. t With each of the second test nodes n in the intermediate layer i The second connection quality Q(n) between i ,n t), and each of the second test nodes n in the intermediate layer i Second load case L(n) i ), determine each third test node n in the edge layer t The second target connection node in the intermediate layer is connected, and a connection is established to obtain the interaction network between the edge layer and the intermediate layer. The quality of the second connection is tested by the third test node n. t With the second test node n i Signal strength I(n) between i ,n t ), signal delay T(n) i ,n t And the data transfer requirements of solid-state drives (SSDs) SSD The evaluation yielded the formula Q(n) i ,n t )=[I(n i ,n t ) / T(n i ,n t )]*(R SSD / R current And establish a connection with the third test node n. t With the second test node n i Satisfy arg max i (Q(n i ,n t ) / L(n i )), R current This indicates the speed that the current connection can provide.
[0064] Step 105: Merge the backbone network, distribution network, and interaction network to obtain the network structure.
[0065] Furthermore, the transmission rate testing device integrates the backbone network of the core layer, the distribution network between the intermediate layer and the core layer, and the interaction network between the edge layer and the intermediate layer to obtain the network structure.
[0066] In this embodiment of the invention, multiple interconnected test nodes are connected to solid-state drives to simulate a real network environment in which multiple devices work together, accurately reflecting the performance of SSDs in real complex network environments.
[0067] In one embodiment, steps 201 to 205 are described as follows:
[0068] Step 201: Quantify the scenario features corresponding to the preset application scenario to obtain the comprehensive demand intensity of the preset application scenario for storage read and write.
[0069] Optionally, the transmission rate testing device acquires key scene features for each preset application scenario, such as video editing, audio storage, image rendering, and communication data transmission. In one embodiment, for the image rendering scenario, the acquired scene features may include the video frame rate F. v Audio sampling rate R a and image resolution P r .
[0070] Furthermore, the transmission rate testing device quantifies the scenario characteristics corresponding to the preset application scenario to obtain the comprehensive demand intensity (Sense) for storage read and write operations under the preset application scenario. Index The quantization formulas differ depending on the application scenario. Continuing with the above example, for image rendering scenarios, the specific quantization formula is as follows: Quantify scene characteristics to obtain the overall storage read / write demand intensity of the image rendering scene. Index .
[0071] Step 202: Generate a pattern sequence based on the preset read and write operation modes, and generate multiple read and write operation mode combinations based on the length requirements of the pattern sequence and the read and write operation mode combinations.
[0072] Optionally, the preset read / write operation modes in this embodiment of the invention include eight modes: Sequential Large File Write (SBLW), Sequential Small File Write (SSLW), Random Large File Write (RBLW), Random Small File Write (RSLW), Sequential Large File Read (SBLR), Sequential Small File Read (SSLR), Random Large File Read (RBLR), and Random Small File Read (RSLR). A file size threshold T is set to distinguish between large and small files. size greater than the threshold T size For large files, less than or equal to the threshold T size It is a small file.
[0073] Furthermore, the transmission rate testing device randomly generates a pattern sequence based on eight preset read / write operation modes, where the pattern sequence can be represented as S. w = [s1,s2,...,s8], and by combining the pattern sequence and the length requirements of the read / write operation pattern combination using a circular shift algorithm, multiple read / write operation pattern combinations are generated, and the p-th read / write operation pattern combination C is... p The specific formula for generating it is as follows:
[0074] C p =[s (q+p-1)%8+1 for q = 1 to L].
[0075] Where p represents the sequence number of the read / write operation mode combination, % represents the modulo operation, and L represents the length requirement of the read / write operation mode combination.
[0076] Step 203: Determine the combination complexity of each read / write operation mode combination based on the number of mode switching times and the number of file size changes for each read / write operation mode combination.
[0077] Furthermore, the transmission rate testing device calculates the combination complexity of each read / write operation mode combination based on the number of mode switching times and the number of file size changes for each combination. The specific formula for calculating the combination complexity is as follows:
[0078] Complexity = N switch weight switch +N size-change weight size-change .
[0079] Where, N switch N represents the number of mode switches. size-change Indicates the number of times the file size has changed, weight switch and weight size-change This indicates the preset weighting coefficient.
[0080] Step 204: Based on the comprehensive demand intensity, the combination complexity of each read / write operation mode combination, the preset data volume and preset time, determine the test data volume and test duration for each read / write operation mode combination to obtain the test task for each read / write operation mode combination.
[0081] Furthermore, the transmission rate testing device is based on the overall demand intensity, the combination complexity of each read / write operation mode combination, and the preset data volume base. size Calculate the amount of test data D(C) for each combination of read and write operation modes. p ), where the amount of test data D(C) for each combination of read and write operation modes. p The specific formula is as follows:
[0082] D(C p =Sence Index *Complexity*base size .
[0083] Furthermore, the transmission rate testing device is based on the overall demand intensity, the combination complexity of each read / write operation mode combination, and the preset time base. time Calculate the test duration T(C) for each combination of read / write operation modes. p ), where the amount of test data T(C) for each combination of read and write operation modes.p The specific formula is as follows:
[0084]
[0085] Furthermore, the transmission rate testing device will test the amount of data D(C) for each combination of read / write operation modes. p ) and test data volume T(C p ), which are determined as test tasks for each combination of read and write operation modes.
[0086] This invention, through the planning of parallel test tasks, formulates a task set with multiple read and write operation modes based on the needs of different application scenarios, so that the test process can simulate the real read and write load under complex application scenarios and comprehensively consider the performance of SSD when different read and write modes are used in combination.
[0087] In one embodiment, steps 206 to 208 are described as follows:
[0088] Step 206: Calculate the cluster index of each test task based on its priority and complexity, and classify each test task into the task cluster corresponding to its cluster index.
[0089] Furthermore, the transmission rate testing device acquires the data for each test task T. j Priority P j And according to the priority P of each test task j and complexity j Calculate the cluster index (Cluster) for each test task. Index (T j ), where the cluster index is Cluster Index (T j The specific calculation formula is as follows:
[0090]
[0091] Where Max(P*Complexity) represents the maximum value of the product of the priority and complexity of all tasks, and k represents the preset number of clusters.
[0092] Furthermore, the transmission rate testing device will test each test task T j Cluster index categorized into each test task Index (T j The corresponding task cluster.
[0093] Step 207: Based on the cluster information of each task cluster and the comprehensive performance value of each test node, assign the test tasks in each task cluster to the corresponding test nodes.
[0094] Furthermore, the transmission rate testing device tests each test node N. i Performance evaluation was performed to obtain N for each test node. i The overall performance value of Node(N) i ), where the comprehensive performance value Node(N) i The formula is as follows:
[0095]
[0096] Among them, C i Indicates test node N i CPU performance, M i Indicates test node N i memory bandwidth, B i Indicates test node N i Network bandwidth, S i Indicates test node N i Storage interface bandwidth.
[0097] Furthermore, for high-priority and high-complexity task clusters, they are preferentially assigned to nodes with high overall performance. Therefore, the transmission rate testing device determines the priority and complexity of each task cluster Cl based on the priority and complexity of each test task within the cluster. k average priority The average complexity is
[0098] Furthermore, the transmission rate testing device calculates the overall performance value of Node(N) for each test task. i ), and each task cluster Cl k average priority The average complexity is Determine the task cluster Cl k The test tasks are assigned to test node N. i The allocation probability is given by the following formula:
[0099]
[0100] Among them, Allocation(N) i ,Cl k ) represents the task cluster Cl k The test tasks are assigned to test node N. i The probability of allocation, where Num represents the total number of nodes.
[0101] Furthermore, if the task cluster Cl is determined k The test tasks are assigned to test node N. i The allocation probability is greater than or equal to the preset probability threshold θ, i.e., Allocation(N) i,Cl k )≥θ, and the transmission rate testing device will then test the task cluster Cl k The test tasks are assigned to test node N. i .
[0102] Step 208: For any first target test node, determine the load status of the first target test node based on the resource consumption of each task in the first target test node. When the load status is greater than the load threshold, assign tasks with a complexity lower than the preset complexity in the first target test node to the second target test node.
[0103] Furthermore, the transmission rate testing device will test the task cluster Cl k The test tasks are assigned to test node N. i Next, check the load status of each test node. Therefore, for any first target test node N among the test nodes... i Obtain the first target test node N. i The resource consumption of each task is calculated, and the first target test node N is calculated based on the resource consumption of each task. i Load status Load(N) i ),in, task i This indicates that the test node N is assigned to it. i task set, RS j This indicates the resource consumption of task j.
[0104] Furthermore, after determining the first target test node N... i Load status Load(N) i (Load) greater than the load threshold th At that time, the transmission rate testing device acquires the first target test node N. i Tasks with complexity lower than a preset complexity are assigned to the second target test node in the test nodes, where the load of the second target test node is less than or equal to the load threshold.
[0105] The embodiments of the present invention formulate task sets with multiple read and write operation modes based on the needs of different application scenarios, and distribute them to each test node for parallel execution, so that the test process can simulate the real read and write load under complex application scenarios and comprehensively consider the performance of SSD when different read and write modes are used in combination.
[0106] In one embodiment, steps 301 to 306 are described as follows:
[0107] Step 301: Using any test node as the master test node, broadcast a clock synchronization message to the third target test node based on the master test node.
[0108] Optionally, any one of the test nodes can be designated as the master test node M. The master test node M periodically sends data to all other third-party target test nodes N. i Broadcast clock synchronization message, wherein the clock synchronization message carries the first local time t of the main test node M. p .
[0109] Step 302: Based on the second local time and the first local time when the third target test node receives the clock synchronization message, calculate the clock deviation with the main test node, and adjust the local clock of the third target test node based on the clock deviation.
[0110] Furthermore, for each third target test node, the third target test node N i Upon receiving a clock synchronization message, record its second local time t. s,i And according to the second local time t s,i and the first local time t p Calculate the clock deviation Δt between it and the main test node. i The specific calculation formula is: Δt i =t s,i -t p -(d i / v), where d i Indicates test node N i The network distance to the main test node M (estimated by network hop count), where v represents the average speed of message propagation in the network.
[0111] Furthermore, the third target test node N i Based on clock deviation Δt i Adjust its local clock so that all third-target test nodes N i The clocks are nearly synchronized.
[0112] Step 303: Based on the preset startup time, the main test node generates a synchronous startup signal and broadcasts the synchronous startup signal to the third target test node.
[0113] Furthermore, after completing clock synchronization, the master test node M starts according to the preset startup time T. start Generate synchronous start signal S t and to all third-target test nodes N i Broadcast synchronization start signal S t Among them, the start signal S t Carrying verification code V t Verification code V t The generating formula is V t =Hash(T) start+NodeID M +TimeStamp) represents the unique identifier of the main test node M, TimeStamp represents the current timestamp, and Hash represents the hash calculation.
[0114] Step 304: Based on the third target test node receiving the synchronization start signal, after the verification code in the synchronization start signal is verified and the local clock reaches the start time, the test task is started.
[0115] Furthermore, the third target test node N i Upon receiving the synchronization start signal S t Then, for the synchronous start signal S t Verification code V t Perform verification. If the verification code V is confirmed... t Verification passed, and the local clock reached startup time T. start Third target test node N i The assigned test task will then be started immediately.
[0116] Step 305: Determine the amount of data for each read / write operation based on the number of data blocks involved in each read / write operation and the size of each data block for each test node's test task.
[0117] Optionally, in each test node N of this embodiment of the invention i In the test task, for each read / write operation, the data is divided into fixed-size data blocks N. i (b) Each data block is Size b When generating read / write requests, a unique sequence number (Seq) is appended to each request.
[0118] Therefore, the transmission rate testing device obtains the number of data blocks involved in each read / write operation of the test task of each test node, and determines the amount of data in each read / write operation based on the number of data blocks and the size of each data block. In one embodiment, when a read / write operation involves k data blocks, the amount of data in that operation is D. i,j The calculation formula is D i,j =k*Size b Where i represents the test node number, and j represents the operation sequence number on that node. It should be noted that, to prevent data block loss or errors during transmission, a checksum is calculated for each data block. b The formula is Checksum b =XOR(b1,b2,...,b m ), where XOR represents the exclusive OR operation, b1, b2, ..., b m Represents data block N iEach byte in (b).
[0119] Step 306: Based on the start time of the test task of each test node initiating the read / write request during each read / write operation, and the end time when the read / write operation completion response is received from the solid-state drive, determine the operation time consumed during each read / write operation.
[0120] Furthermore, at each test node N i The transmission rate testing device sets a pair of timestamps for each read / write operation. Before each read / write operation, the transmission rate testing device records the start time t of the test node. start,i,j When the test node receives a read / write operation completion response from the solid-state drive, the transfer rate testing device records the end time t. end,i,j .
[0121] Furthermore, the transmission rate testing device determines the operation time T for each read / write operation based on the start and end times. i,j The specific calculation formula is T. i,j =t end,i,j -t start,i,j To eliminate the impact of factors such as system clock jitter, multiple time measurements were performed for each operation, and the final operation time was [time value missing]. Among them, T i,j,r This represents the time taken for the r-th measurement operation. It is the median of the R measurement times.
[0122] This invention determines the amount of data and the time consumed in each read / write operation, enabling subsequent calculation of the final transmission rate index for each test node based on the amount of data and the time consumed in each read / write operation. This, in turn, determines the data transmission rate based on the final transmission rate index, thereby improving the accuracy of the test.
[0123] In one embodiment, steps 401 to 404 are described as follows:
[0124] Step 401: Calculate the initial transmission rate index for each test node's read / write operation based on the data volume and operation time of each read / write operation, as well as the network packet loss rate and hardware busyness of each test node.
[0125] Optionally, the transmission rate testing device monitors the network packet loss rate (LossRate) and the hardware busy level (BusyLevel) of the current network environment of each test node. Based on the network packet loss rate (LossRate) and the hardware busy level (BusyLevel), the environmental impact factor (AdjustFactor) is calculated. The specific calculation formula is AdjustFactor = 1 / (1 + LossRate + BusyLevel).
[0126] Furthermore, the transmission rate testing device calculates the initial transmission rate index R for each test node's read / write operation based on the data volume and operation time of each read / write operation, as well as the network packet loss rate and hardware busyness of each test node. i,j The specific calculation formula is R. i,j =D i,j / T i,j *AdjustFactor.
[0127] Step 402: Divide the test time into multiple time windows, and calculate the average transmission rate of each test node in each time window based on the operation set of each test node in each time window, the amount of data and operation time of each test node in each time window.
[0128] Furthermore, the transmission rate testing device divides the testing time into multiple time windows W. n In which each time window W n The length is window, and the operation set of each test node within each time window is obtained, as well as the data volume and operation time of each test node within each time window. For test node N... i In time window W n The set of operation numbers within is S i,n ={j|t start,i,j ∈W n}
[0129] Furthermore, the transmission rate testing device calculates the average transmission rate R of each test node within each time window based on the operation set of each test node within each time window, as well as the data volume and operation time of each test node within each time window. i,n The specific formula is as follows:
[0130]
[0131] Step 403: Based on the operation set of each test node within each time window and the initial transmission rate index of each test node for each read / write operation, calculate the fluctuation coefficient of each test node within each time window.
[0132] Furthermore, the transmission rate testing device calculates the fluctuation coefficient F of each test node within each time window based on the operation set of each test node within each time window and the initial transmission rate index of each test node for each read / write operation. i,n The specific formula is as follows Among them, |S i,n | represents the set of operation numbers S i,n The number of elements.
[0133] Step 404: Calculate the final transmission rate index for each test node based on the average transmission rate and fluctuation coefficient of each test node within each time window.
[0134] Furthermore, the transmission rate testing device calculates the final transmission rate index for each test node based on the average transmission rate and fluctuation coefficient of each test node within each time window. Final transmission rate index The specific formula is:
[0135]
[0136] Where, N W This represents the total number of time windows; W weught (n) represents the time window weight. In one embodiment, the time window closer to the start and end of the test has a relatively lower weight, while the time window in the middle has a higher weight.
[0137] In this embodiment of the invention, the final transmission rate index corresponding to each test node is calculated based on the amount of data and the time consumed in each read / write operation, thereby determining the data transmission rate based on the final transmission rate index and improving the accuracy of the test.
[0138] In one embodiment, steps 501 to 503 are described as follows:
[0139] Step 501: Based on the overlap of network bandwidth usage among the test nodes, determine the network traffic conflict index among the test nodes.
[0140] Optionally, the transmission rate testing device acquires the network bandwidth usage of each test node and determines the overlap of network bandwidth usage between the test nodes based on the network bandwidth usage of each test node.
[0141] Furthermore, the transmission rate testing device determines the network traffic conflict index between each test node based on the overlap of network bandwidth usage among the test nodes. In one embodiment, for test node l and test node k, the network traffic conflict index TrafficConflict between test node l and test node k is... lk The specific calculation formula is as follows:
[0142]
[0143] Among them, B l (t) represents the network bandwidth usage of test node l at time t, B k (t) represents the network bandwidth usage of test node k at time point t.
[0144] Step 502: Based on the time overlap of simultaneous access to the solid-state drive among various test nodes, determine the storage resource competition index among various test nodes.
[0145] Furthermore, the transmission rate testing device acquires the set of access time intervals of each test node to the solid-state drive, and determines the time overlap of simultaneous access to the solid-state drive between each test node based on the set of access time intervals of each test node to the solid-state drive.
[0146] Furthermore, the transmission rate testing device calculates the storage resource competition index between each test node based on the time overlap of simultaneous access to the solid-state drive among the test nodes. In one embodiment, for test node l and test node k, the storage resource competition index StorageCompetition between test node l and test node k is... lk The specific calculation formula is as follows:
[0147] StorageCompetition lk =|A l ∩A k | / |A l ∪A k |
[0148] Among them, A l A represents the set of time intervals for accessing the solid-state drive by test node l. k This represents the set of time intervals for accessing the solid-state drive by test node k.
[0149] Step 503: Based on the network traffic conflict index and storage resource competition index between each test node, as well as the final transmission rate index corresponding to each test node, the data transmission rate of the solid-state drive in the distributed parallel environment is obtained.
[0150] Furthermore, the transmission rate testing device obtains the data transfer rate R of the solid-state drive in a distributed parallel environment based on the network traffic conflict index and storage resource competition index between each test node, as well as the final transmission rate index corresponding to each test node. revised The specific formula is as follows:
[0151]
[0152] The parallel execution of test tasks by each test node in this embodiment of the invention fully leverages parallel processing capabilities, significantly shortens the overall test time, and improves the testing efficiency of solid-state drive data transfer rate.
[0153] Furthermore, the solid-state drive data transfer rate testing system provided by the present invention will be described below. The solid-state drive data transfer rate testing system described below can be referred to in correspondence with the solid-state drive data transfer rate testing method described above.
[0154] Optional, refer to Figure 2 , Figure 2 This is a structural diagram of the solid-state drive data transfer rate testing device provided by the present invention. The solid-state drive data transfer rate testing device includes:
[0155] Deployment module 210 is used to deploy multiple test nodes; each test node establishes a communication link with the solid-state drive to be tested, and the test nodes form an interconnected network structure.
[0156] The task testing module 220 is used to set up test tasks with multiple read and write operation mode combinations based on preset application scenarios, and to allocate the test tasks to each test node so that each test node can execute different types of test tasks in parallel.
[0157] The acquisition module 230 is used to synchronously start the test tasks of each test node and acquire the amount of data and the operation time of each test node when performing each read and write operation on the solid-state drive based on the assigned test task.
[0158] The calculation module 240 is used to calculate the final transmission rate index corresponding to each test node based on the data volume and operation time of each test node.
[0159] The transmission rate determination module 350 is used to determine the data transmission rate of the solid-state drive in a distributed parallel environment based on the final transmission rate index of each test node.
[0160] This invention simulates a real network environment where multiple interconnected test nodes are connected to the solid-state drive (SSD), thus more accurately reflecting the SSD's performance in complex real-world network environments. Furthermore, by planning parallel test tasks and creating task sets with various read / write operation modes based on different application scenarios, these tasks are distributed to each test node for parallel execution. This allows the testing process to simulate real read / write loads under complex application scenarios, comprehensively evaluating the SSD's performance when different read / write modes are used in combination. The parallel execution of test tasks by each test node fully leverages parallel processing capabilities, significantly shortening the overall testing time and improving the testing efficiency of SSD data transfer rates.
[0161] Please see Figure 3 , Figure 3 An embodiment diagram of an electronic device provided in accordance with the present invention. For example... Figure 3 As shown, this embodiment of the invention provides an electronic device 300, including a memory 310, a processor 320, and a computer program 311 stored in the memory 310 and executable on the processor 320. When the processor 320 executes the computer program 311, it performs the following steps:
[0162] Multiple test nodes are deployed; each test node establishes a communication link with the solid-state drive to be tested, and the test nodes form an interconnected network structure.
[0163] Test tasks are set up based on preset application scenarios, combining various read and write operation modes, and the test tasks are assigned to each test node so that each test node can execute different types of test tasks in parallel.
[0164] The test tasks of each test node are started synchronously, and the amount of data and operation time of each test node when performing each read and write operation on the solid-state drive based on the assigned test task are obtained.
[0165] The final transmission rate index for each test node is calculated based on the amount of data and the operation time of each test node.
[0166] The data transfer rate of the solid-state drive in a distributed parallel environment is determined based on the final transfer rate index of each test node.
[0167] Please see Figure 4 , Figure 4 An embodiment diagram of a computer-readable storage medium provided in accordance with an embodiment of the present invention is shown. Figure 4 As shown, this embodiment provides a computer-readable storage medium 400 on which a computer program 311 is stored. When the computer program 311 is executed by a processor, it performs the following steps:
[0168] Multiple test nodes are deployed; each test node establishes a communication link with the solid-state drive to be tested, and the test nodes form an interconnected network structure.
[0169] Test tasks are set up based on preset application scenarios, combining various read and write operation modes, and the test tasks are assigned to each test node so that each test node can execute different types of test tasks in parallel.
[0170] The test tasks of each test node are started synchronously, and the amount of data and operation time of each test node when performing each read and write operation on the solid-state drive based on the assigned test task are obtained.
[0171] The final transmission rate index for each test node is calculated based on the amount of data and the operation time of each test node.
[0172] The data transfer rate of the solid-state drive in a distributed parallel environment is determined based on the final transfer rate index of each test node.
[0173] On the other hand, the present invention also provides a computer program product, which includes a computer program that can be stored on a non-transitory computer-readable storage medium. When the computer program is executed by a processor, the computer is able to execute the solid-state hard disk data transfer rate testing method provided by the above methods, the method comprising:
[0174] Multiple test nodes are deployed; each test node establishes a communication link with the solid-state drive to be tested, and the test nodes form an interconnected network structure.
[0175] Test tasks are set up based on preset application scenarios, combining various read and write operation modes, and the test tasks are assigned to each test node so that each test node can execute different types of test tasks in parallel.
[0176] The test tasks of each test node are started synchronously, and the amount of data and operation time of each test node when performing each read and write operation on the solid-state drive based on the assigned test task are obtained.
[0177] The final transmission rate index for each test node is calculated based on the amount of data and the operation time of each test node.
[0178] The data transfer rate of the solid-state drive in a distributed parallel environment is determined based on the final transfer rate index of each test node.
[0179] The system embodiments described above are merely illustrative. The units described as separate components may or may not be physically separate. The components shown as units may or may not be physical units; that is, they may be located in one place or distributed across multiple network units. Some or all of the modules can be selected to achieve the purpose of this embodiment according to actual needs. Those skilled in the art can understand and implement this without any creative effort.
[0180] Through the above description of the embodiments, those skilled in the art can clearly understand that each embodiment can be implemented by means of software plus necessary general-purpose hardware platforms, and of course, it can also be implemented by hardware. Based on this understanding, the above technical solutions, in essence or the part that contributes to the prior art, can be embodied in the form of a software product. This computer software product can be stored in a computer-readable storage medium, such as ROM / RAM, magnetic disk, optical disk, etc., and includes several instructions to cause a computer device (which may be a personal computer, server, or network device, etc.) to execute the methods described in the various embodiments or some parts of the embodiments.
[0181] Finally, it should be noted that the above embodiments are only used to illustrate the technical solutions of the present invention, and not to limit them; although the present invention has been described in detail with reference to the foregoing embodiments, those skilled in the art should understand that modifications can still be made to the technical solutions described in the foregoing embodiments, or equivalent substitutions can be made to some of the technical features; and these modifications or substitutions do not cause the essence of the corresponding technical solutions to deviate from the spirit and scope of the technical solutions of the embodiments of the present invention.
Claims
1. A method for testing the data transfer rate of a solid-state drive, characterized in that, include: Multiple test nodes are deployed; each test node establishes a communication link with the solid-state drive to be tested, and the test nodes form an interconnected network structure. Test tasks with multiple read and write operation modes are set based on preset application scenarios, and the test tasks are assigned to each test node so that each test node can execute different types of test tasks in parallel. The test tasks of each test node are started synchronously, and the amount of data and operation time of each test node when performing each read and write operation on the solid-state drive based on the assigned test task are obtained. The final transmission rate index for each test node is calculated based on the amount of data and the operation time of each test node. The data transfer rate of the solid-state drive in a distributed parallel environment is determined based on the final transfer rate index of each test node. The specific steps for establishing the network structure include: Each test node is evaluated to obtain a comprehensive capability value, and each test node is assigned to a corresponding node layer based on its comprehensive capability value; the node layer includes a core layer, a middle layer, and an edge layer. For each first test node in the core layer, the backbone network of the core layer is constructed based on the connection cost between each first test node; For each second test node in the intermediate layer, a distribution network between the intermediate layer and the core layer is constructed based on the first connection quality between each second test node and each first test node, and the first load condition of each first test node. For each third test node in the edge layer, an interactive network between the edge layer and the middle layer is constructed based on the second connection quality between each third test node and each second test node, the second load condition of each second test node, and the data transmission requirements of the solid-state drive. The backbone network, the distribution network, and the interaction network are merged to obtain the network structure.
2. The solid-state drive data transfer rate testing method according to claim 1, characterized in that, The test task, which sets up multiple read / write operation mode combinations based on preset application scenarios, includes: The scenario features corresponding to the preset application scenario are quantified to obtain the comprehensive demand intensity of the preset application scenario for storage read and write. A pattern sequence is generated based on a preset read / write operation mode, and multiple read / write operation mode combinations are generated based on the length requirements of the pattern sequence and the read / write operation mode combination. The combination complexity of each read / write operation mode combination is determined based on the number of mode switching times and the number of file size changes for each read / write operation mode combination. Based on the overall demand intensity, the combination complexity of each read / write operation mode combination, the preset data volume, and the preset time, the test data volume and test duration for each read / write operation mode combination are determined to obtain the test task for each read / write operation mode combination.
3. The solid-state drive data transfer rate testing method according to claim 1, characterized in that, The process of assigning the test tasks to each test node includes: Calculate the cluster index of each test task based on its priority and complexity, and then classify each test task into the task cluster corresponding to its cluster index. Based on the cluster information of each task cluster and the comprehensive performance value of each test node, the test tasks in each task cluster are assigned to the corresponding test nodes; For any first target test node, the load status of the first target test node is determined based on the resource consumption of each task in the first target test node. When the load status is greater than the load threshold, tasks with a complexity lower than a preset complexity in the first target test node are assigned to the second target test node; the load status of the second target test node is less than or equal to the load threshold.
4. The solid-state drive data transfer rate testing method according to claim 1, characterized in that, The process of synchronously starting test tasks on each test node and obtaining the data volume and operation time of each test node performing each read / write operation on the solid-state drive based on the assigned test task includes: Using any test node as the main test node, a clock synchronization message is broadcast to the third target test node based on the main test node; the clock synchronization message carries the first local time of the main test node. Based on the second local time and the first local time when the third target test node receives the clock synchronization message, the clock deviation between the third target test node and the main test node is calculated, and the local clock of the third target test node is adjusted based on the clock deviation. The main test node generates a synchronization start signal according to a preset start time and broadcasts the synchronization start signal to the third target test node; the synchronization start signal carries a verification code. Based on the third target test node receiving the synchronization start signal, the test task is started after the verification code in the synchronization start signal is verified and the local clock reaches the start time; Based on the number of data blocks involved in each read / write operation and the size of each data block in the test task of each test node, the amount of data in each read / write operation is determined; The time consumed for each read / write operation is determined by the start time of the read / write request initiated by the test task on each test node during each read / write operation, and the end time when the read / write operation completion response is received from the solid-state drive.
5. The solid-state drive data transfer rate testing method according to claim 1, characterized in that, The calculation of the final transmission rate index for each test node based on the data volume and operation time of each test node includes: Based on the amount of data and the time consumed in each read / write operation of each test node, as well as the network packet loss rate and hardware busyness of each test node, calculate the initial transmission rate index of each read / write operation of each test node. The test time is divided into multiple time windows, and the average transmission rate of each test node in each time window is calculated based on the operation set of each test node in each time window, the amount of data and the operation time of each test node in each time window. Based on the operation set of each test node within each time window and the initial transmission rate index of each test node for each read and write operation, the fluctuation coefficient of each test node within each time window is calculated. Based on the average transmission rate and fluctuation coefficient of each test node within each time window, the final transmission rate index corresponding to each test node is calculated.
6. The solid-state drive data transfer rate testing method according to claim 1, characterized in that, The determination of the data transfer rate of the solid-state drive in a distributed parallel environment based on the final transfer rate index of each test node includes... Based on the overlap of network bandwidth usage among various test nodes, determine the network traffic conflict indicators among various test nodes. Based on the time overlap of simultaneous access to the solid-state drive among various test nodes, the storage resource competition index among various test nodes is determined. Based on the network traffic conflict indicators and storage resource competition indicators between various test nodes, as well as the final transmission rate indicators corresponding to each test node, the data transmission rate of solid-state drives in a distributed parallel environment is obtained.
7. A solid-state drive data transfer rate testing device, characterized in that, include: The deployment module is used to deploy multiple test nodes; each test node establishes a communication link with the solid-state drive to be tested, and the test nodes form an interconnected network structure. The task testing module is used to set up test tasks with multiple read and write operation mode combinations based on preset application scenarios, and to allocate the test tasks to each test node so that each test node can execute different types of test tasks in parallel. The acquisition module is used to synchronously start the test tasks of each test node and acquire the amount of data and the operation time of each test node when performing each read and write operation on the solid-state drive based on the assigned test task. The computation module is used to calculate the final transmission rate index for each test node based on the amount of data and the operation time of each test node. The transmission rate determination module is used to determine the data transmission rate of the solid-state drive in a distributed parallel environment based on the final transmission rate index of each test node. The specific steps for establishing the network structure include: Each test node is evaluated to obtain a comprehensive capability value, and each test node is assigned to a corresponding node layer based on its comprehensive capability value; the node layer includes a core layer, a middle layer, and an edge layer. For each first test node in the core layer, the backbone network of the core layer is constructed based on the connection cost between each first test node; For each second test node in the intermediate layer, a distribution network between the intermediate layer and the core layer is constructed based on the first connection quality between each second test node and each first test node, and the first load condition of each first test node. For each third test node in the edge layer, an interactive network between the edge layer and the middle layer is constructed based on the second connection quality between each third test node and each second test node, the second load condition of each second test node, and the data transmission requirements of the solid-state drive. The backbone network, the distribution network, and the interaction network are merged to obtain the network structure.
8. An electronic device, comprising: Memory, used to store computer software programs; A processor for reading and executing the computer software program, characterized in that, when the processor executes the computer software program, it implements the solid-state drive data transfer rate testing method as described in any one of claims 1 to 6.
9. A non-transitory computer-readable storage medium storing a computer software program, characterized in that, When the computer software program is executed by the processor, it implements the solid-state drive data transfer rate testing method as described in any one of claims 1 to 6.
Citation Information
Patent Citations
Visual hard disk automatic test method and device, terminal and storage medium
CN109684138A
Method and system for realizing multi-node cloud hard disk performance test
CN119049531A