Memory resource processing method and device
Through the prediction and replacement processing of the substrate management controller, the backup memory resources of the same level are used to replace the target memory resources, which solves the problem of device downtime caused by memory module UE, extends the service life of the memory module and improves the stability of the device.
Patent Information
- Application Number
- CN202411296650.5
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-09-14
- Publication Date
- 2025-01-03
AI Technical Summary
In the prior art, when an unrecoverable error (UE) occurs in the memory module, the device is prone to downtime, and the number of backup memory resources is limited, making it difficult to effectively avoid the UE, resulting in a shortening of the service life of the device.
Through the substrate management controller, based on error information and historical error information, predict the probability that the memory module may occur in UE, and when the prediction conditions are met, it uses backup memory resources of the same level as the target memory resource for replacement processing to reduce the backup memory resource The amount of use extends the service life of the memory module.
It effectively reduces the number of backup memory resources used for each replacement, extends the service life of the memory module, and improves the reliability and stability of the device.
Smart Images

Figure CN119248573A_ABST
Abstract
Description
Technical Field
[0001] The present application relates to the field of memory technology, and in particular to a method and device for processing memory resources. Background Art
[0002] When an electronic device is running, a memory module may have an error. The error of the memory module can generally be divided into a recoverable error (Correctable Error, CE) and an unrecoverable error (Uncorrectable Error, UE). The occurrence of a UE in the memory module usually causes the corresponding electronic device to crash.
[0003] In the related field, in order to prevent the device from crashing due to a UE in the memory module, some backup memory resources are usually set in the memory module so that these backup memory resources can replace the current memory resources that may have a UE when needed, thereby preventing the memory module from having a UE.
[0004] However, the number of backup memory resources is limited, so how to use the limited backup memory resources to avoid UE of the memory module to the greatest extent has become an urgent problem to be solved. Summary of the invention
[0005] To this end, this application discloses the following technical solutions:
[0006] The first aspect of the present application provides a method for processing memory resources, comprising:
[0007] When obtaining error information of a memory module, the baseboard management controller determines a prediction result of an uncorrectable error occurring in the memory module according to the error information, wherein the memory module includes memory resources at multiple levels;
[0008] The baseboard management controller determines, when the prediction result satisfies the target condition, a target memory resource of any level in the memory module according to the error information and historical error information, wherein the historical error information includes other error information received by the baseboard management controller before the error information;
[0009] The baseboard management controller uses a backup memory resource at the same level as the target memory resource to replace the target memory resource.
[0010] Optionally, the multiple levels include: rows, storage arrays, particles, and columns;
[0011] The step of determining a target memory resource at any level in the memory module according to the error information and the historical error information includes:
[0012] Determining in sequence whether each of the levels meets a replacement condition according to the error information and historical error information;
[0013] When it is determined that any of the levels meets the replacement condition, a target memory resource is determined from the memory resources of the level meeting the replacement condition.
[0014] Optionally, determining in sequence whether each level satisfies a replacement condition according to the error information and historical error information includes:
[0015] Determine in sequence, based on the error information and the historical error information, whether the post-replacement prediction result corresponding to each of the levels meets the target condition, the post-replacement prediction result corresponding to the level including a prediction result that an uncorrectable error occurs in the memory module after the memory resource of the level is replaced with a backup memory resource;
[0016] The replacement condition includes that the replaced prediction result corresponding to the level does not meet the target condition.
[0017] Optionally, determining the target memory resource from the memory resources of the level satisfying the replacement condition includes:
[0018] The target memory resource is determined according to the post-replacement prediction results of each memory resource included in the level that meets the replacement condition.
[0019] Optionally, determining in sequence whether each level satisfies a replacement condition according to the error information and historical error information includes:
[0020] Obtaining a plurality of error location information contained in the error information and the historical error information, wherein the error location information is used to indicate a memory resource in the memory module where a corresponding error occurs;
[0021] Determine in sequence whether the memory resources indicated by the plurality of error location information in each level are the same memory resource;
[0022] The replacement condition includes that the memory resources indicated by the multiple pieces of error location information in the level are the same memory resource.
[0023] Optionally, determining the target memory resource from the memory resources of the level satisfying the replacement condition includes:
[0024] The same memory resource indicated by the plurality of error location information in the level satisfying the replacement condition is determined as the target memory resource.
[0025] Optionally, also include:
[0026] In the case that each of the levels does not satisfy the replacement condition, a target memory resource is determined from replaceable memory resources at the highest level according to the error information and historical error information.
[0027] Optionally, the error message includes:
[0028] Error location information and error time information indicating the location and time when the error occurred, register information of the memory module when the error occurred, model information of the memory module and the server device to which the memory module belongs, type information, replacement time information and location information of the backup memory resource that has been replaced in the memory module when the error occurs.
[0029] Optionally, also include:
[0030] Delete error information corresponding to an error occurring in the target memory resource.
[0031] A second aspect of the present application provides an electronic device, including a baseboard management controller and a memory module;
[0032] The baseboard management controller includes at least one interface, and the interface is used to receive error information of the memory module;
[0033] The baseboard management controller is used for:
[0034] When error information of a memory module is obtained, a prediction result of an uncorrectable error occurring in the memory module is determined according to the error information, wherein the memory module includes memory resources at multiple levels;
[0035] In the case where the prediction result meets the target condition, determining a target memory resource at any level in the memory module according to the error information and historical error information, wherein the historical error information includes other error information received by the baseboard management controller before the error information;
[0036] The target memory resource is replaced by a backup memory resource of the same level as the target memory resource. BRIEF DESCRIPTION OF THE DRAWINGS
[0037] In order to more clearly illustrate the technical solutions in the embodiments of the present application or the related technologies, the drawings required for use in the embodiments or the related technical descriptions are briefly introduced below. Obviously, the drawings described below are merely embodiments of the present application. For ordinary technicians in this field, other drawings can be obtained based on the provided drawings without paying any creative work.
[0038] Figure 1 is a flowchart of a method for processing memory resources provided in an embodiment of the present application;
[0039] Figure 2 It is a structural schematic diagram of a dual in-line memory module provided in an embodiment of the present application;
[0040] Figure 3 is a flowchart of another method for processing memory resources provided in an embodiment of the present application;
[0041] Figure 4 It is a structural schematic diagram of an electronic device provided in an embodiment of the present application. DETAILED DESCRIPTION
[0042] The following will be combined with the drawings in the embodiments of the present application to clearly and completely describe the technical solutions in the embodiments of the present application. Obviously, the described embodiments are only part of the embodiments of the present application, not all of the embodiments. Based on the embodiments in the present application, all other embodiments obtained by ordinary technicians in this field without creative work are within the scope of protection of this application.
[0043] This application embodiment provides a method for processing memory resources. Figure 1 , is a flow chart of the method, and the method may include the following steps.
[0044] S101, when obtaining error information of a memory module, a baseboard management controller determines a prediction result of an uncorrectable error occurring in the memory module according to the error information, wherein the memory module includes memory resources of multiple levels.
[0045] The memory module of this embodiment may be a memory module installed in any electronic device, for example, may be a memory module installed in a server device.
[0046] The method of this embodiment may be executed by a baseboard management controller (BMC) of the device to which the memory module belongs.
[0047] When a recoverable error (Correctable Error, CE) occurs in the memory module, the Unified Extensible Firmware Interface (UEFI) of the electronic device to which the memory module belongs can collect error information corresponding to the error and send the error information to the BMC.
[0048] The error information sent to the BMC may include at least one of the following information:
[0049] Error location information and error time information indicating the location and time of the error. As an example, the error location information may include any one or more of row, column, rank, bank, bankGroup, chipIndex, subRank, cpuIndex, imcIndex, dimmIndex, subChannel and channelIndex. Based on this information, the baseboard management controller can determine where the error specifically occurred in the memory module. The error time information may be represented by a timestamp (logTimestamp) when the memory module sends the error information.
[0050] register information of the memory module when an error occurs, the error information may include information stored in a parity register of the memory module when an error occurs, and information stored in an error log register of the memory module when an error occurs;
[0051] Model information of the memory module and the server device to which the memory module belongs, where the model information may include the slot information (dimmSlot) of the memory module, the serial number information (dimmSerialnumber) of the memory module, the platform of the server device to which the memory module belongs (e.g., Purley platform, Whitley platform), and the part number (partNumber) of the memory module where the error occurs;
[0052] Other relevant information, including but not limited to error type information, error source information, product name, series name, model name used, manufacturer and type of central processing unit (CPU) of the server device to which the memory module that caused the error belongs, type, capacity, applicable technical specifications, manufacturer, and production date of the memory module;
[0053] The type information, replacement time information and location information of the replaced backup memory resources in the memory module when an error occurs. The location information may include row, column, rank, bank, bankGroup, chipIndex, subRank, cpuIndex, imcIndex, dimmIndex, subChannel and channelIndex corresponding to the replaced backup memory resources. The type information may include the serial number (mpfaPPRSerialnumber), type (pprTypeStr), level (recoveryTypeStr) and identification (mpfaPPRId) of the replaced backup memory resources.
[0054] After receiving the error information, the BMC can call the UE prediction module to process the error information received this time to obtain the prediction result of the uncorrectable error of the memory module. In this embodiment, the prediction result can represent the possibility of the uncorrectable error of the memory module after the recoverable error occurs this time. As an example, the prediction result obtained in S101 can be a probability value, which indicates the probability of the uncorrectable error of the memory module after the recoverable error occurs this time. The larger the probability value, the more likely the memory module is to have an uncorrectable error.
[0055] The UE prediction module may be a hardware module or a software module capable of predicting the possibility of an uncorrectable error occurring in a memory module. The module may be deployed on a BMC or on other components in the electronic device except the BMC.
[0056] The UE prediction module can obtain the above prediction results based on a pre-trained machine learning model. In this embodiment, error information of various errors that have occurred in the memory module in the past can be collected in advance, and feature data of errors that occurred in the memory module can be obtained based on the error information. As an example, any one or more of the following feature data can be obtained:
[0057] The number of errors that occurred at different levels of memory resources;
[0058] The cumulative number of memory cells, rows, banks, devices, and ranks that have experienced errors in the memory module;
[0059] The number of times various types of errors occur, such as the number of recoverable errors, the number of uncorrectable errors, the number of single-bit recoverable errors (single bit CE), and the number of multi-bit recoverable errors (multi-bit CE);
[0060] The rate of errors over a period of time;
[0061] The average and median of the time intervals between errors in a period of time;
[0062] Single Device Data Correction (SDDC) mode for memory modules where errors occur;
[0063] Memory resources that repeatedly experience multiple errors, such as memory cells, rows, memory arrays, and granules that repeatedly experience multiple errors;
[0064] Which particles have experienced errors at the same location? For example, both particles 1 and 0 have experienced errors at storage array 1, or both have experienced errors at row 2 of storage array 1.
[0065] Based on the above feature data, a machine learning model can be trained to obtain a machine learning model that can predict the probability of UE occurrence based on CE error information, and the above UE prediction module is constructed based on the machine learning model.
[0066] S102, when the prediction result meets the target condition, the baseboard management controller determines the target memory resource of any level in the memory module according to the error information and historical error information, where the historical error information includes other error information received by the baseboard management controller before the error information.
[0067] In step S102, the target condition may be that the probability of occurrence of UE represented by the prediction result is large enough. As an example, when the prediction result is the probability value of occurrence of UE in the memory module, the target condition may be that the probability value is greater than or equal to a preset probability threshold. Correspondingly, if the probability value obtained after processing in S101 is less than the probability threshold, it can be determined that the prediction result does not meet the target condition.
[0068] The above probability threshold may be set by a user of the device to which the memory module belongs.
[0069] When the prediction results meet the target conditions, the baseboard management controller can process the error information received this time and the historical error information received before the error information, and determine which level of memory resource in the memory module to replace based on the processing results, that is, determine the target memory resource that needs to be replaced.
[0070] The historical error information used in S102 may include all error information received by the baseboard management controller up to the time when the error information is received this time, and may also include error information received by the baseboard management controller within a recent period of time before the error information is received this time, such as within the past week or within the past 24 hours.
[0071] In some embodiments, the memory module may be a Dual-Inline-Memory-Module (DIMM).
[0072] See also Figure 2 An electronic device may have one or more channels for installing DIMMs, and each channel may be installed with one or more DIMMs, for example Figure 2 (1) Channel X can be populated with two DIMMs, namely DIMM0 and DIMM1.
[0073] The memory resources contained in a DIMM can be divided into multiple ranks, such as Figure 2 In (1), DIMM1 may include at least 6 ranks, and each rank may include multiple devices, for example Figure 2 In (1), the 4 columns (rank 4) may include 18 particles, which are sequentially recorded as particles 0 to 17. Each particle may include multiple storage arrays, for example Figure 2 In (1), the particle 17 may include n+1 storage arrays, which are sequentially recorded as storage array 0 to storage array n.
[0074] See also Figure 2 (2), each storage array may include a plurality of memory cells arranged in a matrix form, each memory cell may store a plurality of bits of data, for example, may store 32 bits of data, and a row of memory cells in the storage array constitutes a row of the storage array, for example Figure 2 The storage array shown in (2) may include 5 rows.
[0075] Based on the above DIMM structure, it can be seen that the memory resources of a DIMM can be divided into multiple levels from low to high: row, storage array (bank), particle (device) and column (rank).
[0076] In step S102, the baseboard management controller can determine a memory resource of a certain level among the above multiple levels as the target memory resource based on the error information received this time and the historical error information. For example, it can determine the particle 16 of the 4th column in DIMM1 as the target memory resource, or determine the storage array 2 of the particle 15 of the 5th column in DIMM1 as the target memory resource.
[0077] S103: The baseboard management controller replaces the target memory resource with a backup memory resource of the same level as the target memory resource.
[0078] After determining the target memory resource, the baseboard management controller may select a backup memory resource at the same level as the target memory resource from the backup memory resources of the memory module, and replace the target memory resource with the backup memory resource at the same level.
[0079] In combination with the above example, if the particle 16 in the 4th column of DIMM1 is determined as the target memory resource, the baseboard management controller can select one of the backup memory resources as the backup particle and replace the particle 16 in the 4th column of DIMM1 with the backup particle; if the storage array 2 of the particle 15 in the 5th column of DIMM1 is determined as the target memory resource, the baseboard management controller can determine to select one of the backup memory resources as the backup storage array and replace the storage array 2 of the particle 15 in the 5th column of DIMM1 with the backup storage array.
[0080] For the method of replacing with backup memory resources, please refer to Post Package Repair (PPR) and other related technologies, which will not be described in detail.
[0081] The beneficial effects of this embodiment are:
[0082] When the prediction result of the occurrence of an uncorrectable error in the memory module meets the target condition, the target memory resource of the corresponding level is determined according to the error information of the memory module collected, and the target memory resource is replaced with a backup memory resource of the same level as the target memory resource. Through this replacement method, the present embodiment can reduce the number of backup memory resources used for replacement each time, so as to achieve the effect of using as few backup memory resources as possible to prevent the occurrence of uncorrectable errors and extend the service life of the memory module.
[0083] In some embodiments, the baseboard management controller may determine the target memory resource as follows:
[0084] According to the error information and historical error information, determine in turn whether each level meets the replacement condition;
[0085] When it is determined that any level satisfies the replacement condition, a target memory resource is determined from the memory resources of the level that satisfies the replacement condition.
[0086] In this embodiment, the baseboard management controller can start from the lowest replaceable level and detect whether each level of the memory module meets the replacement conditions one by one according to the error information and historical error information until the highest replaceable level in the memory module is detected, or any level is detected to meet the replacement conditions.
[0087] If it is detected that any level meets the replacement condition, the baseboard management controller can determine a target memory resource from multiple memory resources at the level. Exemplarily, if it is determined that the memory resources at the storage array level meet the replacement condition, the baseboard management controller can determine a storage array in the memory module as the target memory resource.
[0088] Optionally, if it is found that each level does not meet the replacement condition when the replaceable highest level is detected, the baseboard management controller can determine the target memory resource from the replaceable highest level memory resources according to the error information and historical error information. Alternatively, if it is found that each level does not meet the replacement condition, the baseboard management controller can also determine that the target memory resource does not exist, terminate the processing method of this embodiment, and do not replace the memory resource.
[0089] Optionally, when the highest replaceable level is detected, the baseboard management controller may no longer detect whether the memory resources at this level meet the replacement condition, and directly determine the target memory resource among the memory resources at this level.
[0090] The highest replaceable level may be the highest level of the backup memory resource. For example, if there is only one rank of backup memory resources in the memory module, the highest replaceable level may be the rank.
[0091] The benefits of determining the target memory resource in the above method are: Figure 2 It can be seen from the structure of the memory module shown that, whether it is the backup memory resources or the memory resources being used by the memory module, the lower the level of the memory resources, the greater the number of them. For example, one DIMM can include multiple ranks, and one rank can include multiple particles. According to the method of the above embodiment, a target memory resource of a lower level can be selected as much as possible under the premise of satisfying the replacement conditions, thereby reducing the level of the backup memory resources used during replacement as much as possible, thereby reducing the backup memory resources consumed during each replacement process.
[0092] As an example, assuming that the memory module of this embodiment is a DIMM, the lowest replaceable level is the row of the storage array, and the highest replaceable level is the column. In this case, the baseboard management controller can Figure 3 The method shown determines the target memory resource.
[0093] S301, obtaining error information.
[0094] S302, determining a prediction result of a UE occurring in a memory module.
[0095] The method of obtaining error information and determining prediction results can be found in the above-mentioned embodiment and will not be described in detail.
[0096] If the prediction result meets the target condition, step S303 is executed; if the prediction result does not meet the target condition, the method of this embodiment ends.
[0097] S303: Determine whether the row-level memory resources meet the replacement condition.
[0098] If the row-level memory resource meets the replacement condition, step S304 is executed; if the row-level memory resource does not meet the replacement condition, step S305 is executed.
[0099] In step S303, the baseboard management controller may first determine candidate memory resources at the row level according to the error information and the historical error information, and then determine whether the row level meets the replacement condition according to the candidate memory resources.
[0100] The candidate memory resources of a certain level can be understood as the memory resources in the level that have experienced errors. Taking the row level as an example, assuming that the baseboard management controller finds that errors have occurred in the first and fourth rows of a storage array based on error information and historical error information, and no errors have occurred in other rows, then the first and fourth rows of the storage array are two candidate memory resources at the row level.
[0101] Whether a level of memory resources meets the replacement conditions can be determined based on the expected replacement effect after the candidate memory resources of this level are replaced. If a candidate memory resource of this level can achieve a sufficiently good replacement effect after being replaced by a backup memory resource, then the memory resources of this level can be considered to meet the replacement conditions. If a sufficiently good replacement effect cannot be achieved after the candidate memory resources of this level are replaced, then the memory resources of this level can be considered to not meet the replacement conditions.
[0102] The replacement effect here can be characterized by the degree to which the possibility of UE occurring in the memory module is reduced after the candidate memory resource is replaced with a backup memory resource of the same level. The better the replacement effect of the candidate memory resource is, the greater the degree to which the possibility of UE occurring in the memory module is reduced after the candidate memory resource is replaced with a backup memory resource of the same level, that is, the possibility of UE occurring in the memory module is reduced after the replacement.
[0103] S304, determining a row-level target memory resource, and replacing the target memory resource with a row-level backup memory resource.
[0104] After determining that memory resources at any level meet the replacement conditions, the baseboard management controller can combine error information and historical error information to analyze the expected replacement effect of each candidate memory resource at that level, and determine the candidate memory resource with the best expected replacement effect at that level as the target memory resource.
[0105] In combination with the above example, when the row-level memory resources meet the replacement conditions, assuming that errors have occurred in the 1st row and the 4th row of a storage array and they are candidate memory resources at the row level, the baseboard management controller determines the expected replacement effect of the 1st row and the expected replacement effect of the 4th row of a storage array respectively, and finds that the expected replacement effect of the 1st row is the best. Therefore, it can be determined that the 1st row of the storage array belongs to the target memory resource, and then the 1st row of the storage array is replaced with a backup memory resource of the same level, that is, any row (row), thereby completing the replacement processing of this embodiment, and the method of this embodiment ends.
[0106] S305: Determine whether the memory resources at the storage array level meet the replacement condition.
[0107] If the memory resources at the storage array level meet the replacement condition, step S306 is executed; if the memory resources at the storage array level do not meet the replacement condition, step S307 is executed.
[0108] Similar to step S303, the baseboard management controller can first determine the candidate memory resources at the storage array level based on the error information and historical error information, that is, determine which storage arrays in the memory module have experienced errors, and then determine whether the memory resources at the storage array level meet the replacement conditions based on the expected replacement effects corresponding to these storage arrays that have experienced errors.
[0109] S306, determining a target memory resource at the storage array level, and replacing the target memory resource with a backup memory resource at the storage array level.
[0110] In step S306, the baseboard management controller may obtain the expected replacement effects of the candidate memory resources at the storage array level, and determine the storage array with the best expected replacement effect as the target memory resource.
[0111] S307, determining whether the memory resources at the granular level meet the replacement condition.
[0112] If the memory resource at the granular level meets the replacement condition, step S308 is executed; if the memory resource at the granular level does not meet the replacement condition, step S309 is executed.
[0113] S308, determining a target memory resource at a granular level, and replacing the target memory resource with a backup memory resource at the granular level.
[0114] The implementation of steps S307 and S308 may refer to steps S303 and S304 and will not be described in detail.
[0115] S309: determine a column-level target memory resource, and replace the target memory resource with a column-level backup memory resource.
[0116] As mentioned above, when the highest replaceable level is detected, that is, the column level in this example, it is no longer necessary to determine whether the memory resources at this level meet the replacement conditions. At this time, the candidate memory resources at this level where errors have occurred can be directly determined, that is, the columns (ranks) in the memory module where errors have occurred can be determined, and the corresponding column with the best expected replacement effect can be determined as the target memory resource, and then 1 column is selected from the candidate memory resources to replace the target memory resource.
[0117] In some embodiments, the expected replacement effect corresponding to the candidate memory resource can be represented by the predicted result (for example, the probability value of the uncorrectable error occurring) of the memory module assuming that the memory resource is replaced. The smaller the probability value of the uncorrectable error occurring in the memory module after a certain memory resource is replaced, the better the replacement effect of the memory resource can be considered.
[0118] In this case, the baseboard management controller can determine whether each level meets the replacement conditions by the following method:
[0119] Determine in turn, based on the error information and historical error information, whether the post-replacement prediction result corresponding to each level meets the target condition, and the post-replacement prediction result corresponding to the level includes the prediction result of an uncorrectable error occurring in the memory module after the memory resource of the level is replaced with the backup memory resource;
[0120] The replacement condition includes that the prediction result after replacement corresponding to the level does not meet the target condition.
[0121] For any level, the baseboard management controller may determine the post-replacement prediction result corresponding to the level in the following manner:
[0122] First, the baseboard management controller determines each candidate memory resource in the level where an error has occurred according to a basic error information set, where the basic error information set includes the error information used in S102 and historical error information;
[0123] Then, for each candidate memory resource, the baseboard management controller deletes the error information corresponding to the error occurring in the candidate memory resource from the basic error information set, and obtains the sub-error information set corresponding to the candidate memory resource; illustratively, assuming that the first row of a certain storage array belongs to the candidate memory resource, the baseboard management controller can delete the error information corresponding to the error occurring in the row from the basic error information set, and the remaining error information constitutes the sub-error information set corresponding to the row;
[0124] Next, for each candidate memory resource, the baseboard management controller uses the UE prediction module to process the sub-error information set corresponding to the candidate memory resource, and the obtained processing result is regarded as the expected probability value of the candidate memory resource. The expected probability value obtained in this way can represent the probability of an uncorrectable error occurring in the memory module after the candidate memory resource is replaced by the backup memory resource;
[0125] Finally, the smallest expected probability value among all expected probability values of all candidate memory resources corresponding to the level is determined as the post-replacement prediction result of the level.
[0126] Taking the storage array level as an example, assuming that the candidate memory resources at the storage array level in the memory module include 4-column storage array 0 and storage array 5, and 5-column storage array 8, the baseboard management controller can process the sub-error information sets corresponding to the storage array 0, the storage array 5, and the storage array 8 respectively in the above manner, and obtain the expected probability value corresponding to the storage array 0 is 50%, the expected probability value corresponding to the storage array 5 is 30%, and the expected probability value corresponding to the storage array 8 is 65%. Therefore, the baseboard management controller can determine that the post-replacement prediction result of the storage array level is the smallest expected probability value, that is, 30%.
[0127] In the case where the predicted result after replacement corresponding to the level is represented by the expected probability value, the above replacement condition may include that the minimum expected probability value corresponding to the level is less than the probability threshold corresponding to the target condition in step S102. Correspondingly, for any level, if the minimum expected probability value corresponding to the level is determined in the above manner and it is found that the expected probability value is greater than or equal to the above probability threshold, it can be determined that the level does not meet the replacement condition.
[0128] In some embodiments, the expected replacement effect corresponding to the candidate memory resources can be represented by the distribution of errors that have occurred in the past in the candidate memory resources. If all errors that have occurred in the past have occurred in a specific memory resource at a certain level, it can be considered that the candidate memory resource has the best expected replacement effect. If all errors that have occurred in the past are scattered in multiple memory resources at a certain level, it can be considered that the expected replacement effects of these candidate memory resources are poor.
[0129] In this case, the baseboard management controller can determine whether each level meets the replacement conditions as follows:
[0130] Obtaining multiple error location information contained in the error information and the historical error information, wherein the error location information is used to indicate a memory resource in the memory module where a corresponding error occurs;
[0131] determining in sequence whether the memory resources indicated by the multiple error location information in each level are the same memory resource;
[0132] The replacement condition includes that the memory resources pointed to by multiple error location information in the level are the same memory resource.
[0133] In this determination method, for any level, the baseboard management controller can count all the errors that have occurred in the memory module so far based on the error location information obtained this time and the error location information in the historical error information obtained in the past, to see whether they have occurred in the same memory resource at this level. If the statistical result is yes, it can be determined that the level meets the replacement conditions; if the statistical result is no, it can be determined that the level does not meet the replacement conditions.
[0134] Taking the particle level as an example, after an error occurs in DIMM1, the baseboard management controller can obtain the error information of this error and the historical error information corresponding to the errors that occurred in DIMM1 in the past, and combine this information to count whether the errors that occurred in DIMM1 all occurred in the same particle;
[0135] Assuming that statistics show that all errors that have occurred in DIMM1 so far have occurred in particle 15 of column 4 of DIMM1, the baseboard management controller can determine that the particle level meets the replacement condition;
[0136] Assume that statistics show that all errors that have occurred in DIMM1 up to the target date have occurred in multiple different particles of DIMM1. For example, statistics show that errors have occurred in particles 15 and 6 in column 4, and particles 0 and 8 in column 5. Then it can be determined that the particle level does not meet the replacement conditions.
[0137] Optionally, the baseboard management controller may select to determine whether each level meets the replacement condition according to the first method or the second method according to its own function.
[0138] If the baseboard management controller can use the UE prediction module to process the error information received this time and the historical error information, it can determine whether each level meets the replacement conditions according to the first method mentioned above. If the baseboard management controller cannot use the UE prediction module to process the error information received this time and the historical error information, it can determine whether each level meets the replacement conditions according to the second method mentioned above.
[0139] In some embodiments, when determining whether each level meets the replacement condition according to the first method, for the level that meets the replacement condition, the baseboard management controller may determine the target memory resource of the level in the following manner:
[0140] The target memory resource is determined according to the post-replacement prediction results of each memory resource contained in the level that meets the replacement condition.
[0141] The prediction result after replacement corresponding to the memory resource can be represented by the expected probability value corresponding to the memory resource being replaced.
[0142] In this embodiment, for the level that meets the replacement conditions, the baseboard management controller can obtain the expected probability value of each candidate memory resource in the level according to the method of the above embodiment, and then determine the candidate memory resource with the smallest corresponding expected probability value as the target memory resource.
[0143] Exemplarily, assuming that it is determined that the row level satisfies the replacement condition, the candidate memory resources at the row level include the 1st row and the 4th row of the storage array 1 of the 4-column particles 5, and the 2nd row and the 3rd row of the storage array 2 of the 5-column particles 10. The baseboard management controller obtains the expected probability value of the 1st row of the storage array 1 of the 4-column particles 5, the expected probability value of the 4th row of the storage array 1 of the 4-column particles 5, the expected probability value of the 2nd row of the storage array 2 of the 5-column particles 10, and the expected probability value of the 3rd row of the storage array 2 of the 5-column particles 10 according to the aforementioned method. After comparing the above four expected probability values, it is found that the expected probability value of the 2nd row of the storage array 2 of the 5-column particles 10 is the smallest, so it can be determined that the 2nd row of the storage array 2 of the 5-column particles 10 belongs to the row-level target memory resource. At this time, the 2nd row of the storage array 2 of the 5-column particles 10 can be replaced with 1 row in the backup memory resource, thereby completing this replacement process.
[0144] The above method for determining a target memory resource may also be applied to determining a target memory resource in an alternative highest level.
[0145] Taking S309 as an example, the baseboard management controller can determine the expected probability value of each column (rank) in the memory module where an error has occurred according to the aforementioned method of determining the expected probability value corresponding to the candidate memory resource, and then select the column with the smallest corresponding expected probability value as the target memory resource.
[0146] In some embodiments, when determining whether each level meets the replacement condition according to the second method, for the level that meets the replacement condition, the baseboard management controller may determine the target memory resource of the level in the following manner:
[0147] The same memory resource indicated by the plurality of error location information in the level satisfying the replacement condition is determined as the target memory resource.
[0148] In this embodiment, if a certain level meets the replacement condition, it means that all errors that have occurred in the memory module so far have occurred in the same memory resource at this level. Therefore, the baseboard management controller can locate the memory resource where all previous errors occurred at this level based on the error information and multiple error location information in the historical error information, and determine the memory resource as the target memory resource.
[0149] As an example, an error occurs in DIMM1. After the baseboard management controller obtains the corresponding error information, assuming that the storage array is determined to meet the replacement conditions according to the second method mentioned above, the baseboard management controller can determine in which storage array these errors occurred based on the error information and the error locations in the historical error information. After positioning, it is found that all errors that have occurred in DIMM1 so far have occurred in the storage array 5 of the 4 columns of particles 17. The baseboard management controller can determine that the storage array 5 of the 4 columns of particles 17 of DIMM1 belongs to the target memory resource, and then replace the storage array 5 of the 4 columns of particles 17 of DIMM1 with a storage array in the backup memory resource, thereby completing this replacement process.
[0150] In this embodiment, if it is necessary to determine the target memory resource in the highest replaceable level, the baseboard management controller can count the number of errors that occur in each highest replaceable level memory resource, and determine the memory resource with the largest number of cumulative errors as the target memory resource.
[0151] Taking S309 as an example, assuming that in the memory module, errors have occurred in column 1 (rank 1), column 4 (rank 4) and column 5 (rank 5), according to the error information and the error location information in the historical error information, the baseboard management controller can find that column 1 has had a total of 3 errors, column 4 has had a total of 7 errors, and column 5 has had a total of 2 errors. Column 4 has the most cumulative errors, so column 4 can be determined as the target memory resource.
[0152] In some optional embodiments, after each replacement process is completed, the baseboard management controller may also update the currently received error information corresponding to the current replacement process to improve the accuracy of subsequent re-determination of the target memory resource.
[0153] The update method can be:
[0154] Deletes error information corresponding to errors that occurred in the target memory resource.
[0155] The error information deleted here may include each error information of the error that has been received by the baseboard management controller so far and occurred in the target memory resource.
[0156] As an example, assume that the storage array 5 of the 4 columns of particles 17 of DIMM1 is determined as the target memory resource. Up to now, the storage array 5 of the 4 columns of particles 17 of DIMM1 has experienced 8 errors, and the baseboard management controller stores 8 error information corresponding to these 8 errors. After the baseboard management controller replaces the storage array 5 of the 4 columns of particles 17 of DIMM1 with a storage array in the backup memory resource, the baseboard management controller can delete the 8 error information corresponding to the 8 errors that occurred in the storage array 5 of the 4 columns of particles 17 of DIMM1 from the storage medium. In this way, when it is necessary to determine the prediction result of the UE and determine the target memory resource later, the baseboard management controller does not need to process these 8 error information.
[0157] The benefits of deleting the corresponding error information in the above way are:
[0158] When a target memory resource is replaced with an alternative memory resource of the same level, the error that occurred in the target memory resource will obviously no longer cause the memory module to have a UE. If the error information corresponding to the target memory resource is retained, the baseboard management controller will determine the prediction result of the occurrence of the UE based on the error information, and determine the target memory resource based on the error information. The results determined will obviously be biased. Therefore, deleting the error information corresponding to the error that occurred in the target memory resource allows the baseboard management controller to accurately obtain the prediction result of the occurrence of the UE in the memory module and accurately determine the target memory resource after each memory module error occurs.
[0159] The present application embodiment provides an electronic device, see Figure 4 , the electronic device may include a baseboard management controller 401 and a memory module 402 .
[0160] The number of the memory modules 402 may be one or more, that is, the electronic device may have one or more memory modules.
[0161] The electronic device of this embodiment may be a server device, or may be an electronic device used by an individual user, such as a personal computer.
[0162] The baseboard management controller 401 may include at least one interface, and the interface is used to receive error information of the memory module.
[0163] The baseboard management controller can also exchange data with multiple modules including the memory module in the electronic device through at least one interface.
[0164] The baseboard management controller 401 can be used to:
[0165] When error information of the memory module 402 is obtained, a prediction result of an uncorrectable error occurring in the memory module 402 is determined according to the error information, the memory module 402 including multiple levels of memory resources;
[0166] In the case where the prediction result meets the target condition, the target memory resource of any level in the memory module 402 is determined according to the error information and the historical error information, and the historical error information includes other error information received by the baseboard management controller 401 before the error information;
[0167] The target memory resource is replaced by a backup memory resource of the same level as the target memory resource.
[0168] Optionally, multiple levels include: rows, storage arrays, grains, and columns;
[0169] When the baseboard management controller 401 determines the target memory resource of any level in the memory module according to the error information and the historical error information, it can be used to:
[0170] According to the error information and historical error information, determine in turn whether each level meets the replacement condition;
[0171] When it is determined that any level satisfies the replacement condition, a target memory resource is determined from the memory resources of the level that satisfies the replacement condition.
[0172] Optionally, when the baseboard management controller 401 determines in sequence whether each level meets the replacement condition according to the error information and the historical error information, it can be used to:
[0173] Determine in turn, based on the error information and historical error information, whether the post-replacement prediction result corresponding to each level meets the target condition, the post-replacement prediction result corresponding to the level includes the prediction result of an uncorrectable error occurring in the memory module after the memory resource of the level is replaced with the backup memory resource;
[0174] The replacement condition includes that the prediction result after replacement corresponding to the level does not meet the target condition.
[0175] Optionally, when the baseboard management controller 401 determines the target memory resource from the memory resources of the level satisfying the replacement condition, it can be used to:
[0176] The target memory resource is determined according to the post-replacement prediction results of each memory resource contained in the level that meets the replacement condition.
[0177] Optionally, when the baseboard management controller 401 determines in sequence whether each level meets the replacement condition according to the error information and the historical error information, it can be used to:
[0178] Obtaining multiple error location information contained in the error information and the historical error information, wherein the error location information is used to indicate a memory resource in the memory module where a corresponding error occurs;
[0179] determining in sequence whether the memory resources indicated by the multiple error location information in each level are the same memory resource;
[0180] The replacement condition includes that the memory resources pointed to by multiple error location information in the level are the same memory resource.
[0181] Optionally, when the baseboard management controller 401 determines the target memory resource from the memory resources of the level satisfying the replacement condition, it can be used to:
[0182] The same memory resource indicated by the plurality of error location information in the level satisfying the replacement condition is determined as the target memory resource.
[0183] Optionally, the baseboard management controller 401 may also be used for:
[0184] In the case that the replacement condition is not satisfied at each level, a target memory resource is determined from replaceable memory resources at the highest level according to the error information and historical error information.
[0185] Optionally, error messages include:
[0186] Error location information and error time information indicating the location and time when the error occurred, register information of the memory module when the error occurred, model information of the memory module and the server device to which the memory module belongs, type information, replacement time information, and location information of the backup memory resource that has been replaced in the memory module when the error occurred.
[0187] Optionally, the baseboard management controller 401 may also be used for:
[0188] Deletes error information corresponding to errors that occurred in the target memory resource.
[0189] The working principle of the electronic device of this embodiment can refer to the relevant steps of the method for processing memory resources provided in any embodiment of the present application, and will not be repeated here.
[0190] It should be noted that the various embodiments in this specification are described in a progressive manner, and each embodiment focuses on the differences from other embodiments. The same or similar parts between the various embodiments can be referenced to each other.
[0191] For the convenience of description, the above system or device is described by dividing it into various modules or units according to its functions. Of course, when implementing this application, the functions of each unit can be implemented in the same or multiple software and / or hardware.
[0192] It can be known from the description of the above implementation methods that those skilled in the art can clearly understand that the present application can be implemented by means of software plus a necessary general hardware platform. Based on such an understanding, the technical solution of the present application can be essentially or partly contributed to the relevant technology in the form of a software product, which can be stored in a storage medium such as ROM / RAM, a disk, an optical disk, etc., including several instructions for enabling a computer device (which can be a personal computer, a server, or a network device, etc.) to execute the methods described in the various embodiments of the present application or certain parts of the embodiments.
[0193] Finally, it should be noted that, in this article, relational terms such as first, second, third and fourth are only used to distinguish one entity or operation from another entity or operation, and do not necessarily require or imply any such actual relationship or order between these entities or operations. Moreover, the terms "include", "comprise" or any other variants thereof are intended to cover non-exclusive inclusion, so that a process, method, article or device including a series of elements includes not only those elements, but also other elements not explicitly listed, or also includes elements inherent to such process, method, article or device. In the absence of further restrictions, the elements defined by the statement "comprise a ..." do not exclude the presence of other identical elements in the process, method, article or device including the elements.
[0194] The above is only a preferred implementation of the present application. It should be pointed out that for ordinary technicians in this technical field, several improvements and modifications can be made without departing from the principles of the present application. These improvements and modifications should also be regarded as the scope of protection of the present application.
Claims
1. A method for processing memory resources, comprising: When obtaining error information of a memory module, the baseboard management controller determines a prediction result of an uncorrectable error occurring in the memory module according to the error information, wherein the memory module includes memory resources at multiple levels; The baseboard management controller determines, when the prediction result satisfies the target condition, a target memory resource of any level in the memory module according to the error information and historical error information, wherein the historical error information includes other error information received by the baseboard management controller before the error information; The baseboard management controller uses a backup memory resource at the same level as the target memory resource to replace the target memory resource.
2. The method according to claim 1, wherein the plurality of levels comprises: rows, storage arrays, grains, and columns; The step of determining a target memory resource at any level in the memory module according to the error information and the historical error information includes: Determining in sequence whether each of the levels meets a replacement condition according to the error information and historical error information; When it is determined that any of the levels meets the replacement condition, a target memory resource is determined from the memory resources of the level meeting the replacement condition.
3. The method according to claim 2, wherein determining in sequence whether each level satisfies a replacement condition based on the error information and historical error information comprises: Determine in sequence, based on the error information and the historical error information, whether the post-replacement prediction result corresponding to each of the levels meets the target condition, the post-replacement prediction result corresponding to the level including a prediction result that an uncorrectable error occurs in the memory module after the memory resource of the level is replaced with a backup memory resource; The replacement condition includes that the replaced prediction result corresponding to the level does not meet the target condition.
4. The method according to claim 3, wherein determining the target memory resource from the memory resources of the level satisfying the replacement condition comprises: The target memory resource is determined according to the post-replacement prediction results of each memory resource included in the level that meets the replacement condition.
5. The method according to claim 2, determining in sequence whether each of the levels meets a replacement condition according to the error information and historical error information, comprises: Obtaining a plurality of error location information contained in the error information and the historical error information, wherein the error location information is used to indicate a memory resource in the memory module where a corresponding error occurs; Determine in sequence whether the memory resources indicated by the plurality of error location information in each level are the same memory resource; The replacement condition includes that the memory resources indicated by the multiple pieces of error location information in the level are the same memory resource.
6. The method according to claim 5, wherein determining the target memory resource from the memory resources of the level satisfying the replacement condition comprises: The same memory resource indicated by the plurality of error location information in the level satisfying the replacement condition is determined as the target memory resource.
7. The method according to claim 2, further comprising: In the case that each of the levels does not satisfy the replacement condition, a target memory resource is determined from replaceable memory resources at the highest level according to the error information and historical error information.
8. The method according to claim 1, wherein the error information comprises: Error location information and error time information indicating the location and time when the error occurred, register information of the memory module when the error occurred, model information of the memory module and the server device to which the memory module belongs, type information, replacement time information and location information of the backup memory resource that has been replaced in the memory module when the error occurs.
9. The method according to any one of claims 1 to 8, further comprising: Delete error information corresponding to an error occurring in the target memory resource.
10. An electronic device comprising a baseboard management controller and a memory module; The baseboard management controller includes at least one interface, and the interface is used to receive error information of the memory module; The baseboard management controller is used for: When error information of a memory module is obtained, a prediction result of an uncorrectable error occurring in the memory module is determined according to the error information, wherein the memory module includes memory resources at multiple levels; In the case where the prediction result meets the target condition, determining a target memory resource at any level in the memory module according to the error information and historical error information, wherein the historical error information includes other error information received by the baseboard management controller before the error information; The target memory resource is replaced by a backup memory resource of the same level as the target memory resource.
Citation Information
Cited By
Processing method capable of correcting errors of graphics processor and electronic equipment
CN120997028A
