Big data mining method and device applied to LPDDR performance detection

By reconstructing the raw recording stream of the LPDDR performance testing system and analyzing its state evolution graph, the testing configuration is dynamically adjusted, solving the problems of insufficient real-time response and adaptability in existing technologies for LPDDR performance testing, and achieving more efficient performance testing and anomaly capture.

CN122019331AInactive Publication Date: 2026-05-12SHENZHEN CHIP TESTING TECH CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
SHENZHEN CHIP TESTING TECH CO LTD
Filing Date
2026-04-14
Publication Date
2026-05-12
Estimated Expiration
Not applicable · inactive patent

AI Technical Summary

Technical Problem

Existing LPDDR performance testing methods are unable to effectively respond to the real-time evolution trend of performance status when faced with dynamic factors such as workload changes, ambient temperature fluctuations, or application scenario switching. This leads to occasional anomalies being missed due to insufficient sampling density, and there is a lack of in-depth mining ability to understand the transition patterns of performance status over time. Detection and adjustment rely on manual experience for ex-post intervention and cannot form an adaptive synergy with the evolution of performance status.

Method used

By receiving the raw performance record stream from the LPDDR performance testing system, data reconstruction processing is performed to eliminate time non-uniformity, constructing a directed weighted performance state evolution map, identifying key state transition paths, and generating testing adjustment instructions based on this, dynamically reconfiguring the sampling frequency and the execution order of testing items.

Benefits of technology

It significantly enhances the ability to capture occasional performance fluctuations and trace the early evolution of continuous anomalies, thereby improving the data-driven decision-making efficiency and system stability of the LPDDR performance testing process.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN122019331A_ABST
    Figure CN122019331A_ABST
Patent Text Reader

Abstract

The invention provides a big data mining method and device applied to LPDDR performance detection, and the method comprises the steps: receiving an original performance record stream, carrying out the data reconstruction, and generating a time-aligned data reconstruction set; and performing association rule mining on the data reconstruction set, extracting a frequent co-occurrence relationship between performance states in a time dimension, and screening to generate a performance influence association mode set. And mapping the set to a state transition space, constructing a directed weighted performance state evolution graph, and calculating and identifying a key state transition path through graph density. And generating a detection adjustment instruction based on the path, and transmitting the detection adjustment instruction back to a control unit of the detection system so as to reconfigure the sampling frequency and the detection item execution sequence. According to the method, accurate self-adaptive adjustment of the LPDDR detection process is realized by mining the deep association mode of the performance data.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention relates to the fields of semiconductor testing and data processing, and more specifically, to a big data mining method and apparatus for LPDDR performance testing. Background Technology

[0002] LPDDR performance monitoring is a crucial step in ensuring the stable operation of dynamic random access memory (DRAM) in high-speed data transmission scenarios. Continuous monitoring and data collection of the memory's operating status allows for the timely detection of performance fluctuations and anomalies. Big data mining methods in this field aim to extract the evolutionary characteristics of performance status from continuous monitoring records. Currently, memory is typically periodically monitored using a pre-defined fixed sampling frequency and execution order. The raw performance data is then compared with a preset static threshold to determine if the current performance is within the normal range. However, such methods struggle to effectively respond to real-time performance evolution trends when faced with dynamic factors such as workload changes, ambient temperature fluctuations, or application scenario switching. Fixed monitoring configurations often result in occasional anomalies being missed due to insufficient sampling density, while continuous collection in stable conditions leads to redundant monitoring resources. Furthermore, existing technologies lack the ability to deeply mine the transition patterns of performance status over time, making it difficult to identify implicit correlations and key transition paths between states from continuous monitoring records. Monitoring adjustments rely on ex-post intervention based on human experience, failing to achieve adaptive collaboration with performance status evolution. Summary of the Invention

[0003] In view of this, the present invention provides a big data mining method and device for LPDDR performance testing.

[0004] According to one aspect of the present invention, a big data mining method for LPDDR performance testing is provided, comprising: The system receives the raw performance record stream continuously output by the LPDDR performance testing system during the continuous testing period. The raw performance record stream consists of multiple raw performance record units arranged in chronological order. Each raw performance record unit carries an independently generated testing time identifier and the raw LPDDR performance status data collected at the corresponding testing time. The number of raw performance record units corresponds one-to-one with the testing time. The original performance record stream is reconstructed by mapping the original performance record units to a unified time coordinate system based on the detection time identifier carried by each original performance record unit, eliminating the uneven distribution of the original performance record units on the time axis, and generating a data reconstruction set with a time-aligned structure. The data reconstruction set contains the reconstructed performance data items of each detection time in a standardized expression. Perform association rule mining on the data reconstruction set, traverse the reconstruction performance data items in the data reconstruction set, identify the value fluctuation pattern of the reconstruction performance data items at different detection times, extract the frequent co-occurrence relationship between the reconstruction performance data items in the time dimension, and filter and generate a set of performance impact association patterns describing the association strength of performance status at different detection times based on the frequency of occurrence and association stability of the frequent co-occurrence relationship. The set of performance impact correlation patterns is mapped to the state transition space. Each performance state in the set of performance impact correlation patterns is used as a node, and the correlation strength in the set of performance impact correlation patterns is used as the correlation metric between the edges between nodes. A directed weighted performance state evolution graph is constructed. In the performance state evolution graph, a graph density calculation algorithm is applied to identify regions where the density of state transition paths exceeds a preset graph density threshold. From these regions, state transition sequences with a state transition frequency higher than the average transition frequency are extracted as key state transition paths. Based on the state transition sequence contained in the key state transition path, a detection adjustment instruction for the LPDDR performance testing process is generated. The detection adjustment instruction is then sent back to the detection control unit of the LPDDR performance testing system through the detection control interface. The detection control unit parses the detection adjustment mapping relationship contained in the detection adjustment instruction and reconfigures the sampling frequency and execution order of the LPDDR performance testing system during the testing period according to the detection adjustment mapping relationship.

[0005] According to another aspect of the present invention, a computer device is provided, comprising: a processor; and a memory, wherein the memory stores computer-readable code that, when executed by the processor, causes the processor to perform the method as described above.

[0006] This invention performs data reconstruction processing based on detection time identifiers on the raw performance record stream output by the LPDDR performance testing system. This maps the unevenly distributed raw record units to a unified time coordinate system, generating a data reconstruction set that is temporally continuous and has a consistent data structure, thus eliminating misjudgments of correlations caused by differences in recording time intervals. By performing association rule mining on the data reconstruction set, it identifies frequent co-occurrence relationships of reconstructed performance data items in the time dimension, generating a set of performance impact correlation patterns. This allows for the autonomous mining of implicit correlations between states from large-scale performance records without relying on any label information. By mapping performance impact correlation patterns to a state transition space, it constructs a system with performance states as nodes and correlations as elements. A directed weighted performance state evolution graph with edge weights is generated, and regions where the density of state transition paths exceeds a threshold are identified based on the graph density calculation. Key state transition paths are extracted, making the evolution law and core transition sequence of LPDDR performance state explicit. Finally, detection adjustment instructions are generated based on the key state transition paths and sent back to the detection control unit to dynamically reconfigure the sampling frequency and the execution order of detection items. This enables the allocation of detection resources to form an adaptive linkage with the actual evolution trend of performance state, effectively improving the ability to capture occasional performance fluctuations and the early traceability of continuous abnormal evolution. It significantly enhances the data-driven decision-making efficiency and system operation stability of the LPDDR performance detection process.

[0007] It should be understood that the above general description and the following detailed description are merely exemplary and explanatory, and are not intended to limit the technical solutions of the present invention. Attached Figure Description

[0008] Figure 1 This is a schematic diagram of an application scenario provided by the present invention; Figure 2 This is a flowchart illustrating a big data mining method for LPDDR performance testing provided by the present invention. Figure 3 This is a schematic diagram of the structure of a computer device provided in an embodiment of the present invention. Detailed Implementation

[0009] To facilitate a clearer understanding of this invention, we will first introduce the application scenarios of the big data mining method for LPDDR performance testing that implements this invention, such as... Figure 1 As shown, the application scenario of this invention includes a computer device 10 and an LPDDR performance testing system. The LPDDR performance testing system may include one or more testing devices; the number of testing devices is not limited here. Figure 1As shown, the LPDDR performance testing system may specifically include testing device 1, testing device 2, ..., testing device n; it can be understood that testing device 1, testing device 2, testing device 3, ..., testing device n can all be network connected to computer device 10 so that each testing device can interact with computer device 10 through network connection.

[0010] It is understood that computer device 10 can refer to a device that executes the big data mining method for LPDDR performance testing provided in the embodiments of the present invention. Computer device 10 can be, for example, a server, a single physical server, a server cluster or distributed system consisting of at least two physical servers, or a tablet computer, laptop computer, desktop computer, etc., but is not limited thereto. Testing devices can be signal generators, protocol analyzers, logic analyzers, temperature control modules, etc. The various testing devices and computer device 10 can be directly or indirectly connected via wired or wireless communication. Furthermore, the number of testing devices and computer device 10 can be one or at least two; the present invention does not impose any limitations on this.

[0011] Further, please see Figure 2 This is a flowchart illustrating a big data mining method for LPDDR performance testing provided in an embodiment of the present invention. Figure 2 As shown, this method can be derived from... Figure 1 The computer device 10 is used to execute the big data mining method applied to LPDDR performance testing, which may include the following steps: Step S100: Receive the raw performance record stream continuously output by the LPDDR performance testing system during the continuous testing period. The raw performance record stream consists of multiple raw performance record units arranged in chronological order. Each raw performance record unit carries an independently generated testing time identifier and the raw LPDDR performance status data collected at the corresponding testing time. The number of raw performance record units corresponds one-to-one with the testing time.

[0012] An LPDDR performance testing system is a dedicated test platform that integrates a signal generator, protocol analyzer, logic analyzer, and temperature control module. This platform establishes a physical connection with the power pins, data pins, address pins, and control pins of the LPDDR chip under test through test fixtures. It is used to apply a specified read and write instruction sequence to the LPDDR chip and synchronously acquire its response signals.

[0013] The continuous testing period refers to the complete test cycle in which the system continuously sends commands and collects responses from the moment it receives the start command to the moment it receives the stop command. The raw performance record stream is a binary data sequence formed by the system continuously writing analog signals acquired at each testing moment into data frames in chronological order via a high-speed data acquisition card during this period, and then writing them to the host storage medium through a direct memory access channel. The raw performance record unit is the basic data frame constituting this data stream; each data frame corresponds to a testing moment, and its internal structure is organized according to a predefined protocol. The testing moment identifier is generated synchronously with each raw performance record unit. A counter driven by a high-precision temperature-controlled crystal oscillator inside the testing system latches the current value at each testing moment and uses it as the time identifier for that record unit. The raw LPDDR performance status data refers to the set of raw values ​​obtained directly by the test circuit at each testing moment without algorithmic processing. This includes, but is not limited to, the delay time between the LPDDR chip receiving the activation command and the activation of the strobe signal, the signal eye diagram opening height on the data bus during continuous read operations, the standby current value at different refresh cycles, and the temperature and voltage values ​​fed back by the thermistor on the chip surface. The number of raw performance recording units corresponds one-to-one with the detection time, meaning that the detection system generates one recording unit every time it completes a sampling trigger, and the sampling trigger frequency is equal to the number of detection times.

[0014] A data receiving daemon runs on the server acting as the control host. This daemon communicates with the dedicated data acquisition card for the LPDDR performance testing system, which is plugged into the host PCIe slot, via the PCIe driver. Upon startup, the daemon requests a DMA ring buffer in kernel space from the driver and informs the acquisition card of the buffer's physical address. After the testing system begins operation, the acquisition card triggers data acquisition on the rising edge of each sampling clock cycle. The voltage signals acquired from the various pins of the LPDDR chip at that moment are converted into digital quantities by an internal analog-to-digital converter. These digital quantities, along with latched timestamp counter values, are encapsulated by the FPGA firmware on the acquisition card according to a fixed frame format. The encapsulated data frames are then written directly to the pre-allocated ring buffer in host memory via the PCIe bus using DMA technology.

[0015] When the amount of data in the circular buffer reaches the preset watermark threshold, the driver triggers an interrupt to notify the data reception daemon. The daemon's interrupt service routine is then awakened, reads a batch of data frames from the circular buffer, and appends them intact to a pre-created binary log file on the solid-state drive. The writing strictly adheres to the order in which the data frames arrived in the buffer, i.e., the order in which they arrived in host memory. Since the DMA write order is consistent with the acquisition card's packaging order, and the acquisition card's packaging order strictly follows the sampling clock triggering order, the order of the raw performance recording units in the final log file represents the temporal order of the detection moments.

[0016] Step S200: Perform data reconstruction processing on the original performance record stream. Based on the detection time identifier carried by each original performance record unit, map the original performance record units to a unified time coordinate system to eliminate the uneven distribution of the original performance record units on the time axis and generate a data reconstruction set with a time-aligned structure. The data reconstruction set contains the reconstructed performance data items of each detection time in a standardized expression.

[0017] In one implementation, step S200 may specifically include the following steps S210 to S260: Step S210: Parse each raw performance record unit in the raw performance record stream, extract the detection time identifier carried by each raw performance record unit, and generate a time identifier set that corresponds one-to-one with the raw performance record units in terms of quantity.

[0018] In one implementation, step S210 may specifically include the following steps S211 to S215: Step S211: Traverse all raw performance record units contained in the raw performance record stream, perform a header information scanning operation on each raw performance record unit, and locate the position of the fixed offset field used to store the detection time identifier in each raw performance record unit.

[0019] Header scanning refers to a programmed parsing operation that examines the beginning of a data packet byte by byte or field by field according to a predefined protocol format. Fixed offset field positions mean that specific information is always stored at a fixed byte offset from the beginning of the packet; for example, the detection time identifier field is always stored at an offset of eight bytes from the packet's start address.

[0020] Assuming the designed data packet format is as follows: the first few bytes are a synchronization header for frame synchronization, followed by several bytes for the packet length, and then eight bytes for the detection timestamp field. This field's position is fixed, meaning it's offset by eight bytes relative to the start address of each data packet. The process begins traversing the raw performance record stream. Since the data stream may be a large file, a memory-mapped file approach is used to map it into the process's address space. A pointer is defined pointing to the starting address of the mapped region. In a loop, the pointer is moved according to the known packet length. For the data packet currently pointed to, pointer arithmetic is used to add the fixed offset of eight to the current pointer, resulting in a new memory address. This address points to the starting position of the detection timestamp field. This address is recorded, and the process continues to move to the starting position of the next data packet, i.e., the current pointer plus the packet length. This process is repeated until the entire file mapping region is traversed, resulting in a list of addresses, where each address precisely points to the fixed offset field position storing the timestamp in each raw performance record unit.

[0021] Step S212: Read binary time-encoded data from the fixed offset field position of each raw performance record unit, and convert the binary time-encoded data into a sortable standardized time format string according to the preset time decoding rules.

[0022] In step S211, the starting address pointing to the timestamp field in each data packet was obtained. Now, these addresses are traversed again. For each address, several consecutive bytes are read according to the pre-known data type length. These bytes are treated as a whole and interpreted as an integer according to a predefined byte order. This integer value is the original binary time-encoded data, which means counting from a certain reference time point. A preset time decoding rule is applied, which defines this integer as representing the number of microseconds that have elapsed since a certain year AD. Using the date and time library functions provided by the programming language, the reference time is added to this integer microsecond offset to calculate the precise calendar time. This date and time is then stringified according to a predefined standardized format, formatted as a string containing year, month, day, hour, minute, second, millisecond, and microsecond, with each field having a fixed width.

[0023] Step S213: Assign a temporary index number to each normalized time format string that is bound to the sequential position of the original performance record unit from which the string originates in the original performance record stream.

[0024] The temporary index number is a number used to uniquely identify each raw performance record unit. It is bound to the sequential position of the raw performance record unit in the raw performance record stream. That is, the first record unit read is assigned number one, the second is assigned number two, and so on. This number reflects the physical storage order of the record units in the raw data stream.

[0025] While steps S211 and S212 are being executed, a counter is maintained. Each record unit is processed sequentially starting from the beginning of the raw performance record stream. After the timestamp is located and converted for the first record unit, and its normalized time format string is obtained, the current value of the counter is used as a temporary index number for this normalized time format string. This number and the string are combined into a record and stored in a structure array. The structure contains an index integer field and a time string field. Then the counter is incremented by one, and the second record unit is processed, assigned a number two, and so on until all record units are processed. Finally, the i-th element of the structure array in memory stores the time string of the i-th plus one original record unit and its index number.

[0026] Step S214: Associate and store the standardized time format string with the corresponding temporary index number to form a set of time identifiers containing the correspondence between the standardized time format string and the temporary index number.

[0027] The time stamp set is a data structure used to centrally store and manage all time information extracted from the original performance record units and their association with the original record units. This set only contains time strings and their corresponding temporary index numbers, which is equivalent to the timeline directory of the entire data stream.

[0028] After traversing each raw performance record unit and generating a time string and index number, this record, consisting of a temporary index and a normalized time string, is added to a predefined collection object. In this embodiment, a dynamic array is chosen as the collection object, and records are added to the end of the dynamic array each time through an append operation. After traversing all record units, this dynamic array contains a number of elements equal to the total number of record units. Each element is a key-value pair of a temporary index and a time string. This dynamic array constitutes a time stamp set, which completely records the sequential position of each record unit in the raw data stream and the actual time information it carries.

[0029] Step S215: Sort all standardized time format strings in the time identifier set globally according to their chronological order, and update the temporary index number associated with each standardized time format string according to the sorting result, so that the updated temporary index number is consistent with the time order of the standardized time format strings.

[0030] Global sorting refers to rearranging all elements in the time identifier set according to the values ​​of their normalized time format strings across the entire set, ultimately forming a strictly chronologically ascending sequence. Updating the temporary index number associated with each normalized time format string means assigning each element a new number representing its rank in the chronological sequence after sorting.

[0031] The time identifier set generated in step S214 is obtained as a dynamic array storing temporary indices and time string pairs. A sorting algorithm is called on this dynamic array, with the sorting comparison based on the time string field of each element. Since the time strings are designed as a sortable, standardized format, the sorted array will arrange the elements in ascending order of time. After sorting, the positions of the elements in the array change, but the temporary index number within each element still retains its original physical order value. Next, these index numbers need to be updated. A new dynamic array is created to store the updated time identifier set. The sorted array is traversed, and a counter is initialized and incremented from the beginning. For the first element in the sorted array (the earliest time), its old temporary index number is read but ignored. Instead, the current counter value is used as the new index number for this element. The new index and the time string are stored in the new dynamic array, and the counter is incremented. The second element in the sorted array is processed, and a new index is assigned, and so on. After all elements have been traversed, the indices in the new dynamic array are consistent with the time order. The new array provides a mapping from the correct logical time order index to the original physical storage location index.

[0032] Step S220: Based on the time sequence indicated by the detected time markers in the time marker set, perform an overall sorting operation on the original performance record units to generate a sequence of original performance records arranged continuously in ascending time order.

[0033] The time stamp set is the result of step S210. It contains the detection time stamps extracted from each original performance record unit, and these stamps have been sorted and re-indexed, with their order reflecting the actual time sequence. The overall sorting operation refers to rearranging the original performance record units, whose original physical storage order may be disordered, according to the mapping relationship provided by this set. The original performance record sequence is the result of the sorting operation; it is a new data sequence in which the record units are arranged strictly according to the time sequence indicated by their detection time stamps.

[0034] Obtain the updated time identifier set generated in step S215. Each element in this set consists of a new index number and a time string, and is arranged in chronological order. It also holds the original performance record stream file. The goal is to store the sorted sequence of original performance records in a new file or memory buffer. Process according to the element order in the updated time identifier set. First, read the first element, which contains the new index number one. Through the old index information stored in this element, we know that the new index one corresponds to the record unit in the original stream with a certain old index value. A mapping table from old index to file offset is pre-established. When initially traversing the original file, the offset of the starting position in the file is recorded for each record unit. The file offset corresponding to the old index is looked up in the mapping table. Then, the file pointer is moved to the offset, the data block of the entire record unit is read, and it is written to the starting position of the new output file. Next, the second element in the updated time stamp set is processed. Its corresponding new index is two, which, assuming it maps to another old index, has its corresponding file offset found through the mapping table. This record unit is read and appended to the new output file immediately after the first record unit. This process is repeated, reading the corresponding original performance record units from the original file sequentially according to their mapped old indices, from one to N, and writing them sequentially to the new file. After all N record units have been processed, the first record unit in the newly generated file is the earliest occurring record unit in time, the second is the second earliest occurring record unit, and so on, generating a strictly ascending sequential sequence of original performance records.

[0035] Step S230: Detect the detection time interval length between adjacent original performance record units in the original performance record sequence, calculate the discrete distribution value of all detection time interval lengths, and locate the continuous time interval where the detection time interval length exceeds the preset interval threshold as the reconstruction target region based on the discrete distribution value.

[0036] The raw performance record sequence is the output of step S220, and is a data sequence already sorted by time. The detection time interval length refers to the time difference between the detection time markers of two adjacent recording units in the sequence. The dispersion distribution value is a statistical indicator, such as variance or standard deviation, used to measure the drastic changes in these interval lengths, reflecting the uniformity of time sampling. The preset interval threshold is a pre-set maximum acceptable time interval value. The reconstruction target region refers to the time intervals in the sequence whose interval lengths exceed the preset threshold; data points are sparsely distributed in these regions and require data imputation.

[0037] Load the raw performance record sequence generated in step S220. Each record unit in this sequence contains a detection time identifier, assuming its format is a continuous time count value starting from a certain starting point. Initialize an empty list to store all calculated interval lengths. Start traversing from the second record unit of the sequence. For the i-th record unit currently traversed, read its detection time identifier Ti and read the detection time identifier T[i-1] of the previous record unit. Calculate the interval length ΔTi, which is equal to Ti minus T[i-1]. Store ΔTi in the interval length list. After traversing all adjacent pairs, a list containing N-1 interval lengths is obtained. Calculate the discrete distribution value of these interval lengths. In this embodiment, calculate the variance of all interval lengths. First, calculate the arithmetic mean of all interval lengths. Then, for each ΔTi, calculate the square of its difference from the mean. Finally, calculate the average of all these squared values ​​to obtain the variance value. The larger the variance, the more drastic the fluctuation of the time interval and the more uneven the time distribution. The original performance record sequence is traversed again and the adjacent intervals ΔTi are recalculated. At the same time, the preset interval threshold is read and each ΔTi is checked to see if it is greater than the threshold. If ΔTi is greater than the threshold, the start and end record units corresponding to this interval are recorded. The scan starts from the beginning of the sequence. When the first ΔTi is found to be greater than the threshold, the start time of this interval is taken as the start of the potential reconstruction target region. Then the scan continues to the next interval. As long as the subsequent intervals are also greater than the threshold, the record units corresponding to these intervals are continuously included in the current region until an interval less than or equal to the threshold is encountered. The current reconstruction target region ends. This continuous time interval from the start record unit to the end record unit contains multiple excessively large time intervals, indicating that data acquisition has become sparsity or lost in this time period. Therefore, it is marked as a reconstruction target region. The indices of the start and end record units of each such region are recorded.

[0038] Step S240: Perform data interpolation processing on the original performance record units in the reconstruction target area. Use the original performance status data of the original performance record units at the boundary of the reconstruction target area as the interpolation base point to generate supplementary performance record units that fill the missing time points in the reconstruction target area, and insert the supplementary performance record units into the positions of the corresponding detection time markers in the original performance record sequence.

[0039] In one implementation, step S240 may specifically include the following steps S241 to S245: Step S241: Identify the starting boundary original performance record unit and the ending boundary original performance record unit of the target region for reconstruction, and extract the first performance state original data carried by the starting boundary original performance record unit and the second performance state original data carried by the ending boundary original performance record unit.

[0040] The initial boundary raw performance record unit refers to the earliest real record unit in the target reconstruction region, located at the beginning of the region. The final boundary raw performance record unit refers to the latest real record unit in the region, located at the end of the region. The first performance state raw data and the second performance state raw data refer to the sets of raw measurements containing multiple performance index dimensions extracted from these two boundary units, respectively.

[0041] In step S230, each reconstruction target region was identified and its boundary unit index in the sequence was recorded. The information of these regions was traversed. Taking a specific region as an example, the region was recorded as starting from the record unit with index i in the original performance record sequence and ending at the record unit with index j. The sequence was accessed directly through the index. The complete record unit at index i was read. The contents of all performance status original data fields were copied to form a data copy and marked as the first performance status original data. This copy is a structure variable containing the current values ​​of all dimensions. The complete record unit at index j was read. The contents of all performance status original data fields were copied to form a data copy and marked as the second performance status original data.

[0042] Step S242: Calculate the number of missing detection moments that need to be filled in the target area of ​​reconstruction. Based on the number of missing detection moments, uniformly divide the numerical change range between the original data of the first performance state and the original data of the second performance state to generate intermediate state interpolation data that corresponds one-to-one with each missing detection moment.

[0043] The number of missing detection moments refers to the number of time points that should exist between the start and end boundaries but are actually missing under ideal, equally spaced sampling conditions. The numerical variation range refers to the entire range spanned from the value of the original data in the first performance state to the value of the original data in the second performance state. Uniform division means dividing this variation range into several equal parts, plus one, based on the number of missing detection moments. Intermediate state interpolated data refers to the estimated performance data value corresponding to each missing detection moment after division, located at the equal division points between the two endpoint values.

[0044] Obtain the raw performance state data Dstart of the starting boundary unit and the raw performance state data Dend of the ending boundary unit. Both of these data are multi-dimensional vectors, assuming they have K dimensions. Obtain the timestamp Tstart of the starting boundary unit and the timestamp Tend of the ending boundary unit, as well as the preset target sampling interval. Calculate the total time span ΔTtotal between the starting and ending boundaries, which is equal to Tend minus Tstart. Calculate the number of sampling intervals that should theoretically be included within this span. Divide the total time span by the target sampling interval to obtain the number of intervals. The number of missing detection moments is equal to the number of intervals minus 1. Determine the number of intermediate state interpolation data sets to be generated based on the number of missing moments. For the p-th missing moment, the corresponding time point is Tstart plus p multiplied by the target sampling interval. Calculate the interpolation coefficient, which is equal to p divided by the number of missing moments plus one. This coefficient represents the relative position of the missing moment in the total time span. For each data dimension k, the interpolated data for that dimension is calculated as the k-th dimension value of Dstart plus the interpolation coefficient multiplied by the difference between the k-th dimension value of Dend and the k-th dimension value of Dstart. After calculating for all dimensions, a complete set of intermediate state interpolated data is obtained corresponding to the p-th missing time. The above calculation is repeated for each p from one to the number of missing time, generating intermediate state interpolated data that corresponds one-to-one with each missing detection time.

[0045] Step S243: Create a blank record unit template for each intermediate state interpolation data, fill the detection time identifier field of the blank record unit template with the corresponding missing detection time, fill the performance status original data field of the blank record unit template with the corresponding intermediate state interpolation data, and generate a supplementary performance record unit.

[0046] The blank record cell template is a predefined data structure framework with the same field layout and data types as the original performance record cell. The detection time identifier field is the area in this template dedicated to storing time information. The performance status raw data field is the area in this template dedicated to storing performance measurement values.

[0047] In step S242, a set of intermediate state interpolation data is calculated for each missing detection time. A memory block of the same size as the original record unit is allocated in memory for each set of intermediate state interpolation data; this memory block serves as the blank record unit template. The value of the corresponding missing detection time is written to the detection time identifier field of this memory block according to a predetermined binary format. The values ​​of each dimension in the calculated intermediate state interpolation data are then written sequentially to the performance status raw data field area of ​​this memory block according to a predetermined order and format. After writing is complete, this memory block becomes a complete supplementary performance record unit, containing valid time identifiers and estimated performance data.

[0048] Step S244: Insert each generated supplementary performance record unit into the corresponding position between adjacent original performance record units in the original performance record sequence according to its detection time identifier, so that the detection time interval length of the original performance record sequence in the reconstructed target area is uniform.

[0049] The raw performance record sequence is an ordered list of data, with time intervals between adjacent raw performance record units. Uniformizing the detection time interval length refers to inserting supplementary units to make the time difference between adjacent units in the sequence as close as possible to or equal to the preset target sampling interval.

[0050] The original performance record sequence is loaded from persistent storage into a linked list data structure that supports insertion operations, or a new empty sequence is created for merging. All supplementary performance record units generated in step S243 are retrieved; these units are associated with their respective missing detection times. The original performance record sequence is traversed, while maintaining a pointer to the list of supplementary units. For each pair of adjacent record units in the original sequence, their time interval is checked to determine if there is a supplementary unit to be inserted within this interval. Based on the detection time identifier of the supplementary unit, it is inserted into the correct position in time between the preceding and following original units. For example, between the starting boundary unit A and the ending boundary unit B, supplementary units such as Ta plus the target interval, Ta plus twice the target interval, etc., are inserted sequentially after A and before B in ascending time order. After the insertion operation is completed, the region originally consisting of a single large interval from A to B is now a uniform sequence consisting of multiple equally spaced small intervals.

[0051] Step S245: Verify the original performance record sequence after inserting supplementary performance record units. After confirming that the detection time interval length of all adjacent record units in the original performance record sequence is less than the preset interval threshold, output the interpolated original performance record sequence.

[0052] Verification refers to re-checking the sequence after interpolation and insertion operations to ensure that the quality of the data reconstruction meets the requirements. The detection time interval length refers to the time difference between all adjacent record units in the inserted sequence. The preset interval threshold is consistent with the threshold used in step S230.

[0053] After completing the interpolation and insertion operations for all reconstructed target regions, a complete original performance record sequence after interpolation is obtained. This new sequence is then traversed again, and starting from the second record unit, the detection time interval length between each adjacent record unit is calculated. Each calculated interval length is compared with a preset interval threshold. If any interval length is found to be greater than the preset threshold, it indicates that the reconstruction operation has not completely solved the problem, possibly due to recording errors or the need for additional processing. If all interval lengths are less than or equal to the preset threshold, it indicates that the reconstruction is successful, and the sequence has been homogenized on the time axis. This validated sequence is then output, either written to a new file or passed as a memory data object to the next processing step.

[0054] Step S250: Each original performance record unit and each supplementary performance record unit in the original performance record sequence after inserting the supplementary performance record unit are normalized and converted according to the preset unified data format template to generate reconstructed performance data items with the same data structure, field names and field order at each detection time.

[0055] The original performance record sequence after inserting supplementary performance record units is the output of step S245, which mixes the original record units and the interpolated supplementary record units. The preset unified data format template is a metadata description that defines the standard structure of the output data; for example, it specifies which fields the data should contain, the data type of each field, and the order in which the fields appear in the records. Field normalization conversion refers to uniformly converting the different internal representations that may exist in the input record units into the format defined by the template. The reconstructed performance data item is the standard data record output after the conversion; the reconstructed performance data item corresponding to each detection time has exactly the same field names and field order.

[0056] First, a pre-defined unified data format template is loaded. This template may be stored in a configuration file in the form of JSON, XML, or a custom binary descriptor. The template defines the structure of the final output reconstructed performance data items, such as fields for "Detection Time Identifier" (64-bit integer), "Read / Write Operation Latency" (32-bit floating-point number), "Dynamic Power Consumption" (32-bit floating-point number), and "Core Temperature" (16-bit integer). The template specifies the order of these fields: first, the detection time identifier; then, the read / write operation latency; next, the dynamic power consumption; and finally, the core temperature. The original performance record sequence after interpolation generated in step S245 is traversed. For each record cell encountered, whether original or supplementary, a conversion operation is performed. The original binary representation of the detection time identifier is extracted from the record cell and converted to a 64-bit integer format consistent with the template. The original data of the read / write operation latency is extracted from the record cell; this original data may be a time value converted from a voltage value and converted to a 32-bit floating-point format. Similarly, power consumption and temperature data are extracted and transformed. These transformed data are written sequentially into an output buffer according to the field order defined in the template, forming a fixed-length binary data block. This data block corresponds to the reconstructed performance data item at the current detection time. All generated reconstructed performance data items are stored in a new dynamic array or file according to the order of their detection time identifiers.

[0057] Step S260: Aggregate and encapsulate all the reconstruction performance data items corresponding to all detection times in chronological order according to the detection time identifier, and generate a data reconstruction set that is continuous and seamless in the time dimension and has a consistent data structure.

[0058] The reconstructed performance data items are standardized data records generated in step S250 for each detection time. The temporal order of the detection time identifiers refers to the chronological order of the time points represented by these data items. Overall aggregation and encapsulation refers to combining all independent data items into a single logical whole, facilitating subsequent batch processing and analysis. The data reconstruction set is the final product, a complete dataset with no missing points on the timeline from the first detection time to the last detection time, and with all internal data items having a completely consistent structure.

[0059] Retrieve all reconstructed performance data items generated in step S250. These data items may already be stored in a dynamic array in memory in chronological order. Confirm the order of the data items. If they are not yet sorted, perform a final sort based on the detection time identifier to ensure absolute correctness. Create a new data file, for example, using HDF5 or NetCDF format, which supports the storage and efficient access of large cubes. In the file, create a root dataset, setting its dimension to the total number of detection times. Define the data type of this root dataset as a composite data type corresponding to the unified data format template defined in step S250. Iterate through the sorted list of reconstructed performance data items, treating each data item as an element, and sequentially write it to the file through the dataset's write interface. After writing, this file contains performance data from the start detection time to the end detection time, and the data at each time point has the same internal structure. This file is a continuous, seamless, and structurally consistent data reconstruction set in the time dimension.

[0060] Step S300: Perform association rule mining operation on the data reconstruction set, traverse the reconstruction performance data items in the data reconstruction set, identify the value fluctuation pattern of the reconstruction performance data items at different detection times, extract the frequent co-occurrence relationship between the reconstruction performance data items in the time dimension, and filter and generate a set of performance influence association patterns describing the association strength of performance status at different detection times based on the frequency of occurrence and association stability of the frequent co-occurrence relationship.

[0061] In one implementation, step S300 may specifically include the following steps S310 to S350: Step S310: Divide all reconstruction performance data items in the data reconstruction set into multiple consecutive time window units according to the detection time identifier order. Each time window unit contains reconstruction performance data items corresponding to consecutive detection times with a fixed capacity.

[0062] In one implementation, step S310 may specifically include the following steps S311 to S315: Step S311: Obtain the total number of reconstruction performance data items in the data reconstruction set and the detection time identifier of each reconstruction performance data item. Confirm that there are no breaks in the time axis of the data reconstruction set based on the continuity of the detection time identifier.

[0063] The total number of reconstruction performance data items refers to the number of data records contained in the entire dataset. The detection time marker for each reconstruction performance data item is its time axis. The absence of breakpoints on the time axis means that the intervals between the detection time markers of adjacent data items are continuous and as expected, without large jumps due to missing data.

[0064] Open the data reconstruction dataset file, read the file header or metadata to obtain the total number of data items, traverse the entire dataset, and read the detection time identifier of each data item. Starting from the second data item, calculate the difference between the detection time identifier of the current data item and the detection time identifier of the previous data item. Compare this difference with the preset target sampling interval. If all differences are within an acceptable tolerance range and no difference is significantly larger than the target interval, the time axis is confirmed to be continuous without breaks. If a difference is found to be significantly larger than the target interval, a warning can be issued or remedial measures can be taken. However, confirming continuity in this step is to ensure that subsequent window divisions are based on a uniform time axis.

[0065] Step S312: Preset a fixed capacity for the reconstruction performance data items contained in a single time window unit, and use the fixed capacity as the window sliding step size to perform non-overlapping segmentation of the reconstruction performance data item sequence starting from the first reconstruction performance data item in the data reconstruction set.

[0066] The fixed capacity is a pre-defined integer representing how many data items each window should contain. The window sliding step size in this implementation is equal to the fixed capacity because it's a non-overlapping partition. Non-overlapping partition means that each data item belongs to only one window unit, and there is no data sharing between windows.

[0067] Read a preset fixed capacity value, assuming it is N, define a starting index pointing to the first data item, and enter a loop. In each iteration, starting from the current starting index, retrieve N consecutive data items and encapsulate them into a time window unit. Then, increment the starting index by N, pointing to the starting position of the next window, and repeat this process until the starting index plus N exceeds the total number of data items.

[0068] Step S313: When the segmentation reaches the end of the reconstructed performance data item sequence, if the number of remaining reconstructed performance data items is less than the preset fixed capacity, the remaining reconstructed performance data items are independently formed into a tail time window unit.

[0069] The remaining reconstructed performance data items refer to the data items that are greater than zero but less than N after multiple partitions with a step size of N. The tail time window unit is a window specifically created for these remaining data items, and its capacity is less than the preset fixed capacity.

[0070] In the loop of step S312, after each move of the starting index, it is checked whether the current starting index plus N is greater than the total number of data items. If it is greater, it means that the number of remaining data items is the total number minus the current starting index. This remaining number is less than N, so the regular segmentation loop is exited. Then, starting from the current starting index, all remaining data items up to the end of the sequence are taken out and treated as a separate time window unit. This unit also has its own identifier and a list of data items it contains.

[0071] Step S314: Generate a unique window identifier for each segmented time window unit, and establish a one-to-many mapping relationship between the window identifier and the detection time identifier of all reconstructed performance data items belonging to that time window unit.

[0072] A window identifier is a code used to uniquely distinguish different time window units. A one-to-many mapping relationship means that one window identifier corresponds to multiple detection time identifiers, indicating that the data items at these times belong to the same window.

[0073] When creating each time window unit, whether it's a regular window or a tail window, an identifier is generated for it. This identifier can be generated using an auto-incrementing integer, such as Window 1, Window 2, or a string concatenated from the detection time identifiers of the first and last data items within the window. A mapping table, such as a hash table, is maintained, where the key is the window identifier and the value is a list storing the detection time identifiers of all data items belonging to that window. When a data item is assigned to a window, its detection time identifier is added to the corresponding window's list.

[0074] Step S315: Sort all time window units according to the starting order of the detection time identifiers containing the reconstruction performance data items, and generate a sequence of time window units arranged in order of their starting times.

[0075] The detection time marker start order refers to the chronological order of the earliest detection time markers within each window unit. The time window unit sequence is an ordered list of window units, and the order of the list reflects the progress of time.

[0076] After completing the segmentation and mapping of all windows, a list of all window identifiers is obtained. For each window identifier, its corresponding list of detection time identifiers is found from the mapping table. Then, the minimum value in this list, which is the earliest time within the window, is obtained. This earliest time is used as the sort key to sort all window identifiers. The resulting list of sorted window identifiers corresponds to a sequence of time window units arranged chronologically by their start times. The information of the window units can be stored in this order for subsequent chronological processing.

[0077] Step S320: Within each time window unit, the original performance status data carried by the reconstructed performance data item is discretized into intervals, and the continuously valued original performance status data is mapped to discrete status identifiers to generate a performance status label corresponding to each reconstructed performance data item.

[0078] The performance status raw data carried by the reconstructed performance data items are continuous values ​​generated in step S250, such as latency, power consumption, and temperature. Discretization interval division refers to dividing the entire range of these continuous values ​​into several continuous, non-overlapping intervals. The discrete state identifier is a symbol or code assigned to each interval, such as "low," "medium," or "high." The performance status label is the result obtained by replacing each raw data point with the discrete state identifier corresponding to the interval to which its value belongs.

[0079] First, discretized interval boundaries are defined for each performance metric. For read / write latency, thresholds can be set based on statistical distribution or expert experience. For example, latency values ​​below a certain percentile are classified as low latency, those between two percentiles as medium latency, and those above another percentile as high latency. These intervals are continuous and cover all possible values. Each time window is iterated, and for each reconstructed performance data item within the window, each performance metric is processed sequentially to obtain the original value of the current performance metric. Then, a series of conditional judgments determine which predefined interval the value falls into. For example, it checks if the latency value is less than the upper limit of the low latency interval; if so, it assigns the discrete state identifier "low latency." If not, it checks if it is less than the upper limit of the medium latency interval; if so, it assigns "medium latency," otherwise "high latency." The same processing is applied to metrics such as power consumption and temperature. After processing all metrics for a data item, a label vector containing multiple discrete state identifiers is generated for that data item. For example, the label for this item might be {high latency, low power consumption, medium temperature}. This label vector represents the performance state label at that detection moment.

[0080] Step S330: Count the number of times performance status labels co-occur at different detection times within the same time window unit in all time window units, calculate the co-occurrence frequency between any two performance status labels and the ratio of the co-occurrence frequency to the occurrence frequency of a single performance status label, and generate an initial candidate set of association rules.

[0081] Performance status labels at different detection times within the same time window unit refer to the discrete states appearing at different points in time within a window. Co-occurrence frequency refers to the total number of events where two different status labels each appear at least once within the same window. Co-occurrence frequency is the absolute number of such co-occurrences. The frequency of a single performance status label refers to the total number of windows in which a certain status label has appeared. The ratio, obtained by dividing the co-occurrence frequency by the frequency of the preceding status label, reflects the reliability of the association. The initial candidate set of association rules is the set of all rule pairs that have been initially discovered and may have associations, along with their statistics.

[0082] First, the form of the association rule needs to be defined, such as the rule "If state X occurs, then state Y also occurs," where X and Y can be states at different detection times, different indicators at the same time, or a combination of indicators and time offsets. In this embodiment, the focus is on discovering the sequential influence relationship in the time dimension, so the relationship between the state at the previous detection time and the state at the next detection time may be considered. An empty dictionary or mapping table is initialized to store candidate rules, and all time window units generated in step S310 are traversed. For each time window unit, the performance state label sequence of all detection times within the window is extracted, which can be scanned within the window using a sliding sub-window approach. For example, setting a time span and considering the states of the previous and next time steps, for each pair of adjacent time steps within a window, record the combination of a certain state label from the previous time step and a certain state label from the next time step. Use this combination as the key of a candidate rule and increment the count of this key in the dictionary, indicating that the situation where this pair of states, within the same window, satisfies the temporal order has occurred again. Simultaneously, record the number of windows in which each state label appears individually; that is, if a label appears at least once within a window, increment its independent frequency by one. After traversing all windows, the dictionary stores the total frequency of each predecessor-successor state pair (co-occurrence frequency) and the independent frequency of each state label. For each candidate rule in the dictionary, calculate the ratio of its co-occurrence frequency to the independent frequency of its predecessor state label. Store the predecessor state, successor state, co-occurrence frequency, and this ratio together to form an initial candidate set of association rules.

[0083] Step S340: Filter redundant rules in the initial candidate set of association rules, remove association rules whose co-occurrence frequency is lower than the preset lower limit, and retain association rules whose co-occurrence frequency to the frequency of a single performance status label is higher than the preset lower limit, thus generating a simplified set of association rules.

[0084] In one implementation, step S340 may specifically include the following steps S341 to S345: Step S341: Parse each association rule in the initial candidate set of association rules into the predecessor performance status label, the successor performance status label, and the co-occurrence frequency of the predecessor performance status label and the successor performance status label within the same time window unit.

[0085] The predecessor performance status label is the state that serves as a prerequisite in the rule. The successor performance status label is the state that serves as the conclusion in the rule. Co-occurrence frequency is the total number of times that this predecessor and successor pair appear simultaneously across all window units, satisfying the temporal order.

[0086] The initial candidate set of association rules is traversed. For each record in the set, it is treated as a structured data item. Through field parsing, the field values ​​representing the predecessor state, the field values ​​representing the successor state, and the numerical field representing the frequency of their co-occurrence are extracted. For example, a record might be stored as {Predecessor: "High Delay", Successor: "High Temperature", Frequency: a certain value}. These values ​​are then read into different variables for subsequent processing.

[0087] Step S342: Calculate the total frequency of independent occurrence of each precursor performance status label in all time window units of the entire data reconstruction set, and store the total frequency of independent occurrence and the co-occurrence frequency in the same association rule data structure.

[0088] The total independent occurrence frequency refers to the number of different time window units in which a certain predecessor performance status label appears, regardless of whether it appears simultaneously with a successor. The data structure of an association rule refers to the record storing rule information; now, we need to add a field to store this independent occurrence frequency.

[0089] In step S330, the independent occurrence window frequency of each status label has been counted. This statistical result may be stored in a separate mapping table, such as a dictionary, where the key is the status label and the value is the independent occurrence frequency. Now, each rule in the simplified association rule candidate set is traversed. For each rule, its predecessor performance status label is obtained, and then this label is used as the key to look up the previously established mapping table to obtain the total independent occurrence frequency of the label. This total independent occurrence frequency is added as a new field to the data structure of the current rule. In this way, each rule now contains four pieces of information: predecessor, successor, co-occurrence frequency, and predecessor independent occurrence frequency.

[0090] Step S343: Perform the first round of screening on the initial candidate set of association rules, remove association rules whose co-occurrence frequency value is less than the preset lower limit of co-occurrence frequency, and retain association rules whose co-occurrence frequency reaches or exceeds the preset lower limit of co-occurrence frequency as the first round of retained rule set.

[0091] The first round of screening is based on the absolute frequency of occurrence. The preset lower limit of co-occurrence frequency is an integer threshold used to filter out rules that lack statistical significance due to insufficient sample size.

[0092] Starting with the initial candidate set of association rules containing independent occurrence frequencies obtained in step S342, a preset lower limit value for co-occurrence frequency is read. Each rule in the set is iterated through, and the value of its co-occurrence frequency field is compared with the lower limit value. If the co-occurrence frequency is less than the lower limit value, the rule is removed from the candidate set or marked for deletion. If the co-occurrence frequency is greater than or equal to the lower limit value, the rule is retained and added to a new set. All retained rules together constitute the first round of retained rule set.

[0093] Step S344: Perform a second round of filtering on the first round of retained rule set. Calculate the percentage ratio of the co-occurrence frequency of each association rule in the first round of retained rule set to the total frequency of independent occurrence of the predecessor performance status label. Eliminate association rules with a percentage ratio less than the preset lower limit and retain association rules with a percentage ratio that reaches or exceeds the preset lower limit as the second round of retained rule set.

[0094] The second round of screening is based on credibility. The percentage ratio is calculated by dividing the co-occurrence frequency by the frequency of the preceding independent occurrence, and then multiplying by 100%. The preset lower limit for the percentage ratio is a percentage threshold.

[0095] Obtain the first set of retained rules. For each rule in the set, read its co-occurrence frequency and the total frequency of its predecessors occurring independently. Then calculate a percentage value, which is equal to the co-occurrence frequency divided by the total frequency of its predecessors occurring independently, multiplied by 100. Read the preset lower limit of the percentage ratio and compare the calculated percentage with the lower limit. If the percentage is less than the lower limit, remove the rule from the first set of retained rules. If the percentage is greater than or equal to the lower limit, retain the rule. All rules that pass this round of filtering constitute the second set of retained rules.

[0096] Step S345: Classify and aggregate each association rule in the second round of retained rule set according to the predecessor performance status label, and sort the successor performance status labels in descending order of co-occurrence frequency under the same predecessor performance status label to generate a structured and concise association rule set.

[0097] Categorization and aggregation refers to grouping rules with the same predecessor state label together. Sorting by co-occurrence frequency means arranging the possible successor states of the same predecessor state according to their frequency of occurrence. Structured storage refers to organizing processed data into a clear hierarchical structure for easier subsequent querying and use.

[0098] Obtain the second set of retained rules and create a new data structure, such as a mapping table, where the key is the predecessor performance status label and the value is a list. Iterate through each rule in the second set of retained rules, retrieve its predecessor status label, and then look it up in the mapping table. If the mapping table does not contain a list corresponding to the predecessor status, create a new empty list and add the rule to it. If a list already exists, append the rule directly to it. After classifying all rules, iterate through each key in the mapping table. For each key's corresponding list, sort the rules in the list in descending order based on the co-occurrence frequency field, ensuring that the successor status with the highest co-occurrence frequency is at the beginning of the list. After processing all predecessor statuses, this mapping table becomes a structured, concise set of association rules, which can be serialized and stored in a file or database.

[0099] Step S350: Convert each association rule in the simplified association rule set into a directed association segment pointing from the predecessor performance state to the successor performance state. Assign an association strength metric to each directed association segment. The association strength metric has a positive monotonic relationship with the co-occurrence frequency. Aggregate all directed association segments to form a performance impact association pattern set.

[0100] The simplified association rule set is the set of rules selected in step S340. A directed association segment is a graphical representation, using arrows to point from the predecessor state to the successor state, intuitively indicating the direction of influence. The association strength metric is a numerical value used to quantify the strength of the association; it is usually positively correlated with co-occurrence frequency, meaning the more times it occurs, the stronger the association. The performance impact association pattern set is the set of all directed association segments, forming a network describing the influence relationships between performance states.

[0101] Iterate through the simplified association rule set generated in step S340. For each rule, take its predecessor performance state label as the starting point of the directed line segment and its successor performance state label as the ending point of the directed line segment. Assign an association strength metric to this line segment. This metric can be the co-occurrence frequency of the rule, its percentage ratio, or a combination of both to calculate a comprehensive score, as long as it has a positive monotonic relationship with the co-occurrence frequency, that is, the higher the co-occurrence frequency, the larger the metric. Encapsulate the three elements of the starting point, ending point, and metric into an object, representing a directed association line segment. Collect all the generated directed association line segments and put them into a set. This set is the performance impact association pattern set, which fully describes the transition relationship and its strength from various predecessor states to successor states.

[0102] Step S400: Map the performance impact association pattern set to the state transition space. Use each performance state in the performance impact association pattern set as a node and the association strength in the performance impact association pattern set as the association metric of the edges between nodes to construct a directed weighted performance state evolution graph. Apply a graph density calculation algorithm to the performance state evolution graph to identify regions where the state transition path density exceeds a preset graph density threshold. Extract state transition sequences with a state transition frequency higher than the average transition frequency from these regions as key state transition paths.

[0103] In one implementation, step S400 may specifically include the following steps S410 to S450: Step S410: Traverse each directed association segment in the set of performance impact association patterns, parse the predecessor performance state from each directed association segment as the starting point of the graph node, parse the successor performance state as the ending point of the graph node, and extract the association strength metric value carried by the directed association segment.

[0104] Each directed association segment in the performance-affected association pattern set is generated in step S350. The predecessor performance state is the starting point of the segment. The successor performance state is the ending point of the segment. The association strength metric is the weight carried on the segment. The starting and ending points of the graph nodes are the vertices in the graph structure to be constructed.

[0105] Sequential reading affects the performance of each record in the set of association patterns. Each record encapsulates a starting state, an ending state, and a weight value. The string name of the starting state, the string name of the ending state, and the weight value are obtained through the field accessor method. These three values ​​are temporarily stored in variables in memory for subsequent graph construction operations.

[0106] In one implementation, step S410 may specifically include the following steps S411 to S415: Step S411: Read an unprocessed directed association segment record sequentially from the performance impact association pattern set, perform field segmentation on the directed association segment record, and locate the predecessor performance status identifier field, the successor performance status identifier field, and the association strength metric field.

[0107] Field partitioning refers to the operation of decomposing a structured record into its constituent parts. The predecessor performance status identifier field stores the starting state of the record. The successor performance status identifier field stores the ending state of the record. The association strength metric field stores the weights of the record.

[0108] Maintain a pointer or iterator to a set of performance-impacting association patterns, initially pointing to the first record. In each iteration, retrieve the current record. Based on a predefined record format, such as comma-separated lines of text or binary structures, perform the appropriate parsing operations. For text formats, use a string splitting function to divide a line of text into multiple fields according to delimiters. For binary formats, read the corresponding values ​​directly from memory based on field offsets and data types. From the split results, identify which field is the predecessor state identifier, which is the successor state identifier, and which is the metric value based on the field order or name.

[0109] Step S412: Convert the content of the predecessor performance status identifier field into a candidate name for the starting point of the node in the performance status evolution graph, and convert the content of the successor performance status identifier field into a candidate name for the ending point of the node in the performance status evolution graph.

[0110] The candidate name for the starting point of a node is a temporary node identifier used to represent the predecessor state in the graph. The candidate name for the ending point of a node is a temporary node identifier representing the successor state.

[0111] From the fields parsed in step S411, obtain the original content of the predecessor performance status identifier field. This content is usually a string, such as "high latency," and is directly used as a candidate name for the node's starting point. Similarly, the string content of the successor performance status identifier field is used as a candidate name for the node's ending point.

[0112] Step S413: Determine whether the candidate name of the node starting point already exists in the temporary collection of the currently constructed performance status nodes. If it does not exist, create a new performance status node for the candidate name and store it in the temporary collection. If it exists, directly reference the existing performance status node.

[0113] The performance state node temporary collection is a container used to store all created nodes, such as a hash table with node names as keys. Creating a new performance state node means allocating a data structure in memory to represent that state. Referencing an existing performance state node means directly using the same node object that was previously created.

[0114] Maintain a hash table where the key is the node name and the value is a pointer or reference to a node object. Use the candidate node starting point name obtained in step S412 as the key to search the hash table. If the hash table does not contain this key, it means this is the first time this state has been encountered. Create a new node object, set its name to the candidate name, and then store this new node in the hash table with the candidate name as the key, retrieving a reference to this new node. If the hash table already contains this key, directly retrieve the corresponding node reference from the hash table. For candidate names of node ending points, perform the same judgment and search or creation operation.

[0115] Step S414: Determine whether the candidate name of the node endpoint already exists in the temporary collection of the currently constructed performance status nodes. If it does not exist, create a new performance status node for the candidate name and store it in the temporary collection. If it exists, directly reference the existing performance status node.

[0116] This step is logically the same as step S413, except that it processes the node's endpoint. The candidate endpoint names obtained in step S412 are again searched in the same hash table. If the endpoint does not exist, a new node is created and stored; otherwise, a reference to the existing node is retrieved. After these two steps, two node objects representing the start and end points of the currently processed directed line segment have been determined.

[0117] Step S415: Use the metric value of the association strength metric field as the initial association metric value of the directed connection edge from the node start point to the node end point to be established, and store the node start point, node end point and initial association metric value together in the temporary edge set.

[0118] The initial association metric of a directed connection edge is the weight of the edge to be added to the graph, and the temporary edge set is a container used to temporarily store information about all edges to be added.

[0119] The value of the association strength metric field has been obtained from step S411. Combining the node start-point object and node end-point object obtained or created in steps S413 and S414, we now have all the elements needed to construct an edge. Create a new edge record containing three fields: start-point node reference, end-point node reference, and weight value. Add this edge record to a temporary edge set, such as a list, that records all the original connection information parsed from the performance impact association pattern set. There may be duplicate edges, i.e., the same start and end points appear multiple times.

[0120] Step S420: Deduplicate and merge all the parsed graph node start points and graph node end points to generate a node set of the performance state evolution graph. Each performance state node in the node set has a unique identifier.

[0121] Deduplication and merging refers to organizing all candidate node names that appear once or multiple times into a unique list. The set of nodes in the performance state evolution graph is the result of this deduplication process, and it is the formal set of all vertices that constitute the graph. A unique identifier is a mark that distinguishes different nodes, such as the node name itself.

[0122] The hash table maintained in steps S413 and S414 has naturally deduplicated all nodes because a new node is added to the hash table each time it is created, and subsequent encounters with nodes of the same name simply retrieve the existing node from the hash table. Therefore, after traversing all directed association segments in the performance impact association pattern set, this hash table contains all the nodes that have appeared, and each node appears only once. This hash table can be traversed to extract all node objects and place them into a list; this list is the node set of the performance state evolution graph. Each node object in the set contains its unique identifier, i.e., its state name.

[0123] Step S430: Based on the directional relationship between the predecessor and successor performance states of each directed associated line segment, establish directed connection edges between the corresponding performance state nodes in the node set, and assign the association strength metric of the directed associated line segment to the corresponding directed connection edge to generate a directed weighted performance state evolution graph containing nodes and directed connection edges.

[0124] A directed edge is a directed connection established between two nodes. Establishing a directed edge means recording in the graph data structure that there is an edge from node A to node B. The directed weighted performance state evolution graph is the final graph data structure, containing all nodes and all weighted directed edges.

[0125] Obtain the node set generated in step S420, but more importantly, the mapping relationships between the nodes. Iterate through the temporary edge set generated in step S415. For each edge record in the temporary edge set, it contains the starting node, ending node, and weight value. This edge needs to be added to the final graph structure. One implementation is to maintain an adjacency list for each node, which is a list of other nodes reachable from that node and their weights. Find the starting node object, and then check in its adjacency list whether an edge pointing to the ending node already exists. If it does not exist, add an entry to the starting node's adjacency list, recording the ending node and weight. If it already exists, you can choose to accumulate the weight, take the maximum value, or update the weight according to a certain strategy. After processing all temporary edges, each node's adjacency list completely records all directed weighted edges originating from that node. This data structure, composed of the node set and each node's adjacency list, is the directed weighted performance state evolution graph.

[0126] Step S440: In the directed weighted performance state evolution graph, perform a breadth-first traversal starting from each performance state node, and record all path sequences that can be reached from the starting point and the sum of the association strength metric values ​​of the nodes passed through by each path sequence.

[0127] Breadth-first search (BFS) is a graph traversal algorithm that starts from the starting node, visits all its direct neighbors, then the neighbors of those neighbors, and so on. A path sequence is a sequential list of nodes traversed from the starting node to a reachable node. The cumulative association strength metric is the sum of the weights of all edges along the path.

[0128] Obtain the node set from the graph constructed in step S430, initialize an empty path record set, and traverse each node in the node set, using it as the starting point for a breadth-first traversal. For each starting point, use a queue data structure for breadth-first traversal. The queue stores the path information currently being explored, which may include the current node, the path from the starting point to the current node, and the cumulative weight. Add the starting node to the queue, the path is the starting node itself, and the cumulative weight is zero. Then, enter a loop. As long as the queue is not empty, take an element from the head of the queue, record the currently taken path and its cumulative weight, and add it to the path record set. Then, check the adjacency list of the current node to obtain all the successor nodes pointed to by directed edges originating from the current node. For each successor node, construct a new path, that is, extend the original path and add this successor node, and calculate the new cumulative weight as the original cumulative weight plus the weight of this edge. Add this new path and its cumulative weight as a new element to the tail of the queue, and continue the loop until the queue is empty. When the queue is empty, all reachable paths starting from the current node have been explored and recorded. Continue to select the next node as the starting point and repeat the above process until all nodes have been processed as starting points.

[0129] In one implementation, step S440 may specifically include the following steps S441 to S445: Step S441: Select a performance state node that was not selected as the starting point from the node set of the directed weighted performance state evolution graph as the root node of the current breadth-first traversal, initialize a queue and enqueue the root node.

[0130] The root node is the starting point for this traversal, and the queue is a first-in-first-out data structure used to control the traversal order.

[0131] Maintain a set or array of markers to record which nodes have been traversed as starting points. Randomly or sequentially select an unmarked node from the set of nodes and mark it as a starting point. Create an empty queue data structure and encapsulate the root node into a path element. This path element contains the current node as the root node. The path list only contains the root node and has a cumulative weight of zero. Add this path element to the queue.

[0132] Step S442: When the queue is not empty, take the head node of the queue as the current access node, record all the node sequences from the root node to the current access node as a temporary path, and calculate the sum of the association strength metric values ​​of all directed edges on the temporary path.

[0133] The head node of the queue contains the path information to be processed. The temporary path is the sequence of nodes from the root node to the current node. The cumulative sum is the sum of the weights of all edges on this path. A loop is entered, conditionally provided that the queue is not empty. Within the loop, a dequeue operation is performed, retrieving a path element from the head of the queue. From this path element, we can obtain the current node, the list of paths from the root node to the current node, and the current cumulative weight. This list of paths and its cumulative weight are stored as a record in a temporary result set; this record represents a path reachable from the root node.

[0134] Step S443: Traverse all outgoing edges pointing to the successor nodes of the currently visited node. For each unvisited successor node, enqueue the successor node and update the path sequence from the root node to the successor node and the cumulative sum of the association strength metric.

[0135] The successor node pointed to by the outgoing edge is the node that can be directly reached from the current node via a directed edge. "Unvisited" means that the node has not been explored in the current traversal starting from the root node. "Enqueue" adds new path information to the tail of the queue.

[0136] Obtain the adjacency list of the current node to get a list of all successor nodes originating from the current node, and iterate through each successor node in this list. To avoid loops or repeated visits in the traversal of the same root node, it is necessary to check whether the successor node has already appeared in this path. A simple method is to check whether the successor node is already included in the path list from the root node to the current node. If it is already included, skip it to avoid loops. If it is not included, construct a new path list, which is the original path list with the successor node appended to it. Calculate the new cumulative weight, which is equal to the original cumulative weight plus the weight of the edge from the current node to the successor node. Encapsulate the new path list, the new cumulative weight, and the successor node itself into a new path element, and then enqueue this new element to the tail of the queue.

[0137] Step S444: When the queue is empty, complete the exploration of all paths starting from the root node, and accumulate and store all path sequences starting from the root node and their corresponding association strength metrics in the path record set.

[0138] An empty queue means that all reachable paths originating from that root node have been explored. The path record set is a container used to store all paths originating from each root node. In the loop of step S442, discovered paths are continuously added to the temporary result set. The loop ends when the queue becomes empty. At this point, the temporary result set contains all possible paths reachable from the root node of this traversal and their cumulative weights. This temporary result set, along with information identifying which root node it originated from, is stored in a global path record set.

[0139] Step S445: Repeat the above operation until all performance status nodes in the node set are selected as starting points to perform breadth-first traversal, generating a complete path record set containing information on all starting points and their reachable paths.

[0140] Repeating the above operation means returning to step S441, selecting the next node that was not selected as the starting point, and executing the process from S441 to S444 again. Once all nodes in the node set have been processed as starting points, the entire traversal process ends. At this point, the global path record set contains all possible paths from each node to all other reachable nodes, along with their cumulative weights, forming a complete path record set.

[0141] Step S450: Identify path sequences in all path sequences whose cumulative sum of association strength metrics exceeds a preset cumulative sum threshold as high-weight path regions, and extract continuous node subsequences from high-weight path regions whose node occurrence frequency exceeds a preset frequency threshold as key state transition paths.

[0142] The cumulative sum of association strength metrics is the total weight calculated for each path in step S440. A preset cumulative threshold is a weight boundary used to filter out important paths. The high-weight path region is the set of paths with high total weight. Node occurrence frequency refers to the number of times a node or subsequence is included in numerous high-weight paths. A preset frequency threshold is a criterion used to filter out frequently occurring patterns. A continuous node subsequence is a consecutive sequence of nodes within a high-weight path. Critical state transition paths are the ultimately identified important patterns in the evolution of system performance.

[0143] Obtain the complete path record set generated in step S440, which contains each path originating from each node and its cumulative weight. Read the preset cumulative weight threshold, traverse all paths, and filter out paths with a cumulative weight greater than or equal to the threshold, placing them into a new set. This set is the high-weight path region. Next, analyze these high-weight paths to find frequently occurring continuous state transition patterns. Sequence pattern mining algorithms can be applied, such as traversing all high-weight paths, extracting all possible continuous subsequences, and counting the occurrence frequency of each subsequence. Since paths can be very long, the length range of subsequences can be limited, for example, only considering subsequences with a length from two to a certain maximum value. Count the occurrence frequency of each subsequence, read the preset frequency threshold, and filter out subsequences with an occurrence frequency greater than or equal to the threshold. These subsequences represent recurring state change chains in high-weight evolution paths, i.e., key state transition paths. Output these key state transition paths.

[0144] Step S500: Generate detection adjustment instructions for the LPDDR performance testing process based on the state transition sequence contained in the key state transition path. Send the detection adjustment instructions back to the detection control unit of the LPDDR performance testing system through the detection control interface. The detection control unit parses the detection adjustment mapping relationship contained in the detection adjustment instructions and reconfigures the sampling frequency and execution order of the LPDDR performance testing system during the testing period according to the detection adjustment mapping relationship.

[0145] In one implementation, step S500 may specifically include the following steps S510-S560: Step S510: Analyze each state transition sequence in the key state transition path, and extract the transition direction between the predecessor performance state and the successor performance state in the state transition sequence, as well as the detection time interval corresponding to the occurrence of the transition.

[0146] Each state transition sequence in a critical state transition path consists of consecutive nodes. The predecessor performance state is the starting point of the transition. The successor performance state is the ending point of the transition. The transition direction indicates the direction of the influence. The detection time interval refers to the temporal range in which this transition event occurs.

[0147] Traverse each key state transition path. For each pair of adjacent nodes on the path, treat it as a state transition event, recording the state name of the preceding node as the predecessor and the state name of the following node as the successor. To determine the detection time interval for the transition, it is necessary to backtrack to the original data. The nodes of the path identified in step S450 originate from the graph constructed in steps S410 to S440, and the nodes of the graph originate from the association rules in steps S330 to S350. The statistical basis of these rules is time windows. Therefore, it is necessary to find out within which specific time windows this predecessor-successor transition occurs frequently. This can be done by accessing the detailed records of co-occurrence frequency statistics generated in step S330 and finding the identifiers of all windows containing this predecessor-successor pair. Then, based on the window identifiers, map back to the detection time range contained in the window, and take the union of the time ranges of these windows or a representative interval as the detection time interval corresponding to the transition event.

[0148] In one implementation, step S510 may specifically include the following steps S511 to S515: Step S511: Sequentially obtain a state transition sequence from the critical state transition path, split the state transition sequence into consecutively arranged individual performance state nodes, and mark the transition events between adjacent performance state nodes.

[0149] A state transition sequence is an ordered list of nodes. Splitting refers to breaking this list down into individual nodes. A transition event is a jump from one node to the next. A path is read from the set of critical state transition paths, for example, [state A, state B, state C]. This list is traversed iteratively, starting from the first element and going up to the second-to-last element. For the current index i, nodes i and i+1 are incremented to form an adjacent pair, marking a transition event between them, from the former node to the latter.

[0150] Step S512: Generate a unique transfer event identifier for each transfer event, record the performance state node that appears earlier in the transfer event as the predecessor performance state, and record the performance state node that appears later in the transfer event as the successor performance state.

[0151] The transition event identifier is a code used to uniquely distinguish each event. The predecessor performance state and the successor performance state are the two endpoints that constitute the event. After identifying each pair of adjacent nodes in step S511, an identifier is generated for this pair. The identifier can be composed of the predecessor state name, the successor state name, and their order in the path, such as "state A to state B event", which explicitly records that the first node in this pair is the predecessor and the second node is the successor.

[0152] Step S513: Based on the positions of the predecessor and successor performance states in the performance state evolution graph during the transition event, trace the earliest and latest detection times of the predecessor performance state nodes in the data reconstruction set, and similarly trace the earliest and latest detection times of the successor performance state nodes in the data reconstruction set.

[0153] The nodes in the performance state evolution graph represent discrete states, and the data reconstruction set contains the specific state label for each detection time. The earliest and latest detection times refer to the specific time points when a certain state first appears and last appears in the dataset. An index needs to be established from the state labels to the list of their occurrence times. This index can be established when generating performance state labels in step S320. A mapping table is maintained, where the key is the state label and the value is a list storing all detection times when that state occurs. The predecessor state label of the transition event determined in step S512 is obtained, and this label is used to look up the state in the mapping table to obtain a list of all times when that state occurs. The minimum value in this list is taken as the earliest detection time, and the maximum value is taken as the latest detection time. The same operation is performed on the successor state labels to obtain the earliest and latest detection times of the successor state.

[0154] Step S514: Define the time span between the earliest detection time of the predecessor performance state node and the latest detection time of the successor performance state node as the detection time interval corresponding to the transfer event, and associate and store the start and end times of the detection time interval with the transfer event identifier.

[0155] The time span is the elapsed time from the earliest occurrence of the predecessor state to the latest occurrence of the successor state. The detection time interval is defined by a start time and an end time. Associated storage refers to binding this time interval information to the corresponding transition event identifier. The earliest time of the predecessor state obtained in step S513 is used as the start time of the detection time interval, and the latest time of the successor state is used as the end time of the detection time interval. These two time points define a time range within which both the predecessor and successor states are active, and transitions between them may occur. The start time, end time, and transition event identifier generated in step S512 are combined into a record and stored in a new set.

[0156] Step S515: Repeat the above operation until all state transition sequences in the critical state transition path have been processed, and generate a set of detailed information about the transition events, including the predecessor performance state, the successor performance state, and the corresponding detection time interval for each transition event.

[0157] Repeating the above operations means performing operations S511 to S514 for each transition event in each critical state transition path. After all events in all paths have been processed, a detailed list is obtained, which contains specific information about each important transition event: what state it is transitioning to, and roughly in which time interval this transition occurred. This list is the set of detailed information about the transition events.

[0158] Step S520: Based on the correspondence between the transfer direction and the detection time interval, establish an initial mapping table between the performance state transfer direction and the detection adjustment type. Each performance state transfer direction in the initial mapping table is associated with a set of detection item identifiers to be adjusted.

[0159] The correspondence between the transition direction and the detection time interval indicates which type of transition occurred within which time period; the performance state transition direction is the direction from predecessor to successor. The detection adjustment type refers to the types of configuration changes that can be made, such as increasing the sampling rate, decreasing the sampling rate, or changing the test order. The initial mapping table is a rule table that associates a certain transition direction with a set of suggested adjustment operations. The detection item identifier to be adjusted is the code for the specific test item to be adjusted, such as "temperature test" or "delay test".

[0160] This process relies on a predefined expert knowledge base or a rule base learned from historical data through machine learning. This knowledge base contains mapping rules such as "when transitioning from high latency to high temperature, the temperature sampling frequency should be increased," and it iterates through the set of detailed transition event information generated in step S515. For each transition event, its predecessor and successor states are obtained. Using this predecessor-successor pair as the key, the corresponding adjustment suggestion is searched in the knowledge base. The knowledge base returns a set of adjustment operations, such as "increase the temperature sampling rate" or "advance the temperature testing sequence." These adjustment operations are parsed into specific detection item identifiers and adjustment types, such as the identifier "temperature sensor" and the type "increase sampling rate." The predecessor-successor pair of the current transition event and this set of detection item identifiers to be adjusted are added as an entry to the initial mapping table.

[0161] Step S530: Perform conflict detection on multiple sets of adjustment detection item identifiers associated with the same performance state transition direction in the initial mapping table. When there is a contradiction between the adjustment detection item identifiers pointed to by different detection time intervals, take the adjustment detection item identifier with the highest frequency as the final mapping result and generate a one-to-one mapping relationship between the performance state transition direction and the detection adjustment identifier.

[0162] The same performance state transition direction refers to the same predecessor-successor pair. Multiple sets of detection item identifiers to be adjusted may come from the same transition event in different time intervals, and the adjustment suggestions they give may be the same or different. Conflict detection refers to identifying inconsistencies between these different suggestions, such as one suggestion to increase the sampling rate and another suggestion to decrease the sampling rate. A one-to-one mapping relationship means that a unique adjustment scheme is ultimately determined for each transition direction.

[0163] Obtain the initial mapping table generated in step S520, which may contain multiple records with the same predecessor-successor pairs but different recommendations. Group these records according to the predecessor-successor pairs. For multiple records within each group, analyze their target detection item identifiers. For example, for the same transition direction, some records recommend increasing the temperature sampling rate, while others recommend keeping it unchanged. Count the frequency of each recommendation and use the recommendation with the most frequent occurrences as the final mapping result for that transition direction. If there is a tie, a preset priority rule can be used, or a more conservative recommendation can be retained. After processing all groups, each performance state transition direction corresponds to only one unique set of detection adjustment identifiers, forming a simplified one-to-one mapping relationship.

[0164] Step S540: Encode the one-to-one mapping relationship into a structured instruction data packet, write the address identifier of the target detection control unit into the header of the structured instruction data packet, and sequentially store the key-value pair sequence of performance state transition direction and detection adjustment identifier in the data payload area of ​​the structured instruction data packet.

[0165] A structured instruction packet is a data block organized according to a set format, facilitating network transmission and parsing. The header is the beginning of the packet and contains addressing information. The address identifier for the target detection control unit is the receiver's network address or device address. The payload area stores the actual instruction content. The key-value pair sequence is the encoded form of the adjustment rules; for example, each rule is encoded as "transfer direction A | adjustment operation B".

[0166] The one-to-one mapping relationship generated in step S530 is serialized by first creating a data buffer. At the beginning of the buffer, the address identifier of the target detection and control unit, such as a MAC address or IP address, is written. After the address identifier, the payload data is written. The payload data can be encoded in a type-length-value format. Each entry in the mapping relationship is traversed; for each entry, the code representing the performance state transition direction is written first, followed by the code of the detection adjustment identifier corresponding to that direction. After all entries are sequentially written to the buffer, the entire buffer constitutes a complete structured instruction data packet.

[0167] Step S550: The encoded structured instruction data packet is sent to the detection control unit of the LPDDR performance detection system through the detection control interface. The detection control unit parses the key-value pair sequence from the data payload area of ​​the structured instruction data packet and locates the sampling frequency configuration register and the detection item sequence configuration register stored inside the detection control unit according to the detection adjustment flag in the key-value pair sequence.

[0168] The detection control interface is the physical communication link, such as an Ethernet port or serial port. The detection control unit is a processor or microcontroller at the receiving end. Parsing the key-value pair sequence refers to the receiving end reconstructing the original adjustment instructions from the data packets in reverse order of encoding. The sampling frequency configuration register is a storage unit in the detection system hardware whose value determines the sampling rate. The detection item sequence configuration register is another storage unit whose value determines the execution order of the tests.

[0169] The host computer program sends out the data packet generated in step S540 through the detection control interface, such as by sending UDP packets via socket programming. After receiving the data packet, the network interface on the detection control unit of the LPDDR performance detection system passes it to the upper-layer protocol stack for parsing. The application program on the control unit extracts the contents of the data payload area from the parsed data. According to a predefined encoding format, the application program reads the key-value pairs in the payload area one by one, recovering the correspondence between the performance state transition direction and the detection adjustment identifier. The application program internally maintains a register address mapping table, which lists the address of the specific hardware register corresponding to each detection adjustment identifier. For each parsed adjustment instruction, the application program searches the mapping table based on its detection adjustment identifier to find the address of the corresponding sampling frequency configuration register or detection item sequence configuration register.

[0170] Step S560: The detection control unit reads the current value of the sampling frequency configuration register and compares it with the target value. If the current value is inconsistent with the target value, the value of the sampling frequency configuration register is updated to the target value. At the same time, the detection control unit reads the current execution order of the detection item sequence configuration register and rearranges the execution order of the detection items according to the execution order adjustment instructions carried in the key-value pair sequence.

[0171] In one implementation, step S560 may specifically include the following steps S561 to S565: Step S561: After the detection control unit receives the structured instruction data packet, it first verifies whether the header address identifier of the structured instruction data packet matches the local address identifier. If the match is successful, it enters the instruction parsing state.

[0172] The header address identifier is the destination address written by the sender, and the local address identifier is the receiver's own address. A successful match means that the data packet was indeed sent to this device. The detection control unit obtains the complete structured instruction data packet from the network hardware receive buffer. It first extracts the address identifier field from the packet header. The control unit's internal firmware stores the device's address identifier. The control unit compares these two addresses. If they match, further processing continues. If they do not match, the data packet is discarded.

[0173] Step S562: Read the key-value pair sequence one by one from the data payload area of ​​the structured instruction data packet. The key part of each key-value pair is the detection adjustment identifier, and the value part of each key-value pair is the adjustment target setting value.

[0174] The key-value pair sequence is the core content of the load area. The detection adjustment identifier is the key, indicating which parameter to adjust. The adjustment target setpoint is the value, indicating what to adjust to. After address verification is successful, the control unit moves the data pointer to the beginning of the data load area. It begins to loop, reading data according to a predefined format. In each iteration, it first reads a field representing the detection adjustment identifier, such as an integer code, and then reads the next field, which represents the adjustment target setpoint, such as a new sampling frequency value or a new sequence value. The control unit stores this identifier and value pair in memory. The loop continues until all data in the load area has been read.

[0175] Step S563: When the detection adjustment flag points to the sampling frequency configuration register, the detection control unit parses the target sampling frequency value from the adjustment target setting value, and at the same time reads the current sampling frequency value currently stored in the sampling frequency configuration register, calculates the difference between the target sampling frequency value and the current sampling frequency value, and if the difference is not zero, starts the write operation of the sampling frequency configuration register.

[0176] The sampling frequency configuration register is a specific hardware register address, and the target sampling frequency value is the specific frequency value extracted from the setpoint. The difference comparison is the basis for determining whether an update is needed. After parsing a key-value pair, the control unit checks its adjustment detection flag. If the flag indicates an adjustment related to the sampling frequency, the control unit extracts the value representing the frequency from the target setpoint. The control unit sends a read command to the corresponding sampling frequency configuration register via the internal address bus to obtain the current frequency value. The control unit calculates the difference between the target value and the current value. If the difference is zero, it means the target state is already in place, and no action is needed. If the difference is not zero, the control unit sends a write command to the register, writing the target frequency value.

[0177] Step S564: When the detection adjustment flag points to the detection item sequence configuration register, the detection control unit parses the detection item name and the new execution order value that the detection item should be assigned from the adjustment target setting value. The detection control unit traverses all the detection item execution order lists stored in the detection item sequence configuration register and locates the old execution order value corresponding to the detection item name.

[0178] The detection item sequence configuration register may store a list or array. The detection item name is the identifier of the item to be adjusted, and the new execution order value is the position number that the item should be in. The old execution order value is its current position. After parsing a key-value pair, if the detection adjustment identifier points to the detection item sequence configuration, the control unit parses two parts of information from the adjustment target setting: an item name and an order value. The control unit reads the current order list stored in the detection item sequence configuration register. This list may be an array, with each element containing the item name and its current order. The control unit traverses this list, searching for elements whose item names match the item names in the instruction, and records the current order value of that element.

[0179] Step S565: The detection control unit writes the new execution order value into the order field corresponding to the name of the detection item in the detection item sequence configuration register, and sequentially shifts the execution order values ​​of other detection items whose original execution order values ​​are higher than the new execution order values ​​by one position to the right, thus completing the rearrangement of the execution order of the detection items.

[0180] The order field refers to updating the position of the item in the list. Shifting the order forward is to make room for items that are moved and to maintain the continuity and uniqueness of the order of all items.

[0181] In step S564, the control unit located the target item and recorded its old order. Now, the control unit prepares to update the list. If the new order is less than the old order, it means the item needs to be moved forward. Therefore, the order of all items whose old order is greater than or equal to the new order and less than the old order needs to be incremented by one. If the new order is greater than the old order, it means the item needs to be moved backward. Therefore, the order of all items whose old order is less than or equal to the new order and greater than the old order needs to be decremented by 1. Following this logic, the control unit traverses the entire order list, modifying the order values ​​of the affected items. Finally, it sets the order value of the target item to the new order. After modification, the control unit writes the entire updated order list back to the detection item sequence configuration register. At this point, the execution order adjustment of the detection items is complete.

[0182] This invention also provides a computer device, including a memory and a processor. The memory stores a computer program that can run on the processor. When the processor executes the program, it implements the steps in the big data mining method for LPDDR performance testing provided in this invention.

[0183] Please see details. Figure 3 This is a schematic diagram of the structure of a computer device provided in an embodiment of the present invention. Figure 3 As shown, the aforementioned computer device 1000 may include: a processor 1001, a network interface 1004, and a memory 1005. Furthermore, the computer device 1000 may also include: a user interface 1003, and at least one communication bus 1002. The communication bus 1002 is used to implement communication between these components. The user interface 1003 may include a standard wired interface or a wireless interface. The network interface 1004 may optionally include a standard wired interface or a wireless interface (such as a Wi-Fi interface). The memory 1005 may be high-speed RAM or non-volatile memory, such as at least one disk storage device. Optionally, the memory 1005 may also be at least one storage device located remotely from the aforementioned processor 1001. Figure 3 As shown, the memory 1005, which is a computer-readable storage medium, may include an operating system, a network communication module, a user interface module, and a device control application.

[0184] exist Figure 3 In the computer device 1000 shown, the network interface 1004 provides network communication functions; the user interface 1003 is mainly used to provide an input interface; and the processor 1001 can be used to call the device control application stored in the memory 1005 to implement the methods provided in the above embodiments.

[0185] It should be understood that the computer device 1000 described in the embodiments of the present invention can execute the foregoing text. Figure 2 The implementation principle and beneficial effects of the big data mining method applied to LPDDR performance testing described in the corresponding embodiments will not be elaborated here.

Claims

1. A big data mining method for LPDDR performance testing, characterized in that, The method includes: The system receives raw performance record streams that are continuously output by the LPDDR performance testing system during a continuous testing period. The raw performance record stream consists of multiple raw performance record units arranged in chronological order. Each raw performance record unit carries an independently generated testing time identifier and raw LPDDR performance status data collected at the corresponding testing time. The number of raw performance record units corresponds one-to-one with the testing time. The original performance record stream is reconstructed by mapping the original performance record units to a unified time coordinate system based on the detection time identifier carried by each original performance record unit, thereby eliminating the uneven distribution of the original performance record units on the time axis and generating a data reconstruction set with a time-aligned structure. The data reconstruction set contains reconstructed performance data items with standardized expressions for each detection time. The association rule mining operation is performed on the data reconstruction set. The reconstruction performance data items in the data reconstruction set are traversed, the value fluctuation pattern of the reconstruction performance data items at different detection times is identified, the frequent co-occurrence relationship between the reconstruction performance data items in the time dimension is extracted, and a set of performance influence association patterns describing the association strength of performance status at different detection times is generated based on the frequency of occurrence and association stability of the frequent co-occurrence relationship. The performance impact correlation pattern set is mapped to the state transition space. Each performance state in the performance impact correlation pattern set is used as a node, and the correlation strength in the performance impact correlation pattern set is used as the correlation metric of the edges between nodes. A directed weighted performance state evolution graph is constructed. In the performance state evolution graph, a graph density calculation algorithm is applied to identify regions where the state transition path density exceeds a preset graph density threshold. From the regions, state transition sequences with a state transition frequency higher than the average transition frequency are extracted as key state transition paths. Based on the state transition sequence contained in the key state transition path, a detection adjustment instruction for the LPDDR performance testing process is generated. The detection adjustment instruction is then transmitted back to the detection control unit of the LPDDR performance testing system through the detection control interface. The detection control unit parses the detection adjustment mapping relationship contained in the detection adjustment instruction and reconfigures the sampling frequency and execution order of the LPDDR performance testing system during the testing period according to the detection adjustment mapping relationship.

2. The big data mining method for LPDDR performance testing according to claim 1, characterized in that, The data reconstruction process on the original performance record stream maps the original performance record units to a unified time coordinate system based on the detection time identifier carried by each original performance record unit, eliminating the uneven distribution of the original performance record units on the time axis, and generating a data reconstruction set with a time-aligned structure. The data reconstruction set contains reconstructed performance data items of standardized expression for each detection time, including: Each raw performance record unit in the raw performance record stream is parsed, and the detection time identifier carried by each raw performance record unit is extracted to generate a time identifier set that corresponds one-to-one with the raw performance record units in terms of quantity. Based on the chronological order indicated by the detected time markers in the set of time markers, an overall sorting operation is performed on the original performance record units to generate a sequence of original performance records arranged continuously in ascending order of time. The detection time interval length between adjacent original performance recording units in the original performance recording sequence is detected, the discrete distribution value of all detection time interval lengths is calculated, and the continuous time interval where the detection time interval length exceeds the preset interval threshold is located as the reconstruction target region based on the discrete distribution value. Data interpolation processing is performed on the original performance record units in the reconstructed target area. The original performance status data of the original performance record units at the boundary of the reconstructed target area is used as the interpolation base point to generate supplementary performance record units that fill the missing time points in the reconstructed target area. The supplementary performance record units are then inserted into the position of the corresponding detection time marker in the original performance record sequence. Each original performance record unit and each supplementary performance record unit in the original performance record sequence after the insertion of supplementary performance record units are normalized and converted according to a preset unified data format template to generate reconstructed performance data items with the same data structure, field names and field order at each detection time. All reconstructed performance data items corresponding to all detection times are aggregated and encapsulated in chronological order according to the detection time identifiers to generate a data reconstruction set that is continuous and seamless in the time dimension and has a consistent data structure.

3. The big data mining method for LPDDR performance testing according to claim 2, characterized in that, The process involves parsing each raw performance record unit in the raw performance record stream, extracting the detection time identifier carried by each raw performance record unit, and generating a time identifier set that corresponds one-to-one with the raw performance record units in terms of quantity. This includes: Traverse all raw performance record units contained in the raw performance record stream, perform a header information scanning operation on each raw performance record unit, and locate the position of the fixed offset field used to store the detection time identifier in each raw performance record unit. Read binary time-encoded data from the fixed offset field position of each raw performance record unit, and convert the binary time-encoded data into a sortable standardized time format string according to the preset time decoding rules; Assign a temporary index number to each standardized time format string, which is bound to the sequential position of the original performance record unit from which the string originates in the original performance record stream; The standardized time format string is associated with the corresponding temporary index number and stored to form a set of time identifiers containing the correspondence between the standardized time format string and the temporary index number; All standardized time format strings in the time identifier set are globally sorted in chronological order, and the temporary index number associated with each standardized time format string is updated according to the sorting result, so that the updated temporary index number is consistent with the time order of the standardized time format strings.

4. The big data mining method for LPDDR performance testing according to claim 2, characterized in that, The step of performing data interpolation processing on the original performance record units within the reconstructed target area, using the original performance status data of the original performance record units at the boundary of the reconstructed target area as the interpolation base point, generates supplementary performance record units to fill the missing time points within the reconstructed target area, and inserts the supplementary performance record units into the positions corresponding to the detection time markers in the original performance record sequence, including: Identify the starting boundary original performance record unit and the ending boundary original performance record unit of the target region for reconstruction, and extract the first performance state original data carried by the starting boundary original performance record unit and the second performance state original data carried by the ending boundary original performance record unit. Calculate the number of missing detection moments that need to be filled in the target area of ​​reconstruction. Based on the number of missing detection moments, uniformly divide the numerical change range between the original data of the first performance state and the original data of the second performance state, and generate intermediate state interpolation data that corresponds one-to-one with each missing detection moment. Create a blank record unit template for each intermediate state interpolation data, fill the detection time identifier field of the blank record unit template with the corresponding missing detection time, fill the performance status raw data field of the blank record unit template with the corresponding intermediate state interpolation data, and generate a supplementary performance record unit. Each generated supplementary performance record unit is inserted into the corresponding position between adjacent original performance record units in the original performance record sequence according to its detection time identifier, so that the detection time interval length of the original performance record sequence in the reconstructed target region is uniform. The original performance record sequence after inserting supplementary performance record units is verified. After confirming that the detection time interval length of all adjacent record units in the original performance record sequence is less than the preset interval threshold, the interpolated original performance record sequence is output.

5. The big data mining method for LPDDR performance testing according to claim 1, characterized in that, The process involves performing association rule mining on the data reconstruction set, traversing the reconstruction performance data items in the data reconstruction set, identifying the value fluctuation patterns of the reconstruction performance data items at different detection times, extracting frequent co-occurrence relationships between the reconstruction performance data items in the time dimension, and filtering and generating a set of performance influence association patterns describing the association strength of performance states at different detection times based on the frequency of occurrence and association stability of the frequent co-occurrence relationships. This set includes: All reconstruction performance data items in the data reconstruction set are divided into multiple consecutive time window units according to the detection time identifier order. Each time window unit contains a fixed number of reconstruction performance data items corresponding to consecutive detection times. Within each time window unit, the raw performance status data carried by the reconstructed performance data item is discretized into intervals, and the raw performance status data with continuous values ​​is mapped to discrete status identifiers to generate a performance status label corresponding to each reconstructed performance data item. The number of times performance status labels co-occur at different detection times within the same time window unit is counted in all time window units. The co-occurrence frequency between any two performance status labels and the ratio of the co-occurrence frequency to the occurrence frequency of a single performance status label are calculated to generate an initial candidate set of association rules. Redundant rules are filtered from the initial candidate set of association rules. Association rules with a co-occurrence frequency lower than a preset lower limit are removed, and association rules with a co-occurrence frequency to the frequency of a single performance status label higher than a preset lower limit are retained, thus generating a simplified set of association rules. Each association rule in the simplified association rule set is converted into a directed association segment pointing from the predecessor performance state to the successor performance state. Each directed association segment is assigned an association strength metric, which is positively monotonically related to the co-occurrence frequency. All directed association segments are aggregated to form a performance impact association pattern set.

6. The big data mining method for LPDDR performance testing according to claim 5, characterized in that, The process of dividing all reconstruction performance data items in the data reconstruction set into multiple consecutive time window units according to the detection time identifier order, with each time window unit containing a fixed number of reconstruction performance data items corresponding to consecutive detection times, including: Obtain the total number of reconstruction performance data items in the data reconstruction set and the detection time identifier of each reconstruction performance data item, and confirm that there are no breaks in the time axis of the data reconstruction set based on the continuity of the detection time identifier; A fixed capacity of reconstruction performance data items is preset for a single time window unit. The fixed capacity is used as the window sliding step size. The sequence of reconstruction performance data items is divided into non-overlapping segments starting from the first reconstruction performance data item in the data reconstruction set. When the segmentation reaches the end of the reconstructed performance data item sequence, if the number of remaining reconstructed performance data items is less than the preset fixed capacity, the remaining reconstructed performance data items will be independently formed into a tail time window unit. A unique window identifier is generated for each segmented time window unit, and a one-to-many mapping relationship is established between the window identifier and the detection time identifier of all reconstructed performance data items belonging to that time window unit; Sort all time window units according to the starting order of the detection time identifiers containing the reconstruction performance data items, and generate a sequence of time window units arranged in chronological order of their start times.

7. The big data mining method for LPDDR performance testing according to claim 5, characterized in that, The initial candidate set of association rules is subjected to redundant rule filtering, removing association rules whose co-occurrence frequency is lower than a preset lower limit, and retaining association rules whose co-occurrence frequency to the frequency of a single performance status label is higher than a preset lower limit, generating a simplified set of association rules, including: Each association rule in the initial candidate set of association rules is parsed into a predecessor performance status label, a successor performance status label, and the co-occurrence frequency of the predecessor performance status label and the successor performance status label within the same time window unit. The total frequency of independent occurrence of each precursor performance status label is counted across all time windows in the entire data reconstruction set, and the total frequency of independent occurrence and the co-occurrence frequency are stored in the same association rule data structure; The initial candidate set of association rules is subjected to the first round of screening, and association rules with co-occurrence frequency values ​​less than the preset lower limit of co-occurrence frequency are removed. Association rules with co-occurrence frequency values ​​reaching or exceeding the preset lower limit of co-occurrence frequency are retained as the first round of retained rule set. A second round of filtering is performed on the first round of retained rule set. The percentage ratio of the co-occurrence frequency of each association rule in the first round of retained rule set to the total frequency of independent occurrence of the precursor performance status label is calculated. Association rules with a percentage ratio less than the preset lower limit are removed, and association rules with a percentage ratio that reaches or exceeds the preset lower limit are retained as the second round of retained rule set. Each association rule in the second round of retained rule set is classified and aggregated according to the predecessor performance status label, and the successor performance status labels are sorted in descending order of co-occurrence frequency under the same predecessor performance status label to generate a structured and concise association rule set.

8. The big data mining method for LPDDR performance testing according to claim 1, characterized in that, The process involves mapping the performance impact correlation pattern set to a state transition space, using each performance state in the performance impact correlation pattern set as a node, and using the correlation strength in the performance impact correlation pattern set as the correlation metric for edges between nodes to construct a directed weighted performance state evolution graph. A graph density calculation algorithm is applied to the performance state evolution graph to identify regions where the state transition path density exceeds a preset graph density threshold. From these regions, state transition sequences with a state transition frequency higher than the average transition frequency are extracted as key state transition paths, including: Traverse each directed association segment in the set of performance impact association patterns, parse the predecessor performance state from each directed association segment as the starting point of the graph node, parse the successor performance state as the ending point of the graph node, and extract the association strength metric value carried by the directed association segment. All the parsed graph node start points and graph node end points are deduplicated and merged to generate a node set of the performance state evolution graph. Each performance state node in the node set has a unique identifier. Based on the directional relationship between the predecessor and successor performance states of each directed associated line segment, directed connection edges are established between the corresponding performance state nodes in the node set, and the association strength metric of the directed associated line segment is assigned to the corresponding directed connection edge to generate a directed weighted performance state evolution graph containing nodes and directed connection edges. In the directed weighted performance state evolution graph, a breadth-first traversal is performed with each performance state node as the starting point, recording all path sequences that can be reached from the starting point and the cumulative sum of the association strength metric values ​​of the nodes passed through by each path sequence; The path sequences in all path sequences whose cumulative sum of association strength metrics exceeds a preset cumulative sum threshold are identified as high-weight path regions. From the high-weight path regions, continuous node subsequences whose node occurrence frequency exceeds a preset frequency threshold are extracted as key state transition paths.

9. The big data mining method for LPDDR performance testing according to claim 8, characterized in that, The process involves traversing each directed association segment in the set of performance impact association patterns, parsing the predecessor performance state as the starting point of the graph node, parsing the successor performance state as the ending point of the graph node, and extracting the association strength metric carried by the directed association segment, including: Read an unprocessed directed association line segment record sequentially from the set of performance impact association patterns, perform field segmentation on the directed association line segment record, and locate the predecessor performance status identifier field, the successor performance status identifier field, and the association strength metric value field. The content of the predecessor performance status identifier field is converted into a candidate name for the starting point of the node in the performance status evolution graph, and the content of the successor performance status identifier field is converted into a candidate name for the ending point of the node in the performance status evolution graph. Determine whether the candidate name of the node starting point already exists in the current performance status node temporary storage set. If it does not exist, create a new performance status node for the candidate name and store it in the temporary storage set. If it exists, directly reference the existing performance status node. Determine whether the candidate name of the node endpoint already exists in the current performance status node temporary storage set. If it does not exist, create a new performance status node for the candidate name and store it in the temporary storage set. If it exists, directly reference the existing performance status node. The correlation strength metric field is used as the initial correlation metric for the directed connection edge from the node start point to the node end point to be established, and the node start point, node end point and initial correlation metric are stored together in a temporary edge set.

10. A computer device, characterized in that, include: processor; And a memory, wherein the memory stores computer-readable code that, when executed by the processor, causes the processor to perform the method as described in any one of claims 1 to 9.