A memory RMT test method, device, equipment and medium
The test environment built using Python software utilizes the serial function on the LAN of the server board management controller to achieve automated RMT testing of the memory of multiple servers. This solves the problems of low testing efficiency and high demand for manpower and resources in existing technologies, and improves testing efficiency and compatibility.
Patent Information
- Application Number
- CN202210893972.2
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2022-07-27
- Publication Date
- 2025-11-11
- Estimated Expiration
- 2042-07-27
AI Technical Summary
Existing memory RMT testing methods require multiple test machines and dedicated personnel, resulting in low testing efficiency and the inability to be conducted outside of working hours. This leads to high demands on manpower and resources and is not suitable for efficient testing of multiple servers.
The test environment was built using Python software. A single test server was used to perform RMT tests on the memory of multiple servers. The serial function on the LAN of the server baseboard management controller was used to collect test logs. The test results were automatically judged by a script, and different test modes were selected to perform RMT cyclic tests on the memory modules.
It enables flexible testing that runs seamlessly on both Linux and Windows systems, reducing manpower and material requirements, improving testing efficiency, and ensuring memory compatibility on server motherboards.
Smart Images

Figure CN115357436B_ABST
Abstract
Description
Technical Field
[0001] This invention relates to the field of computer testing technology, and in particular to a memory RMT testing method, apparatus, equipment, and medium. Background Technology
[0002] Intel's new-generation server platform, Eagle Stream, introduced the next-generation DDR5 memory model. Previously, on Intel platforms, memory voltage regulation was handled by the VR power module on the motherboard. However, DDR5 memory has an integrated PMIC power management chip, allowing for more precise power supply control. This also simplifies motherboard design and reduces costs. Since each memory manufacturer chooses different power solutions, and the operating voltage of DDR5 memory has decreased from 1.2V for DDR4 memory to 1.1V, memory testing requirements are more complex, and RMT testing will be more frequent. Therefore, finding a simple and efficient way to perform RMT testing, saving manpower and resources and improving work efficiency, has become an urgent problem to solve.
[0003] Python is a free, open-source, easy-to-learn, and easy-to-maintain programming language. Due to its open-source nature, Python has been ported to many platforms, becoming the primary language for scripting and rapid application development on most platforms. This invention uses Python for programming, ensuring that scripts can run directly on both Linux and Windows systems without code modification, thus meeting the requirements of different testing platforms.
[0004] The CPU, as the data computing and processing unit, and memory, as the data exchange unit, are closely interconnected and both indispensable components of a server. In a server, memory modules bear the crucial task of data exchange, making signal integrity analysis particularly important. The existing RMT (Recognition Memory Test) is a memory testing software based on the DOS system. It performs signal integrity analysis on memory modules in software form, or tests the compatibility and interoperability between the CPU and the memory. The test typically involves a test machine connected to the server via a serial cable, using serial tools such as Xshell to collect logs.
[0005] Existing memory RMT testing methods require one serial cable and one test machine to test the memory of a single server; testing the memory of multiple servers requires multiple serial cables and multiple test machines. Therefore, simultaneous testing of multiple servers places a significant demand on testing materials. Furthermore, each cycle of the existing memory RMT test requires dedicated personnel to collect test logs and power on / off the servers. Consequently, testers are frequently exposed to noisy server room environments, and testing cannot continue after their shifts. Summary of the Invention
[0006] To overcome the aforementioned technical deficiencies, the present invention aims to provide a memory RMT testing method, apparatus, device, and medium. The method is applied to several servers, each including several memory modules. The method includes: initiating an RMT loop test on the memory modules; obtaining the original memory state of the server; shutting down the server system, enabling the serial function on the LAN of the server's motherboard management controller, and collecting the server's test logs; restarting the server system and determining whether the server's test logs contain a key string; and confirming, based on the determination result, whether to continue the RMT loop test on the memory modules using a preset test mode. This invention uses Python software to build a test environment, requiring only one auxiliary tester to perform RMT tests on the memory of multiple servers. It can also pinpoint memory-related issues, reducing manpower and material resources required and ensuring memory compatibility on the server motherboard.
[0007] The specific technical solutions provided by the embodiments of the present invention are as follows:
[0008] Firstly, a memory RMT testing method is provided, which is applied to several servers, each including several memory modules. The method includes:
[0009] Initiate an RMT loop test on the memory module;
[0010] Obtain the original memory state of the server;
[0011] Shut down the server system, enable the serial function on the LAN of the server baseboard management controller, and collect the test logs of the server;
[0012] Start the server system and determine whether the server's test logs contain the key string;
[0013] Based on the judgment result, determine whether to continue the RMT loop test on the memory module through the preset test mode.
[0014] Furthermore, before initiating the RMT loop test on the memory module, the following steps are included:
[0015] The server's basic input / output system is configured with relevant option parameters for performing an RMT loop test on the memory module.
[0016] Install Python software on the testing machine and run the script;
[0017] The script includes key strings and / or the IP address of the server baseboard management controller and / or a threshold number of loops for performing RMT loop tests on the memory module and / or a preset test mode.
[0018] Furthermore, the step of determining whether to continue the RMT loop test on the memory module based on the judgment result includes:
[0019] When the server's test logs contain key strings, determine whether the server's current memory state has changed;
[0020] When the server's test logs do not contain key strings, the test time for the RMT loop test on the memory module is judged to be greater than the timeout threshold.
[0021] Furthermore, the determination of whether the current memory state of the server has changed includes:
[0022] The current memory state of the server is compared with the original memory state of the server to determine whether there has been a change;
[0023] If yes, then determine the test mode for the RMT loop test of the memory module; if no, then collect the test log of the server, disable the serial function on the LAN of the server baseboard management controller, and determine whether the number of loops of the RMT loop test of the memory module has reached the loop count threshold.
[0024] Further, the determination of whether the number of loops for the RMT loop test on the memory module has reached the loop count threshold includes:
[0025] Determine whether the number of RMT loop tests performed on the memory module has reached the loop count threshold;
[0026] If yes, the test ends; otherwise, the RMT loop test continues on the memory module.
[0027] Furthermore, the determination of the test mode for performing the RMT loop test on the memory module includes:
[0028] Determine the test mode for performing RMT loop testing on the memory module;
[0029] If it is in continuous mode, the test log of the server is collected, the serial function on the LAN of the server baseboard management controller is turned off, and it is determined whether the number of RMT loop tests performed on the memory module has reached the loop count threshold. If yes, the test ends; if no, the RMT loop test is continued on the memory module.
[0030] If in location mode, collect the server's test logs, disable the LAN serial function of the server baseboard management controller, and end the test.
[0031] Furthermore, the determination of whether the test time of the RMT loop test on the memory module exceeds the timeout threshold includes:
[0032] Determine whether the test time of the RMT loop test on the memory module exceeds the timeout threshold;
[0033] If yes, then re-evaluate the test mode of the RMT loop test on the memory module; if no, then re-evaluate whether the server's test log contains the key string.
[0034] Secondly, a memory RMT testing device is provided, the device comprising:
[0035] Enable module, used to enable RMT loop testing on memory modules;
[0036] The acquisition module is used to obtain the server's raw memory state;
[0037] The processing module is used to shut down the server system, enable the serial function on the LAN of the server baseboard management controller, and collect the test logs of the server.
[0038] The judgment module is used to start the server system and determine whether the server's test logs contain key strings;
[0039] The testing module is used to determine whether to continue the RMT loop test on the memory module based on the judgment result and whether the preset test mode is passed.
[0040] Thirdly, a computer device is provided, the device comprising:
[0041] A memory, a processor, and a computer program stored on the memory, wherein the processor executes the computer program to implement the steps of the memory RMT test method as described in any of the first aspects.
[0042] Fourthly, a computer storage medium is provided, the medium comprising:
[0043] It stores a computer program that, when executed by the memory, implements the steps of the memory RMT test method described in any of the first aspects.
[0044] Compared with existing technologies, the technical solution provided in this invention is applied to several servers, each including several memory modules. The method includes: initiating an RMT (Recursive Mind Test) loop test on the memory modules; obtaining the original memory state of the server; shutting down the server system, enabling the serial function on the LAN of the server board management controller, and collecting the server's test logs; restarting the server system and determining whether the server's test logs contain a key string; and confirming whether to continue the RMT loop test on the memory modules using a preset test mode based on the determination result. This invention uses Python software to build a test environment, and the script can run seamlessly in both Linux and Windows systems, making server memory testing more flexible and versatile. Furthermore, only one test machine is needed to perform RMT tests on the memory of multiple servers, and different test modes can be selected to locate memory-related problems, reducing manpower and material resources required and ensuring memory compatibility on the server motherboard. Attached Figure Description
[0045] To more clearly illustrate the technical solutions in the embodiments of the present invention, the accompanying drawings used in the description of the embodiments will be briefly introduced below. Obviously, the accompanying drawings described below are only some embodiments of the present invention. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.
[0046] Figure 1 This is a first flowchart of the memory RMT testing method provided in Embodiment 1 of the present invention;
[0047] Figure 2 This is a second flowchart of the memory RMT testing method provided in Embodiment 2 of the present invention;
[0048] Figure 3 This is a flowchart illustrating the memory RMT testing method provided in Embodiment 2 of the present invention.
[0049] Figure 4 This is a structural diagram of the memory RMT testing device provided in Embodiment 3 of the present invention;
[0050] Figure 5 This is an exemplary system provided in Embodiment 5 of the present invention, which can be used to implement the various embodiments described in this application. Detailed Implementation
[0051] To make the objectives, technical solutions, and advantages of this invention clearer, the technical solutions of the embodiments of this invention will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of this invention, and not all embodiments. Based on the embodiments of this invention, all other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of this invention.
[0052] It should be noted that, unless the context explicitly requires it, the words "comprising," "including," and similar terms in the entire specification and claims should be interpreted as encompassing rather than being exclusive or exhaustive; that is, meaning "including but not limited to."
[0053] Furthermore, in the description of this invention, unless otherwise stated, "a plurality of" means two or more.
[0054] Example 1
[0055] This invention provides a memory RMT testing method, such as... Figure 1 As shown, the method is applied to several servers, each including several memory modules, and the method includes:
[0056] Initiate an RMT loop test on the memory module;
[0057] Obtain the original memory state of the server;
[0058] Shut down the server system, enable the serial function on the LAN of the server baseboard management controller, and collect the test logs of the server;
[0059] Start the server system and determine whether the server's test logs contain the key string;
[0060] Based on the judgment result, determine whether to continue the RMT loop test on the memory module through the preset test mode.
[0061] Specifically, this invention mainly involves installing Python software to construct a test environment for the test server. First, the BIOS settings of the server are configured with options for performing RMT (Recurrent Mine Trace) loop tests on the memory modules. The Python software is then installed on the test server, and a script is run. Adapting to the test server's operating system (OS), the script enables the Serial Over LAN (SOL) function on the LAN of the server's Baseboard Management Controller (BMC) to collect the server's test logs. The script automatically detects and determines whether the server's test logs contain key strings. Then, based on the test mode preset by the testers, it performs a memory RMT loop test or terminates the test, waiting for developers to locate the problem.
[0062] The beneficial effects of the technical solution provided by the embodiments of the present invention are as follows:
[0063] The technical solution provided in this invention installs Python software to build a test environment. The script can run seamlessly in both Linux and Windows systems, making server memory testing more flexible and versatile. At the same time, only one test machine is needed to perform RMT testing on the memory of multiple servers, and different test modes can be selected to locate memory-related problems, reducing the need for manpower and material resources and ensuring the compatibility of memory on the server motherboard.
[0064] Example 2
[0065] This invention provides a memory RMT testing method, such as... Figure 2 As shown, the method includes:
[0066] Step S01: Set the relevant option parameters for performing RMT loop test on the memory module in the server basic input / output system;
[0067] Install Python software on the testing machine and run the script;
[0068] The script includes key strings and / or the IP address of the server baseboard management controller and / or a threshold number of loops for performing RMT loop tests on the memory module and / or a preset test mode.
[0069] Specifically, the relevant options and parameters for memory RMT testing are set in the BIOS interface of the server, and the settings are saved before entering the operating system (OS). Python software is installed on the test machine, and the script is run. The script is, for example, Python.exe RMT.py -H ip -C cycle -M mode.
[0070] The parameters of the script are described below:
[0071] IP: refers to the dedicated IP address of the server baseboard management controller (BMC), for example: 100.100.100.100.
[0072] cycle: This refers to the number of rounds of memory RMT testing to be performed, that is, the threshold number of RMT cycle tests to be performed on the memory module. Generally, according to Intel requirements, the threshold number of cycle tests is greater than or equal to 5.
[0073] `mode` refers to the test mode used for the RMT (Recovery Management Test) loop test on the memory module. Generally, there are continuous mode and location mode. When `mode` = 0, it indicates continuous mode, meaning the test will continuously loop regardless of whether an exception is encountered, stopping only after reaching the threshold number of loops. This mode is suitable for memory RMT testing. When `mode` = 1, it indicates location mode, meaning the test will stop when an exception is encountered. This mode is suitable for locating memory-related problems, such as recoverable errors (CE), unrecoverable errors (UCE), and system crashes.
[0074] Here, the script contains a keyword parameter called KeyWord, which represents the string that will appear in the system test log when a round of memory RMT test ends normally. For example, on the Eagle Stream server platform, the key string is FiaMuxUpdateStatusStrings. In some scenarios where problems are located, the keyword parameter KeyWord can be modified as needed. The key string can represent a prompt string or an end marker string that appears when a round of memory RMT test ends normally.
[0075] Step S02: Start the RMT loop test on the memory module.
[0076] Specifically, the script automatically determines whether the test machine is running Windows or Linux, and selects the corresponding branch function to execute the test based on the system.
[0077] Step S03: Obtain the original memory state of the server.
[0078] Specifically, the server's raw memory status is captured, such as total memory capacity and number of memory modules.
[0079] Step S04: Shut down the server system, enable the LAN serial function of the server baseboard management controller, and collect the server's test logs.
[0080] Specifically, the server is shut down, the SEL log information of the server baseboard management controller (BMC) is cleared, the serial function on the LAN (SOL function) of the server baseboard management controller is enabled, and the test logs of the server are collected through the SOL function.
[0081] Step S05: Start the server system and determine whether the server's test log contains a key string.
[0082] Specifically, after powering on the server and allowing it to hibernate for 30 seconds, check whether the server's test log contains any key strings.
[0083] Step S06: Based on the judgment result, confirm whether to continue the RMT loop test on the memory module through the preset test mode.
[0084] Step S06 also includes:
[0085] Step S061: When the test log of the server includes a key string, determine whether the current memory state of the server has changed.
[0086] When the server's test logs do not contain key strings, the test time for the RMT loop test on the memory module is judged to be greater than the timeout threshold.
[0087] Specifically, when the server's test logs contain key strings, the current memory state is captured and compared with the original memory state to determine whether a change has occurred.
[0088] If the server's test logs do not contain the key string, determine whether the RMT loop test timeout has occurred.
[0089] Step S061 also includes:
[0090] Step S0611: Compare the current memory state of the server with the original memory state of the server to determine whether there has been a change;
[0091] If yes, then determine the test mode for the RMT loop test of the memory module; if no, then collect the test log of the server, disable the serial function on the LAN of the server baseboard management controller, and determine whether the number of loops of the RMT loop test of the memory module has reached the loop count threshold.
[0092] Specifically, if the memory state changes, determine whether the test mode is continuous mode or location mode; if the memory state does not change, collect the test logs of the server, disable the SOL function of the server baseboard management controller, and determine whether the number of times the memory RMT loop test has been executed has reached the loop count threshold.
[0093] Step S0611 also includes:
[0094] Step S06111: Determine whether the number of RMT loop tests performed on the memory module has reached the loop count threshold.
[0095] If yes, the test ends; otherwise, the RMT loop test continues on the memory module.
[0096] Specifically, if the loop count threshold is not reached, the RMT loop test continues on the memory module to start a new round of testing; if the loop count threshold is reached, the current loop is exited and the test ends.
[0097] Step S06112: Determine the test mode for performing RMT loop test on the memory module;
[0098] If it is in continuous mode, the test log of the server is collected, the serial function on the LAN of the server baseboard management controller is turned off, and it is determined whether the number of RMT loop tests performed on the memory module has reached the loop count threshold. If yes, the test ends; if no, the RMT loop test is continued on the memory module.
[0099] If in location mode, collect the server's test logs, disable the LAN serial function of the server baseboard management controller, and end the test.
[0100] Specifically, if the memory state changes, determine whether the test mode is continuous mode or location mode;
[0101] In continuous mode, collect the test logs of the server, disable the SOL function of the server baseboard management controller, determine whether the number of loops executed has reached the loop count threshold, if the loop count threshold has not been reached, start a new round of testing; if the loop count threshold has been reached, exit the current loop and end the test.
[0102] If it is in location mode, collect the test logs of the server, disable the SOL function of the server baseboard management controller, exit the current loop, end the test, and locate the problem point of the memory.
[0103] Step S0612: Determine whether the test time of the RMT loop test on the memory module is greater than the timeout threshold;
[0104] If yes, then re-evaluate the test mode of the RMT loop test on the memory module; if no, then re-evaluate whether the server's test log contains the key string.
[0105] Specifically, when the server's test log does not contain the key string, the test time of the RMT loop test on the memory stick is judged to be greater than the timeout threshold, i.e., the test time is judged to be timed out.
[0106] If the timeout has not occurred, wait 30 seconds and then re-evaluate whether the server's test log contains the key string.
[0107] If the timeout occurs, the RMT loop test mode of the memory module is re-evaluated to determine whether it is in continuous mode or positioning mode.
[0108] In continuous mode, collect the test logs of the server, disable the SOL function of the server baseboard management controller, determine whether the number of loops executed has reached the loop count threshold, if the loop count threshold has not been reached, start a new round of testing; if the loop count threshold has been reached, exit the current loop and end the test.
[0109] If in location mode, collect the server's test logs, disable the SOL function of the server baseboard management controller, exit the current loop, and end the test.
[0110] The timeout threshold mentioned here is 2 hours.
[0111] like Figure 3 The following is a flowchart illustrating the memory RMT testing method:
[0112] Specifically, the server's basic input / output system is configured with relevant option parameters for performing RMT loop testing on the memory module;
[0113] Install Python software on the testing machine and run the script;
[0114] Initiate an RMT loop test on the memory module;
[0115] Obtain the original memory state of the server;
[0116] Shut down the server system, enable the serial function on the LAN of the server baseboard management controller, and collect the test logs of the server;
[0117] Start the server system and determine whether the server's test logs contain the key string;
[0118] Based on the judgment result, determine whether to continue the RMT loop test on the memory module through the preset test mode.
[0119] The memory RMT testing method provided in this embodiment of the invention can be improved and optimized in several ways without departing from the technical solution of the invention, and these improvements and optimizations should also be considered within the scope of protection of the invention.
[0120] This invention provides a method for RMT testing of memory, applied to several servers, each including several memory modules. The method includes: initiating a cyclic RMT test on the memory modules; obtaining the original memory state of the server; shutting down the server system, enabling the serial function on the LAN of the server's motherboard management controller, and collecting the server's test logs; restarting the server system and determining whether the server's test logs contain a key string; and confirming whether to continue the cyclic RMT test on the memory modules according to the determination result, based on the result. This invention uses Python software to build a test environment, requiring only one auxiliary tester to perform RMT testing on the memory of multiple servers, while simultaneously locating memory-related issues, reducing manpower and material resources, and ensuring memory compatibility on the server motherboard.
[0121] Example 3
[0122] This invention provides a memory RMT testing device, such as... Figure 4 As shown, the device includes a preprocessing module, an activation module, an acquisition module, a processing module, a judgment module, and a testing module.
[0123] In this embodiment, the preprocessing module is used to set relevant option parameters for performing RMT loop testing on the memory module in the server's basic input / output system;
[0124] Install Python software on the testing machine and run the script;
[0125] The script includes key strings and / or the IP address of the server baseboard management controller and / or a threshold for the number of loops for performing RMT loop testing on the memory module and / or a preset test mode; the startup module is used to start performing RMT loop testing on the memory module;
[0126] The acquisition module is used to obtain the server's raw memory state;
[0127] The processing module is used to shut down the server system, enable the serial function on the LAN of the server baseboard management controller, and collect the test logs of the server.
[0128] The judgment module is used to start the server system and determine whether the server's test logs contain key strings;
[0129] The testing module is used to determine whether to continue the RMT loop test on the memory module based on the judgment result and whether the preset test mode is passed.
[0130] Furthermore, the testing module is used to determine whether the current memory state of the server has changed when the server's test log includes a key string;
[0131] When the server's test logs do not contain key strings, the test time for the RMT loop test on the memory module is judged to be greater than the timeout threshold.
[0132] Furthermore, the testing module is also used to compare the current memory state of the server with the original memory state of the server to determine whether there has been a change;
[0133] If yes, then determine the test mode for the RMT loop test of the memory module; if no, then collect the test log of the server, disable the serial function on the LAN of the server baseboard management controller, and determine whether the number of loops of the RMT loop test of the memory module has reached the loop count threshold.
[0134] Furthermore, the testing module is used to determine whether the number of RMT loop tests performed on the memory module has reached the loop count threshold;
[0135] If yes, the test ends; otherwise, the RMT loop test continues on the memory module.
[0136] Furthermore, the testing module is also used to determine the test mode for performing RMT loop testing on the memory module;
[0137] If it is in continuous mode, the test log of the server is collected, the serial function on the LAN of the server baseboard management controller is turned off, and it is determined whether the number of RMT loop tests performed on the memory module has reached the loop count threshold. If yes, the test ends; if no, the RMT loop test is continued on the memory module.
[0138] If in location mode, collect the server's test logs, disable the LAN serial function of the server baseboard management controller, and end the test.
[0139] Furthermore, the testing module is used to determine whether the test time of the RMT loop test on the memory module exceeds the timeout threshold;
[0140] If yes, then re-evaluate the test mode of the RMT loop test on the memory module; if no, then re-evaluate whether the server's test log contains the key string.
[0141] The beneficial effects of the technical solution provided by the embodiments of the present invention are as follows:
[0142] The technical solution provided in this invention installs Python software to build a test environment. The script can run seamlessly in both Linux and Windows systems, making server memory testing more flexible and versatile. At the same time, only one test machine is needed to perform RMT testing on the memory of multiple servers, and different test modes can be selected to locate memory-related problems, reducing the need for manpower and material resources and ensuring the compatibility of memory on the server motherboard.
[0143] Example 4
[0144] This invention provides a computer device, including a memory, a processor, and a computer program stored in the memory and executable on the processor. When the processor executes the computer program, it can perform the following method for memory RMT testing:
[0145] Initiate an RMT loop test on the memory module;
[0146] Obtain the original memory state of the server;
[0147] Shut down the server system, enable the serial function on the LAN of the server baseboard management controller, and collect the test logs of the server;
[0148] Start the server system and determine whether the server's test logs contain the key string;
[0149] Based on the judgment result, determine whether to continue the RMT loop test on the memory module through the preset test mode.
[0150] The beneficial effects of the technical solution provided by the embodiments of the present invention are as follows:
[0151] The technical solution provided in this invention installs Python software to build a test environment. The script can run seamlessly in both Linux and Windows systems, making server memory testing more flexible and versatile. At the same time, only one test machine is needed to perform RMT testing on the memory of multiple servers, and different test modes can be selected to locate memory-related problems, reducing the need for manpower and material resources and ensuring the compatibility of memory on the server motherboard.
[0152] Example 5
[0153] This invention provides a computer storage medium, including a memory, a processor, and a computer program stored on the memory and executable on the processor. When the processor executes the computer program, it performs the following steps:
[0154] Initiate an RMT loop test on the memory module;
[0155] Obtain the original memory state of the server;
[0156] Shut down the server system, enable the serial function on the LAN of the server baseboard management controller, and collect the test logs of the server;
[0157] Start the server system and determine whether the server's test logs contain the key string;
[0158] Based on the judgment result, determine whether to continue the RMT loop test on the memory module through the preset test mode.
[0159] Furthermore, before initiating the RMT loop test on the memory module, the following steps are included:
[0160] The server's basic input / output system is configured with relevant option parameters for performing an RMT loop test on the memory module.
[0161] Install Python software on the testing machine and run the script;
[0162] The script includes key strings and / or the IP address of the server baseboard management controller and / or a threshold number of loops for performing RMT loop tests on the memory module and / or a preset test mode.
[0163] Furthermore, the step of determining whether to continue the RMT loop test on the memory module based on the judgment result includes:
[0164] When the server's test logs contain key strings, determine whether the server's current memory state has changed;
[0165] When the server's test logs do not contain key strings, the test time for the RMT loop test on the memory module is judged to be greater than the timeout threshold.
[0166] Furthermore, the determination of whether the current memory state of the server has changed includes:
[0167] The current memory state of the server is compared with the original memory state of the server to determine whether there has been a change;
[0168] If yes, then determine the test mode for the RMT loop test of the memory module; if no, then collect the test log of the server, disable the serial function on the LAN of the server baseboard management controller, and determine whether the number of loops of the RMT loop test of the memory module has reached the loop count threshold.
[0169] Further, the determination of whether the number of loops for the RMT loop test on the memory module has reached the loop count threshold includes:
[0170] Determine whether the number of RMT loop tests performed on the memory module has reached the loop count threshold;
[0171] If yes, the test ends; otherwise, the RMT loop test continues on the memory module.
[0172] Furthermore, the determination of the test mode for performing the RMT loop test on the memory module includes:
[0173] Determine the test mode for performing RMT loop testing on the memory module;
[0174] If it is in continuous mode, the test log of the server is collected, the serial function on the LAN of the server baseboard management controller is turned off, and it is determined whether the number of RMT loop tests performed on the memory module has reached the loop count threshold. If yes, the test ends; if no, the RMT loop test is continued on the memory module.
[0175] If in location mode, collect the server's test logs, disable the LAN serial function of the server baseboard management controller, and end the test.
[0176] Furthermore, the determination of whether the test time of the RMT loop test on the memory module exceeds the timeout threshold includes:
[0177] Determine whether the test time of the RMT loop test on the memory module exceeds the timeout threshold;
[0178] If yes, then re-evaluate the test mode of the RMT loop test on the memory module; if no, then re-evaluate whether the server's test log contains the key string.
[0179] Figure 5 This is an exemplary system provided in Embodiment 5 of the present invention that can be used to implement the various embodiments described in this application;
[0180] like Figure 5As shown, in some embodiments, the system can function as any of the aforementioned devices for memory RMT testing in each of the various embodiments. In some embodiments, the system may include one or more computer-readable media (e.g., system memory or NVM / storage device) having a result and one or more processors (e.g., one or more processors) coupled to the one or more computer-readable media and configured to execute the result to implement the module thereby performing the actions described in this application.
[0181] Those skilled in the art will understand that all or part of the processes in the methods of the above embodiments can be implemented by a computer program using related hardware. The computer program can be stored in a non-volatile computer-readable storage medium, and when executed, it can include the processes of the embodiments of the above methods. Any references to memory, storage, databases, or other media used in the embodiments provided by this invention can include non-volatile and / or volatile memory. Non-volatile memory can include read-only memory (ROM), programmable ROM (PROM), electrically programmable ROM (EPROM), electrically erasable programmable ROM (EEPROM), or flash memory. Volatile memory can include random access memory (RAM) or external cache memory. By way of illustration and not limitation, RAM is available in various forms, such as static RAM (SRAM), dynamic RAM (DRAM), synchronous DRAM (SDRAM), dual data rate SDRAM (DDRSDRAM), enhanced SDRAM (ESDRAM), synchronous link DRAM (SLDRAM), RAMbus direct RAM (RDRAM), direct memory bus dynamic RAM (DRDRAM), and RAMbus dynamic RAM (RDRAM), etc.
[0182] The technical features of the above embodiments can be combined in any way. For the sake of brevity, not all possible combinations of the technical features in the above embodiments are described. However, as long as there is no contradiction in the combination of these technical features, they should be considered to be within the scope of this specification.
[0183] The embodiments described above are merely illustrative of several implementations of the present invention, and while the descriptions are relatively specific and detailed, they should not be construed as limiting the scope of the invention patent. It should be noted that those skilled in the art can make various modifications and improvements without departing from the concept of the present invention, and these all fall within the protection scope of the present invention. Therefore, the protection scope of this invention patent should be determined by the appended claims.
Claims
1. A memory RMT testing method, characterized in that, The method is applied to several servers, each including several memory modules, and the method includes: Initiate an RMT loop test on the memory module; Obtain the original memory state of the server, wherein the original memory state includes the total memory capacity and the number of memory modules; Shut down the server system, enable the serial function on the LAN of the server baseboard management controller, and collect the test logs of the server; Start the server system and determine whether the server's test logs contain the key string; Based on the judgment result, determine whether to continue the RMT loop test on the memory module through the preset test mode; The step of determining whether to continue the RMT loop test on the memory module based on the judgment result includes: When the server's test logs contain key strings, determine whether the server's current memory state has changed; The current memory state of the server is compared with the original memory state of the server to determine whether there has been a change; If so, then the test mode of the RMT loop test is determined for the memory module; If it is in continuous mode, the test log of the server is collected, the serial function on the LAN of the server baseboard management controller is turned off, and it is determined whether the number of RMT loop tests performed on the memory module has reached the loop count threshold. If yes, the test ends; if no, the RMT loop test is continued on the memory module. If in location mode, collect the server's test logs, disable the LAN serial function of the server baseboard management controller, and end the test.
2. The memory RMT testing method according to claim 1, characterized in that, Before initiating the RMT loop test on the memory module, the following steps are included: The server's basic input / output system is configured with relevant option parameters for performing an RMT loop test on the memory module. Install Python software on the testing machine and run the script; The script includes key strings and / or the IP address of the server baseboard management controller and / or a threshold number of loops for performing RMT loop tests on the memory module and / or a preset test mode.
3. The memory RMT testing method according to claim 1, characterized in that, The step of determining whether to continue the RMT loop test on the memory module based on the judgment result includes: When the server's test logs do not contain key strings, the test time for the RMT loop test on the memory module is judged to be greater than the timeout threshold.
4. The memory RMT testing method according to claim 1, characterized in that, The determination of whether the current memory state of the server has changed includes: The current memory state of the server is compared with the original memory state of the server to determine whether there has been a change; If not, collect the server's test logs, disable the serial function on the LAN of the server baseboard management controller, and determine whether the number of RMT loop tests performed on the memory module has reached the loop count threshold.
5. The memory RMT testing method according to claim 4, characterized in that, The determination of whether the number of loops for the RMT loop test on the memory module has reached the loop count threshold includes: Determine whether the number of RMT loop tests performed on the memory module has reached the loop count threshold; If yes, the test ends; otherwise, the RMT loop test continues on the memory module.
6. The memory RMT testing method according to claim 3, characterized in that, The determination of whether the test time of the RMT loop test on the memory module exceeds the timeout threshold includes: Determine whether the test time of the RMT loop test on the memory module exceeds the timeout threshold; If yes, then re-evaluate the test mode of the RMT loop test on the memory module; if no, then re-evaluate whether the server's test log contains the key string.
7. A memory RMT testing apparatus for implementing the method as described in claim 1, characterized in that, The device includes: Enable module, used to enable RMT loop testing on memory modules; The acquisition module is used to obtain the server's raw memory state; The processing module is used to shut down the server system, enable the serial function on the LAN of the server baseboard management controller, and collect the test logs of the server. The judgment module is used to start the server system and determine whether the server's test logs contain key strings; The testing module is used to determine whether to continue the RMT loop test on the memory module based on the judgment result and whether the preset test mode is passed.
8. A computer device, comprising a memory, a processor, and a computer program stored in the memory, characterized in that, The processor executes the computer program to implement the steps of the method as described in any one of claims 1 to 6.
9. A computer storage medium having a computer program stored thereon, characterized in that, When the computer program is executed by memory, it implements the steps of the method as described in any one of claims 1 to 6.
Citation Information
Patent Citations
Server test method and device, computer equipment and storage medium
CN114281613A
Server memory test method and system, terminal and storage medium
CN114461458A