Method and apparatus for adjusting memory correctable error threshold, server, and medium

The memory CE threshold is dynamically adjusted through the fuzzy control method, which solves the system stability and performance problems caused by the fixed memory CE threshold, and realizes continuous smooth changes in the memory CE threshold, improving the accuracy and reliability of the system.

WO2025161224A1PCT designated stage Publication Date: 2025-08-07INSPUR SUZHOU INTELLIGENT TECH CO LTD
View PDF 9 Cites 0 Cited by

Patent Information

Application Number
PCT/CN2024/096734
Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Priority Date
2024-01-30
Filing Date
2024-05-31
Publication Date
2025-08-07

AI Technical Summary

Technical Problem

In the prior art, the memory-correctable error threshold is fixed and cannot adapt to changes in system load, hardware and application requirements, resulting in poor system stability and performance.

Method used

The fuzzy control method is adopted to dynamically adjust the memory CE threshold based on memory correction error information (number of memory CEs and number of system interrupts), and determine the appropriate memory CE threshold by setting fuzzy control rules and fuzzy reasoning to achieve continuous smooth changes in the memory CE threshold.

Benefits of technology

Dynamically adjusting the memory CE threshold reduces the influence of human experience, improves the accuracy and reliability of the system, and balances the system stability and performance.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN2024096734_07082025_PF_FP_ABST
    Figure CN2024096734_07082025_PF_FP_ABST
Patent Text Reader

Abstract

The present application discloses a method and apparatus for adjusting a memory correctable error threshold, a server, and a medium. The method comprises: setting a fuzzy control rule, wherein the fuzzy control rule comprises a correspondence between a fuzzy set of the number of memory correctable errors and a fuzzy set of the number of system interruptions, and a fuzzy set of a memory correctable error threshold; collecting statistics about information related to correctable errors within a unit period, and generating current memory correctable error information; performing fuzzy reasoning on the current memory correctable error information on the basis of the fuzzy control rule, and determining the current memory correctable error threshold having a nonlinear mapping relationship with the current memory correctable error information; and in response to a count of memory correctable errors generated by a counting register for a memory reaches the current memory correctable error threshold stored in a threshold register, triggering a system interruption.
Need to check novelty before this filing date? Find Prior Art

Description

Method, device, server and medium for adjusting memory correctable error threshold

[0001] CROSS-REFERENCE TO RELATED APPLICATIONS

[0002] This application claims priority to a Chinese patent application filed with the Patent Office of China on January 30, 2024, with application number 202410124568.8 and entitled “Method, device, server and medium for adjusting memory correctable error threshold”, the entire contents of which are incorporated herein by reference. Technical Field

[0003] The present application relates to a method, device, server, and medium for adjusting a memory correctable error threshold. Background Art

[0004] Correctable errors (CEs) are temporary errors in memory that can be corrected without causing system crashes or data loss. The server's memory CE threshold sets the threshold at which the system triggers the correction mechanism when the number of CEs in memory exceeds the set threshold during server operation. Setting a memory CE threshold ensures timely detection and correction of memory errors, ensuring system stability and reliability.

[0005] Currently, most memory CE thresholds are fixed values. Fixed memory CE thresholds are difficult to adapt to system changes, resulting in poor system stability and performance.

[0006] Summary of the Invention

[0007] According to an embodiment of the present application, in a first aspect, a method for adjusting a memory correctable error threshold is provided, comprising:

[0008] Setting fuzzy control rules; the fuzzy control rules include a correspondence between a fuzzy set of the number of correctable memory errors and a fuzzy set of the number of system interruptions, and a fuzzy set of a memory correctable error threshold;

[0009] Collecting statistics on information related to correctable errors in a unit cycle to generate current memory correctable error information; the current memory correctable error information includes the number of current memory correctable errors and the number of current system interruptions caused by the memory correctable errors;

[0010] Performing fuzzy reasoning on the current memory correctable error information according to the fuzzy control rule to determine a current memory correctable error threshold having a nonlinear mapping relationship with the current memory correctable error information; and

[0011] In response to the count of memory correctable errors generated by the counting register on the memory reaching the current memory correctable error threshold stored in the threshold register, a system interrupt is triggered.

[0012] In a second aspect, a device for adjusting a memory correctable error threshold is provided, comprising:

[0013] A rule setting module is used to set fuzzy control rules; the fuzzy control rules include a correspondence between a fuzzy set of the number of correctable memory errors and a fuzzy set of the number of system interruptions, and a fuzzy set of a memory correctable error threshold;

[0014] a statistics module, configured to collect statistics on information related to correctable errors within a unit cycle and generate current memory correctable error information; the current memory correctable error information includes the current number of correctable memory errors and the current number of system interruptions caused by the correctable memory errors; and

[0015] The fuzzy processing module is used to perform fuzzy reasoning on the current memory correctable error information according to the fuzzy control rule, and determine the current memory correctable error threshold having a nonlinear mapping relationship with the current memory correctable error information.

[0016] In a third aspect, a server is provided, comprising: a memory, a threshold register, a counting register, a memory, and a processor; the threshold register is used to store a memory correctable error threshold; the counting register is used to count the memory correctable errors generated by the memory, and trigger a system interrupt when the count reaches the memory correctable error threshold in the threshold register; the memory and the processor are communicatively connected to each other, computer instructions are stored in the memory, and the processor executes the method for adjusting the memory correctable error threshold of the above-mentioned first aspect or any corresponding embodiment thereof by executing the computer instructions.

[0017] In a fourth aspect, a non-volatile computer-readable storage medium is provided, on which computer instructions are stored, and the computer instructions are used to enable a computer to execute the method for adjusting the memory correctable error threshold of the above-mentioned first aspect or any corresponding embodiment thereof.

[0018] The details of one or more embodiments of the present application are set forth in the accompanying drawings and the description below. Other features and advantages of the present application will become apparent from the description, drawings, and claims. BRIEF DESCRIPTION OF THE DRAWINGS

[0019] In order to more clearly illustrate the specific implementation methods of this application or the technical solutions in related technologies, the following is a brief introduction to the drawings required for use in the specific implementation methods or related technical descriptions. Obviously, the drawings described below are some implementation methods of this application. For ordinary technicians in this field, other drawings can be obtained based on these drawings without any creative work.

[0020] FIG1 is a flow chart of a method for adjusting a memory correctable error threshold according to an embodiment of the present application;

[0021] FIG2 is a schematic diagram of dynamically adjusting the server memory CE threshold according to an embodiment of the present application;

[0022] FIG3 is a flow chart of another method for adjusting a memory correctable error threshold according to an embodiment of the present application;

[0023] FIG4 is a schematic diagram of a triangular membership function according to an embodiment of the present application;

[0024] FIG5 is a schematic diagram of a trapezoidal membership function according to an embodiment of the present application;

[0025] FIG6 is a schematic diagram of a membership function of the number of memory CEs according to an embodiment of the present application;

[0026] FIG7 is a schematic diagram of a membership function of the number of system interruptions according to an embodiment of the present application;

[0027] FIG8 is a schematic diagram of a membership function of a memory CE threshold according to an embodiment of the present application;

[0028] FIG9 is a schematic diagram of determining the degree of membership when the number of memory CEs is 4500 according to an embodiment of the present application;

[0029] FIG10 is a schematic diagram of determining the degree of membership when the number of system interruptions is 750 according to an embodiment of the present application;

[0030] FIG11 is a schematic diagram of forming an overlapping area according to an embodiment of the present application;

[0031] FIG12 is a functional diagram of the corresponding relationship between memory CE information and memory CE threshold according to an embodiment of the present application;

[0032] FIG13 is a schematic diagram of a flow chart of fuzzy control according to an embodiment of the present application;

[0033] FIG14 is a flow chart of yet another method for adjusting a memory correctable error threshold according to an embodiment of the present application;

[0034] FIG15 is another schematic diagram of the membership function of the number of memory CEs according to an embodiment of the present application;

[0035] FIG16 is another schematic diagram of a membership function of the number of system interruptions according to an embodiment of the present application;

[0036] FIG17 is another schematic diagram of a membership function of a memory CE threshold according to an embodiment of the present application;

[0037] FIG18 is another functional diagram illustrating the correspondence between memory CE information and memory CE threshold according to an embodiment of the present application;

[0038] FIG19 is a structural block diagram of an apparatus for adjusting a memory correctable error threshold according to an embodiment of the present application;

[0039] FIG20 is a schematic diagram of the hardware structure of a server according to an embodiment of the present application;

[0040] FIG21 is a schematic structural diagram of a non-volatile computer-readable storage medium according to an embodiment of the present application. DETAILED DESCRIPTION

[0041] To make the purpose, technical solutions, and advantages of the embodiments of the present application more clear, the technical solutions in the embodiments of the present application will be clearly and completely described below in conjunction with the drawings in the embodiments of the present application. Obviously, the described embodiments are 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 those skilled in the art without making creative efforts shall fall within the scope of protection of this application.

[0042] The specific value of the memory CE threshold can be set based on system requirements and hardware performance. Generally speaking, a lower memory CE threshold allows for earlier detection and handling of memory errors, but may increase system overhead and processing burden; a higher memory CE threshold reduces system overhead but may delay error detection and handling. In practice, the memory CE threshold is typically set by the system administrator or hardware vendor based on system requirements and hardware performance. Generally speaking, it is recommended to select an appropriate threshold based on system load and available resources to ensure system stability and reliability. An appropriate threshold ensures timely detection and handling of memory errors without significantly impacting system performance and stability.

[0043] However, setting a fixed memory CE threshold (for example, a funnel threshold) may result in the system being unable to adapt to changes in load, hardware, and application requirements. First, system load may change over time. If the memory CE threshold is set too high, the system may ignore memory errors, resulting in decreased stability. If the memory CE threshold is set too low, the system may frequently handle memory errors, resulting in decreased performance. Second, the system hardware configuration may change. If the memory CE threshold is fixed, it may not be able to adapt to memory errors on the new hardware. Finally, application requirements may change, and a fixed memory CE threshold may not meet the memory error handling requirements of new applications.

[0044] Therefore, dynamically adjusting the memory CE threshold is a better option to adapt to changes in load, hardware, and application requirements. Regularly evaluating and adjusting the memory CE threshold ensures that the system detects and handles memory errors promptly, maintaining stability and performance.

[0045] Some current solutions can set several memory CE thresholds based on information such as target memory capacity, temperature, and the number of memory CEs, achieving dynamic adjustment based on these multiple memory CE thresholds. However, this dynamic solution relies heavily on experience to set thresholds, which is significantly influenced by experience. Furthermore, the number of set memory CE thresholds is relatively small, making it difficult to achieve continuous and smooth changes in memory CE thresholds. This inability to effectively improve the accuracy and real-time performance of memory CE problem detection and resolution.

[0046] The method for adjusting the memory correctable error threshold provided in the embodiment of the present application adopts a fuzzy control method and can determine a suitable memory CE threshold based on memory CE information. This not only reduces the influence of human experience, but also can dynamically determine the memory CE threshold. Moreover, the memory CE threshold is continuous and smooth, which can effectively solve the problems caused by an inappropriate memory CE threshold.

[0047] According to an embodiment of the present application, an embodiment of a method for adjusting a memory correctable error threshold is provided. It should be noted that the steps shown in the flowchart of the accompanying drawings can be executed in a computer system such as a set of computer executable instructions, and although a logical order is shown in the flowchart, in some cases, the steps shown or described can be executed in an order different from that shown here.

[0048] This embodiment provides a method for adjusting a memory correctable error threshold, which can be used on devices with correctable errors, such as servers. FIG1 is a flow chart of a method for adjusting a memory correctable error threshold according to an embodiment of the present application. As shown in FIG1 , the flow includes the following steps.

[0049] Step S101 , setting fuzzy control rules; the fuzzy control rules include a correspondence between a fuzzy set of the number of correctable memory errors and a fuzzy set of the number of system interruptions, and a fuzzy set of a memory correctable error threshold.

[0050] When determining the memory correctable error threshold, information related to correctable errors, namely, memory correctable error information, can be determined. This memory correctable error information is used as an input variable for fuzzy control, and the memory correctable error threshold is used as an output variable to determine the corresponding memory correctable error threshold based on fuzzy control. To simplify the reference, the memory correctable error threshold can also be expressed as a memory CE threshold; accordingly, the memory correctable error information can also be expressed as memory CE information.

[0051] In this embodiment, a fuzzy set of memory CE information and a fuzzy set of memory CE thresholds can be set. Generally, there are multiple fuzzy sets of memory CE information and memory CE thresholds. A corresponding relationship between these two fuzzy sets can be established to form corresponding fuzzy control rules.

[0052] The fuzzy control rule can be specifically set based on human experience. Because human experience can generally determine the correspondence between memory CE information and the memory CE threshold, the fuzzy control rule can be guaranteed to generally meet user needs. The memory CE threshold subsequently determined based on the fuzzy control rule is primarily based on a fuzzy control algorithm and fuzzy reasoning methods. This allows for adaptive determination of an appropriate memory CE threshold, effectively reducing the influence of human experience.

[0053] Since the setting of the memory CE threshold will affect the stability and performance of the system, a suitable memory CE threshold can ensure that the system can detect and handle memory errors in a timely manner without having an excessive impact on the performance and stability of the system. In this embodiment, in order to more accurately characterize the stability and performance of the system, the number of memory CEs in a unit cycle (i.e., the number of memory correctable errors) and the number of system interruptions caused by memory correctable errors are used as statistically obtained memory CE information. In other words, the input variables of fuzzy control include parameters of two dimensions: the number of memory CEs and the number of system interruptions. For the convenience of description, unless otherwise specified, the number of memory CEs in a unit cycle will be referred to as "the number of memory CEs", and the number of system interruptions caused by memory correctable errors in a unit cycle will be referred to as "the number of system interruptions".

[0054] Typically, when the number of CE errors generated by a specific memory unit exceeds the memory CE threshold, a system interrupt is initiated to isolate or repair the memory unit that generated the CE. Frequent system interrupts can cause the system to frequently trigger error handling mechanisms, impacting system performance. Setting the memory CE threshold too low can frequently trigger system interrupts to handle CE errors, impacting system performance. Setting the memory CE threshold too high can delay problem detection and resolution. Therefore, it's important to balance system stability and performance to select an appropriate threshold.

[0055] In this embodiment, the number of memory CEs and the number of system interruptions can represent the stability and performance of the system respectively.

[0056] Specifically, within a unit cycle, if the number of memory CEs is small, a smaller memory CE threshold needs to be set to detect CEs in a timely manner; on the contrary, if the number of memory CEs is large, it means that CEs are easily generated during system operation. At this time, even if a larger memory CE threshold is set, CEs can be detected in a timely manner, thereby ensuring system stability.

[0057] Moreover, within a unit cycle, each time the number of memory CEs exceeds the currently set memory CE threshold (for example, the memory CE threshold determined last time), a system interrupt will be triggered. The more system interrupts there are within the unit cycle, the more frequently the system interrupts need to be entered, which will cause the system to frequently trigger the error handling mechanism, affecting the system performance. Therefore, a larger memory CE threshold can be appropriately set at this time.

[0058] This embodiment determines an appropriate memory CE threshold based on the number of memory CEs and the number of system interruptions, which can effectively balance system reliability and performance.

[0059] Furthermore, if the memory CE information includes the number of memory CEs and the number of system interruptions, then when setting the fuzzy control rules, it is also necessary to set a correspondence between the fuzzy sets of the number of memory CEs and the number of system interruptions and the fuzzy sets of the corresponding memory CE thresholds. The fuzzy control rules include a correspondence between the fuzzy sets of the number of correctable memory errors and the number of system interruptions and the fuzzy set of the correctable memory error threshold.

[0060] Step S102: Count information related to correctable errors in a unit cycle to generate current memory correctable error information, which includes the number of current memory correctable errors and the number of current system interruptions caused by the correctable memory errors.

[0061] In this embodiment, during operation, servers and other devices generate correctable errors. By counting these correctable errors, information related to the correctable errors can be obtained. Specifically, in this embodiment, only the correctable errors within a unit cycle can be counted. The memory correctable error information obtained from the statistics is referred to as current memory correctable error information, or can also be expressed as current memory CE information.

[0062] Among them, the memory CE information that needs to be counted includes the number of memory CEs and the number of system interruptions. Therefore, the current memory CE information generated also needs to include the corresponding number of memory CEs and the number of system interruptions, that is, the current memory correctable error information includes the current number of memory correctable errors and the current number of system interruptions caused by memory correctable errors.

[0063] When the system is working, the system management software Basic Input / Output System (BIOS) sets the memory CE threshold. At the same time, the Baseboard Management Controller (BMC) periodically reads the memory Error Checking and Correcting (ECC) report to obtain the number of memory CEs in a cycle and counts the number of system interruptions caused by memory CEs, thereby obtaining the required current number of memory CEs and the current number of system interruptions.

[0064] The unit period may be a period for updating the memory CE threshold, for example, 30 minutes, 1 hour, 2 hours, etc., which may be determined based on actual conditions.

[0065] Step S103 , performing fuzzy reasoning on the current memory correctable error information according to the fuzzy control rule to determine a current memory correctable error threshold having a nonlinear mapping relationship with the current memory correctable error information.

[0066] In this embodiment, a fuzzy control approach is used to determine the current memory CE threshold to be set, i.e., the current memory CE threshold. Fuzzy reasoning is performed using fuzzy control rules to determine the current memory CE threshold corresponding to the current memory CE information. Furthermore, based on the fuzzy control rules and the fuzzification and defuzzification methods used in the fuzzy reasoning, a nonlinear mapping relationship is established between the final current memory CE threshold and the input current memory CE information.

[0067] For example, the fuzzy set corresponding to the current memory CE information (hereinafter referred to as the target fuzzy set) can be determined and fuzzified; then, the fuzzy set corresponding to the current memory CE threshold (hereinafter referred to as the threshold fuzzy set) is determined based on the fuzzy control rule and defuzzified, so that the specific current memory CE threshold can be determined.

[0068] In this embodiment, the current memory CE information can be periodically counted at each unit period, thereby periodically updating the memory CE threshold. For example, if the unit period is 30 minutes, the current memory CE information within the last 30 minutes can be determined every 30 minutes. Then, the precise memory CE threshold corresponding to the current memory CE information, i.e., the current memory CE threshold, can be determined using fuzzy control rules, thereby achieving dynamic updating of the memory CE threshold and dynamically setting the memory CE threshold.

[0069] The method for adjusting the memory correctable error threshold provided in this embodiment can dynamically update the memory CE threshold of the server.

[0070] Figure 2 illustrates a schematic diagram for dynamically updating a server's memory CE threshold. As shown in Figure 2, server 200 includes memory 201. During its operation, memory 201 may generate correctable memory errors (i.e., memory CE). In this case, counter register 202 can count the generated memory CEs, thereby periodically counting the number of memory CEs within a unit cycle, i.e., the current number of memory CEs. Furthermore, threshold register 203 stores a set memory CE threshold. Whenever the number of memory CEs counted by counter register 202 reaches the memory CE threshold, a system interrupt is generated. By detecting system interrupts within a unit cycle, the number of system interrupts within that unit cycle, i.e., the current number of system interrupts, can be determined.

[0071] The input variables of the current memory CE number and the current number of system interruptions thus determined are input to the fuzzy controller 204. The fuzzy controller 204 performs fuzzy inference to determine an updated memory CE threshold, i.e., the current memory CE threshold. The updated current memory CE threshold is then stored in the threshold register 203, replacing the previously stored memory CE threshold. This cycle is repeated to dynamically update the memory CE threshold of the server 200.

[0072] The method for adjusting the memory correctable error threshold provided in this embodiment can determine the threshold fuzzy set to which the current memory CE threshold corresponding to the target fuzzy set to which the current memory CE information belongs, based on fuzzy control rules, and then determine the precise current memory CE threshold based on this threshold fuzzy set. For any current memory CE information, the corresponding current memory CE threshold can be determined, that is, a continuous and smooth memory CE threshold can be determined relatively accurately; this method can not only reduce the influence of human experience, but also dynamically determine the memory CE threshold, which can better optimize memory management and resource allocation, improve the accuracy and reliability of the system, and thus enhance the performance of the system; the number of memory CEs and the number of system interruptions can be used to simply and accurately represent the stability and performance of the system, thereby determining a memory CE threshold that balances system stability and performance.

[0073] This embodiment provides a method for adjusting a memory correctable error threshold, which can be used on devices with correctable errors, such as servers. FIG3 is a flow chart of the method for adjusting a memory correctable error threshold according to an embodiment of the present application. As shown in FIG3 , the flow includes the following steps.

[0074] Step S301, setting fuzzy control rules; the fuzzy control rules include a correspondence between a fuzzy set of the number of correctable memory errors and a fuzzy set of the number of system interruptions, and a fuzzy set of a memory correctable error threshold.

[0075] Specifically, the number of memory CEs has a certain domain, meaning it has a certain range of values. This domain can be divided into multiple ranges, each corresponding to a fuzzy set, and a corresponding membership function can be assigned to each fuzzy set. Similarly, the number of system interruptions also has a certain domain. By dividing the domain of system interruptions, multiple fuzzy sets can be determined for the number of system interruptions. Similarly, by dividing the domain of the memory CE threshold, multiple fuzzy sets can be determined for the memory CE threshold.

[0076] The domain of the number of memory CEs, the number of system interruptions, and the memory CE threshold can be determined based on expert experience or a large amount of historical data analysis.

[0077] For example, the domain of the number of memory CEs is [0,10000], the domain of the number of system interruptions caused by CEs is [0,1500], and the domain of the memory CE threshold is [1,2000].

[0078] After determining the domain of the number of memory CEs, it can be divided into multiple fuzzy sets. For example, the domain of the number of memory CEs can be divided into five fuzzy sets: Very Low, Low, Medium, High, and Very High. The ranges corresponding to these five fuzzy sets can be evenly spaced or unevenly spaced, depending on actual needs. Furthermore, corresponding membership functions can be defined for these fuzzy sets. These membership functions can include various types, such as triangular membership functions, trapezoidal membership functions, and Gaussian membership functions. Furthermore, each membership function can generally be divided into three types: small, medium, and large.

[0079] For example, a schematic diagram of a triangle membership function can be seen in Figure 4. As shown in Figure 4, the small, medium, and large triangle membership functions can be expressed as:

[0080] The schematic diagram of the trapezoidal membership function can be seen in Figure 5. As shown in Figure 5, the small, medium, and large trapezoidal membership functions can be expressed as:

[0081] For ease of understanding, this embodiment uses an evenly spaced partitioning method to divide multiple fuzzy sets and employs a triangular membership function. The ranges of the five fuzzy sets for the number of CEs in memory (very low, low, medium, high, and very high) are: [0 0 2000], [0 2000 4000], [2000 4000 6000], [4000 6000 8000], and [6000 10000 10000], respectively. The three numbers in the brackets correspond to points a, b, and c in the triangular membership function in Figure 4. The membership function for the number of CEs in memory is shown in Figure 6.

[0082] Similarly, the number of system interruptions is also divided into five fuzzy sets: Very Low, Low, Medium, High, and Very High; the ranges corresponding to these five fuzzy sets can also be evenly spaced or unevenly spaced.

[0083] The system outage counts were divided into multiple fuzzy sets using an evenly spaced distribution and a triangular membership function. The ranges of the five fuzzy sets (very low, low, medium, high, and very high) for system outage counts are [0 0 300], [0 300 600], [300 600 900], [600 900 1200], and [900 1500 1500], respectively. The membership function for system outage counts is shown in Figure 7.

[0084] Similarly, the domain of the memory CE threshold can be divided into multiple fuzzy sets. In order to more accurately represent the memory CE threshold, the number of fuzzy sets of the memory CE threshold is greater than the number of fuzzy sets of the number of memory CEs and the number of fuzzy sets of the number of system interruptions.

[0085] For example, the domain of the memory CE threshold is divided into seven fuzzy sets: Very Low, Low, Medium Low, Medium, Medium High, High, and Very High. Correspondingly, the ranges of these seven fuzzy sets are: [1 1 300], [1 300 600], [300 600 900], [600 900 1200], [900 1200 1500], [1200 1500 1800], and [1500 2000 2000]. Still taking the triangular membership function as an example, the membership function of the memory CE threshold can be specifically shown in Figure 8.

[0086] Moreover, after determining the fuzzy sets of the number of memory CEs, the number of system interruptions, and the memory CE threshold, the correspondence between the fuzzy sets of the number of memory CEs, the number of system interruptions, and the fuzzy set of the memory CE threshold can be determined based on human experience, so that the corresponding fuzzy control rules can be established.

[0087] Optionally, the fuzzy control rule includes a fuzzy control rule table. Still taking the examples shown in FIG6 to FIG8 as an example, the fuzzy control rule table may be as shown in Table 1 below.

[0088] Table 1

[0089] Alternatively, the fuzzy control rule also includes a fuzzy conditional statement for expressing a corresponding relationship between a fuzzy set of memory correctable error information and a fuzzy set of memory correctable error thresholds.

[0090] For example, Table 1 above corresponds to 25 fuzzy conditional statements, which are as follows:

[0091] If "Memory CE Number = Very Low" and "System Interrupt Number = Very Low", then "Memory CE Threshold = Very Low";

[0092] If "Memory CE Number = Very Low" and "System Interrupt Number = Low", then "Memory CE Threshold = Low";

[0093] If "Memory CE Number = Very Low" and "System Interrupt Number = Medium", then "Memory CE Threshold = MediumLow";

[0094] …

[0095] If "Memory CE Number = Medium" and "System Interrupt Number = Medium", then "Memory CE Threshold = Medium High";

[0096] …

[0097] If "Memory CE Number = Very High" and "System Interrupt Number = High", then "Memory CE Threshold = Very High";

[0098] If "Number of Memory CEs = Very High" and "Number of System Interrupts = Very High", then "Memory CE Threshold = Very High".

[0099] Step S302: Count information related to correctable errors in a unit cycle to generate current memory correctable error information, which includes the number of current memory correctable errors and the number of current system interruptions caused by the correctable memory errors.

[0100] For details, please refer to step S102 of the embodiment shown in FIG1 , which will not be described again here.

[0101] Step S303 , determining a target fuzzy set corresponding to the current memory correctable error information, and determining the membership degree of the current memory correctable error information to the target fuzzy set.

[0102] In this embodiment, since the entire domain of the memory CE information is divided into multiple fuzzy sets, and for a specific current memory CE information, it generally only corresponds to part of the fuzzy sets, for example, only corresponds to two of the fuzzy sets; the fuzzy set corresponding to the current memory CE information is called the target fuzzy set.

[0103] Furthermore, the degree to which the current memory CE information belongs to the corresponding target fuzzy set, i.e., the degree of membership, can be determined. Each fuzzy set in the memory CE information is provided with a function for calculating the degree of membership, i.e., a membership function, also known as a membership function. The degree of membership of the current memory CE information can be determined based on the membership function of the target fuzzy set.

[0104] For example, the current memory CE information belongs to two target fuzzy sets, namely target fuzzy set 1 and target fuzzy set 2. The target fuzzy set 1 corresponds to the membership function A1(x), and the target fuzzy set 2 corresponds to the membership function A2(x). Then, based on the membership function A1(x), the membership degree a1 of the current memory CE information can be determined, and the membership degree a1 indicates the membership degree of the current memory CE information to the target fuzzy set 1. Similarly, based on the membership function A2(x), the membership degree a2 of the current memory CE information can be determined, and the membership degree a2 indicates the membership degree of the current memory CE information to the target fuzzy set 2.

[0105] Specifically, since the current memory CE information includes the current number of memory CEs and the current number of system interruptions, target fuzzy sets can be determined for the current number of memory CEs and the current number of system interruptions, respectively. Step S303, "Determining the target fuzzy set corresponding to the current memory correctable error information and determining the membership degree of the current memory correctable error information within the target fuzzy set," includes the following steps: S3031 to S3032.

[0106] Step S3031: determining at least one first fuzzy set corresponding to the current number of correctable memory errors, and determining a first membership degree of the current number of correctable memory errors to the first fuzzy set according to a first membership function of the first fuzzy set.

[0107] In this embodiment, the current number of memory CEs is a value in the domain of memory CE numbers. The current number of memory CEs can correspond to at least one fuzzy set of memory CE numbers. For ease of description, the fuzzy set of memory CE numbers corresponding to the current number of memory CEs is referred to as a first fuzzy set, and there is at least one first fuzzy set. Furthermore, since each fuzzy set of the number of memory CEs has a corresponding membership function, the first fuzzy set also has a corresponding membership function, namely, a first membership function. Based on the first membership function, the degree of membership of the current number of memory CEs in the corresponding first fuzzy set, namely, the first membership degree, can be determined.

[0108] Take the fuzzy set of the number of memory CEs shown in Figure 6 as an example. If the current number of memory CEs is 4500, as shown in Figure 9, this number corresponds to the fuzzy set "Medium" and the fuzzy set "High." It may belong to these two fuzzy sets, while its membership in other fuzzy sets is 0. Therefore, the current number of memory CEs 4500 corresponds to two first fuzzy sets: the fuzzy set "Medium" and the fuzzy set "High."

[0109] Furthermore, based on the membership function of the fuzzy set "Medium," the current number of CEs in memory, 4500, has a membership of 0.75. As shown in Figure 9, for the first fuzzy set "Medium," the first membership of the current number of CEs in memory, 4500, is A = 0.75. Similarly, for the first fuzzy set "High," the first membership of the current number of CEs in memory, 4500, is B = 0.25.

[0110] Step S3032: determining at least one second fuzzy set corresponding to the current number of system outages, and determining a second membership degree of the current number of system outages to the second fuzzy set according to a second membership function of the second fuzzy set.

[0111] In this embodiment, similar to step S3031 above, the current number of system interruptions is a value in the system interruption number domain. The current number of system interruptions can correspond to at least one fuzzy set of system interruption numbers. For ease of description, the fuzzy set of system interruption numbers corresponding to the current number of system interruptions is referred to as a second fuzzy set, and there is at least one second fuzzy set. Furthermore, since each fuzzy set of system interruption numbers has a corresponding membership function, the second fuzzy set also has a corresponding membership function, namely, the second membership function. Based on the second membership function, the degree of membership of the current number of system interruptions in the corresponding second fuzzy set, namely, the second membership degree, can be determined.

[0112] Take the fuzzy set of system outages shown in Figure 7 as an example. If the current number of system outages is 750, as shown in Figure 10, this number corresponds to the fuzzy set "Medium" and the fuzzy set "High." It may belong to these two fuzzy sets, while its membership in other fuzzy sets is 0. Therefore, the current number of system outages 750 corresponds to two second fuzzy sets: the fuzzy set "Medium" and the fuzzy set "High."

[0113] Furthermore, based on the membership function of the fuzzy set "Medium," the membership degree corresponding to the current number of system outages 750 is 0.5. As shown in Figure 10 , for the second fuzzy set "Medium," the second membership degree corresponding to the current number of system outages 750 is C = 0.5. Similarly, for the second fuzzy set "High," the second membership degree corresponding to the current number of system outages 750 is D = 0.5.

[0114] Step S304: determining a threshold fuzzy set of the current memory correctable error threshold corresponding to the target fuzzy set according to the fuzzy control rule, and determining the membership of the current memory correctable error threshold to the threshold fuzzy set according to the membership of the current memory correctable error information.

[0115] In this embodiment, the fuzzy control rule can represent the correspondence between all fuzzy sets of memory CE information and all fuzzy sets of memory CE thresholds. Since the current memory CE information only corresponds to some of the fuzzy sets, that is, the target fuzzy set is a part of it, based on the fuzzy control rule, the fuzzy set of memory CE thresholds that has a corresponding relationship with the target fuzzy set can be determined. For the convenience of description, the fuzzy sets of these memory CE thresholds are called "threshold fuzzy sets", which are also the fuzzy sets corresponding to the current memory CE threshold (that is, the current memory correctable error threshold) that needs to be determined.

[0116] Furthermore, based on the membership degree of the current memory CE information to the corresponding target fuzzy set, the membership degree of the current memory CE threshold to the corresponding threshold fuzzy set can be determined.

[0117] For example, the current memory CE information belongs to the target fuzzy set 1, and based on the fuzzy control rule, it can be determined that there is a corresponding relationship between the target fuzzy set 1 and a threshold fuzzy set 3 of the memory CE threshold; if the membership degree of the current memory CE information to the target fuzzy set 1 is membership a1, then based on the membership degree a1, the membership degree of the current memory CE threshold to the threshold fuzzy set 3 can be determined; for example, the membership degree a1 can be directly used as the membership degree of the current memory CE threshold to the threshold fuzzy set 3.

[0118] Specifically, after determining the first fuzzy set corresponding to the current number of memory CEs and the second fuzzy set corresponding to the current number of system interruptions, the fuzzy set corresponding to the current memory CE threshold, that is, the threshold fuzzy set, can be determined, and then the membership of the current memory CE threshold can be determined based on the first membership and second membership determined above.

[0119] Optionally, the above-mentioned step S304 "determining, according to the fuzzy control rule, the threshold fuzzy set of the current memory correctable error threshold having a corresponding relationship with the target fuzzy set, and determining the membership of the current memory correctable error threshold to the threshold fuzzy set according to the membership of the current memory correctable error information" may include the following steps A1 to A2.

[0120] Step A1: determining a threshold fuzzy set of a current memory correctable error threshold corresponding to the first fuzzy set and the second fuzzy set according to a fuzzy control rule.

[0121] In this embodiment, the fuzzy control rules include a predefined correspondence between input variables and output variables. The input variables are a fuzzy set representing the number of memory CEs and a fuzzy set representing the number of system interruptions, while the output variable is a fuzzy set representing the memory CE threshold. Therefore, by determining the first fuzzy set representing the current number of memory CEs and the second fuzzy set representing the current number of system interruptions, the threshold fuzzy set corresponding to the current memory CE threshold can be determined.

[0122] For example, the fuzzy control rules are shown in Table 1 above. The current number of memory CEs is 4500 and the current number of system interruptions is 750. Based on Figures 9 and 10, it can be seen that the first fuzzy set includes: fuzzy set "medium" and fuzzy set "high", and the second fuzzy set also includes: fuzzy set "medium" and fuzzy set "high".

[0123] Based on Table 1, if the fuzzy set for the current number of memory CEs is "medium" and the fuzzy set for the current number of system interruptions is "medium," the corresponding fuzzy set for the memory CE threshold is "medium-high." Therefore, the threshold fuzzy set for the current memory CE threshold is "medium-high." Specifically, the threshold fuzzy set for the current memory CE threshold, determined based on the first and second fuzzy sets, can be seen in Table 2 below.

[0124] Table 2

[0125] Step A2: taking the smaller value of the first membership degree of the current number of correctable memory errors and the second membership degree of the current number of system interruptions as the membership degree of the current correctable memory error threshold to the corresponding threshold fuzzy set.

[0126] In this embodiment, for each corresponding relationship determined based on the fuzzy control rule, the membership of the current memory CE threshold can be calculated based on the corresponding first membership and second membership. To facilitate calculation and to ensure that the determined memory CE threshold is applicable to actual conditions, the smaller value of the first membership and the second membership is used as the membership of the current memory CE threshold to the corresponding threshold fuzzy set.

[0127] Continuing with Table 2 as an example, the fuzzy set for the current number of memory CEs is "medium," with a first membership of A = 0.75. The fuzzy set for the current number of system interruptions is also "medium," with a second membership of C = 0.5. The corresponding threshold fuzzy set for the current memory CE threshold is "medium-high," and the current memory CE threshold's membership in this threshold fuzzy set is the smaller of the first membership of A = 0.75 and the second membership of C = 0.5, i.e., 0.5. Specifically, the membership of the current memory CE threshold can be seen in Table 3 below.

[0128] Table 3

[0129] Step S305 , performing defuzzification according to the degree of membership of the current memory correctable error threshold to determine the current memory correctable error threshold.

[0130] In this embodiment, after the membership of the current memory CE threshold is determined, defuzzification is performed based on the membership function of the corresponding threshold fuzzy set, so that an accurate value can be determined, and this value can be used as the current memory CE threshold.

[0131] In some optional implementations, the above step S305 of "defuzzifying according to the membership degree of the current memory correctable error threshold to determine the current memory correctable error threshold" may specifically include the following steps B1 to B3.

[0132] Step B1: determining a valid region in the membership function of the corresponding threshold fuzzy set according to the membership degree of the current memory correctable error threshold.

[0133] In this embodiment, multiple threshold fuzzy sets corresponding to the current memory CE threshold can be determined, and each threshold fuzzy set has a corresponding membership degree. For each threshold fuzzy set, a valid region corresponding to the membership function can be selected according to the membership degree of the current memory CE threshold.

[0134] Since the membership degree indicates the degree to which the current memory CE threshold belongs to the threshold fuzzy set, the area in the area corresponding to the membership function that has a membership degree less than the current memory correctable error threshold can be taken as the corresponding valid area.

[0135] Step B2: superimpose the valid areas corresponding to the membership functions of multiple threshold fuzzy sets to form a superimposed area.

[0136] Step B3: determining the current memory correctable error threshold according to the overlapping area.

[0137] After determining the valid regions corresponding to each threshold fuzzy set, this embodiment superimposes these valid regions to form a region for calculating the specific value of the current memory CE threshold, namely the superimposed region. This superimposed region can represent the membership distribution of the current memory CE threshold, and based on this superimposed region, the appropriate current memory CE threshold can be determined.

[0138] Optionally, the above step B3 “determining the current memory correctable error threshold according to the overlapping area” may include the following step B31.

[0139] In step B31, the median area value of the overlapping region is used as the corresponding current memory correctable error threshold.

[0140] In this embodiment, the median area value of the superimposed region corresponds to a value in the memory CE threshold domain. The median value can represent the current memory CE threshold in a relatively balanced manner, so that the determined current memory CE threshold can better balance system stability and performance.

[0141] For example, continuing with the embodiments shown in Tables 2 and 3, as described above, the current threshold fuzzy sets for the memory CE threshold include the fuzzy sets "medium-high," "high," and "very high," with memberships of 0.5, 0.25, and 0.25, respectively. For each membership function of the threshold fuzzy set, regions with a membership less than the corresponding membership can be considered valid regions. The three valid regions are then superimposed to form a superimposed region.

[0142] Figure 11 shows a schematic diagram of forming superposition regions. The valid regions for the three threshold fuzzy sets, "medium-high," "high," and "very high," are shown as the shaded areas on the left side of Figure 11. Combining these three valid regions forms the corresponding superposition region, which is shown as the shaded area on the right side of Figure 11.

[0143] Afterwards, the median area value of the superimposed region is calculated, and it can be determined that the median area value is 1400, so the current memory CE threshold can be set to 1400.

[0144] In this embodiment, when dynamically determining the memory CE threshold, fuzzy control can be performed each time. Alternatively, a correspondence between memory CE information and the memory CE threshold can be pre-determined based on fuzzy control. When updating the memory CE threshold, this correspondence can be used to directly determine the appropriate memory CE threshold.

[0145] Specifically, the method may also include: establishing a correspondence between memory correctable error information and a memory correctable error threshold based on the current memory correctable error information and the corresponding current memory correctable error threshold; the correspondence between the memory correctable error information and the memory correctable error threshold is used to determine the updated memory correctable error threshold based on the correspondence between the memory correctable error information and the memory correctable error threshold when the memory correctable error threshold is updated later.

[0146] In this embodiment, after determining the current memory CE threshold, a correspondence can be established between the corresponding memory CE information and the memory CE threshold. For example, a correspondence can be established between the number of memory CEs, the number of system interruptions, and the memory CE threshold. Using different memory CE information, corresponding memory CE thresholds can be determined, thereby establishing multiple correspondences. These correspondences between memory CE information and memory CE thresholds can be pre-stored. When the memory CE threshold needs to be updated later, the corresponding memory CE threshold can be determined directly based on the correspondence after the memory CE information is determined.

[0147] For example, taking FIG. 6 to FIG. 8 and Table 1 as examples, the corresponding relationship between the number of memory CEs, the number of system interruptions, and the memory CE threshold is shown in FIG. 12 .

[0148] In some optional implementations, the unit period for dynamically setting the memory CE threshold may be fixed or variable. Optionally, the method may further include a process for determining the unit period, which specifically includes the following steps C1 to C2.

[0149] Step C1: when the threshold change value is greater than the first threshold value, reduce the unit period; the reduction value of the unit period is positively correlated with the threshold change value.

[0150] Step C2: when the threshold change value is less than the second threshold value, increase the unit period; the increase value of the unit period is negatively correlated with the threshold change value.

[0151] The threshold change value is the difference between the current memory correctable error threshold and the previously determined historical memory correctable error threshold.

[0152] In this embodiment, during the process of dynamically determining the memory CE threshold, multiple memory CE thresholds may be determined. In this case, the difference between the current memory CE threshold and the previously determined historical memory CE threshold may represent the change in the memory CE threshold. For ease of description, this difference is referred to as the threshold change value. The historical memory CE threshold may specifically be the previously determined memory CE threshold.

[0153] If the threshold change is large, for example, greater than the first threshold, it indicates that the memory CE threshold set for the current time period may not be appropriate and requires significant adjustment. Therefore, to adjust the memory CE threshold in a timely manner, the unit period can be reduced. Furthermore, the larger the threshold change, the larger the reduction in the unit period, i.e., there is a positive correlation between the reduction in the unit period and the threshold change.

[0154] If the threshold change is small, for example, less than the second threshold, the memory CE threshold set for the current time period is appropriate and adjustment of the memory CE threshold is essentially unnecessary. Therefore, the unit period can be appropriately increased. Furthermore, the smaller the threshold change, the larger the increase in the unit period. In other words, there is a negative correlation between the increase in the unit period and the threshold change.

[0155] Furthermore, to prevent the changing unit cycle from affecting the domain of the number of memory CEs and the number of system interruptions, the counted number of memory CEs and the number of system interruptions can be normalized to a unified time period. For example, the number of memory CEs and the number of system interruptions in different unit cycles can be normalized to the number of memory CEs and the number of system interruptions within an hour. Accordingly, the input variables of the fuzzy control in this embodiment are also normalized parameters, namely the current number of memory CEs and the current number of system interruptions.

[0156] Figure 13 shows a schematic flow chart of fuzzy control. As shown in Figure 13, a fuzzy controller can be configured to implement fuzzy control. This fuzzy controller includes a knowledge base containing fuzzy control rules and data related to fuzzy set partitioning and membership functions. After determining the internal CE information, the fuzzy controller can fuzzify the internal CE information, determining the fuzzy set to which the internal CE information belongs and performing fuzzy reasoning using the knowledge base. Finally, the corresponding internal CE threshold is determined through defuzzification. Furthermore, feedback information can be statistically analyzed to implement feedback control.

[0157] This embodiment provides a method for adjusting a memory correctable error threshold, which can be used on devices with correctable errors, such as servers. FIG14 is a flow chart of the method for adjusting a memory correctable error threshold according to an embodiment of the present application. As shown in FIG14 , the flow includes the following steps.

[0158] Step S141, setting fuzzy control rules; the fuzzy control rules include a correspondence between a fuzzy set of the number of correctable memory errors and a fuzzy set of the number of system interruptions, and a fuzzy set of a memory correctable error threshold.

[0159] Specifically, the step S141 “setting fuzzy control rules” may include the following steps S1411 to S1412 .

[0160] Step S1411: Determine the current remaining amount of resources for processing correctable errors.

[0161] Step S1412: setting a fuzzy control rule that matches the current remaining amount of resources.

[0162] In this embodiment, there may be multiple fuzzy control rules, and an appropriate fuzzy control rule may be determined based on the current actual environment. For example, multiple fuzzy control rules may be pre-set, and when updating the memory CE threshold, an appropriate fuzzy control rule may be selected based on the current environment.

[0163] Processing CE requires a certain amount of resources. As the memory system runs for a long time, the resources used to process memory CE decrease monotonically, while the frequency of memory CE increases monotonically. To promptly detect memory errors and ensure memory performance, appropriate fuzzy rules should be set based on the actual system conditions, stability, and performance requirements. Specifically, the current remaining resources for processing CE can be determined, and appropriate fuzzy control rules can be set based on this current remaining resource amount. Selecting the appropriate fuzzy control rule based on the remaining resources can effectively balance system stability and performance.

[0164] In some optional implementations, the above step S1412 "setting a fuzzy control rule that matches the current remaining amount of resources" includes steps D1 and D2.

[0165] Step D1 : setting a correspondence between a fuzzy set of memory correctable error information and a fuzzy set of memory correctable error thresholds according to the current remaining amount of resources.

[0166] Step D2: Generate fuzzy control rules that match the current resource surplus.

[0167] In this embodiment, for the same fuzzy set of memory CE information, the fuzzy control rules can be adjusted by changing the corresponding fuzzy set of the memory CE threshold, that is, changing the correspondence between the two. Therefore, after determining the current remaining amount of resources, a more appropriate correspondence between the fuzzy set of memory CE information and the fuzzy set of the memory CE threshold can be set to generate a matching fuzzy control rule.

[0168] In this case, the fuzzy set of the memory CE information and the fuzzy set of the memory CE threshold may not be changed, but only the corresponding relationship between the two may be changed.

[0169] For example, Table 1 above shows a fuzzy control rule. By changing the corresponding relationship therein, a new fuzzy control rule can be formed. For example, another fuzzy control rule can be shown in Table 4 below.

[0170] Table 4

[0171] For example, multiple fuzzy control rules corresponding to different degrees of strictness as shown in Tables 1 and 4 above can be pre-set. After determining the current remaining amount of resources, a fuzzy control rule that matches the current remaining amount of resources can be selected and used. Among them, the fuzzy control rule shown in Table 4 is more suitable for situations where the remaining amount of resources is small.

[0172] Optionally, the above step D1 of “setting a correspondence between a fuzzy set of memory correctable error information and a fuzzy set of memory correctable error thresholds according to the current remaining amount of resources” may include the following steps D11 to D13 .

[0173] Step D11 : determining a first domain range where the rate of change of the memory correctable error threshold needs to be adjusted according to the current remaining amount of resources.

[0174] In this embodiment, in some cases, it is necessary to adjust the memory CE threshold change rate to more quickly adjust the memory CE threshold to the desired value. For example, when the remaining resources for processing memory CE are only 50% or 30%, the fuzzy control rules can be changed based on the actual situation. For example, when the remaining resources are only 30%, a larger memory CE threshold change rate can be set to detect memory CE in a timely manner and ensure memory performance.

[0175] Specifically, according to the current remaining amount of resources, it is possible to determine a portion of the domain range corresponding to the memory CE threshold change rate that needs to be adjusted, that is, the first domain range.

[0176] For example, when the current remaining amount of resources is small, the domain range corresponding to the smaller memory CE threshold can be adjusted. For example, the first half of the domain range is used as the first domain range for which the memory CE threshold change rate needs to be adjusted.

[0177] Step D12, determining a first valid fuzzy set of memory correctable error information; the first valid fuzzy set is a fuzzy set of memory correctable error information corresponding to the first domain range.

[0178] In this embodiment, the fuzzy set of the memory CE information corresponding to the first domain range is called the first valid fuzzy set.

[0179] For example, a first valid fuzzy set of memory CE information corresponding to the remaining amounts of multiple resources can be pre-determined. Alternatively, a baseline fuzzy control rule can be set. After determining the first domain range, a fuzzy set corresponding to the memory CE threshold within the first domain range can be determined. Furthermore, based on the corresponding relationship in the baseline fuzzy control rule, a fuzzy set of memory CE information corresponding to the first domain range can be determined, i.e., the first valid fuzzy set.

[0180] Step D13: adjusting the fuzzy set of the memory correctable error threshold corresponding to the first valid fuzzy set; and, if it is necessary to increase the rate of change of the memory correctable error threshold, increasing the number of fuzzy sets of the memory correctable error threshold corresponding to the plurality of first valid fuzzy sets.

[0181] In this embodiment, since the first valid fuzzy set corresponds to the first domain range that needs to be adjusted, the fuzzy set of the memory correctable error threshold corresponding to the first valid fuzzy set is adjusted, that is, the corresponding relationship between the two is adjusted. In this way, the corresponding relationship between the fuzzy set of the input variable and the fuzzy set of the output variable within the first domain range can be adjusted, thereby adjusting the change rate of the output variable within the first domain range, that is, the change rate of the memory CE threshold.

[0182] Specifically, if the changing rate of the memory CE threshold needs to be increased, the number of fuzzy sets of the memory correctable error threshold corresponding to the first valid fuzzy set may be increased.

[0183] For example, within the scope of the first domain, the memory CE threshold has only one fuzzy set "medium-high"; if the scope of the first domain corresponds to two fuzzy sets of memory CE information: "high" and "very high" (these two fuzzy sets are the first valid fuzzy sets); since the fuzzy sets "high" and "very high" of the memory CE information correspond to the same fuzzy set "medium-high" of the memory CE threshold, as the memory CE information changes, the rate of change of the memory CE threshold is relatively small. In this embodiment, the number of fuzzy sets of memory CE thresholds corresponding to the two fuzzy sets is increased, for example, to the fuzzy sets "medium-high" and "high"; at this time, the fuzzy set "high" of the memory CE information still corresponds to the fuzzy set "medium-high" of the memory CE threshold, but the fuzzy set "very high" of the memory CE information is adjusted to the fuzzy set "high" corresponding to the memory CE threshold, so that when the memory CE information changes, the fuzzy set of the changing memory CE threshold can increase the rate of change of the memory CE threshold.

[0184] Furthermore, optionally, the above step D1 of "setting the correspondence between the fuzzy set of memory correctable error information and the fuzzy set of memory correctable error thresholds according to the current remaining amount of resources" may include the following steps D14 to D15.

[0185] Step D14 , when the fuzzy set of the memory correctable error threshold remains fixed, the fuzzy set of the memory correctable error threshold corresponding to the fuzzy set of the memory correctable error information is adjusted to determine different fuzzy control rules.

[0186] Step D15, when the fuzzy set of the memory correctable error threshold is variable, adjust the number of fuzzy sets of the memory correctable error threshold, and set a corresponding relationship between the fuzzy set of the memory correctable error information and the fuzzy set of the adjusted memory correctable error threshold to determine different fuzzy control rules.

[0187] In this embodiment, the fuzzy set of the memory CE threshold can be fixed. In this case, different fuzzy control rules can be generated by adjusting the fuzzy set corresponding to the memory CE threshold for the memory CE information. For example, the number of fuzzy sets for the memory CE threshold remains constant at seven. By adjusting the correspondence between the fuzzy sets of the memory CE information and the memory CE threshold, the fuzzy control rules shown in Table 4 can be generated based on Table 1.

[0188] Alternatively, the fuzzy sets of the memory CE threshold can be variable, that is, the number of fuzzy sets of the memory CE threshold can be variable. In this case, the number of fuzzy sets of the memory CE threshold can be increased or decreased, and the correspondence between the fuzzy sets of the memory CE information and the fuzzy sets of the memory CE threshold can be redefined. For example, dividing the domain of the memory CE threshold into a larger number of fuzzy sets can more precisely determine the correspondence between the fuzzy sets of the memory CE information and the fuzzy sets of the memory CE threshold, and can also change the rate of change of the local memory CE threshold.

[0189] In some optional implementations, the above step S1412 "setting a fuzzy control rule that matches the current remaining amount of resources" includes step E1.

[0190] Step E1: According to the current remaining amount of resources, the membership functions of at least part of the fuzzy sets of the error-correctable information in the memory are adjusted to generate fuzzy control rules that match the current remaining amount of resources.

[0191] In this embodiment, different fuzzy control rules can be generated based on different membership functions. For example, for fuzzy sets within the same domain, by changing the membership function used, such as adjusting from a triangular membership function to a trapezoidal membership function, or changing the shape of the triangular membership function, different fuzzy control rules can be generated. These different fuzzy control rules also correspond to different rates of change of the memory CE threshold.

[0192] The correspondence between the fuzzy set of the in-memory CE information and the fuzzy set of the in-memory CE threshold can be maintained unchanged, with only the membership function of the fuzzy set being changed. For example, by maintaining the correspondence shown in Table 1 and changing the membership function of the fuzzy set, different fuzzy control rules can be formed. Alternatively, the correspondence between the fuzzy set of the in-memory CE information and the fuzzy set of the in-memory CE threshold can be changed, while also changing the membership function of the fuzzy set. For example, the correspondence between the fuzzy sets can be changed based on steps D1 to D2 above, and the membership function of the fuzzy set can be adjusted based on step E1 above.

[0193] Optionally, the above step E1 of “adjusting the membership functions of at least part of the fuzzy sets of the memory correctable error information according to the current remaining amount of resources” may include the following steps E11 to E13.

[0194] Step E11 : determining a second domain range where the rate of change of the memory correctable error threshold needs to be adjusted according to the current remaining amount of resources.

[0195] Step E12, determining a second valid fuzzy set of memory correctable error information; the second valid fuzzy set is a fuzzy set of memory correctable error information corresponding to the second domain range.

[0196] In this embodiment, the process of determining the second valid fuzzy set is similar to the process of determining the first valid fuzzy set from step D11 to step D12, and is not described in detail here.

[0197] It can be understood that the first domain scope and the second domain scope can be the same, and in this case, the determined first valid fuzzy set and the determined second valid fuzzy set are also the same.

[0198] Step E13: at least adjust the slope of the rising segment and / or the falling segment in the membership function of the second valid fuzzy set; and, if it is necessary to increase the rate of change of the memory correctable error threshold, increase the slope.

[0199] In this embodiment, after determining the second valid fuzzy set, the change rate of the memory CE threshold is adjusted by adjusting its membership function. The membership function includes an ascending segment and / or a descending segment. As the name implies, the ascending segment is the portion of the membership function where the membership increases as the independent variable increases, and the descending segment is the portion of the membership function where the membership decreases as the independent variable increases.

[0200] To increase the rate of change of the memory CE threshold, increase the corresponding slope, for example, increasing the slope of the rising and falling segments. A larger slope of the membership function allows a wider range of memory CE thresholds to be determined even when the memory CE information changes slightly, thereby increasing the rate of change of the memory CE threshold.

[0201] Optionally, the above step E13 of “at least adjusting the slope of the rising segment and / or the falling segment in the membership function of the valid fuzzy set” may include the following steps E131 and / or E132 .

[0202] Step E131: Adjust the difference between the left boundary point and the middle point in the membership function of the valid fuzzy set to adjust the slope of the rising segment.

[0203] Step E132: Adjust the difference between the middle point and the right boundary point in the membership function of the valid fuzzy set to adjust the slope of the descending segment.

[0204] In this embodiment, several key points can be identified using the membership function, and based on these key points, the ascending segment and the descending segment can be determined. Specifically, the membership function has a left boundary point and a right node, with at least one intermediate point between them. It can be understood that the area between the left boundary point and the intermediate point is the ascending segment, and the area between the intermediate point and the right boundary point is the descending segment.

[0205] Since the membership corresponding to the left boundary point and the right node is 0, and the membership corresponding to the middle point is 1, when adjusting the slope of the ascending segment, the slope of the ascending segment can be adjusted by adjusting the difference between the left boundary point and the middle point. For example, reducing the difference between the left boundary point and the middle point can increase the slope of the ascending segment. Similarly, adjusting the difference between the middle point and the right boundary point can adjust the slope of the descending segment.

[0206] For example, for the intermediate triangular membership function shown in Figure 4, point a corresponds to the left boundary point, point c corresponds to the right node, and point b corresponds to the middle point. It can be understood that for the triangular membership function, by adjusting the difference between point a and point b, the slope of the rising segment can be adjusted; by adjusting the difference between point b and point c, the slope of the descending segment can be adjusted. For the intermediate triangular membership function shown in Figure 4, point a corresponds to the left boundary point, point d corresponds to the right node, and points b and c can both be used as middle points; the segment between point a and point b is the rising segment, and the segment between point c and point d is the descending segment. The method of adjusting the slope is similar to that of the triangular membership function and will not be described in detail here.

[0207] Furthermore, when adjusting the slope of a membership function, the corresponding domain range may also be adjusted, that is, the left boundary point and / or the right boundary point may be adjusted to adapt to changes in other membership functions.

[0208] Comparing the membership functions shown in Figures 6 to 8, while maintaining the same number of fuzzy sets, we can adjust the slopes of at least some of these membership functions to form new membership functions. The adjusted membership functions can be seen in Figures 15 to 17. Figure 15 shows the membership function for the number of memory CEs, Figure 16 shows the membership function for the number of system interruptions, and Figure 17 shows the membership function for the memory CE threshold. Based on these new membership functions, new fuzzy control rules can be formed.

[0209] Still taking the current number of memory CEs as 4500 and the current number of system interruptions as 750 as an example, for the fuzzy control rules constructed based on the membership functions shown in Figures 15 to 17, it can be calculated that the current memory CE threshold is 1270. The calculation process is the same as the calculation method shown in Figure 11 and will not be repeated here.

[0210] Moreover, for any current memory CE information, the fuzzy control rules constructed based on the membership functions shown in Figures 15 to 17 can determine the corresponding current memory CE threshold, that is, establish a correspondence between the memory CE information and the memory CE threshold. The specific correspondence can be seen in Figure 18.

[0211] By comparing the two corresponding relationships shown in FIG12 and FIG18 , it can also be determined that by adjusting the membership function of the fuzzy set, the fuzzy control rule can be adjusted, thereby adjusting the change rate of the memory CE threshold.

[0212] Optionally, the above step S1412 “setting a fuzzy control rule that matches the current remaining amount of resources” may include step E2.

[0213] Step E2, adjusting the number of fuzzy sets of memory correctable error information, and setting a corresponding relationship between the adjusted fuzzy sets of memory correctable error information and the fuzzy sets of memory correctable error thresholds to determine different fuzzy control rules.

[0214] In this embodiment, in addition to adjusting the slope of the membership function, the number of fuzzy sets of the input variables, namely, the number of fuzzy sets of the memory CE information, can also be adjusted. For example, the number of fuzzy sets for the number of memory CEs and / or the number of fuzzy sets for the number of system interruptions can be adjusted. Similar to adjusting the number of fuzzy sets for the memory CE threshold described above, adjusting the number of fuzzy sets for the memory CE information can also form new fuzzy control rules, thereby enabling the use of fuzzy control rules that match the current remaining resource amount.

[0215] Step S142 , collecting statistics on information related to correctable errors within a unit cycle to generate current memory correctable error information.

[0216] For details, please refer to step S102 of the embodiment shown in FIG1 , which will not be described again here.

[0217] Step S143 , determining the target fuzzy set corresponding to the current memory correctable error information, and determining the membership degree of the current memory correctable error information to the target fuzzy set.

[0218] For details, please refer to step S103 of the embodiment shown in FIG1 , which will not be described again here.

[0219] Step S144, determining a threshold fuzzy set of the current memory correctable error threshold corresponding to the target fuzzy set according to the fuzzy control rule, and determining the membership of the current memory correctable error threshold to the threshold fuzzy set according to the membership of the current memory correctable error information.

[0220] For details, please refer to step S104 of the embodiment shown in FIG1 , which will not be described again here.

[0221] Step S145 , performing defuzzification according to the degree of membership of the current memory correctable error threshold to determine the current memory correctable error threshold.

[0222] For details, please refer to step S105 of the embodiment shown in FIG1 , which will not be described again here.

[0223] The method for adjusting the memory correctable error threshold provided in this embodiment sets multiple sets of fuzzy control rules for memory CE threshold changes, and reasonably selects appropriate fuzzy control rules based on the remaining resources that can process memory CE, further enhancing the accuracy of detecting and processing memory CE problems, having strong adaptability, and being able to effectively balance the stability and performance of the system.

[0224] This embodiment also provides a device for adjusting a memory correctable error threshold. This device is used to implement the above-mentioned embodiments and preferred implementations, and details already described will not be repeated. As used below, the term "module" may refer to a combination of software and / or hardware that implements a predetermined function. Although the devices described in the following embodiments are preferably implemented in software, implementation using hardware, or a combination of software and hardware, is also possible and contemplated.

[0225] This embodiment provides a device for adjusting a memory correctable error threshold, as shown in FIG19 , including:

[0226] A rule setting module 1901 is used to set fuzzy control rules; the fuzzy control rules include a correspondence between a fuzzy set of the number of correctable memory errors and a fuzzy set of the number of system interruptions, and a fuzzy set of a memory correctable error threshold;

[0227] A statistics module 1902 is configured to collect statistics on information related to correctable errors within a unit cycle to generate current memory correctable error information; the current memory correctable error information includes the current number of correctable memory errors and the current number of system interruptions caused by the correctable memory errors;

[0228] The fuzzy processing module 1903 is configured to perform fuzzy reasoning on the current memory correctable error information according to the fuzzy control rule, and determine a current memory correctable error threshold having a nonlinear mapping relationship with the current memory correctable error information.

[0229] In some optional embodiments, the fuzzy processing module 1903 performs fuzzy reasoning on the current memory correctable error information according to the fuzzy control rules, including: determining the target fuzzy set corresponding to the current memory correctable error information, and determining the membership of the current memory correctable error information to the target fuzzy set; determining the threshold fuzzy set of the current memory correctable error threshold that has a corresponding relationship with the target fuzzy set according to the fuzzy control rules, and determining the membership of the current memory correctable error threshold to the threshold fuzzy set according to the membership of the current memory correctable error information; and performing defuzzification according to the membership of the current memory correctable error threshold to determine the corresponding current memory correctable error threshold.

[0230] In some optional implementations, the fuzzy processing module 1903 determines a target fuzzy set corresponding to the current memory correctable error information, and determines the membership degree of the current memory correctable error information to the target fuzzy set, including:

[0231] Determining at least one first fuzzy set corresponding to the current number of correctable memory errors, and determining a first membership degree of the current number of correctable memory errors to the first fuzzy set according to a first membership function of the first fuzzy set;

[0232] At least one second fuzzy set corresponding to the current number of system outages is determined, and a second membership degree of the current number of system outages to the second fuzzy set is determined according to a second membership function of the second fuzzy set.

[0233] In some optional implementations, the fuzzy processing module 1903 determines, according to the fuzzy control rule, a threshold fuzzy set of the current memory correctable error threshold corresponding to the target fuzzy set, and determines, according to the membership of the current memory correctable error information, the membership degree of the current memory correctable error threshold to the threshold fuzzy set, including:

[0234] According to the fuzzy control rule, a threshold fuzzy set of a current memory correctable error threshold corresponding to the first fuzzy set and the second fuzzy set is determined;

[0235] The smaller value between the first membership degree of the current number of correctable memory errors and the second membership degree of the current number of system interruptions is used as the membership degree of the current correctable memory error threshold belonging to the corresponding threshold fuzzy set.

[0236] In some optional implementations, the fuzzy processing module 1903 performs defuzzification based on the membership degree of the current memory correctable error threshold to determine the current memory correctable error threshold, including:

[0237] Determine the valid region in the membership function of the corresponding threshold fuzzy set according to the membership degree of the current memory correctable error threshold;

[0238] Superimposing the effective areas corresponding to the membership functions of multiple threshold fuzzy sets to form a superimposed area;

[0239] Determine the current memory correctable error threshold based on the overlay area.

[0240] In some optional implementations, the fuzzy processing module 1903 determines the current memory correctable error threshold based on the overlay area, including:

[0241] The median area value of the overlapping region is used as the corresponding current memory correctable error threshold.

[0242] In some optional embodiments, the device also includes a period determination module, which is used to: reduce the unit period when the threshold change value is greater than a first threshold; the reduction value of the unit period is positively correlated with the threshold change value; increase the unit period when the threshold change value is less than a second threshold; the increase value of the unit period is negatively correlated with the threshold change value; wherein the threshold change value is the difference between the current memory correctable error threshold and the previously determined historical memory correctable error threshold.

[0243] In some optional implementations, the rule setting module 1901 sets fuzzy control rules, including:

[0244] determining the current amount of resources remaining for handling correctable errors;

[0245] Set fuzzy control rules that match the current resource surplus.

[0246] In some optional implementations, the rule setting module 1901 sets fuzzy control rules that match the current remaining amount of resources, including:

[0247] Setting a correspondence between a fuzzy set of memory correctable error information and a fuzzy set of memory correctable error thresholds according to the current remaining amount of resources;

[0248] Generate fuzzy control rules that match the current resource surplus.

[0249] In some optional implementations, the rule setting module 1901 sets a correspondence between a fuzzy set of memory correctable error information and a fuzzy set of memory correctable error thresholds according to the current remaining amount of resources, including:

[0250] Determine the first domain range where the rate of change of the memory correctable error threshold needs to be adjusted according to the current remaining amount of resources;

[0251] Determine a first valid fuzzy set of memory correctable error information; the first valid fuzzy set is a fuzzy set of memory correctable error information corresponding to the first domain range;

[0252] The fuzzy set of the memory correctable error threshold corresponding to the first valid fuzzy set is adjusted; and when the rate of change of the memory correctable error threshold needs to be increased, the number of fuzzy sets of the memory correctable error threshold corresponding to the plurality of first valid fuzzy sets is increased.

[0253] In some optional implementations, the rule setting module 1901 sets a correspondence between a fuzzy set of memory correctable error information and a fuzzy set of memory correctable error thresholds according to the current remaining amount of resources, including:

[0254] Under the condition that the fuzzy set of the memory correctable error threshold value remains unchanged, the fuzzy set of the memory correctable error threshold value corresponding to the fuzzy set of the memory correctable error information is adjusted to determine different fuzzy control rules;

[0255] When the fuzzy set of the memory correctable error threshold is variable, the number of fuzzy sets of the memory correctable error threshold is adjusted, and a corresponding relationship between the fuzzy set of the memory correctable error information and the fuzzy set of the adjusted memory correctable error threshold is set to determine different fuzzy control rules.

[0256] In some optional implementations, the rule setting module 1901 sets fuzzy control rules that match the current remaining amount of resources, including:

[0257] According to the current remaining amount of resources, the membership function of at least part of the fuzzy set of the memory-correctable error information is adjusted to generate a fuzzy control rule that matches the current remaining amount of resources.

[0258] In some optional implementations, the rule setting module 1901 adjusts the membership function of at least part of the fuzzy set of the memory correctable error information according to the current remaining amount of resources, including:

[0259] Determine the second domain range where the rate of change of the memory correctable error threshold needs to be adjusted according to the current remaining amount of resources;

[0260] Determine a second valid fuzzy set of memory correctable error information; the second valid fuzzy set is a fuzzy set of memory correctable error information corresponding to the second domain range;

[0261] At least the slope of the rising segment and / or the falling segment in the membership function of the second effective fuzzy set is adjusted; and if it is necessary to increase the rate of change of the memory correctable error threshold, the slope is increased.

[0262] In some optional implementations, the rule setting module 1901 adjusts at least the slope of the rising segment and / or the falling segment in the membership function of the valid fuzzy set, including:

[0263] Adjust the difference between the left boundary point and the middle point in the membership function of the valid fuzzy set to adjust the slope of the rising segment;

[0264] And / or, the difference between the middle point and the right boundary point in the membership function of the valid fuzzy set is adjusted to adjust the slope of the descending segment.

[0265] In some optional implementations, the rule setting module 1901 sets a fuzzy control rule that matches the current remaining amount of resources, further comprising:

[0266] The number of fuzzy sets of memory correctable error information is adjusted, and a corresponding relationship between the adjusted fuzzy sets of memory correctable error information and the fuzzy sets of memory correctable error thresholds is set to determine different fuzzy control rules.

[0267] In some optional embodiments, the device also includes an establishment module for: establishing a correspondence between memory correctable error information and a memory correctable error threshold based on the current memory correctable error information and the corresponding current memory correctable error threshold; the correspondence between the memory correctable error information and the memory correctable error threshold is used to determine the updated memory correctable error threshold based on the correspondence between the memory correctable error information and the memory correctable error threshold when the memory correctable error threshold is updated later.

[0268] In some optional implementations, the fuzzy control rule includes a fuzzy control rule table, or the fuzzy control rule includes a fuzzy conditional statement for representing the correspondence between a fuzzy set of memory correctable error information and a fuzzy set of memory correctable error thresholds.

[0269] The further functional description of each of the above modules and units is the same as that of the above corresponding embodiments and will not be repeated here.

[0270] The device for adjusting the memory correctable error threshold in this embodiment is presented in the form of a functional unit, where the unit refers to an ASIC (Application Specific Integrated Circuit) circuit, including a processor and memory that executes one or more software or fixed programs, and / or other devices that can provide the above-mentioned functions.

[0271] An embodiment of the present application further provides a server, which may include a memory, a threshold register, a counter register, a storage device, and a processor. The threshold register is used to store a memory correctable error threshold; the counter register is used to count correctable memory errors generated by the memory and trigger a system interrupt when the count reaches the correctable memory error threshold in the threshold register. The operating principle of the server can be seen in the description of FIG2 .

[0272] Alternatively, please refer to Figure 20, which is a structural diagram of a server provided in an optional embodiment of the present application. As shown in Figure 20, the server includes: one or more processors 10, a memory 20, and interfaces for connecting various components, including high-speed interfaces and low-speed interfaces.

[0273] The processor 10 may be a central processing unit, a network processor, or a combination thereof. The memory 20 may include a program storage area and a data storage area. The program storage area may store an operating system and application programs required for at least one function; the data storage area may store data created based on the use of the server.

[0274] The server further includes an input device 30 and an output device 40. The processor 10, the memory 20, the input device 30, and the output device 40 may be connected via a bus or other means, and FIG20 takes the bus connection as an example.

[0275] The embodiments of the present application also provide a non-volatile computer-readable storage medium. The above-mentioned method according to the embodiment of the present application can be implemented in hardware, firmware, or implemented as a computer code that can be recorded in a storage medium, or implemented as a computer code that is originally stored in a remote storage medium or a non-temporary machine-readable storage medium and downloaded through a network and will be stored in a local storage medium, so that the method described herein can be stored in such software processing on a storage medium using a general-purpose computer, a dedicated processor, or programmable or dedicated hardware. Among them, the storage medium can be a magnetic disk, an optical disk, a read-only storage memory, a random access memory, a flash memory, a hard disk or a solid-state drive, etc.; further, the storage medium can also include a combination of the above-mentioned types of memory. It can be understood that a computer, a processor, a microprocessor controller or programmable hardware includes a storage component that can store or receive software or computer code. When the software or computer code is accessed and executed by a computer, a processor or hardware, the method shown in the above embodiment is implemented.

[0276] Although the embodiments of the present application have been described with reference to the accompanying drawings, those skilled in the art may make various modifications and variations without departing from the spirit and scope of the present application, and such modifications and variations shall fall within the scope defined by the appended claims.

Claims

1. A method for adjusting a memory correctable error threshold, characterized in that: The method comprises: Setting fuzzy control rules; the fuzzy control rules include a correspondence between a fuzzy set of the number of correctable memory errors and a fuzzy set of the number of system interruptions, and a fuzzy set of a memory correctable error threshold; Collecting statistics on information related to correctable errors within a unit cycle to generate current memory correctable error information; the current memory correctable error information includes the number of current memory correctable errors and the number of current system interruptions caused by the memory correctable errors; Performing fuzzy reasoning on the current memory correctable error information according to the fuzzy control rule to determine a current memory correctable error threshold having a nonlinear mapping relationship with the current memory correctable error information; and In response to the count of memory correctable errors generated by the counting register on the memory reaching the current memory correctable error threshold stored in the threshold register, a system interrupt is triggered.

2. The method according to claim 1, characterized in that The performing fuzzy reasoning on the current memory correctable error information according to the fuzzy control rule includes: determining a target fuzzy set corresponding to the current memory correctable error information, and determining a membership degree of the current memory correctable error information to the target fuzzy set; determining, according to the fuzzy control rule, a threshold fuzzy set of a current memory correctable error threshold corresponding to the target fuzzy set, and determining, according to the membership of the current memory correctable error information, the membership degree of the current memory correctable error threshold to the threshold fuzzy set; and Defuzzification is performed according to the membership degree of the current memory correctable error threshold to determine the corresponding current memory correctable error threshold.

3. The method according to claim 2, characterized in that The determining of the target fuzzy set corresponding to the current memory correctable error information and determining the membership degree of the current memory correctable error information to the target fuzzy set includes: Determining at least one first fuzzy set corresponding to the current number of correctable memory errors, and determining a first membership degree of the current number of correctable memory errors to the first fuzzy set based on a first membership function of the first fuzzy set; and At least one second fuzzy set corresponding to the current number of system outages is determined, and a second membership degree of the current number of system outages to the second fuzzy set is determined based on a second membership function of the second fuzzy set.

4. The method according to claim 3, characterized in that The step of determining, according to the fuzzy control rule, a threshold fuzzy set of a current memory correctable error threshold corresponding to the target fuzzy set, and determining, according to the membership of the current memory correctable error information, the membership degree of the current memory correctable error threshold to the threshold fuzzy set, includes: Determining, according to the fuzzy control rule, a threshold fuzzy set of a current memory correctable error threshold corresponding to the first fuzzy set and the second fuzzy set; and The smaller value between the first membership degree of the current number of correctable memory errors and the second membership degree of the current number of system interruptions is used as the membership degree of the current correctable memory error threshold to the corresponding threshold fuzzy set.

5. The method according to any one of claims 2 to 4, characterized in that The defuzzification is performed according to the membership degree of the current memory correctable error threshold to determine the corresponding current memory correctable error threshold, including: Determining a valid region in a membership function of a corresponding threshold fuzzy set according to the membership degree of the current memory correctable error threshold; Superimposing the valid areas corresponding to the membership functions of a plurality of the threshold fuzzy sets to form a superimposed area; and A current memory correctable error threshold is determined according to the overlapping area.

6. The method according to claim 5, characterized in that The determining of a current memory correctable error threshold according to the overlapping area includes: The median area value of the overlapping region is used as the corresponding current memory correctable error threshold.

7. The method according to claim 1, characterized in that Also includes: In response to the threshold change value being greater than a first threshold value, reducing the unit period; the reduction value of the unit period is positively correlated with the threshold change value; In response to the threshold change value being less than a second threshold value, increasing the unit period; the increase value of the unit period is negatively correlated with the threshold change value; as well as The threshold change value is a difference between the current memory correctable error threshold and a previously determined historical memory correctable error threshold.

8. The method according to claim 1, characterized in that The setting of fuzzy control rules includes: determining the current amount of resources remaining for handling correctable errors; and A fuzzy control rule is set that matches the current remaining amount of resources.

9. The method according to claim 8, characterized in that The setting of the fuzzy control rule matching the current resource remaining amount includes: Setting a correspondence between a fuzzy set of memory correctable error information and a fuzzy set of memory correctable error thresholds according to the current remaining amount of resources; and A fuzzy control rule matching the current resource surplus is generated.

10. The method according to claim 9, characterized in that The step of setting the correspondence between the fuzzy set of memory correctable error information and the fuzzy set of memory correctable error threshold according to the current remaining amount of resources includes: Determining a first domain range where a rate of change of a memory correctable error threshold needs to be adjusted according to the current remaining amount of resources; Determine a first valid fuzzy set of memory correctable error information; the first valid fuzzy set is a fuzzy set of memory correctable error information corresponding to the first domain; and The fuzzy set of the memory correctable error threshold corresponding to the first valid fuzzy set is adjusted; and when the rate of change of the memory correctable error threshold needs to be increased, the number of the fuzzy sets of the memory correctable error threshold corresponding to the first valid fuzzy sets is increased.

11. The method according to claim 9, characterized in that The step of setting the correspondence between the fuzzy set of memory correctable error information and the fuzzy set of memory correctable error threshold according to the current remaining amount of resources includes: In response to the fuzzy set of the memory correctable error threshold being fixed, adjusting the fuzzy set of the memory correctable error threshold corresponding to the fuzzy set of the memory correctable error information to determine different fuzzy control rules; and In response to a change in the fuzzy set of the memory correctable error threshold, the number of fuzzy sets of the memory correctable error threshold is adjusted, and a corresponding relationship between the fuzzy set of the memory correctable error information and the adjusted fuzzy set of the memory correctable error threshold is set to determine different fuzzy control rules.

12. The method according to claim 8, characterized in that The setting of the fuzzy control rule matching the current resource remaining amount includes: According to the current remaining amount of resources, the membership functions of at least part of the fuzzy sets of the memory correctable error information are adjusted to generate fuzzy control rules that match the current remaining amount of resources.

13. The method according to claim 12, characterized in that The step of adjusting the membership function of at least part of the fuzzy set of the memory correctable error information according to the current remaining amount of resources includes: Determining a second domain range where a rate of change of a memory correctable error threshold needs to be adjusted according to the current remaining amount of resources; Determine a second valid fuzzy set of memory correctable error information; the second valid fuzzy set is a fuzzy set of memory correctable error information corresponding to the second domain; and At least the slope of the rising segment and / or the falling segment in the membership function of the second effective fuzzy set is adjusted; and in response to the need to increase the rate of change of the memory correctable error threshold, the slope is increased.

14. The method according to claim 13, characterized in that The step of at least adjusting the slope of an ascending segment and / or a descending segment in the membership function of the valid fuzzy set comprises: Adjusting the difference between the left boundary point and the middle point in the membership function of the effective fuzzy set to adjust the slope of the rising segment; And / or, adjusting the difference between the middle point and the right boundary point in the membership function of the valid fuzzy set to adjust the slope of the descending segment.

15. The method according to claim 12, characterized in that The setting of the fuzzy control rule matching the current resource remaining amount further includes: The number of fuzzy sets of memory correctable error information is adjusted, and a corresponding relationship between the adjusted fuzzy sets of memory correctable error information and the fuzzy sets of memory correctable error thresholds is set to determine different fuzzy control rules.

16. The method according to claim 1, wherein Also includes: Establishing a correspondence between the correctable memory error information and the correctable memory error threshold according to the current correctable memory error information and the corresponding current correctable memory error threshold; The correspondence between the memory correctable error information and the memory correctable error threshold is used to determine an updated memory correctable error threshold according to the correspondence between the memory correctable error information and the memory correctable error threshold when the memory correctable error threshold is updated.

17. The method according to claim 1, wherein The fuzzy control rule includes a fuzzy control rule table, or the fuzzy control rule includes a fuzzy conditional statement for expressing a corresponding relationship between a fuzzy set of memory correctable error information and a fuzzy set of memory correctable error thresholds.

18. A device for adjusting a memory correctable error threshold, characterized in that: The device comprises: A rule setting module is used to set fuzzy control rules; the fuzzy control rules include a correspondence between a fuzzy set of the number of correctable memory errors and a fuzzy set of the number of system interruptions, and a fuzzy set of a memory correctable error threshold; a statistics module, configured to collect statistics on information related to correctable errors within a unit cycle and generate current memory correctable error information; the current memory correctable error information includes the current number of correctable memory errors and the current number of system interruptions caused by the correctable memory errors; and A fuzzy processing module is used to perform fuzzy reasoning on the current memory correctable error information according to the fuzzy control rule to determine a current memory correctable error threshold having a nonlinear mapping relationship with the current memory correctable error information.

19. A server, characterized in that: include: Memory, threshold register, count register, storage and processor; The threshold register is used to store a memory correctable error threshold; The counting register is used to count the memory correctable errors generated by the memory, and trigger a system interrupt when the count reaches the memory correctable error threshold in the threshold register; as well as The memory and the processor are communicatively connected to each other, the memory stores computer instructions, and the processor executes the method for adjusting the memory correctable error threshold according to any one of claims 1 to 17 by executing the computer instructions.

20. A non-volatile computer-readable storage medium, characterized in that The non-volatile computer-readable storage medium stores computer instructions, and the computer instructions are used to enable a computer to execute the method for adjusting a memory correctable error threshold according to any one of claims 1 to 17.

Citation Information

Patent Citations

  • Method for dynamically adjusting memory monitoring threshold value

    CN105589789A

  • Determination method, determination device and determination equipment of memory ECC error reporting threshold value

    CN110781027A

  • Dynamical model parameter adjusting method and device, medium and electronic equipment

    CN113642103A

  • Correctable error threshold modification method and device, equipment and medium

    CN116521244A

  • Correctable error threshold setting method and device, electronic equipment and storage medium

    CN116820828A