A memory failure prediction method and device, electronic equipment and storage medium
By generating a set of sample anchor points and extracting features from a two-dimensional grid mapping, and combining this with hardware ledger information for machine learning model training, the problem of multi-scale spatial pattern capture and feature construction separation in memory fault prediction in existing technologies has been solved, achieving efficient and stable memory fault prediction.
Patent Information
- Application Number
- CN202611316303.3
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2026-08-28
- Publication Date
- 2026-11-06
- Estimated Expiration
- 2046-08-28
AI Technical Summary
Existing memory fault prediction methods struggle to automatically capture multi-scale spatial patterns on the row and column planes. Feature construction and classifiers are separate, resulting in limited end-to-end optimization capabilities. Furthermore, the reliability and operability of prediction results are insufficient in industrial scenarios.
Based on the machine error detection logs and fault work orders of the devices, a set of sample anchor points is generated for each device instance. Through the design of feature extraction windows and label observation windows, anchor points for positive sample areas, difficult negative sample areas and global negative sample areas are generated. The addresses of error events can be corrected by using two-dimensional grid mapping. Combined with hardware ledger information, machine learning models are trained to generate fault prediction models and corresponding model parameters.
It achieves memory fault prediction with clear causal constraints, sufficient spatial representation, sampling strategy optimized for imbalance, and consistent training and deployment decisions, thereby improving the accuracy and stability of prediction and avoiding future information leakage and gradient explosion problems.
Smart Images

Figure CN122817039B_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of memory technology, and in particular to a memory fault prediction method, apparatus, electronic device and storage medium. Background Technology
[0002] Current memory fault prediction methods can be broadly categorized into three types: those based on statistical features and traditional classifiers; and those that aggregate manually collected features such as Correctable Error (CE) counts, rates, and address entropy from the Baseboard Management Controller (BMC) within a time window, and then input them into models such as logistic regression and gradient boosting trees. These methods rely on expert feature design, making it difficult to automatically capture multi-scale spatial patterns in the row-col plane. Furthermore, the separation of feature construction from the classifier limits end-to-end optimization capabilities.
[0003] Based on event sequences and recurrent / attention models, the event occurrence sequences (CEs) reported by the BMC within the window are sorted by time into a variable-length sequence and input into the model. These methods emphasize the order of event arrival, but the number of events fluctuates greatly within a short feature window, requiring padding and masking, resulting in low batch processing efficiency. It is also worth noting that both industrial scenarios and competitive tasks demonstrate that the warning signals for DRAM (Dynamic Random Access Memory) fault precursors exhibit a more spatially clustered pattern than the precise temporal sequence of individual events.
[0004] Shallow convolutional or tabular models based on fixed grids; while some schemes in this category map CE to the grid, their sampling strategies fail to distinguish between dense anchor points in positive sample areas, difficult negative samples near faults, and global negative samples, leading to biased decision boundaries under extreme class imbalance. If causal constraints are not strict, there is a risk of future information leakage. When training thresholds and deployment decisions are inconsistent, offline metrics cannot reproduce online behavior. Especially in deployment scenarios involving real-time linkage with BMC, this inconsistency directly affects the reliability and operability of prediction results.
[0005] Therefore, a server memory fault prediction method with clear causal constraints, sufficient spatial representation, sampling strategy optimized for imbalance, and consistent training and deployment decisions is needed. Summary of the Invention
[0006] This application provides a memory fault prediction method, apparatus, electronic device, and storage medium.
[0007] This application provides a memory fault prediction method, the method comprising: generating a corresponding set of sample anchor points for each device instance based on the device's machine error detection log and fault work orders; the set of sample anchor points includes positive sample area anchor points, difficult negative sample area anchor points, and global negative sample area anchor points; the feature extraction window start time of each anchor point is not earlier than the earliest time of the corresponding device's machine error detection log; based on the feature extraction window corresponding to each anchor point, extracting correctable error events from the machine error detection log, mapping the row address and column address of the correctable error events to a two-dimensional grid according to a preset binning scale to obtain a first feature; and based on the device... The hardware ledger is used to generate a second feature; the first feature and the second feature are concatenated to obtain feature data corresponding to each anchor point; based on the label observation window corresponding to each anchor point and the fault work order, the label data corresponding to the feature data is determined; the feature extraction window and the label observation window do not overlap; based on the feature data and the label data, a set machine learning model is trained to obtain a fault prediction model and corresponding model parameters; the model parameters include at least a classification threshold; based on the fault prediction model and the corresponding model parameters, the feature data of the target sample is predicted to obtain the memory fault prediction result.
[0008] According to one embodiment of this application, the positive sample area anchor point is an anchor point generated on the observation time axis of each device, with the fault time of the fault work order as the right boundary, within a closed interval extending forward to a length equal to the duration of the tag observation window, with a first preset step size; the difficult negative sample area anchor point is an anchor point generated on the observation time axis of each device, with the left end point of the positive sample area as the right boundary, within a half-open interval whose left boundary is the difference between the fault time and the precursor band length, with a second preset step size; the global negative sample area anchor point is an anchor point selected within a safe period set on the observation time axis of each device, with a third preset step size or randomly selected; the interval between the safe period and any fault time is greater than the precursor band length.
[0009] According to one embodiment of this application, the feature extraction window is a left-closed, right-open interval that terminates at the anchor point time but does not include the anchor point time; the label observation window is a left-right closed interval that starts at the anchor point time and includes the anchor point time; the feature extraction window and the label observation window are adjacent to each other at the anchor point time.
[0010] According to one embodiment of this application, the step of generating a corresponding set of sample anchor points for each device instance based on the machine error detection logs and fault work orders includes: determining the relative time corresponding to each event time in the machine error detection logs and fault work orders; determining the time span of the error detection logs corresponding to each device instance on the observation time axis of each device based on the relative time; and determining the left boundary constraint of the anchor point time as the sum of the earliest time of the machine error detection logs and the feature extraction window duration, and determining the right boundary constraint of the negative sample anchor point time as the machine error detection log... The difference between the latest time and the duration of the tag observation window; select an anchor point time that is not lower than the left boundary constraint, and use the fault time of the fault work order as the right boundary to generate the positive sample area anchor point; select an anchor point time between the left boundary constraint and the right boundary constraint, and use the left endpoint of the positive sample area as the right boundary to generate the difficult negative sample area anchor point, and select an anchor point time within the safe period to generate the global negative sample area anchor point; based on the set sample ratio and sample number, merge the positive sample area anchor point, the difficult negative sample area anchor point, and the global negative sample area anchor point to obtain the sample anchor point set.
[0011] According to one embodiment of this application, the step of extracting correctable error events from the machine error detection log based on the feature extraction window corresponding to each anchor point, and mapping the row address and column address of the correctable error event to a two-dimensional grid according to a preset binning scale to obtain a first feature, includes: filtering correctable error events from the machine error detection log based on the feature extraction window; mapping the row address of the correctable error event to the grid height dimension according to a preset row binning scale, and mapping the column address to the grid width dimension according to a preset column binning scale to obtain a grid index range; performing channel-by-channel cumulative counting based on the grid index range and the memory identifier in the machine error detection log to obtain a multi-channel grid counting feature; and performing a logarithmic compression transformation element-by-element on each channel plane based on the multi-channel grid counting feature to obtain the first feature.
[0012] According to one embodiment of this application, generating a second feature based on the hardware ledger of the device includes: reading hardware attributes from the hardware ledger of the device; encoding the hardware attributes into a vector of fixed dimensions; and broadcasting the vector into a constant plane with the same size as the two-dimensional grid to obtain the second feature.
[0013] According to one embodiment of this application, determining the tag data corresponding to the feature data based on the tag observation window corresponding to each anchor point and the fault work order includes: filtering target work orders based on the fault type of the fault work order; for each anchor point, determining whether the fault time of the target work order exists in the tag observation window; if it exists, the tag data is positive; if it does not exist, the tag data is negative.
[0014] According to one embodiment of this application, training a set machine learning model based on the feature data and the label data to obtain a fault prediction model and corresponding model parameters includes: dividing the sample anchor set into a training set, a validation set, and a test set according to time stratification; determining a scaling factor based on the training set; the scaling factor including one of median absolute deviation, standard deviation, and interquartile range; normalizing the training set based on the median of each grid position in each channel and the scaling factor to obtain training set samples; and applying class-weighted cross-validation based on the training set samples. The machine learning model is trained using entropy loss and positive sample oversampling to obtain a first model. The negative class weight is fixed at 1, and the positive class weight is obtained by scaling the original label frequencies of the training set by the square root. Positive sample oversampling involves repeating the index of each positive sample an additional preset number of times at the training set index level, with the class weight calculated based on the original frequencies before positive sample oversampling. A grid search is performed on the positive class probabilities output by the first model on the validation set to obtain a classification threshold. The classification threshold and the model weights of the first model are saved to obtain the fault prediction model and its corresponding model parameters.
[0015] According to one embodiment of this application, the step of predicting the feature data of a target sample based on the fault prediction model and the corresponding model parameters to obtain a memory fault prediction result includes: loading the fault prediction model and the corresponding model parameters; inputting the feature data of the target sample into the fault prediction model to obtain the positive class probability output by the fault prediction model; outputting a first prediction result in response to the positive class probability being not lower than the classification threshold; the first prediction result indicating the existence of a memory fault risk; and outputting a second prediction result in response to the positive class probability being lower than the classification threshold; the second prediction result indicating the absence of a memory fault risk.
[0016] This application also provides a memory fault prediction device, the device comprising: a sample generation module, used to generate a corresponding set of sample anchor points for each device instance based on the device's machine error detection log and fault work orders, the set of sample anchor points including positive sample area anchor points, difficult negative sample area anchor points, and global negative sample area anchor points; the feature extraction window start time of each anchor point is not earlier than the earliest time of the corresponding device's machine error detection log; a feature generation module, used to extract correctable error events from the machine error detection log based on the feature extraction window corresponding to each anchor point, and map the row address and column address of the correctable error event to a two-dimensional grid according to a preset binning scale to obtain a first feature; and a hardware platform based on the device. The system generates a second feature; it concatenates the first feature and the second feature to obtain feature data corresponding to each anchor point; a label generation module is used to determine the label data corresponding to the feature data based on the label observation window corresponding to each anchor point and the fault work order; the feature extraction window and the label observation window do not overlap; an offline training module is used to train a set machine learning model based on the feature data and the label data to obtain a fault prediction model and corresponding model parameters; the model parameters include at least a classification threshold; and an online prediction module is used to predict the feature data of the target sample based on the fault prediction model and the corresponding model parameters to obtain a memory fault prediction result.
[0017] According to one embodiment of this application, the positive sample area anchor point is an anchor point generated on the observation time axis of each device, with the fault time of the fault work order as the right boundary, within a closed interval extending forward to a length equal to the duration of the tag observation window, with a first preset step size; the difficult negative sample area anchor point is an anchor point generated on the observation time axis of each device, with the left end point of the positive sample area as the right boundary, within a half-open interval whose left boundary is the difference between the fault time and the precursor band length, with a second preset step size; the global negative sample area anchor point is an anchor point selected within a safe period set on the observation time axis of each device, with a third preset step size or randomly selected; the interval between the safe period and any fault time is greater than the precursor band length.
[0018] According to one embodiment of this application, the feature extraction window is a left-closed, right-open interval that terminates at the anchor point time but does not include the anchor point time; the label observation window is a left-right closed interval that starts at the anchor point time and includes the anchor point time; the feature extraction window and the label observation window are adjacent to each other at the anchor point time.
[0019] According to one embodiment of this application, the sample generation module is specifically used for: determining the relative time corresponding to each event time in the machine error detection log and fault work order; determining the error detection log time span corresponding to each device instance on the observation time axis of each device based on the relative time; determining the left boundary constraint of the anchor point time as the sum of the earliest time of the machine error detection log and the feature extraction window duration based on the error detection log time span, and determining the right boundary constraint of the negative sample anchor point time as the difference between the latest time of the machine error detection log and the label observation window duration; selecting an anchor point time not lower than the left boundary constraint, and generating the positive sample area anchor point with the fault time of the fault work order as the right boundary; selecting an anchor point time between the left boundary constraint and the right boundary constraint, and generating the difficult negative sample area anchor point with the left endpoint of the positive sample area as the right boundary, and generating the global negative sample area anchor point by selecting an anchor point time within the safe period; and merging the positive sample area anchor point, the difficult negative sample area anchor point, and the global negative sample area anchor point based on the set sample ratio and sample number to obtain the sample anchor point set.
[0020] According to one embodiment of this application, the feature generation module is specifically used for: filtering correctable error events from the machine error detection log based on the feature extraction window; mapping the row address of the correctable error event to the grid height dimension according to a preset row binning scale, and mapping the column address to the grid width dimension according to a preset column binning scale, to obtain a grid index range; performing channel-by-channel cumulative counting based on the grid index range and the memory identifier in the machine error detection log to obtain a multi-channel grid counting feature; and performing a logarithmic compression transformation element-by-element on each channel plane based on the multi-channel grid counting feature to obtain the first feature.
[0021] According to one embodiment of this application, the feature generation module is specifically used to: read hardware attributes from the hardware ledger of the device; encode the hardware attributes into a vector of fixed dimensions; and broadcast the vector into a constant plane with the same size as the two-dimensional grid to obtain the second feature.
[0022] According to one embodiment of this application, the tag generation module is specifically used for: filtering target work orders based on the fault type of the fault work order; for each anchor point, determining whether the fault time of the target work order exists in the tag observation window; if it exists, the tag data is positive; if it does not exist, the tag data is negative.
[0023] According to one embodiment of this application, the offline training module is specifically used for: dividing the sample anchor set into a training set, a validation set, and a test set according to time stratification; determining a scaling factor based on the training set; the scaling factor includes one of median absolute deviation, standard deviation, and interquartile range; normalizing the training set based on the median of each grid position in each channel of the training set and the scaling factor to obtain training set samples; training the machine learning model using class-weighted cross-entropy loss and positive sample oversampling based on the training set samples to obtain a first model; wherein the negative class weight is fixed at 1, the positive class weight is obtained by scaling the original label frequency of the training set by the square root, and the positive sample oversampling is to repeat the index of each positive class sample an additional preset number of times at the training set index level, and the class weight is calculated according to the original frequency before the positive sample oversampling; performing a grid search on the positive class probability output by the first model on the validation set to obtain a classification threshold; and saving the classification threshold and the model weight of the first model to obtain the fault prediction model and the corresponding model parameters.
[0024] According to one embodiment of this application, the online prediction module is specifically used for: loading the fault prediction model and the corresponding model parameters; inputting the feature data of the target sample into the fault prediction model to obtain the positive class probability output by the fault prediction model; outputting a first prediction result in response to the positive class probability being not lower than the classification threshold; the first prediction result indicating the existence of memory fault risk; and outputting a second prediction result in response to the positive class probability being lower than the classification threshold; the second prediction result indicating the absence of memory fault risk.
[0025] This application also provides an electronic device, including: at least one processor; and a memory communicatively connected to the at least one processor; wherein the memory stores instructions executable by the at least one processor, the instructions being executed by the at least one processor to enable the at least one processor to perform the method of the above-described embodiments.
[0026] This application also provides a non-transitory computer-readable storage medium storing computer instructions for causing a computer to perform the method according to the above embodiments.
[0027] The method in this embodiment generates a corresponding set of sample anchor points for each device instance based on the device's machine error detection logs and fault work orders. The set of sample anchor points includes positive sample area anchor points, difficult negative sample area anchor points, and global negative sample area anchor points. The feature extraction window start time for each anchor point is no earlier than the earliest time in the corresponding device's machine error detection log. Based on the feature extraction window corresponding to each anchor point, correctable error events are extracted from the machine error detection logs. The row and column addresses of the correctable error events are mapped to a two-dimensional grid according to a preset binning scale to obtain a first feature. A second feature is generated based on the device's hardware ledger. The first feature and the second feature are concatenated to obtain each... The method comprises: feature data corresponding to anchor points; determining label data corresponding to the feature data based on the label observation window corresponding to each anchor point and the fault work order; the feature extraction window and the label observation window do not overlap; training a set machine learning model based on the feature data and the label data to obtain a fault prediction model and corresponding model parameters; the model parameters include at least a classification threshold; predicting the feature data of the target sample based on the fault prediction model and the corresponding model parameters to obtain a memory fault prediction result. This application provides a server memory fault prediction method with clear causal constraints, sufficient spatial representation, sampling strategy optimized for imbalance, and consistent training and deployment decisions.
[0028] It should be understood that the teachings of this application are not required to achieve all the beneficial effects described above, but rather that a specific technical solution can achieve a specific technical effect, and other embodiments of this application can also achieve beneficial effects not mentioned above. Attached Figure Description
[0029] The above and other objects, features, and advantages of exemplary embodiments of this application will become readily apparent from the following detailed description taken in conjunction with the accompanying drawings. Several embodiments of this application are illustrated in the drawings by way of example and not limitation, in which: In the accompanying drawings, the same or corresponding reference numerals indicate the same or corresponding parts.
[0030] Figure 1 A schematic diagram of the processing flow of the memory fault prediction method provided in an embodiment of this application is shown; Figure 2 This application illustrates an application scenario of the memory fault prediction method provided in this embodiment. Figure 1 ; Figure 3 This application illustrates an application scenario of the memory fault prediction method provided in this embodiment. Figure 2 ; Figure 4 This application illustrates an application scenario of the memory fault prediction method provided in this embodiment. Figure 3 ; Figure 5 A schematic diagram of the network model structure according to an embodiment of this application is shown; Figure 6 This illustration shows an optional schematic diagram of the memory fault prediction device provided in an embodiment of this application; Figure 7 An optional schematic diagram of an electronic device provided in an embodiment of this application is shown. Detailed Implementation
[0031] To make the objectives, features, and advantages of this application more apparent and understandable, the technical solutions in the embodiments of this application will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of this application, and not all embodiments. Based on the embodiments of this application, all other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of this application.
[0032] In the following description, references are made to “some embodiments,” which describe a subset of all possible embodiments. However, it is understood that “some embodiments” may be the same subset or different subsets of all possible embodiments and may be combined with each other without conflict.
[0033] In the following description, the terms "first" and "second" are used merely to distinguish similar objects and do not represent a specific ordering of objects. It is understood that "first" and "second" may be interchanged in a specific order or sequence where permitted, so that the embodiments of this application described herein can be implemented in an order other than that illustrated or described herein.
[0034] Unless otherwise defined, all technical and scientific terms used herein have the same meaning as commonly understood by one of ordinary skill in the art to which this application belongs. The terminology used herein is for the purpose of describing embodiments of this application only and is not intended to limit this application.
[0035] The processing flow of the memory fault prediction method provided in the embodiments of this application is described below. See also Figure 1 , Figure 1 This is a schematic diagram of the processing flow of the memory fault prediction method provided in the embodiments of this application, which will be combined with Figure 1 Steps S101-S105 are explained below.
[0036] Step S101: Based on the machine error detection logs and fault work orders of the devices, generate a corresponding set of sample anchor points for each device instance. The set of sample anchor points includes positive sample area anchor points, difficult negative sample area anchor points, and global negative sample area anchor points. The start time of the feature extraction window of each anchor point is no earlier than the earliest time of the machine error detection log of the corresponding device.
[0037] In some embodiments, the machine error detection log may include: a log record of memory collected by the device. The machine error detection log records the device identifier, the absolute time when the error occurred, the row address, the column address, the memory bank identifier, and the error type. The fault work order records the device identifier, the absolute time of the fault occurrence, and the fault type. The sample anchor set may be a sample index table composed of device identifiers and anchor times. Positive sample area anchors may include: sampling points extending forward from the fault time of the fault work order to the closed interval of the tag observation window duration. Difficult negative sample area anchors may include: half-open interval sampling points located before the positive sample area and within the length of the precursor band. Global negative sample area anchors may include: sampling points extracted with a larger step size during a safe period far from the fault on the device's observable time axis. The feature extraction window may be a half-open time interval with the anchor time as its right endpoint.
[0038] Step S102: Based on the feature extraction window corresponding to each anchor point, correctable error events are extracted from the machine error detection log. The row address and column address of the correctable error event are mapped to a two-dimensional grid according to a preset binning scale to obtain the first feature. Based on the hardware ledger of the device, the second feature is generated. The first feature and the second feature are concatenated to obtain the feature data corresponding to each anchor point.
[0039] In some embodiments, a correctable error event (CE) can be a correctable memory error event recorded in the machine error log (mcelog). Row and column addresses can include the row and column addresses in the memory logical address. The first feature can include a multi-channel mesh feature accumulated by channel according to memory identifier and then logarithmically compressed. The binning scale can characterize the granularity and size of the two-dimensional mesh, and the hardware ledger can be discrete attribute information recording the device memory model, manufacturer, and DIMM (Dual Inline Memory Module) specifications. The second feature can include a constant plane formed by encoding and broadcasting the hardware ledger. The first and second features are concatenated along the channel dimension to obtain a fixed-size multi-channel two-dimensional tensor, i.e., feature data, also known as a spatial heatmap.
[0040] Specifically, a spatial heatmap is a local time window feature constructed for a single server instance (sid) at a specific anchor point (predict_ts), rather than a feature of the server's entire lifecycle or a feature of a single root DIMM.
[0041] For the set server identifier sid and anchor time predict_ts, the spatial heatmap only aggregates data from the half-open feature extraction window [predict_ts]. The CE events within W, predict_ts are defined. The half-open feature extraction window only includes CE events within W seconds before predict_ts. Therefore, a spatial heatmap corresponds to a training or inference sample (sid, predict_ts), and the temporal attributes of the spatial heatmap are entirely determined by the anchor time and the fixed duration W.
[0042] Within the aforementioned time window, CE events are binned and mapped to a two-dimensional grid of H_grid×W_grid according to their logical row and column addresses. The events are then counted channel-wise by bank ID, and after logarithmic compression, a first feature is formed that preserves spatial adjacency relationships. Simultaneously, the server's hardware information (such as DRAM model, DIMM specification, and manufacturer) is encoded and broadcast as a constant plane, i.e., the second feature. This second feature is then concatenated with the first feature along the channel dimension, ultimately outputting a fixed-size multi-channel tensor. Since the anchor time `predict_ts` slides along the server's observation timeline, the same server generates multiple independent spatial heatmaps at different anchor times. Each heatmap only represents the local spatial distribution of CE events within the corresponding feature extraction window.
[0043] Step S103: Based on the label observation window and fault work order corresponding to each anchor point, determine the label data corresponding to the feature data; the feature extraction window and the label observation window do not overlap.
[0044] In some embodiments, the label observation window may include a closed time interval with the anchor time as its left endpoint. The label data can be used to supervise the training of a machine learning model. The non-overlapping feature extraction window and label observation window ensure that the feature data X and label data y are strictly separated in terms of time interval and data source.
[0045] Step S104: Based on feature data and label data, train the set machine learning model to obtain the fault prediction model and the corresponding model parameters; the model parameters include at least the classification threshold.
[0046] In some embodiments, the machine learning model may include a deep convolutional network consisting of an entry convolutional layer, a multi-stage residual convolutional backbone, a global pooling layer, and a classification head. The machine learning model can extract features from a spatial heatmap and output a classification score. The fault prediction model may be a pre-trained machine learning model used to predict memory faults. Model parameters may include trained network weights and a classification threshold determined by a validation set search, and may also include other model parameters, which are not limited here.
[0047] Step S105: Based on the fault prediction model and the corresponding model parameters, predict the feature data of the target sample to obtain the memory fault prediction result.
[0048] In some embodiments, the target sample may include: the device instance to be predicted during the online inference phase and the corresponding current anchor point time. Memory fault prediction results can characterize whether a device is at risk of memory faults.
[0049] As an example, machine error detection logs and fault work orders are collected from the equipment. The absolute time in the machine error detection logs is parsed into a relative time starting from the earliest global time, and fault work orders triggered by CE are filtered out. Anchor point allowable intervals are determined based on the time span of the error detection logs of each device. The left boundary constraint of the anchor point time is the sum of the earliest log time and the feature extraction window duration, and the right boundary constraint of the negative sample anchor point time is the difference between the latest log time and the label observation window duration. Within the allowable anchor point intervals, anchor points for positive sample areas, anchor points for difficult negative sample areas, and anchor points for global negative sample areas are generated, resulting in a set of sample anchor points.
[0050] For each anchor point, CE events are selected from the feature extraction window. Row addresses are mapped to the grid height dimension according to a preset row binning scale, and column addresses are mapped to the grid width dimension according to a preset column binning scale. The first feature is obtained by accumulating and counting events by channel according to the memory identifier and then performing a logarithmic compression transformation. Simultaneously, the device hardware ledger is encoded into a fixed-dimensional vector and broadcast as a constant plane with the same size as the two-dimensional grid, resulting in the second feature. The first and second features are concatenated along the channel dimension to form feature data. Tag data is determined based on the presence of qualified fault work orders within the tag observation window.
[0051] The sample anchor set is divided into training set, validation set and test set according to time. GridCNN (a multi-stage two-dimensional convolutional neural network for fixed-size spatial heat map input) is trained on the training set. The trained model is then validated and tested on the validation set and test set respectively to obtain the fault prediction model and the corresponding model parameters.
[0052] During the online inference phase, the fault prediction model and its corresponding parameters are loaded, feature data is constructed from the feature extraction window of the target sample and input into the fault prediction model to obtain the output memory fault prediction result.
[0053] The method in this application provides a server memory fault prediction method with clear causal constraints, sufficient spatial representation, sampling strategy optimized for imbalance, and consistent training and deployment decisions.
[0054] By mapping discrete correctable error events within the feature window to a fixed-size grid by row and column addresses, and accumulating and counting by channel according to the memory bank identifier, the CE address information is preserved as a spatial adjacency structure. This enables the convolutional network to automatically learn multi-scale spatial aggregation patterns across rows, columns, and banks (memory banks) without the need for manual design of row and column interaction features.
[0055] By aggregating CEs within a time window into a spatial density field and employing two-dimensional convolutional classification, the fixed-size spatial heatmap avoids the padding and masking overhead of sequence models in scenarios with short feature windows and high fluctuations in the number of events, resulting in higher batch processing efficiency. Furthermore, GridCNN effectively captures abnormal patterns from local hotspots to cross-bank aggregations through multi-scale feature extraction and spatial pooling downsampling, thereby improving the accuracy of memory fault prediction.
[0056] By employing a half-open interval for feature extraction and a closed interval for label observation, with the two adjacent but non-overlapping at the anchor point, future information is prevented from entering the features, ensuring causal consistency between feature construction and label generation and avoiding the risk of future information leakage. Simultaneously, a hierarchical sampling strategy is employed: dense anchor points in the positive sample region bounded to the right of the fault time; a near-fault difficult negative sample region preceding the positive sample region; and a global negative sample region during safe periods. Furthermore, by controlling the upper limit of negative samples per server and the target positive-to-negative ratio, this strategy effectively improves the exposure frequency of the positive class and the discriminative power of the decision boundary under conditions of extreme sample imbalance, thereby enhancing training stability.
[0057] By employing a joint optimization of class-weighted cross-entropy loss based on scaling the square root of the original frequency and positive sample oversampling at the index level, the penalty for misclassification of positive classes is improved without causing gradient explosion, thus alleviating the problem of large variance in gradient estimation for rare positive classes. By searching for the optimal F1 threshold on the validation set and fixing it together with the model weights, the same fixed threshold is loaded for judgment in both the inference and deployment stages, and the same judgment rule is used in each stage, ensuring that offline metrics can reproduce online behavior.
[0058] In some embodiments, the positive sample area anchor point is an anchor point generated on the observation time axis of each device, with the fault time of the fault work order as the right boundary, within a closed interval extending forward to a length equal to the duration of the tag observation window, with a first preset step size; the difficult negative sample area anchor point is an anchor point generated on the observation time axis of each device, with the left end of the positive sample area as the right boundary, within a half-open interval whose left boundary is the difference between the fault time and the precursor band length, with a second preset step size; the global negative sample area anchor point is an anchor point selected on the observation time axis of each device within a safe period, with a third preset step size or randomly selected; the interval between the safe period and any fault time is greater than the precursor band length.
[0059] In this embodiment, the observation timeline is a continuous timeline of individual device instances arranged relative to each other, starting from the earliest global time. The observation timeline can be the same time reference frame for various sample anchor points. The fault time of a fault work order can include the relative time converted from the absolute time of fault occurrence recorded in the filtered fault work orders. The first preset step size can include the time interval used to generate anchor points within the closed interval of the positive sample region. The second preset step size can include the time interval used to generate anchor points within the half-open interval of the difficult negative sample region; the first preset step size can be smaller than the second preset step size. The safe period can include the safe middle section of the observation timeline for each device. The third preset step size can include the time interval used to extract anchor points within the safe period of the global negative sample region; the third preset step size can be larger than the first preset step size.
[0060] As an example, the absolute time in machine error detection logs and fault work orders is uniformly parsed into relative seconds starting from the earliest global time, determining the observation time axis and error detection log time span [t_min, t_max] for each device instance. The left boundary constraint of the anchor point time is determined to be the sum of t_min and the feature extraction window duration W, while the right boundary constraint of the negative sample anchor point time is determined to be the difference between t_max and the label observation window duration H.
[0061] For each fault work order at the fault time ft, positive sample area anchor points are densely generated in the closed interval [ft-H, ft] with a small step size Δp, with ft as the right boundary; difficult negative sample area anchor points are generated in the half-open interval [ft-T_pre, ft-H) extending forward to the precursor band length T_pre with a step size Δn, with the left endpoint ft-H of the positive sample area as the right boundary; and global negative sample area anchor points are extracted in the safe period on the observation time axis of each device that is far away from any fault time and the interval is greater than the precursor band length T_pre, with a larger step size Δn·k or in a random manner.
[0062] In some embodiments, the feature extraction window is a left-closed, right-open interval that terminates at the anchor time and does not include the anchor time; the label observation window is a left-right closed interval that starts at the anchor time and includes the anchor time; the feature extraction window and the label observation window are adjacent at the anchor time.
[0063] In this embodiment, the anchor point time can be the baseline time for the prediction task. Features are only taken from before this time, and the label determines whether there is a fault within a fixed time period after this time. Specifically, the feature extraction window length W is set to 300 seconds, the label observation window length H is set to 300 seconds, and for a certain anchor point time predict_ts, the feature extraction window is a left-closed, right-open interval [predict_ts]. The feature extraction window (W, predict_ts) only includes error detection log events strictly earlier than the anchor time. Events at the anchor time itself and after it are not included in the feature set, thus ensuring that future logs are not used during inference. Meanwhile, the label observation window is a closed interval [predict_ts, predict_ts+H]. If the failure time of a faulty work order falls within this closed interval, it is labeled as positive; otherwise, it is labeled as negative. That is, if a fault has already occurred at the anchor time, it should be considered a positive example, and a fault within the next H seconds should also be considered a positive example. Since the feature extraction window terminates at predict_ts and does not contain predict_ts, while the label observation window starts at predict_ts and contains predict_ts, the two are adjacent but do not overlap at the anchor time.
[0064] In some embodiments, step S101, based on the machine error detection logs and fault work orders of the devices, generates a corresponding set of sample anchor points for each device instance, including: determining the relative time corresponding to each event time in the machine error detection logs and fault work orders; determining the time span of the error detection logs corresponding to each device instance on the observation time axis of each device based on the relative time; determining the left boundary constraint of the anchor point time as the sum of the earliest time of the machine error detection log and the feature extraction window duration based on the time span of the error detection logs, and determining the right boundary constraint of the negative sample anchor point time as the difference between the latest time of the machine error detection log and the label observation window duration; selecting anchor point times that are not lower than the left boundary constraint, and using the fault time of the fault work order as the right boundary to generate positive sample area anchor points; selecting anchor point times between the left and right boundary constraints, and using the left endpoint of the positive sample area as the right boundary to generate difficult negative sample area anchor points, and selecting anchor point times within the safe period to generate global negative sample area anchor points; and merging the positive sample area anchor points, difficult negative sample area anchor points, and global negative sample area anchor points based on the set sample ratio and sample quantity to obtain a set of sample anchor points.
[0065] In this embodiment, the event time may include: the occurrence time of the CE event in the machine error detection log and the fault occurrence time recorded in the fault work order. The relative time is obtained by subtracting the absolute time value of each event from the global earliest time as a baseline. The error detection log time span may include: the time interval between the earliest and latest event times of a single device instance in the machine error detection log. The sample ratio may include: the ratio of the target number of positive sample area anchors to the merged negative sample anchors. The sample quantity may include: the threshold for the number of negative samples per device and the total number of samples.
[0066] As an example, the machine error detection logs and fault tickets of a server instance are parsed, and the absolute timestamps of each event are uniformly converted into relative times starting from the earliest global time. Based on the relative time, the time span of the error detection log [t_min, t_max] is determined on the observation time axis of the device, where t_min is the earliest time and t_max is the latest time. The left boundary constraint of the anchor time is determined to be the sum of t_min and the feature extraction window duration W, while the right boundary constraint of the negative sample anchor time is determined to be the difference between t_max and the label observation window duration H.
[0067] For each fault work order at the fault time ft, positive sample area anchor points are densely generated in the closed interval [ft-H, ft] with a small step size Δp, with ft as the right boundary; difficult negative sample area anchor points are generated in the half-open interval [ft-T_pre, ft-H) extending forward to the precursor band length T_pre with a step size Δn, with the left endpoint ft-H of the positive sample area as the right boundary; and global negative sample area anchor points are extracted in the safe period on the observation time axis of each device that is far away from any fault time and the interval is greater than the precursor band length T_pre, with a larger step size Δn·k or in a random manner.
[0068] Based on the set sample ratio and sample size, all positive sample region anchors are retained first. For difficult negative sample region anchors and global negative sample region anchors, a single device negative sample upper limit is set before merging, resulting in a sample anchor set for each device instance. This avoids a few hot servers dominating the gradient. The output sample anchor set contains (sid, predict_ts) fields and includes corresponding statistical auxiliary information (including W, H, scan step size, scan range, etc.).
[0069] In some embodiments, step S102, which involves extracting correctable error events from the machine error detection log based on the feature extraction window corresponding to each anchor point, and mapping the row and column addresses of the correctable error events to a two-dimensional grid according to a preset binning scale to obtain a first feature, may include: filtering correctable error events from the machine error detection log based on the feature extraction window; mapping the row addresses of the correctable error events to the grid height dimension according to a preset row binning scale, and mapping the column addresses to the grid width dimension according to a preset column binning scale to obtain a grid index range; performing channel-by-channel cumulative counting based on the grid index range and the memory identifier in the machine error detection log to obtain a multi-channel grid counting feature; and performing a logarithmic compression transformation element-by-element on each channel plane based on the multi-channel grid counting feature to obtain the first feature.
[0070] In this embodiment, the preset row binning scale and preset column binning scale may include the step size used when dividing the memory logical row and column addresses into grid height and grid width dimensions. The grid height dimension is the vertical dimension of the two-dimensional grid. The grid width dimension is the horizontal dimension of the two-dimensional grid. The grid index range may include the effective two-dimensional grid coordinates obtained after binning and clipping the row and column addresses. The bank ID may include the DRAM bank group number (e.g., bankid 0~15). The channel-by-channel cumulative counting may include counting the number of CE events at the same grid location according to different bank IDs. In the multi-channel grid counting feature, each channel corresponds to a bank plane, and each bank plane records the number of errors at the corresponding grid location. The logarithmic compression transformation can perform an element-wise logarithmic compression transformation on each plane in the multi-channel grid counting feature, mapping the CE count from the original frequency that spans orders of magnitude to a scale with a more gradual increase, reducing the gap between the maximum count and the typical count, stabilizing the feature scale and the training process, and avoiding individual high-count grid points from having excessively large values that dominate the training.
[0071] The row and column addresses of correctable error events can be mapped to a two-dimensional grid according to a preset binning scale, which can be represented by the following formula.
[0072]
[0073] Where `row` represents the line address of the CE event recorded in the machine error detection log. `S_row`: the preset row binning scale. `row_bin` represents the row direction grid index obtained after mapping, and its value range needs to be clipped to [0, H_grid]. 1). col represents the column address of the CE event recorded in the machine error detection log. S_col represents the preset column binning scale. col_bin represents the column direction grid index obtained after mapping, and the value range needs to be clipped to [0, W_grid]. 1]. The grid size can be H_grid × W_grid.
[0074] As an example, the size of the two-dimensional grid is H_grid×W_grid (e.g., 128×32), the number of storage channels N_bank is 16, the hardware ledger encoding dimension is 15, and the total number of input channels C is 31; for a certain anchor point time predict_ts, the row addresses of the selected correctable error events are mapped to the grid height dimension H_grid according to the preset row binning scale S_row=1024, and the column addresses are mapped to the grid width dimension W_grid according to the preset column binning scale S_col=32, and events exceeding [0, H_grid] are... 1]×[0, W_grid [1] The address range is pruned to the valid grid index boundary.
[0075] Trim the bankid to [0, N_bank] Within the range of 1], the count is accumulated at the corresponding (bank, row_bin, col_bin) position according to the storage identifier to form the Bank (storage) density plane of N_bank path H_grid×W_grid; then, the logarithmic compression transformation ln(1+x) is performed on each Bank plane element by element to map the original frequency across orders of magnitude to a scale with more gradual growth, and the first feature is obtained.
[0076] In some embodiments, generating the second feature based on the device's hardware ledger in step S102 may include: reading hardware attributes from the device's hardware ledger; encoding the hardware attributes into a fixed-dimensional vector; and broadcasting the vector into a constant plane with the same size as the two-dimensional grid to obtain the second feature.
[0077] In this embodiment, hardware attributes may include: DRAM model, DIMM specification, manufacturer identification, memory capacity, and configuration parameters, etc. This application embodiment does not limit specific hardware attributes. Fixed-dimensional vectors may include one-hot encoded vectors. Broadcasting can expand fixed-dimensional vectors into a spatial plane with the same size as a two-dimensional grid. A constant plane can be used as a second feature and concatenated with the first feature along the channel dimension.
[0078] As an example, the hardware ledger of the device is read to obtain discrete hardware attributes such as DRAM model, DIMM specification, and manufacturer. These hardware attributes are encoded into a 15-dimensional fixed-dimensional vector, for example, using one-hot encoding. This 15-dimensional fixed-dimensional vector is then copied and expanded into 15 constant planes with the same size as a two-dimensional grid (e.g., 128×32) through a broadcast operation. These 15 broadcast constant planes are used as the second feature.
[0079] Finally, the N_bank density plane after logarithmic compression is spliced with the 15-way ledger constant plane in the channel dimension to obtain a multi-channel spatial heatmap with a fixed size of C×H_grid×W_grid (example 31×128×32), which is the feature data.
[0080] In some embodiments, determining the label data corresponding to the feature data based on the label observation window and fault work order corresponding to each anchor point in step S103 may include: filtering target work orders based on the fault type of the fault work order; for each anchor point, determining whether there is a fault time of the target work order in the label observation window; if there is, the label data is positive; if there is not, the label data is negative.
[0081] In this embodiment, the fault type may include: the fault triggering cause classification recorded in the fault work order, such as being triggered by a correctable error, a power failure, or a system software anomaly. The target work order may include: a fault work order triggered by a correctable error. A positive class represents the fault time when the target work order exists within the label observation window. A negative class represents the fault time when the target work order does not exist within the label observation window.
[0082] As an example, based on the fault type of the fault work order, only fault work orders triggered by correctable errors are retained as target work orders. For a given anchor time `predict_ts`, a closed label observation window `[predict_ts, predict_ts+H]` is constructed. It is determined whether the fault time `ft` of the target work order exists within the label observation window. If the fault time of the target work order exists and `predict_ts ≤ ft ≤ predict_ts+H`, then the label data corresponding to the anchor point is marked as positive (y=1). If the fault time of the target work order does not fall within the above interval, then it is marked as negative (y=0).
[0083] In some embodiments, step S104, training the set machine learning model based on feature data and label data to obtain a fault prediction model and corresponding model parameters, may include: dividing the sample anchor set into a training set, a validation set, and a test set according to time stratification; determining a scaling factor based on the training set; the scaling factor includes one of median absolute deviation, standard deviation, and interquartile range; normalizing the training set based on the median and scaling factor of each grid position in each channel of the training set to obtain training set samples; training the machine learning model based on the training set samples using class-weighted cross-entropy loss and positive sample oversampling to obtain a first model; wherein the negative class weight is fixed at 1, the positive class weight is obtained by scaling the original label frequency of the training set by the square root, and the positive sample oversampling is to repeat the index of each positive sample an additional preset number of times at the training set index level, and the class weight is calculated according to the original frequency before positive sample oversampling; performing a grid search on the positive class probability output by the first model on the validation set to obtain a classification threshold; and saving the classification threshold and the model weight of the first model to obtain the fault prediction model and corresponding model parameters.
[0084] In this embodiment, the sample anchor set is divided into different subsets according to chronological order, ensuring that the training set, validation set, and test set do not overlap on the time axis. The scaling factor can be used to balance the data dispersion at each grid position in each channel. The median absolute deviation can include the median of the absolute values of the differences between each sample value and its median. The standard deviation can include the square root of the sum of the squares of the differences between each sample value and its mean. The interquartile range (IQR) can include the difference between the 75th percentile and the 25th percentile. The interquartile range is the preferred scaling factor for robust normalization. If the IQR at a certain position approaches zero (common in sparse cases with no long-term CE), the median absolute deviation or standard deviation is used as the scaling factor to prevent division by zero or excessively small scaling from causing numerical explosion. The median can be used as the central value for robust normalization. Training set samples can be used as input for model training. Category-weighted cross-entropy loss can include a loss function that introduces differentiated weighting factors for different classes based on the standard cross-entropy loss. This can increase the penalty for misclassification of the positive class under conditions of extreme imbalance between positive and negative samples, and prevent gradient updates from being biased towards the negative class. The original label frequency can include the number of positive and negative samples in the training set.
[0085] The category-weighted cross-entropy loss can be expressed by the following formula.
[0086]
[0087] Where, ω This represents the weight of the negative class, with a fixed value of 1. ω + Let N0 represent the total number of negative class samples in the training set, N1 represent the total number of positive class samples in the training set, and ω represent the positive class weights. max This is a preset upper limit for the weights of positive classes, used to prevent excessive weights from causing loss and gradient explosion.
[0088] Positive sample oversampling can include: repeating the index of each positive sample an additional predetermined number of times at the training set index level to increase the exposure frequency of positive samples. Specifically, when using class weighting, the expected number of times positive samples are sampled into mini-batches within each training epoch is still close to their proportion in the dataset. Under highly imbalanced conditions, some training batches may contain no positive examples or very few positive examples, resulting in a large variance in the positive gradient estimation. A preset positive sample oversampling factor parameter `factor` is used: at the training set index level, all samples are retained once, and then the index of each positive sample is repeated an additional `factor-1` times, constructing a longer virtual training sequence. This ensures that the effective number of times the positive class is traversed within each epoch is approximately several times the original `factor`, increasing the exposure frequency of the positive gradient in optimization.
[0089] Grid search can be performed during or at the end of training, with the model in evaluation mode. Forward computation is then performed on the validation set samples to obtain the true label and positive class probability for each sample. Precision, recall, and F1 score are calculated sequentially on a preset threshold grid (e.g., from 0.1 to 0.9, with a step size of 0.02), and the optimal threshold τ is selected according to the predetermined optimization objective. This serves as the classification threshold. Model weights can include network parameters obtained after training the machine learning model.
[0090] As an example, the feature data is subjected to windowing and normalization. Specifically, if there are no correctable error events in the feature extraction window, the Bank count plane is zero. In this case, negative samples with empty windows are removed in the preprocessing stage, while positive samples with empty windows are retained. Regardless of whether there is an empty window, the hardware ledger constant channel is written according to the device identifier and is not lost due to the absence of correctable errors.
[0091] The empty window and the normalized feature data are divided into training set, validation set and test set according to time, with the ratio set to 0.7:0.15:0.15.
[0092] Robust normalization is performed on the training set. In a statistical sense, robust normalization uses the median as the center value for each location and the interquartile range as the scaling factor. Specifically, for all samples in the c-th channel of the training set at coordinates (h, w), values are taken... ,make:
[0093] Then, for any sample at this position, the feature value... Perform the following transformations:
[0094] in, cente rc,h,w Indicates the first training set c Each channel, spatial coordinates ( h , w All locations N The median is calculated from the values of each sample. scale c,h,w It represents the interquartile range of all sample values taken at the same spatial location in the same channel. x c,h,w This represents the original feature value of any sample at this spatial location in this channel. This represents the eigenvalues after robust normalization.
[0095] The robustly normalized parameters are calculated from the training set and then applied to the validation and test sets. Based on this, the original label frequencies are statistically analyzed using the training set samples. The negative class weight is fixed at 1, while the positive class weight is scaled by the square root of the original label frequencies and capped. Simultaneously, positive class samples are oversampled at the training set index level, with each positive class sample index repeated an additional preset number of times. The class weights are still calculated based on the original frequencies before oversampling. The GridCNN is then trained using a class-weighted cross-entropy loss to obtain the first model.
[0096] The first model is placed in evaluation mode, and forward computation is performed on the validation set samples to obtain the positive class probability. Precision, recall, and F1 score are calculated for each threshold in a preset threshold range (e.g., 0.1 to 0.9, with a step size of 0.02). The optimal classification threshold is selected based on the F1 score maximization criterion. Finally, the optimal classification threshold and the model weights of the first model are used as the fault prediction model and its corresponding model parameters.
[0097] In some embodiments, step S105, which involves predicting the feature data of the target sample based on the fault prediction model and the corresponding model parameters to obtain a memory fault prediction result, may include: loading the fault prediction model and the corresponding model parameters; inputting the feature data of the target sample into the fault prediction model to obtain the positive class probability output by the fault prediction model; outputting a first prediction result in response to the positive class probability being not lower than the classification threshold; the first prediction result indicating the existence of a memory fault risk; and outputting a second prediction result in response to the positive class probability being lower than the classification threshold; the second prediction result indicating the absence of a memory fault risk.
[0098] As an example, the fault prediction model and its corresponding model parameters are loaded, including the classification thresholds in the model weight file and threshold configuration file. For the target server instance, a feature extraction window is constructed based on the current anchor point time, and feature data of the target sample is extracted from the machine logs of the target server instance. The feature data of the target sample is in the same format as that used during model training.
[0099] The feature data of the target sample is input into the fault prediction model, and the positive class probability is obtained by forward computation through the GridCNN network. When the positive class probability is not lower than the classification threshold, the first prediction result is output, which indicates that the target sample has a memory fault risk; when the positive class probability is lower than the classification threshold, the second prediction result is output, which indicates that the target sample does not have a memory fault risk within the label observation window. The feature extraction window continues to slide to predict memory faults at the next time step.
[0100] In some embodiments, the GridCNN model mainly includes the following modules: an ingress convolutional layer: mapping the C-channel input to a uniform intermediate feature width (e.g., 64 channels); a multi-stage convolutional backbone: four stages by default, each stage containing several residual convolutional blocks and spatial max pooling (H and W are halved); residual blocks: two layers of 3×3 convolutions and shortcut connections, with the number of channels remaining unchanged, alleviating the difficulty of deepening training; global average convergence: compressing [C', H', W'] into a feature vector of length C', with fewer parameters than a directly flattened fully connected layer; and a classification head: sequentially passing through a fully connected hidden layer, activation layer, random deactivation layer, and output layer to obtain a two-dimensional class score.
[0101] like Figure 5 The diagram shown is a schematic representation of the network model structure in an embodiment of this application.
[0102] Specifically, the key components repeatedly used in the network model are the residual block structure and the stage block structure. The stage block is responsible for dividing the downsampling levels and channel widths, while the residual block is responsible for extracting deep features within the stage block. Together, they enable the model to identify local anomalies and their multi-scale aggregation patterns on the spatial heatmap from the multi-channel heatmap in a shallow to a deep manner, which are then used by the subsequent global pooling and classification head.
[0103] The combined module in the residual block is ConvBNReLU, which is a combination of convolutional layers, batch normalization (BN), and the ReLU (Rectified Linear Unit) activation function. The two-dimensional convolutional layer (Conv-2d) uses two-dimensional convolutional kernels to spatially convolve the input feature map. Batch normalization + rectified linear unit (BN + ReLU) performs batch normalization first, followed by ReLU activation. Batch normalization (BN) standardizes the input for each layer. Random dropout can also be called random deactivation. The ReLU activation function (Rectified Linear Unit) sets negative values to zero and leaves positive values unchanged.
[0104] In the stage block, "Number of input channels = number of output channels?" indicates whether the number of input channels (Channel-in) equals the number of output channels (Channel-out). "Number of input channels = number of output channels" means the number of input channels equals the number of output channels. "Last module?" indicates whether the current residual block is the last module of this stage block. The two-dimensional max pooling layer (MaxPool-2d) downsamples by taking local maxima in two-dimensional space.
[0105] The residual block is the basic convolutional unit used when the channels within a stage are already aligned. It consists of two 3×3 convolutions forming the main path, and the input is added to the main path output via a shortcut connection before activation. In this application, the residual block does not change the number of channels or spatial dimensions; random deactivation is only enabled on the last residual block of each stage. Spatial regularization is performed on the feature map of the last layer, while the previous layers retain their fine-grained spatial information. The residual can be turned off; if the residual is turned off or the channels are not yet aligned, it degenerates into a regular convolutional block.
[0106] Stage blocks are the hierarchical units of the GridCNN convolutional backbone. They first deepen the transformation at the same resolution, and then downsample at the end to organize feature extraction. If the number of input channels is different from the number of target channels, a convolutional layer is used to complete channel alignment first, and then several convolutional blocks (2 by default) are stacked on the same two-dimensional grid to refine the local spatial pattern. Finally, MaxPool-2d is used to halve the height and width to expand the receptive field and form a coarser-grained representation.
[0107] Figures 2 to 4 The diagram illustrates an application scenario of the memory fault prediction method provided in this application embodiment.
[0108] in, Figure 2 The sampling process for anchor points is as follows: positive samples, near-fault difficult negative samples, and global negative samples. Figure 3 The process of constructing a multi-channel spatial heatmap. Figure 4 This describes a server memory fault prediction process based on spatial heatmaps and deep convolutional networks.
[0109] against Figure 2 The absolute timestamps of each event are uniformly converted into relative times starting from the earliest global time. Based on the relative time, the error detection log time span [t_min, t_max] is determined on the server's observation time axis, where t_min is the earliest time and t_max is the latest time. The global negative sample region is sampled at a relatively large step size Δn·k or random interval during the safe period far from the failure time, and is constrained by the upper limit of a single server. The positive sample region is a closed interval [ft-H, ft] extending forward from the work order failure time ft with a length equal to the label observation window H. The positive sample region anchors are generated by dense sampling with a smaller step size Δp and marked as positive. The near-failure difficult negative sample region is a half-open interval [ft-T_pre, ft-H) extending forward to the precursor band length T_pre with the left endpoint ft-H of the positive sample region as the right boundary. The difficult negative sample region anchors are generated by sampling with a step size Δn and marked as negative with precursor semantics. The three types of regions do not overlap in time.
[0110] against Figure 3Left branch: First, the CE events containing row address, column address and memory identifier in the feature window are mapped to the H_grid×W_grid grid according to the preset binning scale. According to the memory identifier, the channel is accumulated and counted, and after element-by-element logarithmic compression transformation, a 16-way Bank density plane is formed.
[0111] Right branch: Broadcast the one-hot encoding of the hardware ledger as an H_grid×W_grid constant plane to form 15 ledger channels.
[0112] The 16 Bank density planes and 15 ledger channels in the left and right branches are concatenated along the channel dimension to obtain a multi-channel heatmap with a fixed size of [C, H_grid, W_grid], which is used as the input feature of the deep convolutional network.
[0113] against Figure 4 The server memory fault prediction process consists of 5 stages: 1. The raw input data stage includes machine error logs, fault work orders, and hardware ledgers.
[0114] 2. In the sample index construction stage, the original input data is unified to the relative time axis, three types of anchor points are generated, and a sample index table including positive sample area, difficult negative sample area and global negative sample area is constructed.
[0115] 3. In the spatial heatmap construction and labeling stage, anchor points are processed one by one. Correctable error events are extracted from the feature extraction window and mapped into spatial heatmaps by row address and column address. At the same time, binary labels are generated based on the alignment of the label observation window with the work order failure time. After time-layer segmentation and robust normalization, training set, validation set and test set are obtained.
[0116] 4. In the GridCNN training and threshold calibration stage, GridCNN performs forward propagation on the 31-channel spatial heatmap, uses class-weighted cross-entropy loss and positive sample oversampling to train the model, searches for the optimal F1 threshold on the validation set and stops early to save the optimal checkpoint; finally, the obtained model weights and optimal threshold are saved.
[0117] 5. During the online inference phase, the model weights and optimal thresholds are loaded, and the corresponding positive class probability is output for the new input heatmap. If the probability is not lower than the threshold, it is predicted as a fault; otherwise, it is predicted as normal, thus obtaining the fault prediction result for the server memory.
[0118] Understandable. Figures 2 to 4 The application scenarios of the memory fault prediction method in this application are only some exemplary implementations in the embodiments of this application. The application scenarios of the memory fault prediction method in the embodiments of this application include, but are not limited to, those of other applications. Figures 2 to 4 The application scenarios of the memory fault prediction method are shown.
[0119] The exemplary structure of the software modules included in the memory fault prediction device 90 provided in this application embodiment will be further described below. In some embodiments, such as... Figure 6 As shown, the memory fault prediction device 90 may include: The sample generation module 901 is used to generate a corresponding set of sample anchor points for each device instance based on the machine error detection logs and fault work orders of the device. The set of sample anchor points includes positive sample area anchor points, difficult negative sample area anchor points and global negative sample area anchor points. The start time of the feature extraction window of each anchor point is no earlier than the earliest time of the machine error detection log of the corresponding device. The feature generation module 902 is used to extract correctable error events from the machine error detection log based on the feature extraction window corresponding to each anchor point, map the row address and column address of the correctable error event to a two-dimensional grid according to a preset binning scale to obtain the first feature; generate the second feature based on the hardware ledger of the device; and concatenate the first feature and the second feature to obtain the feature data corresponding to each anchor point. The label generation module 903 is used to determine the label data corresponding to the feature data based on the label observation window and fault work order corresponding to each anchor point; the feature extraction window and the label observation window do not overlap. The offline training module 904 is used to train a set machine learning model based on feature data and label data to obtain a fault prediction model and corresponding model parameters; the model parameters include at least a classification threshold. The online prediction module 905 is used to predict the feature data of the target sample based on the fault prediction model and the corresponding model parameters, and obtain the memory fault prediction result.
[0120] The fault prediction model and classification threshold are both trained offline. If the model needs to be updated, it is retrained offline and redeployed after training is completed.
[0121] In some embodiments, the positive sample area anchor point is an anchor point generated on the observation time axis of each device, with the fault time of the fault work order as the right boundary, and within a closed interval extending forward to a length equal to the duration of the tag observation window, with a first preset step size. The anchor point of the difficult negative sample area is an anchor point generated with a second preset step size on the observation time axis of each device, with the left end of the positive sample area as the right boundary and the half-open interval within the difference between the fault time and the precursor band length at the left boundary. The global negative sample area anchor point is an anchor point selected within a safe period set on the observation time axis of each device, using a third preset step size or a random method; the interval between the safe period and any fault moment is greater than the length of the precursor band.
[0122] In some embodiments, the feature extraction window is a left-closed, right-open interval that terminates at the anchor time and does not include the anchor time; the label observation window is a left-right closed interval that starts at the anchor time and includes the anchor time; the feature extraction window and the label observation window are adjacent at the anchor time.
[0123] In some embodiments, the sample generation module 901 is specifically used for: Determine the relative time corresponding to each event time in the machine error detection log and fault work order; Based on relative time, the error detection log time span corresponding to each device instance is determined on the observation time axis of each device; Based on the time span of the error detection log, the left boundary constraint of the anchor point time is determined to be the sum of the earliest time of the machine error detection log and the feature extraction window duration, and the right boundary constraint of the negative sample anchor point time is determined to be the difference between the latest time of the machine error detection log and the label observation window duration. Select anchor point times that are not lower than the left boundary constraint, and use the fault time of the fault work order as the right boundary to generate anchor points for the positive sample area. Anchor point time is selected between the left and right bound constraints. Anchor point for difficult negative sample region is generated with the left endpoint of positive sample region as right bound. Anchor point time for global negative sample region is generated within safe period. Based on the set sample ratio and sample size, the anchor points of the positive sample region, the anchor points of the difficult negative sample region, and the anchor points of the global negative sample region are merged to obtain the sample anchor point set.
[0124] In some embodiments, the feature generation module 902 is specifically used for: Based on feature extraction windows, correctable error events are filtered out from machine error detection logs; The row addresses of correctable error events are mapped to the grid height dimension according to a preset row binning scale, and the column addresses are mapped to the grid width dimension according to a preset column binning scale, thus obtaining the grid index range; Based on the grid index range, the multi-channel grid counting characteristics are obtained by accumulating and counting by channel according to the storage identifier in the machine error detection log. Based on the multi-channel grid counting feature, a logarithmic compression transformation is performed element-by-element on each channel plane to obtain the first feature.
[0125] In some embodiments, the feature generation module 902 is specifically used for: Read the hardware attributes from the device's hardware ledger; Encode hardware properties into fixed-dimensional vectors; The vector is broadcast to a constant plane with the same size as the two-dimensional mesh, resulting in the second feature.
[0126] In some embodiments, the label generation module 903 is specifically used for: Target work orders are filtered based on the fault type of the work order; For each anchor point, determine whether the fault time of the target work order exists within the label observation window; If it exists, the label data is positive; if it does not exist, the label data is negative.
[0127] In some embodiments, the offline training module 904 is specifically used for: The sample anchor set is divided into training set, validation set and test set according to time stratification; Based on the training set, determine the scaling factor; the scaling factor includes one of the median absolute deviation, standard deviation, and interquartile range. Based on the median and scale factor of each grid position in each channel of the training set, the training set is normalized to obtain the training set samples. Based on the training set samples, the machine learning model is trained using class-weighted cross-entropy loss and positive sample oversampling to obtain the first model; where the negative class weight is fixed at 1, the positive class weight is obtained by scaling the original label frequency of the training set by the square root, and the positive sample oversampling is to repeat the index of each positive sample an additional preset number of times at the training set index level, and the class weight is calculated according to the original frequency before positive sample oversampling. A grid search is performed on the positive class probability output by the first model on the validation set to obtain the classification threshold; The classification threshold and the model weights of the first model are saved to obtain the fault prediction model and the corresponding model parameters.
[0128] In some embodiments, the online prediction module 905 is specifically used for: Load the fault prediction model and its corresponding parameters; Input the feature data of the target sample into the fault prediction model to obtain the positive class probability output by the fault prediction model; If the positive class probability is not lower than the classification threshold, the first prediction result is output; the first prediction result indicates the presence of memory failure risk. In response to a positive class probability below the classification threshold, a second prediction result is output; the second prediction result indicates that there is no risk of memory failure.
[0129] It should be noted that the description of the apparatus in this application embodiment is similar to the description of the method embodiment above, and has similar beneficial effects as the method embodiment, therefore, it will not be repeated. For any technical details not covered in the memory fault prediction apparatus provided in this application embodiment, please refer to... Figures 1 to 5 The meaning is understood in accordance with the description of any of the accompanying drawings.
[0130] According to embodiments of this application, this application also provides an electronic device and a non-transitory computer-readable storage medium.
[0131] Figure 7 A schematic block diagram of an example electronic device 800 that can be used to implement embodiments of this application is shown. The electronic device is intended to represent various forms of digital computers, such as laptop computers, desktop computers, workstations, personal digital assistants, servers, blade servers, mainframe computers, and other suitable computers. The electronic device may also represent various forms of mobile devices, such as personal digital processors, cellular phones, smartphones, wearable devices, and other similar computing devices. The components shown herein, their connections and relationships, and their functions are merely illustrative and are not intended to limit the implementation of the application described and / or claimed herein.
[0132] like Figure 7 As shown, the electronic device 800 includes a computing unit 801, which can perform various appropriate actions and processes according to a computer program stored in ROM 802 or a computer program loaded into RAM 803 from storage unit 808. RAM 803 can also store various programs and data required for the operation of the electronic device 800. The computing unit 801, ROM 802, and RAM 803 are interconnected via bus 804. I / O interface 805 is also connected to bus 804.
[0133] Multiple components in electronic device 800 are connected to I / O interface 805, including: input unit 806, such as keyboard, mouse, etc.; output unit 807, such as various types of displays, speakers, etc.; storage unit 808, such as hard disk, optical disk, etc.; and communication unit 809, such as network card, modem, wireless transceiver, etc. Communication unit 809 allows electronic device 800 to exchange information / data with other devices through computer networks such as the Internet and / or various telecommunications networks.
[0134] The computing unit 801 can be a variety of general-purpose and / or special-purpose processing components with processing and computing capabilities. Some examples of the computing unit 801 include, but are not limited to, a central processing unit (CPU), a graphics processing unit (GPU), various special-purpose artificial intelligence (AI) computing chips, various computing units running machine learning model algorithms, a digital signal processor (DSP), and any suitable processor, controller, microcontroller, etc. The computing unit 801 performs the various methods and processes described above, such as the memory fault prediction method. For example, in some embodiments, the memory fault prediction method may be implemented as a computer software program tangibly contained in a machine-readable medium, such as storage unit 808. In some embodiments, part or all of the computer program may be loaded and / or installed on the electronic device 800 via ROM 802 and / or communication unit 809. When the computer program is loaded into RAM 803 and executed by the computing unit 801, one or more steps of the memory fault prediction method described above may be performed. Alternatively, in other embodiments, the computing unit 801 may be configured to perform the memory fault prediction method by any other suitable means (e.g., by means of firmware).
[0135] Various embodiments of the systems and techniques described above herein can be implemented in digital electronic circuit systems, integrated circuit systems, field-programmable gate arrays (FPGAs), application-specific integrated circuits (ASICs), application-specific standard products (ASSPs), systems-on-a-chip (SoCs), payload-programmable logic devices (CPLDs), computer hardware, firmware, software, and / or combinations thereof. These various embodiments may include implementations in one or more computer programs that can be executed and / or interpreted on a programmable system including at least one programmable processor, which may be a dedicated or general-purpose programmable processor, capable of receiving data and instructions from a storage system, at least one input device, and at least one output device, and transmitting data and instructions to the storage system, the at least one input device, and the at least one output device.
[0136] The program code used to implement the methods of this application may be written in any combination of one or more programming languages. This program code may be provided to a processor or controller of a general-purpose computer, special-purpose computer, or other programmable data processing device, such that when executed by the processor or controller, the functions / operations specified in the flowcharts and / or block diagrams are implemented. The program code may be executed entirely on a machine, partially on a machine, as a standalone software package partially on a machine and partially on a remote machine, or entirely on a remote machine or server.
[0137] In the context of this application, a machine-readable medium can be a tangible medium that may contain or store a program for use by or in conjunction with an instruction execution system, apparatus, or device. A machine-readable medium can be a machine-readable signal medium or a machine-readable storage medium. Machine-readable media can be, but is not limited to, electronic, magnetic, optical, electromagnetic, infrared, or semiconductor systems, apparatus, or devices, or any suitable combination of the foregoing. More specific examples of machine-readable storage media include electrical connections based on one or more wires, portable computer disks, hard disks, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM or flash memory), optical fibers, portable compact disk read-only memory (CD-ROM), optical storage devices, magnetic storage devices, or any suitable combination of the foregoing.
[0138] To provide interaction with a user, the systems and techniques described herein can be implemented on a computer having: a display device for displaying information to the user (e.g., a CRT (cathode ray tube) or LCD (liquid crystal display) monitor); and a keyboard and pointing device (e.g., a mouse or trackball) through which the user provides input to the computer. Other types of devices can also be used to provide interaction with the user; for example, feedback provided to the user can be any form of sensory feedback (e.g., visual feedback, auditory feedback, or tactile feedback); and input from the user can be received in any form (including sound input, voice input, or tactile input).
[0139] The systems and technologies described herein can be implemented in computing systems that include backend components (e.g., as a data server), or computing systems that include middleware components (e.g., an application server), or computing systems that include frontend components (e.g., a user computer with a graphical user interface or web browser through which a user can interact with implementations of the systems and technologies described herein), or any combination of such backend, middleware, or frontend components. The components of the system can be interconnected via digital data communication of any form or medium (e.g., a communication network). Examples of communication networks include local area networks (LANs), wide area networks (WANs), and the Internet.
[0140] Computer systems can include clients and servers. Clients and servers are generally located far apart and typically interact via communication networks. Client-server relationships are created by computer programs running on the respective computers and having a client-server relationship with each other. Servers can be cloud servers, servers in distributed systems, or servers incorporating blockchain technology.
[0141] It should be understood that the various forms of processes shown above can be used to rearrange, add, or delete steps. For example, the steps described in this application can be executed in parallel, sequentially, or in different orders, as long as the desired result of the technical solution disclosed in this application can be achieved, and this is not limited herein.
[0142] Furthermore, the terms "first" and "second" are used for descriptive purposes only and should not be construed as indicating or implying relative importance or implicitly specifying the number of technical features indicated. Thus, a feature defined as "first" or "second" may explicitly or implicitly include at least one of that feature. In the description of this application, "a plurality of" means two or more, unless otherwise explicitly specified.
[0143] The above description is merely a specific embodiment of this application, but the scope of protection of this application is not limited thereto. Any variations or substitutions that can be easily conceived by those skilled in the art within the scope of the technology disclosed in this application should be included within the scope of protection of this application. Therefore, the scope of protection of this application should be determined by the scope of the claims.
Claims
1. A memory failure prediction method, characterized by, The method includes: Based on the machine error detection logs and fault work orders of the devices, a corresponding set of sample anchor points is generated for each device instance. The set of sample anchor points includes positive sample area anchor points, difficult negative sample area anchor points, and global negative sample area anchor points. The start time of the feature extraction window of each anchor point is no earlier than the earliest time of the machine error detection log of the corresponding device. Based on the feature extraction window corresponding to each anchor point, correctable error events are extracted from the machine error detection log. The row address and column address of the correctable error event are mapped to a two-dimensional grid according to a preset binning scale to obtain the first feature. Based on the hardware ledger of the device, the second feature is generated. The first feature and the second feature are concatenated to obtain the feature data corresponding to each anchor point. Based on the label observation window corresponding to each anchor point and the fault work order, the label data corresponding to the feature data is determined; the feature extraction window and the label observation window do not overlap; Based on the feature data and the label data, the set machine learning model is trained to obtain a fault prediction model and corresponding model parameters; the model parameters include at least a classification threshold. Based on the fault prediction model and the corresponding model parameters, the feature data of the target sample are predicted to obtain the memory fault prediction result.
2. The method of claim 1, wherein, The positive sample area anchor point is an anchor point generated on the observation time axis of each device, with the fault time of the fault work order as the right boundary, and within a closed interval extending forward to a length equal to the duration of the tag observation window, with a first preset step size. The difficult negative sample region anchor point is an anchor point generated with a second preset step size on the observation time axis of each device, with the left end point of the positive sample region as the right boundary, and within a half-open interval where the left boundary is the difference between the fault time and the precursor band length. The global negative sample area anchor point is an anchor point selected within a safe period set on the observation time axis of each device, using a third preset step size or a random method; the interval between the safe period and any fault moment is greater than the precursor band length.
3. The method of claim 1, wherein, The feature extraction window is a left-closed, right-open interval that terminates at the anchor point time but does not include the anchor point time; the label observation window is a left-right closed interval that starts at the anchor point time and includes the anchor point time; the feature extraction window and the label observation window are adjacent at the anchor point time.
4. The method according to claim 2, characterized in that, The machine error detection logs and fault work orders based on the devices generate a corresponding set of sample anchor points for each device instance, including: Determine the relative time corresponding to each event time in the machine error detection log and fault work order; Based on the relative time, the error detection log time span corresponding to each device instance is determined on the observation time axis of each device; Based on the time span of the error detection log, the left boundary constraint of the anchor point time is determined to be the sum of the earliest time of the machine error detection log and the feature extraction window duration, and the right boundary constraint of the negative sample anchor point time is determined to be the difference between the latest time of the machine error detection log and the label observation window duration. Select an anchor point time that is not lower than the left boundary constraint, and use the fault time of the fault work order as the right boundary to generate the anchor point of the positive sample area. An anchor point is selected between the left boundary constraint and the right boundary constraint, and the difficult negative sample region anchor point is generated with the left endpoint of the positive sample region as the right boundary. An anchor point is also selected within the safe period to generate the global negative sample region anchor point. Based on the set sample ratio and sample number, the anchor points of the positive sample region, the anchor points of the difficult negative sample region, and the anchor points of the global negative sample region are merged to obtain the sample anchor point set.
5. The method according to claim 1, characterized in that, The feature extraction window based on each anchor point extracts correctable error events from the machine error detection log, and maps the row and column addresses of the correctable error events to a two-dimensional grid according to a preset binning scale to obtain the first feature, including: Based on the feature extraction window, correctable error events are filtered out from the machine error detection log; The row addresses of the correctable error events are mapped to the grid height dimension according to a preset row binning scale, and the column addresses are mapped to the grid width dimension according to a preset column binning scale to obtain the grid index range; Based on the grid index range, the multi-channel grid counting feature is obtained by performing channel-by-channel cumulative counting according to the storage identifier in the machine error detection log. Based on the multi-channel grid counting feature, logarithmic compression transformation is performed element-by-element on each channel plane to obtain the first feature.
6. The method according to claim 5, characterized in that, The second feature generated based on the hardware ledger of the device includes: Read the hardware attributes from the hardware ledger of the device; The hardware attributes are encoded into vectors of fixed dimensions; The vector is broadcast into a constant plane with the same size as the two-dimensional grid to obtain the second feature.
7. The method according to claim 1, characterized in that, The process of determining the tag data corresponding to the feature data based on the tag observation window corresponding to each anchor point and the fault work order includes: Target work orders are filtered based on the fault type of the aforementioned work orders; For each anchor point, determine whether the fault time of the target work order exists within the label observation window; If the label exists, the label data is a positive class; if it does not exist, the label data is a negative class.
8. The method according to claim 1, characterized in that, The step of training a set machine learning model based on the feature data and the label data to obtain a fault prediction model and corresponding model parameters includes: The sample anchor set is divided into training set, validation set and test set according to time hierarchy; Based on the training set, a scaling factor is determined; the scaling factor includes one of the median absolute deviation, standard deviation, and interquartile range. Based on the median of each grid position in each channel of the training set and the scale factor, the training set is normalized to obtain training set samples. Based on the training set samples, the machine learning model is trained using class-weighted cross-entropy loss and positive sample oversampling to obtain the first model; wherein the negative class weight is fixed at 1, the positive class weight is obtained by scaling the original label frequency of the training set by the square root, and the positive sample oversampling is to repeat the index of each positive class sample an additional preset number of times at the training set index level, and the class weight is calculated according to the original frequency before the positive sample oversampling; A grid search is performed on the positive class probability output by the first model on the validation set to obtain the classification threshold; The classification threshold and the model weights of the first model are saved to obtain the fault prediction model and the corresponding model parameters.
9. The method according to claim 1, characterized in that, The step of predicting the feature data of the target sample based on the fault prediction model and the corresponding model parameters to obtain the memory fault prediction result includes: Load the fault prediction model and its corresponding model parameters; The feature data of the target sample is input into the fault prediction model to obtain the positive class probability output by the fault prediction model. In response to the positive class probability being not lower than the classification threshold, a first prediction result is output; the first prediction result indicates the presence of a memory fault risk. In response to the positive class probability being lower than the classification threshold, a second prediction result is output; the second prediction result indicates that there is no risk of memory failure.
10. A memory fault prediction device, characterized in that, The device includes: The sample generation module is used to generate a corresponding set of sample anchor points for each device instance based on the machine error detection logs and fault work orders of the device. The set of sample anchor points includes positive sample area anchor points, difficult negative sample area anchor points and global negative sample area anchor points. The feature extraction window start time of each anchor point is no earlier than the earliest time of the machine error detection log of the corresponding device. The feature generation module is used to extract correctable error events from the machine error detection log based on the feature extraction window corresponding to each anchor point, map the row address and column address of the correctable error event to a two-dimensional grid according to a preset binning scale to obtain the first feature; generate the second feature based on the hardware ledger of the device; and concatenate the first feature and the second feature to obtain the feature data corresponding to each anchor point. The label generation module is used to determine the label data corresponding to the feature data based on the label observation window corresponding to each anchor point and the fault work order; the feature extraction window and the label observation window do not overlap; An offline training module is used to train a set machine learning model based on the feature data and the label data to obtain a fault prediction model and corresponding model parameters; the model parameters include at least a classification threshold. The online prediction module is used to predict the feature data of the target sample based on the fault prediction model and the corresponding model parameters, so as to obtain the memory fault prediction result.
11. The apparatus according to claim 10, characterized in that, The positive sample area anchor point is an anchor point generated on the observation time axis of each device, with the fault time of the fault work order as the right boundary, and within a closed interval extending forward to a length equal to the duration of the tag observation window, with a first preset step size. The difficult negative sample region anchor point is an anchor point generated with a second preset step size on the observation time axis of each device, with the left end point of the positive sample region as the right boundary, and within a half-open interval where the left boundary is the difference between the fault time and the precursor band length. The global negative sample area anchor point is an anchor point selected within a safe period set on the observation time axis of each device, using a third preset step size or a random method; the interval between the safe period and any fault moment is greater than the precursor band length.
12. The apparatus according to claim 10, characterized in that, The feature extraction window is a left-closed, right-open interval that terminates at the anchor point time but does not include the anchor point time; the label observation window is a left-right closed interval that starts at the anchor point time and includes the anchor point time; the feature extraction window and the label observation window are adjacent at the anchor point time.
13. The apparatus according to claim 11, characterized in that, The sample generation module is specifically used for: Determine the relative time corresponding to each event time in the machine error detection log and fault work order; Based on the relative time, the error detection log time span corresponding to each device instance is determined on the observation time axis of each device; Based on the time span of the error detection log, the left boundary constraint of the anchor point time is determined to be the sum of the earliest time of the machine error detection log and the feature extraction window duration, and the right boundary constraint of the negative sample anchor point time is determined to be the difference between the latest time of the machine error detection log and the label observation window duration. Select an anchor point time that is not lower than the left boundary constraint, and use the fault time of the fault work order as the right boundary to generate the anchor point of the positive sample area. An anchor point is selected between the left boundary constraint and the right boundary constraint, and the difficult negative sample region anchor point is generated with the left endpoint of the positive sample region as the right boundary. An anchor point is also selected within the safe period to generate the global negative sample region anchor point. Based on the set sample ratio and sample number, the anchor points of the positive sample region, the anchor points of the difficult negative sample region, and the anchor points of the global negative sample region are merged to obtain the sample anchor point set.
14. The apparatus according to claim 10, characterized in that, The feature generation module is specifically used for: Based on the feature extraction window, correctable error events are filtered out from the machine error detection log; The row addresses of the correctable error events are mapped to the grid height dimension according to a preset row binning scale, and the column addresses are mapped to the grid width dimension according to a preset column binning scale to obtain the grid index range; Based on the grid index range, the multi-channel grid counting feature is obtained by performing channel-by-channel cumulative counting according to the storage identifier in the machine error detection log. Based on the multi-channel grid counting feature, logarithmic compression transformation is performed element-by-element on each channel plane to obtain the first feature.
15. The apparatus according to claim 14, characterized in that, The feature generation module is specifically used for: Read the hardware attributes from the hardware ledger of the device; The hardware attributes are encoded into vectors of fixed dimensions; The vector is broadcast into a constant plane with the same size as the two-dimensional grid to obtain the second feature.
16. The apparatus according to claim 10, characterized in that, The label generation module is specifically used for: Target work orders are filtered based on the fault type of the aforementioned work orders; For each anchor point, determine whether the fault time of the target work order exists within the label observation window; If the label exists, the label data is a positive class; if it does not exist, the label data is a negative class.
17. The apparatus according to claim 10, characterized in that, The offline training module is specifically used for: The sample anchor set is divided into training set, validation set and test set according to time hierarchy; Based on the training set, a scaling factor is determined; the scaling factor includes one of the median absolute deviation, standard deviation, and interquartile range. Based on the median of each grid position in each channel of the training set and the scale factor, the training set is normalized to obtain training set samples. Based on the training set samples, the machine learning model is trained using class-weighted cross-entropy loss and positive sample oversampling to obtain the first model; wherein the negative class weight is fixed at 1, the positive class weight is obtained by scaling the original label frequency of the training set by the square root, and the positive sample oversampling is to repeat the index of each positive class sample an additional preset number of times at the training set index level, and the class weight is calculated according to the original frequency before the positive sample oversampling; A grid search is performed on the positive class probability output by the first model on the validation set to obtain the classification threshold; The classification threshold and the model weights of the first model are saved to obtain the fault prediction model and the corresponding model parameters.
18. The apparatus according to claim 10, characterized in that, The online prediction module is specifically used for: Load the fault prediction model and its corresponding model parameters; The feature data of the target sample is input into the fault prediction model to obtain the positive class probability output by the fault prediction model. In response to the positive class probability being not lower than the classification threshold, a first prediction result is output; the first prediction result indicates the presence of a memory fault risk. In response to the positive class probability being lower than the classification threshold, a second prediction result is output; the second prediction result indicates that there is no risk of memory failure.
19. An electronic device, characterized in that, include: At least one processor; And a memory communicatively connected to the at least one processor; wherein the memory stores instructions executable by the at least one processor to enable the at least one processor to perform the method of any one of claims 1-9.
20. A non-transitory computer-readable storage medium storing computer instructions, characterized in that, The computer instructions are used to cause the computer to perform the method according to any one of claims 1-9.
Citation Information
Patent Citations
Hard disk fault prediction model building method based on multi-dimensional features and application thereof
CN113778766A
Memory fault prediction method, electronic equipment and computer readable storage medium
CN115981911A
