Solid state disk load test method and system, electronic equipment and medium

By using the load feature fingerprint library and data access thermal map in solid-state drive load test, decomposing the benchmark load into cold data streams and hot data streams, the problem that existing testing methods are difficult to accurately simulate application scenarios and improve the accuracy of the test.

CN119847900AActive Publication Date: 2025-04-18SHENZHEN XINGYAO SEMICON CO LTD

Patent Information

Application Number
CN202510333025.1
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-03-20
Publication Date
2025-04-18
Estimated Expiration
2045-03-20

AI Technical Summary

Technical Problem

The existing solid-state drive load testing methods are difficult to accurately simulate data access modes in different application scenarios, resulting in large differences in the test results and actual application scenarios, reducing the accuracy of the test.

Method used

By obtaining the IO request feature data of solid-state drives in multiple application scenarios, performing feature classification and de-redundancy processing, and establishing a load feature fingerprint library. Then, a data access thermal map is generated based on the target fingerprint of the target application scenario, and the benchmark load is divided into cold data streams and hot data streams, a mixed load sequence is generated, and it is loaded in parallel to multiple physical areas of the solid-state drive to be tested for performance testing.

Benefits of technology

This method can more accurately capture the characteristic differences in data access in different application scenarios, generate test loads that are closer to actual application scenarios, and significantly improve the accuracy of solid-state drive load testing.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119847900A_ABST
    Figure CN119847900A_ABST
Patent Text Reader

Abstract

The invention discloses a solid state disk load testing method and system, electronic equipment and a medium, and relates to the technical field of data processing. The method comprises the following steps: acquiring IO request feature data of the solid state disk in a plurality of application scenes; performing feature classification on the IO request feature data, and performing redundancy elimination processing on various data features after feature classification through a segmented compression algorithm to obtain a load feature fingerprint database; extracting a target fingerprint of the target application scene from the load feature fingerprint database, and generating a data access thermodynamic diagram according to the target fingerprint; based on the data access thermodynamic diagram, dividing the benchmark test load into a cold data stream and a hot data stream, and executing read-write operation on the cold data stream and the hot data stream to generate a mixed load sequence; and loading the mixed load sequence to a plurality of physical areas of the to-be-tested solid state disk in parallel, and executing a performance test to obtain a test result of the to-be-tested solid state disk. By implementing the technical scheme provided by the invention, the effect of improving the accuracy of the solid state disk load test is achieved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the field of data processing technology, and in particular to a solid state hard disk load testing method, system, electronic device and medium. Background Art

[0002] With the growing demand for data processing, solid-state drives (SSDs) have been widely used in various scenarios such as personal computers, enterprise servers, and big data centers due to their high-speed read and write performance and reliability. In different application scenarios, the data access patterns and workload characteristics faced by SSDs vary significantly, which directly affects the actual performance of SSDs. Therefore, effective SSD performance evaluation for specific application scenarios is of great significance for system optimization and hardware selection.

[0003] At present, existing SSD load testing methods mainly use standard benchmark tools to simulate workloads by setting fixed input and output, that is, fixed IO. However, in actual applications, it is often difficult to effectively capture the changes in data access under different application scenarios when only using fixed workloads for testing. There is often a large difference between the test results and the actual application scenarios, which reduces the accuracy of SSD load testing. Summary of the invention

[0004] The present application provides a solid state drive load testing method, system, electronic device and medium, which have the effect of improving the accuracy of solid state drive load testing.

[0005] In a first aspect, the present application provides a solid state drive load testing method, comprising: Obtain IO request characteristic data of solid-state drives in multiple application scenarios; The IO request feature data is feature classified, and redundancy processing is performed on various data features after feature classification through a segmented compression algorithm to obtain a load feature fingerprint library; Extracting a target fingerprint of a target application scenario from the load feature fingerprint library, and generating a data access heat map according to the target fingerprint; Based on the data access heat map, the benchmark test load is divided into a cold data stream and a hot data stream, and read and write operations are performed on the cold data stream and the hot data stream to generate a mixed load sequence; The mixed load sequence is loaded in parallel to multiple physical areas of the solid state drive to be tested, and a performance test is performed to obtain a test result of the solid state drive to be tested.

[0006] In a second aspect of the present application, a solid state drive load testing system is provided, the system comprising: A data acquisition module is used to obtain IO request characteristic data of the solid-state drive in multiple application scenarios; The heat map determination module is used to perform feature classification on the IO request feature data, and perform redundancy processing on various data features after feature classification through a segmented compression algorithm to obtain a load feature fingerprint library; extract a target fingerprint of a target application scenario from the load feature fingerprint library, and generate a data access heat map based on the target fingerprint; A load sequence determination module, configured to divide the benchmark test load into a cold data stream and a hot data stream based on the data access heat map, and perform read and write operations on the cold data stream and the hot data stream to generate a mixed load sequence; The hard disk test module is used to load the mixed load sequence in parallel to multiple physical areas of the solid state disk to be tested, and perform performance testing to obtain the test results of the solid state disk to be tested.

[0007] In a third aspect of the present application, an electronic device is provided, comprising a memory, a processor, and a program stored in the memory and executable on the processor, wherein the program can implement a solid-state hard disk load testing method when loaded and executed by the processor.

[0008] In a fourth aspect of the present application, a computer-readable storage medium is provided, wherein the computer-readable storage medium stores a computer program, and when the computer program is executed by a processor, the processor implements a solid-state hard disk load testing method.

[0009] In summary, one or more technical solutions provided in the embodiments of the present application have at least the following technical effects or advantages: By adopting the above technical solution, the IO request feature data of the solid-state drive in multiple application scenarios are obtained, and these feature data are classified and de-redundanted to establish a load feature fingerprint library, so as to accurately capture the feature differences of data access in different application scenarios. Based on the extracted target fingerprint of the target application scenario, this solution generates a data access heat map, intuitively presents the data access distribution, and divides the benchmark test load into cold data streams and hot data streams that meet the actual usage characteristics. By performing read and write operations on cold data streams and hot data streams, a mixed load sequence that is closer to the actual application scenario is generated, and then the mixed load sequence is loaded in parallel to multiple physical areas of the solid-state drive to be tested to perform performance testing, making full use of the physical parallel characteristics of the solid-state drive. This test method based on the characteristics of actual application scenarios effectively solves the problem that the existing test methods are difficult to accurately simulate the data access mode in a specific application scenario. The test results are closer to the performance of the solid-state drive in the actual application environment, thereby significantly improving the accuracy of the solid-state drive load test. BRIEF DESCRIPTION OF THE DRAWINGS

[0010] Figure 1 It is a flow chart of a solid state hard disk load testing method provided in an embodiment of the present application; Figure 2 It is a structural schematic diagram of a solid state drive load testing system provided in an embodiment of the present application; Figure 3 It is a structural schematic diagram of an electronic device provided in an embodiment of the present application.

[0011] Description of reference numerals: 300, electronic device; 301, processor; 302, communication bus; 303, user interface; 304, network interface; 305, memory. DETAILED DESCRIPTION

[0012] In order to enable technicians in this field to better understand the technical solutions in this specification, the technical solutions in the embodiments of this specification will be clearly and completely described below in conjunction with the drawings in the embodiments of this specification. Obviously, the described embodiments are only part of the embodiments of this application, not all of the embodiments.

[0013] In the description of the embodiments of the present application, words such as "for example" or "for example" are used to indicate examples, illustrations or explanations. Any embodiment or design described as "for example" or "for example" in the embodiments of the present application should not be interpreted as being more preferred or more advantageous than other embodiments or designs. Specifically, the use of words such as "for example" or "for example" is intended to present related concepts in a specific way.

[0014] In the description of the embodiments of the present application, the meaning of the term "multiple" refers to two or more. For example, multiple systems refer to two or more systems, and multiple screen terminals refer to two or more screen terminals. In addition, the terms "first" and "second" are used for descriptive purposes only and cannot be understood as indicating or implying relative importance or implicitly indicating the indicated technical features. Thus, the features defined as "first" and "second" may explicitly or implicitly include one or more of the features. The terms "include", "comprise", "have" and their variations all mean "including but not limited to", unless otherwise specifically emphasized.

[0015] The present application embodiment provides a solid state drive load testing method. In one embodiment, please refer to Figure 1 , Figure 1 The flowchart of the solid-state drive load test method provided by the embodiment of the present application can be implemented by a computer program, which can be integrated into an application or run as an independent tool application. The method can also be implemented by a single-chip microcomputer or run on a solid-state drive load test system based on the von Neumann system. Specifically, the method can include the following steps: Step 101: Obtain IO request characteristic data of a solid state drive in multiple application scenarios.

[0016] The application scenarios refer to the different working environments and uses of SSDs in actual use. In this embodiment, they may include personal computer application scenarios, where SSDs are mainly used to run operating systems and daily software; enterprise-level server application scenarios, where SSDs mainly carry databases, network storage and other services; and big data center application scenarios, where SSDs need to handle storage and computing tasks for massive amounts of data. In different application scenarios, the data access requirements and workload characteristics faced by SSDs vary significantly.

[0017] IO request characteristic data refers to the characteristic information when the SSD performs input and output operations in the above application scenarios, which may include read and write type, indicating whether the data access is a read operation or a write operation; access address, indicating the physical storage location of the data in the SSD; request size, indicating the amount of data in a single IO operation; access timestamp, indicating the specific time point when the IO request occurs; access mode, indicating whether it is random access or sequential access; and IO request concurrency, indicating the number of IO requests occurring simultaneously. These characteristic data fully reflect the load characteristics of the SSD in the actual working process.

[0018] Specifically, first, the IO request feature data of the solid-state drive in multiple application scenarios is obtained. Since the data access mode and workload characteristics of the solid-state drive in different application scenarios are significantly different, it is necessary to collect the IO request feature data in multiple typical application scenarios to build a more comprehensive test basis. Specifically, the IO feature collection module can be deployed in the target application scenario to collect the IO request information of the solid-state drive during actual operation. The IO request information includes but is not limited to the type (read / write), access address, request size, access timestamp and other feature data of the IO request. For example, in the database application scenario, the IO feature collection module can record the random read and write requests generated during the execution of the database; in the video storage application scenario, the sequential read and write features of continuous large blocks of data can be collected; in the virtualization environment, the mixed IO features generated by concurrent access of multiple virtual machines can be obtained. By continuously collecting IO request feature data in different application scenarios, a relatively complete IO feature data set can be accumulated. These feature data will provide a basis for subsequent feature classification and de-redundancy processing, help to build a more accurate load feature fingerprint library, and thus improve the authenticity and reliability of the solid-state drive load test. The richer the collected IO request feature data, the more comprehensive it can be in reflecting the actual workload characteristics of the SSD in various application scenarios, thus providing strong support for the subsequent generation of test loads that are closer to actual application scenarios.

[0019] Step 102: feature classification is performed on the IO request feature data, and redundancy removal is performed on various data features after feature classification using a segmented compression algorithm to obtain a load feature fingerprint library.

[0020] Among them, the segmented compression algorithm in this embodiment refers to a data compression method based on a sliding window, such as the existing PAA segmented compression algorithm or PLA segmented compression algorithm, which is used to compress the frequency distribution histogram. The algorithm sets a sliding window of a fixed size and moves continuously on the frequency distribution histogram. When the frequency data change amplitude in the window is less than a preset threshold, the multiple frequency values ​​within the window range are compressed into a representative value. This compression method can effectively reduce data redundancy while retaining data access characteristics.

[0021] In this embodiment, the load feature fingerprint library refers to a database that stores the load features of solid-state drives in multiple application scenarios. Each fingerprint feature in the fingerprint library corresponds to the IO access feature after feature classification and de-redundancy processing in a specific application scenario, including read and write type information, data access frequency distribution information, and frequency distribution segment information after segmentation compression.

[0022] Specifically, in order to extract the typical characteristics of the solid-state hard disk load under different application scenarios, it is necessary to perform feature classification and de-redundancy processing on the acquired IO request feature data. First, the IO request feature data is divided into random read type, random write type, sequential read type and initial data of sequential write type according to the read and write type. This classification method can effectively distinguish the IO characteristics under different access modes. For each type of initial data, the corresponding data volume is determined, and the distribution interval corresponding to each sub-data volume is determined based on the preset data volume distribution table. By obtaining the data access frequency in each distribution interval, a frequency distribution histogram that can intuitively represent the IO access characteristics is generated. Since the original frequency distribution histogram may have data redundancy, which affects the subsequent load feature extraction efficiency, the frequency distribution histogram is compressed by a segmented compression algorithm of a sliding window. Specifically, the sliding window moves on the frequency distribution histogram. When the frequency change amplitude in the window is less than the preset threshold, the multiple frequency values ​​of the interval are compressed into a representative value, thereby obtaining the fingerprint features corresponding to the frequency distribution segments of multiple preset scenarios. Finally, each fingerprint feature is stored in the initial fingerprint library to form a load feature fingerprint library. This feature classification and de-redundancy processing can significantly reduce data redundancy, extract the most representative load features, and provide more refined and effective feature data support for subsequent generation of data access heat maps and construction of test loads. This processing method not only improves the efficiency of feature extraction, but also ensures the representativeness of the extracted features, which helps to generate more accurate test loads in the future.

[0023] Based on the above embodiment, as an optional embodiment, in step 102: the IO request feature data is feature classified, and the various data features after feature classification are de-redundanted by using a segmented compression algorithm to obtain a load feature fingerprint library. This step may also include the following steps: Step 201: Classify the IO request characteristic data into multiple types of initial data according to the read and write types, where the type of the initial data is at least one of a random read type, a random write type, a sequential read type, and a sequential write type.

[0024] Specifically, in order to distinguish the data access characteristics of solid-state drives in different application scenarios, it is necessary to first classify and process the IO request feature data. In specific implementation, the IO request feature data is divided into different types of initial data by analyzing the access address continuity and data block size in the IO request feature data. When the access addresses of two adjacent IO requests are discontinuous and the data block size is less than a preset threshold (such as 4KB), it is classified as random read type or random write type initial data; when the access addresses of two adjacent IO requests are continuous and the data block size is greater than the preset threshold, it is classified as sequential read type or sequential write type initial data. This classification method can effectively distinguish IO access modes in different application scenarios.

[0025] Step 202: Determine the data volume corresponding to each initial data, and determine the distribution interval corresponding to each data volume based on a preset data volume distribution table.

[0026] Specifically, in order to quantitatively analyze the distribution characteristics of each type of initial data, the total data volume of each type of initial data is first counted. Then, based on the pre-established data volume distribution table, the total data volume of each type of initial data is divided. The data volume distribution table presets distribution intervals corresponding to different data volume ranges. For example, 0-4KB can be set as the first interval, 4KB-16KB can be set as the second interval, and so on. In this way, the IO access characteristics at different data volume levels can be more carefully characterized.

[0027] Step 203: Obtain the data access frequency within each distribution interval, and generate a frequency distribution histogram according to each data access frequency.

[0028] Specifically, in order to intuitively represent the data access characteristics of each distribution interval, it is necessary to calculate the data access frequency in each distribution interval. In specific implementation, the number of IO requests in each distribution interval is counted and divided by the total number of IO requests to obtain the data access frequency of the interval. Based on the calculated access frequency of each interval, a frequency distribution histogram is generated, in which the horizontal axis represents the data volume distribution interval and the vertical axis represents the corresponding access frequency. This visual representation can clearly show the IO access mode at different data volume levels.

[0029] Step 204: compress the frequency distribution histogram using a sliding window segmented compression algorithm to obtain fingerprint features corresponding to multiple preset scene frequency distribution segments; store each fingerprint feature in an initial fingerprint library to obtain a stored load feature fingerprint library.

[0030] Specifically, in order to reduce data redundancy and extract typical features, a segmented compression algorithm based on a sliding window is used to compress the frequency distribution histogram. In the specific implementation, a fixed-size sliding window is set (such as containing 3 adjacent distribution intervals). When the frequency value variation in the window is less than a preset threshold (such as 5%), the average value of the frequency value in the window is used to replace the original multiple frequency values, thereby obtaining a compressed frequency distribution segment. These compressed frequency distribution segments constitute the fingerprint features of a specific application scenario. Finally, the obtained fingerprint features are stored in the initial fingerprint library to form a load feature fingerprint library containing multiple application scenario features. In this way, key load feature information is retained and data redundancy is significantly reduced, providing reliable feature data support for subsequent load testing.

[0031] Step 103: extract the target fingerprint of the target application scenario from the load feature fingerprint library, and generate a data access heat map based on the target fingerprint.

[0032] The target application scenario in this embodiment refers to a specific working environment where a solid-state hard disk performance test is required, and the scenario has specific IO access requirements and load characteristics.

[0033] In this embodiment, the target fingerprint refers to a data structure extracted from a load feature fingerprint library and capable of characterizing the IO access features of the target application scenario.

[0034] In this embodiment, the data access heat map refers to a visual representation method for displaying the heat distribution of data access in the storage space of the solid-state drive. The heat map divides the storage space of the solid-state drive into multiple continuous address blocks and uses different shades of color to represent the access frequency of each block.

[0035] Specifically, in order to accurately reflect the data access characteristics of the solid-state drive in the target application scenario, it is necessary to generate a data access heat map based on the load feature fingerprint library. First, retrieve the target fingerprint that matches the target application scenario from the load feature fingerprint library. The target fingerprint contains the frequency distribution characteristics of different types of IO requests in the target application scenario. Based on the obtained target fingerprint, the storage space of the solid-state drive is divided into multiple data blocks of preset sizes. Each data block corresponds to an access counter, which is used to count the number of times the data block is accessed within a specific time window. By analyzing the access address information and access frequency information in the target fingerprint, the access counter value of each data block is updated. Specifically, when the number of accesses to a data block exceeds the preset hot data threshold, it is marked as a hot data area; when the number of accesses is lower than the preset cold data threshold, it is marked as a cold data area; and between the two thresholds, it is marked as a warm data area. Subsequently, based on the access heat of different data areas, different color depths are used for visual representation, such as using red to represent hot data areas and blue to represent cold data areas, to generate a two-dimensional data access heat map. The horizontal axis of the heat map represents the address range of the storage space, and the vertical axis represents the time dimension. The color depth intuitively reflects the access frequency of different areas. The data access heat map generated in this way can clearly show the access hotspot distribution of the SSD storage space in the target application scenario, providing the spatial and temporal characteristics of data distribution for the subsequent construction of the test load, which helps to generate a more realistic test data stream.

[0036] Based on the above embodiment, as an optional embodiment, in step 103: generating a data access heat map according to the target fingerprint, this step may also include the following steps: Step 301: extracting data access location information and access count information of a target application scenario according to a target fingerprint.

[0037] Specifically, in order to build a data access distribution model under the target application scenario, it is necessary to extract key information from the target fingerprint. In the specific implementation, the data structure in the target fingerprint is parsed, and the physical address corresponding to each IO request is extracted as the data access location information. The physical address is in bytes and records the actual storage location of the data in the solid-state drive. At the same time, a counter array is established, and each element of the array corresponds to a physical address, which is used to count the cumulative number of times the address is accessed as the access count information. During the statistical process, whenever an access request to a specific physical address occurs, the value of the corresponding counter increases by 1. Through this precise information extraction method, the spatial location information of data access is retained, and the statistical characteristics of access intensity are recorded, providing a complete data basis for subsequent heat map generation.

[0038] Step 302: Create a physical address index table based on the data access location information, and map the access count information to the physical address index table.

[0039] Specifically, in order to establish a spatial mapping relationship for data access, it is necessary to organize the discrete access location information into a structured index table. In the specific implementation, the entire physical storage space of the solid-state hard disk is first divided into continuous address blocks according to the granularity of 4KB, and each address block is assigned an increasing index number starting from 0. For example, for a solid-state hard disk with a capacity of 1TB, about 268, 435, 456 address blocks can be divided to establish a mapping relationship from physical address to index number. Then, a two-dimensional array is created as a physical address index table, in which the row number represents the number of the time window and the column number represents the index number of the address block. Based on the access count information counted in step 301, the corresponding address block index number is calculated according to the physical address of each access request, and the access count is accumulated to the corresponding position in the index table. This mapping method based on address blocks not only reduces the discreteness of the data, but also maintains the spatial locality characteristics.

[0040] Step 303: normalize the access count information in the physical address index table to obtain an access frequency matrix, and divide the access frequency of the access frequency matrix into multiple level intervals.

[0041] Specifically, in order to eliminate the magnitude differences in the number of accesses in different application scenarios, the number of accesses information needs to be standardized. In the specific implementation, the physical address index table is first converted into an M×N two-dimensional matrix, where M represents the number of divided time windows (such as 1000) and N represents the number of address blocks. Each element in the matrix is ​​normalized using the following formula: Normalized value = (original number of accesses - minimum number of accesses) / (maximum number of accesses - minimum number of accesses), ensuring that all values ​​are mapped to the [0, 1] interval. Then, the normalized access frequency is divided into 5 level intervals: [0-0.2] represents extremely cold data, [0.2-0.4] represents cold data, [0.4-0.6] represents warm data, [0.6-0.8] represents hot data, and [0.8-1.0] represents extremely hot data. This fine interval division method can more accurately distinguish data areas with different access intensities.

[0042] Step 304: Determine the preset color identifier corresponding to each level interval, and render the access frequency matrix based on each color identifier to generate a data access heat map.

[0043] Specifically, in order to show the hotspot distribution of data access, the access frequency information needs to be converted into visual effects. In the specific implementation, the RGB color model is used to set a color identifier for each level interval: the extremely cold data interval uses dark blue (RGB: 0, 0, 255), the cold data interval uses light blue (RGB: 0, 127, 255), the warm data interval uses green (RGB: 0, 255, 0), the hot data interval uses orange (RGB: 255, 127, 0), and the extremely hot data interval uses red (RGB: 255, 0, 0). Subsequently, each element in the access frequency matrix is ​​traversed, and the corresponding color identifier is filled into the corresponding position of the two-dimensional heat map according to the level interval to which its value belongs. In the final generated heat map, the horizontal axis represents the spatial distribution of the physical address, with the address block index number as the scale; the vertical axis represents the number of the time window, and the color depth changes intuitively show the access heat of different areas. This multi-level color mapping scheme can clearly show the distribution characteristics of data access in the time and space dimensions.

[0044] Step 104: Based on the data access heat map, the benchmark test load is divided into a cold data stream and a hot data stream, and read and write operations are performed on the cold data stream and the hot data stream to generate a mixed load sequence.

[0045] The benchmark test load in this embodiment refers to a standard data set for solid state drive performance testing, which includes a test data file of a preset size and a basic read and write instruction sequence.

[0046] In this embodiment, cold data streams and hot data streams refer to two types of data streams obtained by separating the benchmark test load according to the access frequency characteristics of the data access heat map. Among them, the hot data stream corresponds to the data access sequence of the hot data area, with a higher access frequency and a shorter access interval, and the cold data stream corresponds to the data access sequence of the cold data area, with a lower access frequency and a longer access interval.

[0047] In this embodiment, the mixed load sequence refers to a complete test sequence formed by alternately executing cold data streams and hot data streams at preset time intervals through time slice round-robin scheduling. The sequence contains information such as the physical address, access type, and access timestamp of the data block, and dynamically adjusts the scheduling ratio of cold data streams and hot data streams according to the time characteristics of the data access heat map.

[0048] Specifically, in order to generate a test load that is closer to the actual application scenario, it is necessary to construct cold data streams and hot data streams based on the data access heat map and generate a mixed load sequence. In the specific implementation, the physical address space is first divided into cold data areas and hot data areas according to the color depth in the data access heat map, where the area with a color depth greater than a preset hot data threshold (such as 0.7) is marked as a hot data area, and the area with a color depth less than a preset cold data threshold (such as 0.3) is marked as a cold data area. Then, the test data is extracted from the benchmark test load, and the test data is written into the corresponding data streams according to the address range of the hot data area and the cold data area to form a hot data stream and a cold data stream. For the hot data stream, a higher access priority and a shorter access time interval (such as 10ms) are set; for the cold data stream, a lower access priority and a longer access time interval (such as 100ms) are set. When executing the test, a time slice rotation scheduling method is adopted. In each preset time slice, the hot data stream is preferentially scheduled to perform read and write operations, and the remaining time performs read and write operations on the cold data stream. At the same time, based on the time dimension information in the data access heat map, the read-write ratio and access interval of the cold data stream and the hot data stream are dynamically adjusted. For example, the scheduling weight of the hot data stream is increased during the access-intensive period, and the scheduling weight of the cold data stream is increased during the access-sparse period. The hybrid load sequence generated in this way not only maintains the cold and hot distribution characteristics of data access, but also reflects the load change characteristics in the time dimension, and can more realistically simulate the data access mode in the target application scenario. This load generation method based on cold data streams and hot data streams significantly improves the simulation accuracy of the test load for actual application scenarios, and provides a more reliable test basis for SSD performance evaluation.

[0049] Based on the above embodiment, as an optional embodiment, in step 104: dividing the benchmark test load into cold data streams and hot data streams based on the data access heat map, this step may also include the following steps: Step 401: Scan the data access heat map to obtain a heat distribution curve; determine the hot spot area location information and the cold spot area location information according to the peak and trough information of the heat distribution curve.

[0050] Specifically, in order to accurately identify the distribution characteristics of hot and cold areas in the data access heat map, it is necessary to perform quantitative analysis on the heat map. In specific implementation, first scan along the spatial dimension of the heat map, count the access heat values ​​of different physical addresses in each time window, and generate a heat distribution curve. The horizontal axis of the curve represents the physical address range, and the vertical axis represents the access heat value. Then, the heat distribution curve is subjected to waveform analysis, and the peak position is identified as the hot spot area by setting the heat threshold (such as 0.7), and the trough position is identified as the cold spot area by setting the cold threshold (such as 0.3). The physical address ranges corresponding to these hot spots and cold spots are further recorded to form a location information table containing the start address and the end address. This waveform analysis-based method can accurately locate the boundaries of hot and cold areas of data access, providing a spatial division basis for subsequent data stream generation.

[0051] Step 402: Based on the hot spot area location information, extract the corresponding first data access mode and first load feature, and generate a hot data flow template.

[0052] Specifically, in order to extract the access characteristics of the hotspot area, it is necessary to conduct an in-depth analysis of the hotspot area. In the specific implementation, based on the acquired location information of the hotspot area, the data access behavior characteristics in the area are extracted. First, the access pattern is analyzed, including the sequential access ratio, random access ratio, read-write ratio, etc. These statistical information constitute the first data access pattern; then the load characteristics are extracted, including the average access interval (such as 10ms), burst access length (such as 64KB), access alignment (such as 4KB alignment) and other parameters. These parameters constitute the first load characteristics. The extracted access pattern and load characteristics are organized into a hot data flow template, which defines the typical access behavior and load parameters of the hot data area, and provides a behavior pattern reference for subsequent load generation.

[0053] Step 403: Based on the cold spot area location information, extract the corresponding second data access mode and second load characteristics, and generate a cold data flow template.

[0054] Specifically, in order to characterize the access characteristics of cold spot areas, it is necessary to adopt an analysis method similar to that of hot spot areas. In specific implementation, the access behavior characteristics of the area are extracted based on the location information of the cold spot area. First, the second data access pattern is counted, including features such as access type distribution and access regularity; then the second load characteristics are extracted, including parameters such as longer average access intervals (such as 100ms) and smaller burst access lengths (such as 4KB). These characteristic information are organized into cold data flow templates to guide the generation of access behavior in cold data areas. In this way, a complete access behavior description of the cold spot area is established, providing a pattern basis for subsequent load division.

[0055] Step 404: Divide the benchmark test load into corresponding cold data flows and hot data flows according to the cold data flow template and the hot data flow template.

[0056] Specifically, first scan the data blocks in the benchmark test load, and determine whether the data blocks belong to the hot spot area or the cold spot area according to the physical address of the data blocks. For the data blocks falling in the hot spot area, according to the first data access mode and the first load characteristics in the hot data flow template, set the corresponding access parameters, such as higher access priority, shorter access interval, etc., and allocate these data blocks to the hot data flow; for the data blocks falling in the cold spot area, according to the second data access mode and the second load characteristics in the cold data flow template, set the corresponding access parameters, such as lower access priority, longer access interval, etc., and allocate these data blocks to the cold data flow. Through this template-based division method, the conversion of the benchmark test load to the cold data flow and hot data flow that meet the actual access characteristics is realized, laying the foundation for generating a real mixed load sequence.

[0057] Based on the above embodiment, as an optional embodiment, in step 104: performing read and write operations on the cold data stream and the hot data stream to generate a mixed load sequence, this step may also include the following steps: Step 405: Determine the switching cycle of the cold data stream and the hot data stream and the execution time ratio in a single cycle; construct a time slice allocation template according to the execution time ratio, and allocate corresponding execution time slices to the cold data stream and the hot data stream according to the time slice allocation template.

[0058] Specifically, in order to achieve reasonable scheduling of cold data streams and hot data streams, a time slice allocation mechanism needs to be established. In specific implementation, first, based on the time characteristics of the data access heat map, the switching cycle of cold data streams and hot data streams is set, such as setting each cycle to 1000ms. Then, the time distribution of access intensity in the heat map is analyzed to determine the execution time ratio of cold data streams and hot data streams in a single cycle. For example, during the peak access period, the proportion of hot data streams is set to 80% (800ms) and the proportion of cold data streams is set to 20% (200ms); during the trough access period, the proportion of hot data streams is adjusted to 40% (400ms) and the proportion of cold data streams is adjusted to 60% (600ms). Based on these time allocation parameters, a time slice allocation template is constructed, which defines the specific execution time slice size of cold data streams and hot data streams in different time periods. Through this dynamic time slice allocation mechanism, timely processing of hot data is guaranteed, excessive delay of cold data is avoided, and balanced scheduling of cold data streams and hot data streams is achieved.

[0059] Based on the above embodiment, as an optional embodiment, in step 405: assigning corresponding execution time slices to the cold data stream and the hot data stream according to the time slice assignment template, this step may also include the following steps: Step 415: Obtain the cycle duration and time slice size in the time slice allocation template; divide the execution time of the cold data stream and the hot data stream into multiple execution cycles according to the cycle duration.

[0060] Specifically, in order to realize the periodic scheduling of cold data streams and hot data streams, it is necessary to divide the time based on the time slice allocation template. In the specific implementation, the cycle duration parameter (such as 1000ms) and the time slice size parameter (such as 800ms for hot data streams and 200ms for cold data streams) are first extracted from the time slice allocation template. Then, the total execution time of the cold data stream and the hot data stream is divided equally according to the cycle duration. For example, the total execution time of 10000ms is divided into 10 execution cycles, and the duration of each execution cycle is 1000ms. This time division method based on a fixed cycle provides a basic time framework for the scheduling of cold data streams and hot data streams, ensuring the regularity and controllability of the execution process.

[0061] Step 425: Based on the time slice size of each execution cycle, determine the start time point and the end time point of the cold data stream and the hot data stream in a single execution cycle.

[0062] Specifically, in order to accurately control the switching timing of the cold data stream and the hot data stream in each execution cycle, it is necessary to calculate the specific time node. In the specific implementation, for each execution cycle, the start time point and the end time point of the cold data stream and the hot data stream are calculated based on the time slice size parameter. For example, in a certain execution cycle, the start time point of the hot data stream is set to the start moment of the cycle, and the end time point is the start time point plus the hot data time slice size (800ms); the start time point of the cold data stream is set to the end time point of the hot data stream, and the end time point is the start time point plus the cold data time slice size (200ms). Through this precise time point calculation, a strict time boundary division of the cold data stream and the hot data stream in each cycle is achieved.

[0063] Step 435: Map the start time point and the end time point to the execution time axis to generate execution time slice sequences of the cold data stream and the hot data stream.

[0064] Specifically, in order to form a complete execution time plan, the calculated time points need to be mapped to the execution timeline. In the specific implementation, a unified execution timeline is created, which marks the time scale in milliseconds. Then, the start time point and end time point calculated in each execution cycle are mapped to the timeline in time sequence to form an execution time slice sequence containing all time slice information. This sequence clearly marks the switching moments of cold data streams and hot data streams during the entire execution process, providing a complete scheduling basis for subsequent time slice allocation.

[0065] Step 445: assign corresponding execution time slices to the cold data stream and the hot data stream according to the execution time slice sequence.

[0066] Specifically, in order to allocate execution time slices to cold data streams and hot data streams, specific allocation is required based on the execution time slice sequence. In specific implementation, each time slice information in the execution time slice sequence is traversed, and the corresponding time period is allocated to the cold data stream or the hot data stream according to the start time point and the end time point of the time slice. For example, when executing to a certain time point, the type of data stream that should be executed currently is determined by querying the execution time slice sequence, and the corresponding time slice is allocated to the data stream. This sequence-based allocation method realizes the precise scheduling of cold data streams and hot data streams, ensuring that each data stream can get an execution opportunity within the specified time slice, thereby ensuring the balance and regularity of load execution.

[0067] Step 406: In each execution time slice, read and write operations are performed according to the IO request characteristics of the corresponding cold data stream and hot data stream.

[0068] Specifically, to ensure that cold data streams and hot data streams are executed according to actual access characteristics, it is necessary to accurately control IO operations within the allocated time slice. In specific implementation, in the execution time slice of the hot data stream, according to its IO request characteristics (such as 4KB data block size, 10ms access interval, 70% read operation ratio, etc.), read and write operations are performed according to the preset access mode. Similarly, in the execution time slice of the cold data stream, according to its IO request characteristics (such as 16KB data block size, 100ms access interval, 30% read operation ratio, etc.), the corresponding read and write operations are performed. During the execution process, the access parameter settings of each data stream are strictly followed, including access granularity, access interval, read-write ratio, etc., to ensure that the generated IO request sequence is consistent with the actual access behavior. This feature-based precise control method can truly restore the data access behavior of the target application scenario.

[0069] Step 407: Obtain IO request information for executing read and write operations in each execution time slice, and merge each IO request information in time sequence to generate a mixed load sequence including cold data streams and hot data streams that alternately execute read and write operations.

[0070] Specifically, in order to generate a complete hybrid load sequence, the execution results need to be merged. In the specific implementation, the IO request information generated in each execution time slice is first recorded, including the request initiation timestamp, physical address, operation type (read / write), data size and other attributes. Then, these discrete IO request information are sorted and merged in timestamp order to form a continuous request sequence. During the merging process, the original attributes of each IO request are kept unchanged, and only reorganized in time order. The final generated hybrid load sequence contains all IO request information for alternating execution of cold data streams and hot data streams. These requests are continuously distributed in time and follow the cold and hot distribution characteristics in space, which can accurately simulate the actual load conditions of the target application scenario. Through this time-series merging method, the access characteristics of cold data streams and hot data streams are maintained, and the continuity and integrity of the load sequence are ensured, providing real and reliable test data for subsequent performance testing.

[0071] Step 105: Load the mixed load sequence in parallel to multiple physical areas of the solid state drive to be tested, and perform a performance test to obtain a test result of the solid state drive to be tested.

[0072] In this embodiment, the physical area refers to a continuous physical address range in the storage space of the solid state drive to be tested, and each physical area is an independent data storage and access unit.

[0073] In this embodiment, the test result refers to a set of performance indicators obtained by parallel loading of a mixed load sequence.

[0074] In this embodiment, the performance test refers to a process of loading a mixed load sequence to multiple physical areas of the solid-state drive to be tested to perform IO operations in a multi-threaded parallel manner.

[0075] Specifically, in order to comprehensively evaluate the performance of the SSD to be tested in actual application scenarios, it is necessary to perform parallel load tests on the generated hybrid load sequence. In specific implementation, the storage space of the SSD to be tested is first divided into multiple physical areas. The size of each physical area is set according to the data volume of the hybrid load sequence. For example, the 256GB storage space is evenly divided into four 64GB physical areas. Then, multiple execution threads are created, each of which is responsible for loading the hybrid load sequence into a specified physical area and performing IO operations. During the execution process, each thread strictly performs read and write operations according to the time sequence and access parameters defined in the hybrid load sequence, and records the response time, throughput and other performance indicators of each IO request. For the hot data stream part, the focus is on random read and write performance and access latency; for the cold data stream part, the focus is on sequential read and write performance and bandwidth utilization. Through parallel load testing, the performance data collected includes: average response time, IOPS (IO operations per second), read and write bandwidth, queue depth and other key indicators. This parallel testing method not only improves the test efficiency, but also can truly simulate the performance of SSDs under multi-application concurrent access scenarios, providing reliable test data for evaluating the performance characteristics of SSDs in actual application environments. The final test results fully reflect the performance level of the SSD under test when processing complex loads, and can serve as an important reference for product performance optimization and application scenario matching.

[0076] Based on the above embodiment, as an optional embodiment, in step 105: loading the mixed load sequence in parallel to multiple physical areas of the solid state drive to be tested, and performing performance testing to obtain the test results of the solid state drive to be tested, this step may also include the following steps: Step 501: Determine a physical parallelism parameter based on the number of chips and the number of channels of the solid state drive to be tested.

[0077] Specifically, in order to fully utilize the hardware resources of the SSD for parallel testing, it is necessary to first determine the physical parallelism parameters. In the specific implementation, the hardware configuration information of the SSD to be tested is obtained, including the number of NAND flash memory chips (such as 16) and the number of physical channels supported by the controller (such as 8). Based on these hardware parameters, the maximum physical parallelism parameter is calculated, which indicates the ability of the SSD to process IO requests simultaneously. For example, when each physical channel is connected to 2 NAND flash memory chips, the physical parallelism parameter can be set to 8, indicating that up to 8 concurrent IO requests are supported. This parallelism setting based on hardware configuration ensures that the test load can fully utilize the hardware resources of the SSD.

[0078] Step 502: Distribute the mixed load sequence to multiple physical channels of the solid state drive to be tested according to the physical parallelism parameter.

[0079] Specifically, in order to achieve balanced distribution of mixed load sequences, it is necessary to distribute the load according to physical parallelism. In the specific implementation, the mixed load sequence is first divided into multiple subsequences according to the physical address range, and the amount of data in each subsequence is equivalent. Then, according to the physical parallelism parameter (such as 8), these subsequences are distributed to each physical channel of the solid-state drive to ensure that each physical channel is allocated an appropriate amount of load. During the distribution process, the bandwidth limitation and processing power of each physical channel need to be considered to avoid uneven load distribution. Through this load distribution method, the reasonable distribution of test load on physical resources is achieved, laying the foundation for concurrent testing.

[0080] Step 503: The load generators deployed on each physical channel concurrently execute the test and obtain the load execution data of each physical channel.

[0081] Specifically, in order to perform concurrent testing, load generators need to be deployed on each physical channel. In specific implementation, an independent load generator instance is created for each physical channel, and these load generators can generate corresponding IO requests according to the assigned subsequences. Each load generator strictly follows the access mode and timing requirements defined in the mixed load sequence, and performs read and write operations at the same time. During the test, each load generator works concurrently and records the execution status of each IO request in real time, including request initiation time, completion time, data size, operation type and other information. This information constitutes the load execution data of the physical channel. This concurrent testing mechanism fully utilizes the parallel processing capabilities of the solid-state drive and improves test efficiency.

[0082] Step 504: Determine the completion time and execution status of each IO request from each load execution data; calculate the average response delay and maximum throughput of the solid state drive to be tested in the target application scenario as the corresponding test result based on the completion time and execution status.

[0083] Specifically, in order to evaluate the actual performance of the SSD, it is necessary to perform statistical analysis on the test data. In the specific implementation, first collect the load execution data from each physical channel, extract the completion time (such as the request end time minus the start time) and execution status (such as successful completion or failure) of each IO request. Then, calculate the performance indicators based on these raw data: by counting the completion time of all successfully completed IO requests, the average response delay (such as 50 microseconds) is obtained; by calculating the amount of data transferred successfully per unit time, the maximum throughput (such as 500MB / s) is obtained. These performance indicators together constitute the test results of the SSD to be tested in the target application scenario, which fully reflects the ability of the SSD to handle complex loads. Through this performance analysis method, not only quantifiable performance indicators are obtained, but also potential performance bottlenecks can be discovered, providing a basis for product optimization.

[0084] Reference Figure 2 , is a solid state hard disk load testing system provided by an embodiment of the present application, the system comprises: a data acquisition module, a heat map determination module, a load sequence determination module, and a hard disk testing module, wherein: A data acquisition module is used to obtain IO request characteristic data of the solid-state drive in multiple application scenarios; The heat map determination module is used to perform feature classification on the IO request feature data, and perform redundancy processing on various data features after feature classification through a segmented compression algorithm to obtain a load feature fingerprint library; extract the target fingerprint of the target application scenario from the load feature fingerprint library, and generate a data access heat map based on the target fingerprint; A load sequence determination module, used for dividing the benchmark test load into a cold data stream and a hot data stream based on a data access heat map, and performing read and write operations on the cold data stream and the hot data stream to generate a mixed load sequence; The hard disk test module is used to load the mixed load sequence in parallel to multiple physical areas of the solid state disk to be tested, and perform performance testing to obtain the test results of the solid state disk to be tested.

[0085] On the basis of the above embodiment, the heat map determination module is also used to divide the IO request feature data into multiple types of initial data according to the read and write type, and the type of the initial data is at least one of a random read type, a random write type, a sequential read type and a sequential write type; determine the data volume corresponding to each initial data, and based on a preset data volume distribution table, determine the distribution interval corresponding to each data volume; obtain the data access frequency in each distribution interval, and generate a frequency distribution histogram according to the data access frequency; use a sliding window segmented compression algorithm to compress the frequency distribution histogram to obtain fingerprint features corresponding to multiple preset scenario frequency distribution segments; store each fingerprint feature in the initial fingerprint library to obtain a load feature fingerprint library after storage.

[0086] Based on the above embodiments, the heat map determination module is also used to extract data access location information and access count information of the target application scenario according to the target fingerprint; establish a physical address index table based on the data access location information, and map the access count information to the physical address index table; normalize the access count information in the physical address index table to obtain an access frequency matrix, and divide the access frequency of the access frequency matrix into multiple level intervals; determine the preset color identifier corresponding to each level interval, and render the access frequency matrix based on each color identifier to generate a data access heat map.

[0087] On the basis of the above embodiment, the load sequence determination module is also used to scan the data access heat map to obtain a heat distribution curve; determine the hot spot area location information and the cold spot area location information according to the peak and trough information of the heat distribution curve; based on the hot spot area location information, extract the corresponding first data access mode and the first load characteristic to generate a hot data flow template; based on the cold spot area location information, extract the corresponding second data access mode and the second load characteristic to generate a cold data flow template; according to the cold data flow template and the hot data flow template, divide the benchmark test load into corresponding cold data flows and hot data flows.

[0088] On the basis of the above embodiment, the load sequence determination module is also used to determine the switching cycle of the cold data stream and the hot data stream and the execution time ratio within a single cycle; according to the execution time ratio, a time slice allocation template is constructed, and corresponding execution time slices are allocated to the cold data stream and the hot data stream according to the time slice allocation template; within each execution time slice, read and write operations are performed according to the IO request characteristics of the corresponding cold data stream and hot data stream; IO request information for performing read and write operations within each execution time slice is obtained, and each IO request information is merged in time sequence to generate a mixed load sequence including cold data streams and hot data streams performing read and write operations alternately.

[0089] Based on the above embodiment, the load sequence determination module is also used to obtain the cycle duration and time slice size in the time slice allocation template; according to the cycle duration, the execution time of the cold data stream and the hot data stream is divided into multiple execution cycles; based on the time slice size of each execution cycle, the start time point and the end time point of the cold data stream and the hot data stream in a single execution cycle are determined; the start time point and the end time point are mapped to the execution timeline to generate an execution time slice sequence for the cold data stream and the hot data stream; and corresponding execution time slices are allocated to the cold data stream and the hot data stream according to the execution time slice sequence.

[0090] On the basis of the above-mentioned embodiment, the hard disk test module is also used to determine the physical parallelism parameter based on the number of chips and the number of channels of the solid-state hard disk to be tested; according to the physical parallelism parameter, the mixed load sequence is distributed to multiple physical channels of the solid-state hard disk to be tested; the load generator deployed on each physical channel concurrently executes the test and obtains the load execution data of each physical channel; the completion time and execution status of each IO request are determined from each load execution data; according to the completion time and execution status, the average response delay and maximum throughput of the solid-state hard disk to be tested in the target application scenario are calculated as the corresponding test results.

[0091] It should be noted that: when the device provided in the above embodiment realizes its function, only the division of the above functional modules is used as an example. In actual application, the above functions can be assigned to different functional modules as needed, that is, the internal structure of the device is divided into different functional modules to complete all or part of the functions described above. In addition, the device and method embodiments provided in the above embodiment belong to the same concept, and the specific implementation process is detailed in the method embodiment, which will not be repeated here.

[0092] The present application also discloses an electronic device. Figure 3 , Figure 3 The electronic device 300 may include: at least one processor 301 , at least one network interface 304 , a user interface 303 , a memory 305 , and at least one communication bus 302 .

[0093] The communication bus 302 is used to realize the connection and communication between these components.

[0094] The user interface 303 may include a display interface and a camera interface. Optionally, the user interface 303 may also include a standard wired interface and a wireless interface.

[0095] The network interface 304 may optionally include a standard wired interface or a wireless interface (such as a WI-FI interface).

[0096] Among them, the processor 301 may include one or more processing cores. The processor 301 uses various interfaces and lines to connect various parts in the entire server, and executes various functions of the server and processes data by running or executing instructions, programs, code sets or instruction sets stored in the memory 305, and calling data stored in the memory 305. Optionally, the processor 301 can be implemented in at least one hardware form of digital signal processing (Digital Signal Processing, DSP), field programmable gate array (Field-Programmable Gate Array, FPGA), and programmable logic array (Programmable Logic Array, PLA). The processor 301 can integrate one or a combination of a central processing unit (Central Processing Unit, CPU), a graphics processing unit (Graphics Processing Unit, GPU) and a modem. Among them, the CPU mainly processes the operating system, user interface diagrams and applications, etc.; the GPU is responsible for rendering and drawing the content to be displayed on the display screen; the modem is used to process wireless communications. It can be understood that the above-mentioned modem may not be integrated into the processor 301, and it can be implemented separately through a chip.

[0097] Among them, the memory 305 may include a random access memory (Random Access Memory, RAM) and may also include a read-only memory (Read-Only Memory). Optionally, the memory 305 includes a non-transitory computer-readable storage medium. The memory 305 can be used to store instructions, programs, codes, code sets or instruction sets. The memory 305 may include a program storage area and a data storage area, wherein the program storage area may store instructions for implementing an operating system, instructions for at least one function (such as a touch function, a sound playback function, an image playback function, etc.), instructions for implementing the above-mentioned various method embodiments, etc.; the data storage area may store data involved in the above-mentioned various method embodiments, etc. The memory 305 may optionally also be at least one storage device located away from the aforementioned processor 301. Refer to Figure 3 , the memory 305 as a computer storage medium may include an operating system, a network communication module, a user interface module and an application program of a solid state hard disk load testing method.

[0098] exist Figure 3In the electronic device 300 shown, the user interface 303 is mainly used to provide an input interface for the user and obtain the data input by the user; and the processor 301 can be used to call an application program storing a solid-state hard disk load testing method in the memory 305, and when executed by one or more processors 301, the electronic device 300 executes one or more methods in the above-mentioned embodiments. It should be noted that for the aforementioned method embodiments, for the sake of simple description, they are all expressed as a series of action combinations, but those skilled in the art should be aware that the present application is not limited by the described order of actions, because according to the present application, certain steps can be performed in other orders or simultaneously. Secondly, those skilled in the art should also be aware that the embodiments described in the specification are all preferred embodiments, and the actions and modules involved are not necessarily required for the present application.

[0099] In the above embodiments, the description of each embodiment has its own emphasis. For parts that are not described in detail in a certain embodiment, reference can be made to the relevant descriptions of other embodiments.

[0100] In the several embodiments provided in this application, it should be understood that the disclosed devices can be implemented in other ways. For example, the device embodiments described above are only schematic, such as the division of units, which is only a logical function division. There may be other division methods in actual implementation, such as multiple units or components can be combined or integrated into another system, or some features can be ignored or not executed. Another point is that the mutual coupling or direct coupling or communication connection shown or discussed can be through some service interfaces, and the indirect coupling or communication connection of devices or units can be electrical or other forms.

[0101] The units described as separate components may or may not be physically separated, and the components shown as units may or may not be physical units, that is, they may be located in one place or distributed on multiple network units. Some or all of the units may be selected according to actual needs to achieve the purpose of the solution of this embodiment.

[0102] In addition, each functional unit in each embodiment of the present application may be integrated into one processing unit, or each unit may exist physically separately, or two or more units may be integrated into one unit. The above-mentioned integrated unit may be implemented in the form of hardware or in the form of software functional units.

[0103] If the integrated unit is implemented in the form of a software functional unit and sold or used as an independent product, it can be stored in a computer-readable memory. Based on this understanding, the technical solution of the present application, or the part that contributes to the prior art, or all or part of the technical solution can be embodied in the form of a software product, which is stored in a memory and includes several instructions for a computer device (which can be a personal computer, server or network device, etc.) to execute all or part of the steps of the various embodiments of the present application. The aforementioned memory includes: various media that can store program codes, such as USB flash drives, mobile hard drives, magnetic disks or optical disks.

[0104] The above are only exemplary embodiments of the present disclosure and cannot be used to limit the scope of the present disclosure. That is, any equivalent changes and modifications made according to the teachings of the present disclosure are still within the scope of the present disclosure. After considering the disclosure of the specification and practice, those skilled in the art will easily think of other embodiments of the present disclosure.

[0105] This application is intended to cover any variation, use or adaptation of the present disclosure, which follows the general principles of the present disclosure and includes common knowledge or customary technical means in the art not recorded in the present disclosure. The description and examples are to be regarded as exemplary only.

Claims

1. A solid state hard disk load testing method, characterized in that: include: Obtain IO request characteristic data of solid-state drives in multiple application scenarios; The IO request feature data is feature classified, and redundancy processing is performed on various data features after feature classification through a segmented compression algorithm to obtain a load feature fingerprint library; Extracting a target fingerprint of a target application scenario from the load feature fingerprint library, and generating a data access heat map according to the target fingerprint; Based on the data access heat map, the benchmark test load is divided into a cold data stream and a hot data stream, and read and write operations are performed on the cold data stream and the hot data stream to generate a mixed load sequence; The mixed load sequence is loaded in parallel to multiple physical areas of the solid state drive to be tested, and a performance test is performed to obtain a test result of the solid state drive to be tested.

2. The solid state drive load testing method according to claim 1, characterized in that: The IO request feature data is feature classified, and various data features after feature classification are de-redundanted by using a segmented compression algorithm to obtain a load feature fingerprint library, including: Dividing the IO request characteristic data into multiple types of initial data according to the read and write types, wherein the type of the initial data is at least one of a random read type, a random write type, a sequential read type, and a sequential write type; Determine the data volume corresponding to each of the initial data, and determine the distribution interval corresponding to each of the data volume based on a preset data volume distribution table; Acquire the data access frequency within each of the distribution intervals, and generate a frequency distribution histogram according to each of the data access frequencies; The frequency distribution histogram is compressed using a sliding window segmentation compression algorithm to obtain fingerprint features corresponding to a plurality of preset scene frequency distribution segments; Each of the fingerprint features is stored in an initial fingerprint library to obtain a stored load feature fingerprint library.

3. The solid state drive load testing method according to claim 1, characterized in that: Generating a data access heat map according to the target fingerprint includes: Extracting data access location information and access frequency information of the target application scenario according to the target fingerprint; Establishing a physical address index table based on the data access location information, and mapping the access count information to the physical address index table; Normalizing the access count information in the physical address index table to obtain an access frequency matrix, and dividing the access frequency of the access frequency matrix into multiple level intervals; The preset color identifier corresponding to each of the level intervals is determined, and the access frequency matrix is ​​rendered based on each of the color identifiers to generate a data access heat map.

4. The solid state drive load testing method according to claim 1, characterized in that: The step of dividing the benchmark test load into cold data streams and hot data streams based on the data access heat map includes: Scanning the data access heat map to obtain a heat distribution curve; Determine the hot spot area location information and the cold spot area location information according to the peak and trough information of the heat distribution curve; Based on the hot spot area location information, extract the corresponding first data access mode and the first load feature, and generate a hot data flow template; Based on the cold spot area location information, extract the corresponding second data access mode and second load characteristics to generate a cold data flow template; According to the cold data flow template and the hot data flow template, the benchmark test load is divided into corresponding cold data flows and hot data flows.

5. The solid state drive load testing method according to claim 1, characterized in that: The performing read and write operations on the cold data stream and the hot data stream to generate a mixed load sequence includes: Determine a switching cycle of the cold data stream and the hot data stream and a ratio of execution time in a single cycle; According to the execution time ratio, a time slice allocation template is constructed, and corresponding execution time slices are allocated to the cold data stream and the hot data stream according to the time slice allocation template; In each of the execution time slices, read and write operations are performed according to the IO request characteristics of the corresponding cold data stream and hot data stream; IO request information for executing read and write operations in each execution time slice is obtained, and each IO request information is merged in time sequence to generate a mixed load sequence including the cold data stream and the hot data stream alternately executing read and write operations.

6. The solid state drive load testing method according to claim 5, characterized in that: The allocating corresponding execution time slices to the cold data stream and the hot data stream according to the time slice allocation template includes: Obtaining the cycle duration and time slice size in the time slice allocation template; According to the cycle length, dividing the execution time of the cold data stream and the hot data stream into a plurality of execution cycles; Determine the start time point and the end time point of the cold data stream and the hot data stream in a single execution cycle based on the time slice size of each execution cycle; Mapping the start time point and the end time point to an execution time axis to generate an execution time slice sequence of the cold data stream and the hot data stream; Corresponding execution time slices are allocated to the cold data stream and the hot data stream according to the execution time slice sequence.

7. The solid state drive load testing method according to claim 1, characterized in that: The step of loading the mixed load sequence in parallel to multiple physical areas of the solid state drive to be tested, and performing a performance test to obtain a test result of the solid state drive to be tested includes: Determining a physical parallelism parameter based on the number of chips and the number of channels of the solid state drive to be tested; Distributing the mixed load sequence to multiple physical channels of the solid state drive to be tested according to the physical parallelism parameter; Concurrently executing the test through the load generators deployed on each of the physical channels, and obtaining the load execution data of each of the physical channels; Determining the completion time and execution status of each IO request from each of the load execution data; According to the completion time and the execution status, the average response delay and the maximum throughput of the solid state drive to be tested in the target application scenario are calculated as corresponding test results.

8. A solid state hard disk load testing system, characterized in that: The system comprises: A data acquisition module is used to obtain IO request characteristic data of the solid-state drive in multiple application scenarios; The heat map determination module is used to perform feature classification on the IO request feature data, and perform redundancy processing on various data features after feature classification through a segmented compression algorithm to obtain a load feature fingerprint library; extract a target fingerprint of a target application scenario from the load feature fingerprint library, and generate a data access heat map based on the target fingerprint; A load sequence determination module, configured to divide the benchmark test load into a cold data stream and a hot data stream based on the data access heat map, and perform read and write operations on the cold data stream and the hot data stream to generate a mixed load sequence; The hard disk test module is used to load the mixed load sequence in parallel to multiple physical areas of the solid state disk to be tested, and perform performance testing to obtain the test results of the solid state disk to be tested.

9. An electronic device, characterized in that: It includes a processor, a memory, a user interface and a network interface, the memory is used to store instructions, the user interface and the network interface are used to communicate with other devices, and the processor is used to execute the instructions stored in the memory so that the electronic device executes the solid-state hard disk load testing method as described in any one of claims 1-7.

10. A computer-readable storage medium, characterized in that: The computer-readable storage medium stores instructions, and when the instructions are executed, the solid-state hard disk load testing method according to any one of claims 1 to 7 is executed.

Citation Information

Patent Citations

  • Cold and hot data identification test method and device based on solid state disk

    CN117234879A

  • Solid state disk performance test data processing method and device, equipment and storage medium

    CN118132403A

  • Data processing method and related equipment

    CN118295882A

  • Load collaborative scheduling method and system for solid state disk

    CN119292541A

  • Hard disk data protection method and device based on artificial intelligence

    CN119646906A

Cited By

  • State monitoring method of solid state disk, electronic equipment and storage medium

    CN120610871A

  • Memory access method and device, storage medium and program product

    CN120803976A

  • Direct-current power supply multifunctional comprehensive test method and system

    CN120949104A