Equipment starting method and device, electronic equipment and storage medium
By monitoring the vibration level when the server is powered on and updating the memory training parameters based on it, the memory instability caused by vibration during transportation or handling of the server is solved, and the stability and reliability of memory data after the device is powered on is achieved.
Patent Information
- Application Number
- CN202412000356.1
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-12-31
- Publication Date
- 2025-03-28
- Estimated Expiration
- 2044-12-31
AI Technical Summary
The server is affected by vibration during transportation or handling, causing the contact resistance between the processor and the motherboard to change, which may lead to unstable memory reading and writing data or errors.
Monitor the vibration level when the target device is turned on. If the vibration degree is greater than the preset threshold, the memory training operation is triggered, the current memory training parameters are generated and saved; if the vibration degree is not greater than the threshold, the memory training parameters at the last time the computer was started for the system to start.
By detecting device vibration and updating memory training parameters according to their situation, the problem of unstable memory reading and writing data is avoided, the memory error rate is reduced, and the stability and reliability of memory data after the device is turned on is ensured.
Smart Images

Figure CN119718441A_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the technical field of data storage, and in particular to a device startup method, device, electronic device and storage medium. Background Art
[0002] Memory is an important component in computers and servers, also known as internal memory and main memory. It is used to temporarily store the calculation data in the central processing unit (CPU) and the data exchanged with external memory such as hard disk. When reading and writing data in memory, each signal needs to meet a strict timing alignment relationship. Since the boards used in the motherboards of each machine are different, each machine will train the memory to obtain the specific time sequence relationship that needs to be met between each signal when it is turned on for the first time, and store the time sequence relationship in a fixed storage area. When the machine is restarted later, it can directly read and use the time sequence relationship. However, during transportation or handling, the server will be affected by vibration, resulting in changes in the contact resistance between the server's processor and the motherboard, and the contact resistance between the memory gold finger and the metal spring of the memory slot. At this time, if the memory still reads and uses the stored time sequence relationship, it may cause instability or even errors in the memory read and write data.
[0003] It can be seen that how to avoid memory errors is a problem that technical personnel in this field need to solve. Summary of the invention
[0004] The purpose of the embodiments of the present invention is to provide a device startup method, apparatus, electronic device and storage medium, which can solve the problem of possible error reporting in the memory after the device is started.
[0005] To solve the above technical problems, an embodiment of the present invention provides a device startup method, including:
[0006] When the target device is turned on, monitoring the vibration level of the target device;
[0007] If the vibration level is greater than a preset level threshold, a memory training operation is triggered to generate current memory training parameters of the target device by performing memory training on the target device, and the current memory training parameters are saved in a preset parameter storage area of the target device;
[0008] If the vibration level is not greater than the preset level threshold, the memory training parameters configured when the target device was last powered on are read from the preset parameter storage area, and the system startup is completed based on the read memory training parameters.
[0009] In some embodiments, it also includes:
[0010] Obtain the historical memory topology information applied when the target device was last powered on and the current memory topology information applied when the target device is powered on this time;
[0011] Determine whether the current memory topology information is consistent with the historical memory topology information;
[0012] If the current memory topology information is consistent with the historical memory topology information, the vibration level of the target device is monitored;
[0013] If the current memory topology information is inconsistent with the historical memory topology information, the memory training operation is directly triggered to generate the current memory training parameters of the target device by performing memory training on the target device, and the current memory training parameters are saved in the preset parameter storage area of the target device.
[0014] In some embodiments, before reading the memory training parameters configured when the target device was last powered on from the preset parameter storage area, the method further includes:
[0015] Determine whether the preset parameter storage area stores the memory training parameters configured when the target device was last powered on;
[0016] If yes, jump to the step of reading the memory training parameters configured when the target device was last powered on from the preset parameter storage area;
[0017] If not, the memory training operation is directly triggered to generate current memory training parameters of the target device by performing memory training on the target device, and the current memory training parameters are saved in a preset parameter storage area of the target device.
[0018] In some embodiments, triggering a memory training operation to generate current memory training parameters of the target device by performing memory training on the target device includes:
[0019] Send a strobe signal to memory;
[0020] Receive the delay data returned by the memory; wherein the delay data is the delay between the strobe signal and the clock signal obtained by sampling the clock signal and comparing the strobe signal and the clock signal after the memory receives the strobe signal;
[0021] Adjust the delay of the strobe signal and jump back to the step of sending the strobe signal to the memory;
[0022] The delay of the selection signal corresponding to the minimum delay data among the delay data is determined as the current memory training parameter.
[0023] In some embodiments, monitoring the vibration level of the target device includes:
[0024] The vibration level of the target device is monitored using a spring vibration switch provided on the target device.
[0025] In some embodiments, the target device includes a clock circuit, and a preset communication connection is established between a central processor of the target device and a clock chip in the clock circuit;
[0026] The first end of the spring vibration switch is connected to the reset signal input end of the clock chip, and the second end is grounded; when the induced vibration amount of the spring vibration switch is not less than the preset degree threshold, the on time of the spring vibration switch is greater than the maintenance time of the offset register of the clock chip;
[0027] Accordingly, the specific process of determining whether the vibration level of the target device is greater than the preset level threshold includes:
[0028] Reading the current configuration value of the offset register in the clock chip based on the preset communication connection; wherein the configuration value of the offset register is used to represent the level state of the reset signal input terminal of the clock chip, and when the reset signal input terminal of the clock chip is short-circuited to the ground and maintained for a period of time, the offset register is configured as a preset value;
[0029] Determine whether the current configuration value of the offset register is equal to the preset value;
[0030] If yes, clear the configuration value of the offset register in the clock chip and determine that the vibration level of the target device is greater than a preset level threshold;
[0031] If not, it is determined that the vibration level of the target device is not greater than a preset level threshold.
[0032] In order to solve the above technical problems, an embodiment of the present invention further provides a device for starting a device, comprising:
[0033] A vibration detection unit, used to monitor the vibration level of the target device when the target device is turned on; if the vibration level is greater than a preset level threshold, the memory training unit is triggered; if the vibration level is not greater than the preset level threshold, the system startup unit is triggered;
[0034] A memory training unit, used to trigger a memory training operation, so as to generate current memory training parameters of the target device by performing memory training on the target device, and save the current memory training parameters into a preset parameter storage area of the target device;
[0035] The system startup unit is used to read the memory training parameters configured when the target device was last powered on from the preset parameter storage area, and complete the system startup based on the read memory training parameters.
[0036] To solve the above technical problems, an embodiment of the present invention further provides an electronic device, including:
[0037] A vibration detection device for monitoring the vibration level of the target equipment;
[0038] Memory for storing computer programs;
[0039] The processor is used to execute the computer program to implement the steps of the device startup method as described above.
[0040] In some embodiments, the vibration detection device is a spring vibration switch, a first end of the spring vibration switch is connected to a reset signal input end of a clock chip of a clock circuit in the target device, and a second end is grounded.
[0041] To solve the above technical problems, an embodiment of the present invention further provides a computer-readable storage medium, on which a computer program is stored. When the computer program is executed by a processor, the steps of the device startup method as described above are implemented.
[0042] It can be seen from the above technical scheme that when the target device is turned on, it is first determined whether the target device has been subjected to vibrations beyond the tolerance range. If the target device has not experienced vibrations exceeding the preset tolerance range, the memory training parameters during the previous startup can be directly used to configure the device's memory, thereby shortening the startup time. If it is detected that the target device has vibrations exceeding the preset tolerance range during transportation and movement, the memory is retrained during the next startup and memory configuration process to determine the memory training parameters under the new contact resistance corresponding to the current state of the target device. The beneficial effect of the present invention is that by detecting the vibration of the target device and determining whether the memory training parameters need to be updated according to the different vibration conditions of the target device, errors or data anomalies are avoided during subsequent memory reading and writing, ensuring that the data can remain stable and error-free when reading and writing the memory after the target device is turned on, reducing the memory error rate, and ensuring the accuracy and reliability of the memory in the target device. BRIEF DESCRIPTION OF THE DRAWINGS
[0043] In order to more clearly illustrate the embodiments of the present invention, the following briefly introduces the drawings required for use in the embodiments. Obviously, the drawings described below are only some embodiments of the present invention. For ordinary technicians in this field, other drawings can be obtained based on these drawings without paying creative work.
[0044] Figure 1 A schematic diagram of a process flow of a device startup method provided by an embodiment of the present invention;
[0045] Figure 2 A schematic diagram of a memory setting method of a server provided in an embodiment of the present invention;
[0046] Figure 3 A schematic diagram of a flow chart of another device startup method provided by an embodiment of the present invention;
[0047] Figure 4 A schematic diagram of the structure of a spring vibration switch provided by an embodiment of the present invention;
[0048] Figure 5 A schematic diagram of the structure of another spring vibration switch provided by an embodiment of the present invention;
[0049] Figure 6 A schematic diagram of the structure of a clock circuit provided by an embodiment of the present invention;
[0050] Figure 7 A signal diagram of an offset register provided by an embodiment of the present invention;
[0051] Figure 8 A schematic diagram of the structure of a device starting apparatus provided by an embodiment of the present invention;
[0052] Fig. 9 A schematic diagram of the structure of an electronic device provided by an embodiment of the present invention. DETAILED DESCRIPTION
[0053] The following will be combined with the drawings in the embodiments of the present invention to clearly and completely describe the technical solutions in the embodiments of the present invention. Obviously, the described embodiments are only part of the embodiments of the present invention, not all of the embodiments. Based on the embodiments of the present invention, all other embodiments obtained by ordinary technicians in this field without creative work are within the scope of protection of the present invention.
[0054] The terms "including" and "having" in the specification of the present invention and the above-mentioned drawings, as well as any variations thereof, are intended to cover non-exclusive inclusions. For example, a process, method, system, product or device including a series of steps or units is not limited to the listed steps or units, but may include steps or units that are not listed.
[0055] In order to enable those skilled in the art to better understand the solution of the present invention, the present invention is further described in detail below in conjunction with the accompanying drawings and specific implementation methods.
[0056] Next, a device startup method provided by an embodiment of the present invention is described in detail. Figure 1 As shown, Figure 1 A schematic diagram of a device startup method provided in an embodiment of the present invention, the device startup method comprising:
[0057] S11: When the target device is turned on, monitoring the vibration level of the target device;
[0058] It is understood that memory is used to store the instructions and data of the running program. When the computer starts, the operating system and other necessary software will be loaded into the memory, and during the execution of the program, the memory will continue to store the data and instructions required by the program. The memory provides space for temporary storage of data, so that the computer can quickly read and write data during the execution process. The temporarily stored data includes variables of the running program, parameters and return values of function calls, etc. In terms of calculation, storing data in the memory can speed up the reading and writing operations of the computer system and improve the response speed of the computer system. BIOS (Basic Input Output System) is the basic input / output system of the computer system. It is a piece of software code solidified on the computer motherboard and is the program code that is first executed after the computer is powered on. When the computer starts, the BIOS is responsible for initializing the hardware devices and loading the operating system into the memory. The BIOS will load the operating system and other necessary software from the auxiliary storage into the memory, and will continue to store the data and instructions required by the program during the execution of the program, and finally hand over the control to the operating system. In terms of memory management, BIOS is responsible for managing the allocation and release of system memory. It detects and identifies installed memory modules and records their information in the system configuration table. BIOS also provides some basic memory management functions, such as switching to protected mode and setting memory mapping tables. Therefore, BIOS is responsible for starting the computer and loading the operating system into the memory, while the memory is responsible for storing the data and instructions of the operating system and other running programs. The cooperation between memory and BIOS is an important part of the normal operation of the server system, and the process of initializing memory is also implemented through the memory reference code (MRC) in BIOS. MRC (Memory Reference Code) is the relevant code for initializing memory contained in BIOS, which is used to initialize the memory controller and optimize the read / write timing and voltage for optimal performance. BIOS needs to obtain memory training parameters such as memory timing parameters to initialize memory, so as to realize the startup of the device.
[0059] It should be noted that the device needs to initialize the memory after it is powered on, so that it can read and write data through the established interface. Taking the memory implemented by DDR (dynamic refresh memory) as an example, the interface of DDR4 / DDR5 memory is parallel, and strict timing alignment relationship is required between each signal, so that the memory can accurately read and write data. However, due to the differences in the board used by each machine's motherboard, each machine needs to perform specific initialization on the memory when it is turned on for the first time, and determine the certain time sequence relationship that needs to be satisfied between each signal, that is, the memory training parameters.
[0060] See also Figure 2 As shown, Figure 2 A schematic diagram of a memory setting method of a server provided in an embodiment of the present invention; the memory is implemented using DIMM (Dual-Inline-Memory-Modules), and the memory is used as a storage device. It is connected to the processor MCU of the device through a specific connector 1 (usually a memory slot) on the PCB (Printed circuit board) of the device and a wire 2 set on the PCB board. There is a certain contact resistance (hereinafter referred to as contact resistance) between the processor and the motherboard PCB, and between the memory gold finger 3 and the metal shrapnel 4 of the memory slot. In general, if the machine is in a stable and vibration-free environment, the contact resistance between the processor MCU and the motherboard PCB, and the contact resistance between the memory gold finger 3 and the metal shrapnel 4 of the memory slot will remain fixed. Therefore, the target device will perform memory training when it is turned on for the first time, and after obtaining its own memory training parameter t, it will be saved in the area where the BIOS chip stores parameters. When the machine is restarted later, the MRC directly reads and uses the parameter t to complete the memory initialization during the device startup process, avoiding the long startup time caused by retraining every time the machine is turned on.
[0061] However, in actual applications, the equipment usually needs to be transported or moved. During the transportation or moving process, the equipment will inevitably be affected by vibration, resulting in changes in contact resistance. The difference in contact resistance will directly affect the memory training parameter t. If the MRC still reads the old parameter t saved before the next startup, it may cause instability or even errors in reading and writing memory data. In response to this situation, the present invention provides a device startup method to detect whether the target device has been subjected to vibrations beyond the tolerance range, and then determine whether it is necessary to re-do memory training to obtain the parameter t under the new contact resistance when the device is started next time. Only in this way can the accuracy and reliability of the memory training parameter t applied when the device is started be guaranteed, so that the data remains stable and error-free when the computer system reads and writes memory.
[0062] It should be noted that the monitoring of the vibration level of the target device actually starts after the target device is last shut down, and the vibration level of the target device to be monitored is the vibration level of the target device from the last shutdown to the current startup; only when the target device is turned on, the processor of the target device can receive this monitoring result and determine whether the vibration level of the target device from the last shutdown to the current startup is greater than the preset level threshold. The specific implementation method of monitoring the vibration level of the target device is not particularly limited in this application, and it can be achieved by setting a vibration sensor capable of detecting vibration on the target device.
[0063] S12: If the vibration level is greater than a preset level threshold, a memory training operation is triggered to generate current memory training parameters of the target device by performing memory training on the target device, and the current memory training parameters are saved in a preset parameter storage area of the target device;
[0064] It is not difficult to understand that if the vibration level of the target device monitored indicates that the vibration level of the target device is greater than the preset level threshold from the last shutdown to the current startup, it means that the memory training parameters stored at the last startup cannot be used at the current startup, so the memory training operation needs to be triggered, and the memory training is performed again to obtain the current memory training parameters that the target device needs to adopt when it is powered on this time after the vibration occurs, and the current memory training parameters need to be stored in the preset parameter storage area to update the memory training parameters. Each time the memory training is performed, the processor can obtain a new memory training parameter, and it is necessary to update the stored value of the preset parameter storage to the latest memory training parameter. The specific value and implementation method of the preset level threshold are not specifically limited in this application. Memory training is a method in which the software repeatedly tests and enumerates the specified parameter values over a period of time so that the memory feedback obtains the best result. The specific implementation method of the memory training operation is not specifically limited in this application. The specific setting method and setting location of the preset parameter storage area are not specifically limited in this application. Considering that memory initialization is generally implemented by BIOS through the execution of MRC, the preset parameter storage area can be implemented using the storage area in the BIOS.
[0065] It should be noted that the main purpose of memory training is to ensure that the clock signal and the data selection signal (DQS) are correctly aligned on the memory, and to calculate the correct read and write delay of the memory. Since the clock-data deviation of each memory may be different, training is required to adapt to these deviations to ensure accurate reading and writing of data, thereby overcoming the uncertainty introduced by the memory's own topology and connection with the device, and ensuring that the memory module can operate efficiently and stably. Therefore, the memory training parameters obtained by memory training are mainly the timing relationship of the signals that enable the memory to achieve the optimal (minimum) read and write delay. This application does not make any special restrictions on the specific type and implementation method of the memory, and can be implemented by DRAM (Dynamic Random-Access Memory) and other methods.
[0066] S13: If the vibration level is not greater than the preset level threshold, the memory training parameters configured when the target device was last powered on are read from the preset parameter storage area, and the system startup is completed based on the read memory training parameters.
[0067] It is understandable that if the vibration level of the monitored target device indicates that the vibration level greater than the preset threshold value did not occur from the last shutdown to the current startup of the target device, it means that the memory training parameters stored at the last startup can still be used at this startup, so the memory training parameters configured at the last startup can be directly read at this time. Whether it is the memory training parameters configured when the target device was last powered on that are directly read from the preset parameter storage area, or the current memory training parameters of the target device are generated by triggering the memory training operation, the final memory training parameters need to be written into the memory controller to implement memory initialization, thereby completing the startup of the entire target device. The specific implementation method of the memory reference code, etc., is not particularly limited in this application.
[0068] It should be noted that the present application does not specifically limit the specific type and implementation method of the target device, which can be a server, computer and other devices. The execution subject of the entire device startup method is the processor of the target device. When the target device is a server or a computer, the execution subject can be the CPU (Central Processing Unit) of the server or computer. When the memory is implemented using multiple memory chips, the memory chips will be connected in a certain connection topology. At this time, the arrival time of the signal when it reaches different memory chips will also be different. At this time, the memory training parameters include memory training sub-parameters corresponding to each memory chip one by one. The memory training sub-parameters are the timing relationship of the signal that can enable the corresponding memory chip to achieve the optimal read and write delay, ensuring the signal synchronization and timing matching between each memory chip in the memory module and the memory controller. In particular, DDR4 and DDR5 using the Fly-By topology. The Fly-By topology adopts a daisy chain structure when routing the clock, command and address lines from the memory controller to the DRAM chip. This structure makes the arrival time of the signal to different DRAM chips slightly different, so memory training is required to ensure accurate reading and writing of data.
[0069] As a specific embodiment, see Figure 3 As shown, Figure 3A flow chart of another device startup method provided by an embodiment of the present invention; after the server is turned on, the CPU will execute the BIOS. After the BIOS starts running, it will execute the program in a specific order to perform various initializations for device startup. After the BIOS completes the other startup steps and initialization programs before the MRC, it starts to execute the MRC. The CPU will first read the saved memory topology information TP0, and at the same time read the memory topology information TP1 connected to the current machine, and compare whether TP1 is the same as TP0. If TP1 is different from TP0, it indicates that the memory configuration of the machine has changed and needs to be retrained, and directly jumps to the step of MRC retraining all memories. If TP1 is the same as TP0, it is necessary to further confirm whether the machine is subjected to vibration exceeding the tolerance. The CPU can read the configuration value of the offset 0x0B register in the CMOS clock chip (abbreviated as RTC_CLR.CIF) through I2C (Inter-Integrated Circuit, two-wire serial bus). At this time, further determine whether RTC_CLR.CIF is 1. If RTC_CLR.CIF is 1, it indicates that the server has been subjected to vibration beyond the tolerance and the contact resistance will change. After clearing RTC_CLR.CIF through I2C, jump to the step of MRC retraining all memory to obtain the memory training parameter t. If RTC_CLR.CIF is 0, it is necessary to read the saved memory training parameter t from the BIOS, and it is necessary to determine whether t exists. If t exists, jump directly to the step of writing the training parameter into the memory controller. If t does not exist, it is also necessary to jump to the step of MRC retraining all memory to obtain the memory training parameter t. Clear RTC_CLR.CIF through I2C so that it can be detected again at the next startup to ensure that the RTC_CLR.CIF detected at each startup is the characterization value of the vibration level of the device corresponding to this startup. After MRC retrains all memory, it will also write the training parameters into the memory controller. After the memory controller obtains the memory training parameters, the BIOS can continue to execute other presentations to implement other boot steps, and finally boot into the OS (Operating System) to complete the memory initialization when the device is powered on, so that the device can start and run normally.
[0070] The present invention provides a device startup method, which is mainly used in the memory initialization process when the device is started. When it is detected that the vibration of the server exceeds a predetermined tolerance range during transportation and movement, the MRC is controlled to retrain the memory at the next startup to obtain the memory training parameter t under the new contact resistance. The new memory training parameter is used to perform memory initialization and device startup, thereby ensuring the accuracy of the memory training parameter used in the memory initialization, avoiding errors or data anomalies during subsequent memory reading and writing, so that even if the server is subjected to vibrations exceeding the tolerance range during transportation or transportation, after powering on again, the stability of data when the server system reads and writes the memory can still be guaranteed without errors, thereby reducing the error rate of the memory in the device.
[0071] In some embodiments, it also includes:
[0072] Obtain the historical memory topology information applied when the target device was last powered on and the current memory topology information applied when the target device is powered on this time;
[0073] Determine whether the current memory topology information is consistent with the historical memory topology information;
[0074] If the current memory topology information is consistent with the historical memory topology information, the vibration level of the target device is monitored;
[0075] If the current memory topology information is inconsistent with the historical memory topology information, the memory training operation is directly triggered to generate the current memory training parameters of the target device by performing memory training on the target device, and the current memory training parameters are saved in the preset parameter storage area of the target device.
[0076] Considering that different devices will use memory modules with different configurations to implement the device's memory, and when the memory setting topology is different, the memory training parameters that need to be configured during initialization will also be different, and the memory topology information is the main influencing factor of the memory training parameters, it is also necessary to obtain the historical memory topology information TP0 and the current memory topology information TP1 of the target device, and compare whether the two are consistent. If they are consistent, it means that the memory configuration of the target device this time is consistent with the last time it was powered on, and it can continue to determine whether the target device has vibrations beyond the tolerance, and determine whether the memory training needs to be re-performed based on the vibration of the target device; if the two are inconsistent, it means that the memory configuration of the target device this time is inconsistent with the last time it was powered on. At this time, regardless of whether the target device has vibrations beyond the tolerance, memory training needs to be re-performed, so the memory training operation can be directly triggered, and memory training can be started directly to determine the new current memory training parameters. This application does not make any special restrictions on the method of obtaining memory topology information.
[0077] It should be noted that each time the target device is powered on, the CPU will detect the memory topology information currently applied by the target device, and store the memory topology information in a preset position, so that the target device can obtain the memory topology information applied by the target device at the last power-on when the target device is powered on next time. The memory topology information specifically includes the number, size, type, etc. of memory modules. For example, when the target device was powered on last time, the memory included 2 memory sticks, and when the memory starts this time, the memory includes 3 memory sticks, then the historical memory topology information TP0 and the current memory topology information TP1 of the target device are inconsistent. The detection of memory topology information can be specifically implemented by BIOS. After the BIOS is running, the memory configuration information, such as size, type, speed, etc., will be read from the SPD (Serial Presence Detect) chip of the memory stick, so as to obtain the memory topology signal currently applied by the target device. Furthermore, the BIOS will also check whether the memory stick is correctly installed, whether there is enough memory, and whether the specifications of the memory stick meet the requirements. If the memory stick is not correctly installed or there is not enough memory or the specifications of the memory stick do not meet the requirements, the BIOS will stop the memory initialization, directly execute the alarm strategy, and will not continue to execute steps S11 to S13.
[0078] Specifically, considering that the memory training parameters will also be affected by the memory topology information currently configured in the device, the memory topology information of the memory can also be judged in advance. When the memory topology information changes, the step of monitoring the vibration degree of the target device will not be triggered. Instead, the memory training parameters will be retrained directly, thereby avoiding errors in the memory training parameters caused by inconsistent memory topology information, further improving the accuracy and reliability of the memory training parameters applied when the final device is started, and reducing the memory error rate.
[0079] In some embodiments, before reading the memory training parameters configured when the target device was last powered on from the preset parameter storage area, the method further includes:
[0080] Determine whether the preset parameter storage area stores the memory training parameters configured when the target device was last powered on;
[0081] If yes, jump to the step of reading the memory training parameters configured when the target device was last powered on from the preset parameter storage area;
[0082] If not, the memory training operation is directly triggered to generate current memory training parameters of the target device by performing memory training on the target device, and the current memory training parameters are saved in a preset parameter storage area of the target device.
[0083] It is not difficult to understand that the target device will perform the first memory training operation when it is powered on for the first time, and then obtain an initial memory training parameter and store it in the preset parameter storage area. Each subsequent power-on can directly read the memory training parameters in the preset parameter storage area to initialize the memory when the target device does not vibrate beyond the tolerance. However, when the target device is powered on for the first time, the preset parameter storage area will not store the memory training parameters. At this time, the first memory training operation must be performed. Therefore, when reading the memory training parameters from the preset parameter storage area, it is also necessary to determine whether the preset parameter storage area stores the memory training parameters configured when the target device was powered on last time, so as to determine whether the target device is currently powered on for the first time. If the current target device is not powered on for the first time, the preset parameter storage area must store the memory training parameters configured when the target device was powered on last time, and the memory training parameters can continue to be read at this time; if the current target device is powered on for the first time, the preset parameter storage area must not store the memory training parameters. At this time, it is necessary to trigger the memory training operation to perform the first memory training of the target device and determine the most initial memory training parameters. The specific manifestation that the memory training parameters configured when the target device was last powered on are not stored in the preset parameter storage area may be that the preset parameter storage area contains a null value.
[0084] Specifically, it is also necessary to further determine whether the target device is currently being powered on for the first time when reading the memory training parameters from the preset parameter storage area, so as to avoid the situation where the target device is powered on for the first time and is not subjected to vibration beyond the tolerance level. The null value read from the preset parameter storage area is mistakenly applied as a normal memory training parameter, further improving the accuracy and reliability of the memory training parameters applied when the final device is started, and reducing the memory error rate.
[0085] In some embodiments, triggering a memory training operation to generate current memory training parameters of the target device by performing memory training on the target device includes:
[0086] Send a strobe signal to memory;
[0087] Receive the delay data returned by the memory; wherein the delay data is the delay between the strobe signal and the clock signal obtained by sampling the clock signal and comparing the strobe signal and the clock signal after the memory receives the strobe signal;
[0088] Adjust the delay of the strobe signal and jump back to the step of sending the strobe signal to the memory;
[0089] The delay of the selection signal corresponding to the minimum delay data among the delay data is determined as the current memory training parameter.
[0090] It is understandable that, taking the implementation of DRAM as an example, when the DRAM module is initialized, a series of key operating parameters will be obtained, such as CAS latency (CL), CAS write latency (CWL), row address to column address delay time (tRCD) and row precharge time (tRP). Then the memory controller and PHY (physical layer) will perform further read / write training (also called memory training or initial calibration). The memory controller will continuously send a strobe signal (DQS) to a specific DRAM. After receiving the strobe signal, the DRAM will sample the clock signal and return its value on the data bus to the memory controller. At the same time, since the clock-data deviation of each DRAM chip may be different, Write Leveling will also be performed during memory training. Write Leveling will adjust the phase between the CK (clock signal) and DQS (data valid signal) signals for each DRAM chip. By adjusting the delay of the DQS signal, the DQS signal received by the DRAM is synchronized with the CK signal, that is, the edges of the two are aligned. Through multiple trial and error and adjustments, the controller can find the optimal read and write delay so that the data signal maintains a good timing relationship with the instruction and address signals. These series of timing relations are called memory training parameters t.
[0091] It is not difficult to understand that the read and write delay of the memory refers to the time from when the memory controller sends a read and write request to when the memory module responds to the request. Therefore, the memory controller can be controlled to send a selection signal to the memory module. When the memory controller sends the selection signal, it can specifically select the rising edge or falling edge of the clock signal to send it. After receiving the selection signal, the memory module will use the clock circuit of the target device itself to obtain the current clock signal, and compare the selection signal and the clock signal received by itself, so as to determine the signal delay between the moment when it receives the selection signal and the moment when the memory controller sends the selection signal. Then the memory module returns the delay data obtained by this comparison to the memory controller. After the memory controller adjusts the delay of the selection signal, it resends the selection signal to the memory module. Repeating this process, the memory controller can obtain the delays of multiple selection signals and the corresponding delay data, and finally determine a selection signal delay that can minimize the read and write delay of the memory, and determine it as the current memory training parameter of the memory, so as to obtain the timing that minimizes the signal delay of the memory. The memory subsequently transmits data based on this current memory training parameter, thereby ensuring the response speed and performance of the memory.
[0092] It should be noted that the present application does not make any special restrictions on the specific type and implementation of the selection signal, and other methods can also be used to perform memory training, not limited to the method provided in this embodiment. There are also many options for determining the read and write delay of the memory, and the present application does not make any special restrictions here. The present application does not make any special restrictions on the specific method and adjustable range of the memory controller to adjust the delay of the selection signal. The maximum delay time of the selection signal can be preset in advance, and then the delay of the selection signal can be gradually adjusted from zero to the maximum time to determine multiple delay data.
[0093] Specifically, through memory training, the read and write delays of the memory can be effectively optimized, thereby improving the data transmission rate and ensuring the correct alignment of the clock signal and the data selection signal on the memory, thereby enhancing the stability of the system. Memory training can adapt to different memory topologies, such as the Fly-By topology, making the system more flexible and reliable, and can effectively ensure the efficient and stable operation of the memory module.
[0094] In some embodiments, monitoring the vibration level of the target device includes:
[0095] The vibration level of the target device is monitored using a spring vibration switch provided on the target device.
[0096] It is understandable that the monitoring of the vibration of the target device can be achieved by using a spring vibration switch set on the target device. The spring vibration switch is an electronic switch that can sense the magnitude of the vibration force and transmit the sensing result to the circuit device by its own conduction. When the spring vibration switch is subjected to a certain degree of vibration, the spring of the internal structure will vibrate accordingly, connecting two external conductive pins. The main parameters of the spring vibration switch include the induced vibration amount Pq, the connection time Pt and the connection resistance Po. When the spring vibration switch is subjected to vibration exceeding the induced vibration amount Pq, its switch lead will be connected. The connection time Pt is the connection time maintained from the switch lead being connected to being disconnected. The connection resistance Po is the switch resistance of the switch during the connection time maintained when the switch lead is connected. The operator can adjust the induced vibration amount Pq and the connection time Pt by adjusting the spring length, spring elastic force and other parameters in the spring vibration switch to achieve the setting of the preset degree threshold, thereby realizing the monitoring of whether the target device is subjected to vibration exceeding the preset degree threshold. The processor can determine whether the spring vibration switch is turned on when the target device is powered on to determine whether the target device is subjected to vibration exceeding the preset degree threshold. The spring vibration switch can detect vibration using its own mechanical structure, so even when the device is not powered on, it can effectively detect the vibration of the device, thereby realizing the effective detection of the vibration degree of the target device from the last shutdown to the current startup process. The specific type and implementation method of the spring vibration switch are not specifically limited in this application. There are also multiple options for its specific setting position and setting method on the target device, which can be designed according to the actual application of the target device. The application does not make any special restrictions here.
[0097] As a specific embodiment, see Figure 4 As shown, Figure 4 A schematic diagram of the structure of a spring vibration switch provided by an embodiment of the present invention; an epoxy resin base 21 is used to set a spring 22 and a central metal conductive foot 23, one end of the spring 22 is led out as a spring wire conductive foot 24, and plastic is set as an insulating shell 25 of the entire spring vibration switch. When the device has a vibration exceeding a preset threshold, the spring 22 will connect with the central metal conductive foot 23, so that the spring wire conductive foot 24 is connected to the central metal conductive foot 23, and the switch is turned on. See Figure 5 As shown, Figure 5A schematic diagram of the structure of another spring vibration switch provided in an embodiment of the present invention; the shell of the spring vibration switch is directly composed of a conductive copper tube 26 and a copper cap 27, one end of the shell is led out as a conductive pin 28, a conductive spring 29 is arranged in the shell, one end of the conductive spring 29 is led out as another conductive pin 30, and a colloid 31 is arranged at the lower end of the conductive spring 29 to serve as insulation between the conductive spring 29 and the shell, so that the conductive spring 29 will only connect the conductive pin 28 and the other conductive pin 30 when the device vibrates beyond a preset threshold and the part exceeding the colloid 31 comes into contact with the shell, thereby achieving the effect of switch conduction.
[0098] Specifically, a spring vibration switch can be set on the target device to effectively monitor the vibration level of the target device from the last shutdown to the current startup. The switching function of the spring vibration switch itself can be used to determine whether the target device is subjected to vibration exceeding a preset threshold. This is simple, effective and easy to implement.
[0099] In some embodiments, the target device includes a clock circuit, and a preset communication connection is established between a central processor of the target device and a clock chip in the clock circuit;
[0100] The first end of the spring vibration switch is connected to the reset signal input end of the clock chip, and the second end is grounded; when the induced vibration amount of the spring vibration switch is not less than the preset degree threshold, the on time of the spring vibration switch is greater than the maintenance time of the offset register of the clock chip;
[0101] Accordingly, the specific process of determining whether the vibration level of the target device is greater than the preset level threshold includes:
[0102] Reading the current configuration value of the offset register in the clock chip based on the preset communication connection; wherein the configuration value of the offset register is used to represent the level state of the reset signal input terminal of the clock chip, and when the reset signal input terminal of the clock chip is short-circuited to the ground and maintained for a period of time, the offset register is configured as a preset value;
[0103] Determine whether the current configuration value of the offset register is equal to the preset value;
[0104] If yes, clear the configuration value of the offset register in the clock chip and determine that the vibration level of the target device is greater than a preset level threshold;
[0105] If not, it is determined that the vibration level of the target device is not greater than a preset level threshold.
[0106] It is not difficult to understand that in order to facilitate the processor to determine whether the spring vibration switch is turned on, the spring vibration switch can be combined with the clock chip of the target device for setting. Figure 6 As shown, Figure 6 A schematic diagram of a clock circuit according to an embodiment of the present invention; see Figure 7 As shown, Figure 7 A signal diagram of an offset register provided by an embodiment of the present invention; there is a reset signal input terminal RTC_RST# on the clock chip, and an offset register corresponding to the reset signal input terminal exists in the clock chip, such as Figure 7 As shown, the configuration value of the offset register will remain at 0 when the reset signal input terminal receives a high level. When the reset signal input terminal detects a low level input and the input duration of this low level reaches the maintenance time Tc, the configuration value of the offset register will be set to 1. Therefore, by utilizing this characteristic of the offset register and the reset signal input terminal, combined with the spring vibration sensor, the configuration value of the offset register can be used to effectively characterize whether the target device has experienced vibrations exceeding the preset threshold. Therefore, a spring vibration switch with appropriate parameters is selected, and the maximum vibration amount that the current server can tolerate is set, that is, the preset threshold is Pmax. At the same time, a preset communication connection is established between the processor and the clock chip, and when the target device is powered on, the configuration value of the offset register is obtained through this preset communication connection, so as to determine whether the target device has experienced vibrations greater than the preset threshold from the last shutdown to the current startup. If the configuration value of the offset register is set to 1, when the vibration level of the target device is greater than the preset threshold, the configuration value of the offset register needs to be cleared for the next detection.
[0107] It should be noted that it is necessary to select a spring vibration switch with an induced vibration amount Pq greater than or equal to Pmax and a switch-on time Pt greater than the maintenance time Tc to achieve this. The switch-on resistance Po of the spring vibration switch can be set to 0. In this case, RTC_RST can meet the trigger condition and set the offset register when the target device vibrates beyond the preset threshold. The specific type and implementation method of the clock circuit, preset communication connection, and offset register are not specifically limited in this application. There are also multiple options for the specific value and implementation method of the preset value, which are not specifically limited in this application and are not limited to the value 1 used for illustration in this embodiment.
[0108] It is understandable that the clock chip is usually directly implemented using CMOS RAM, with VCC being the power supply voltage of the clock chip. A battery power supply VBAT is also provided so that when the server is powered off, the contents of the CMOS RAM are still saved and not lost. At the same time, power is provided for the spring vibration switch so that the spring vibration switch can still effectively monitor vibration when the server is powered off. At the same time, in order to improve the stability and reliability of the power supply voltage output to the spring vibration switch, resistor R1, resistor R2, capacitor C1, capacitor C2 and diode D1 are also provided. CMOS RAM is usually used to store system configuration settings, BIOS and other important data. It is currently commonly implemented using an external CMOS clock chip and is connected to the CPU through an I2C bus or other methods, such as Figure 6 As shown, it is specifically connected to the CPU through the ALRT# pin, SDA1 pin and SCL1 pin. CMOS RAM also needs to implement the server's CMOSCLEAR JUMPER (clear CMOS jumper) function. When receiving the CMOS Clear Control signal corresponding to this function, switch Q0 is turned on and pulls the INTRUDER# pin low, thereby clearing the computer's BIOS setting information and restoring it to the factory default state. VSTBY is the power supply, which can maintain the high level of the INTRUDER# pin under normal conditions. Resistors R3, R4, R5, diode D2 and capacitor C3 are also set in the circuit to provide the accuracy and stability of the level signal received by the INTRUDER# pin. Considering the realization of other functions of CMOS RAM, it can also be connected to the BMC (Baseboard Management Controller) through the SDA2 pin and the SCL2 pin, and the CLKOUT pin is used to output the clock signal of the target device.
[0109] Specifically, by combining the spring vibration switch with the offset register in the clock chip, the processor can directly determine whether the target device has been subjected to vibration exceeding a preset threshold from the last shutdown to the current startup by obtaining the current configuration value of the offset register. This can be achieved directly using a pin of the CMOS RAM, avoiding additional costs and facilitating the simple implementation of the entire device.
[0110] See also Figure 8 As shown, Figure 8 A schematic diagram of the structure of a device startup device provided by an embodiment of the present invention; To solve the above technical problems, an embodiment of the present invention further provides a device startup device, including:
[0111] The vibration detection unit 11 is used to monitor the vibration level of the target device when the target device is turned on; if the vibration level is greater than a preset level threshold, the memory training unit 12 is triggered; if the vibration level is not greater than the preset level threshold, the system startup unit 13 is triggered;
[0112] A memory training unit 12, used to trigger a memory training operation to generate current memory training parameters of the target device by performing memory training on the target device, and save the current memory training parameters to a preset parameter storage area of the target device;
[0113] The system startup unit 13 is used to read the memory training parameters configured when the target device was last powered on from the preset parameter storage area, and complete the system startup based on the read memory training parameters.
[0114] In some embodiments, it also includes:
[0115] A topology information acquisition unit, used to acquire the historical memory topology information applied when the target device was last powered on and the current memory topology information applied when the target device is powered on this time;
[0116] The topology judgment unit is used to judge whether the current memory topology information is consistent with the historical memory topology information; if the current memory topology information is consistent with the historical memory topology information, the vibration detection unit 11 is triggered; if the current memory topology information is inconsistent with the historical memory topology information, the memory training unit 12 is directly triggered.
[0117] In some embodiments, it also includes:
[0118] The first judgment unit is used to judge whether the preset parameter storage area stores the memory training parameters configured when the target device was last powered on; if so, the system startup unit 13 is triggered; if not, the memory training unit 12 is directly triggered.
[0119] In some embodiments, the memory training unit 12 includes:
[0120] A signal sending unit, used for sending a strobe signal to the memory;
[0121] A signal response unit, used to receive delay data returned by the memory; wherein the delay data is the delay between the strobe signal and the clock signal obtained by sampling the clock signal and comparing the strobe signal and the clock signal after the memory receives the strobe signal;
[0122] A signal adjustment unit, used for adjusting the delay of the strobe signal and jumping back to the step of sending the strobe signal to the memory;
[0123] The parameter determination unit is used to determine the delay of the selection signal corresponding to the minimum delay data among the delay data as the current memory training parameter.
[0124] In some embodiments, the vibration detection unit 11 includes:
[0125] The vibration detection subunit is used to monitor the vibration level of the target device by using a spring vibration switch arranged on the target device.
[0126] In some embodiments, the target device includes a clock circuit, and a preset communication connection is established between a central processor of the target device and a clock chip in the clock circuit;
[0127] The first end of the spring vibration switch is connected to the reset signal input end of the clock chip, and the second end is grounded; when the induced vibration amount of the spring vibration switch is not less than the preset degree threshold, the on time of the spring vibration switch is greater than the maintenance time of the offset register of the clock chip;
[0128] Also included is a vibration determination unit, which is used to determine whether the vibration level of the target device is greater than a preset level threshold;
[0129] The vibration judgment unit includes:
[0130] A configuration value reading unit, used to read the current configuration value of the offset register in the clock chip based on a preset communication connection; wherein the configuration value of the offset register is used to represent the level state of the reset signal input terminal of the clock chip, and when the reset signal input terminal of the clock chip is short-circuited to the ground and maintained for a period of time, the offset register is configured as a preset value;
[0131] A second determination unit is used to determine whether the current configuration value of the offset register is equal to the preset value; if so, the first determination unit is triggered; if not, the second determination unit is triggered;
[0132] A first determination unit, used to clear the configuration value of the offset register in the clock chip, and determine that the vibration level of the target device is greater than a preset level threshold;
[0133] The second determination unit is configured to determine whether the vibration level of the target device is not greater than a preset level threshold.
[0134] For the description of the features in the device startup apparatus provided in the embodiment of the present invention, reference may be made to the relevant description of the embodiment of the device startup method, which will not be described in detail here.
[0135] See also Fig. 9 As shown, Fig. 9 A schematic diagram of the structure of an electronic device provided by an embodiment of the present invention. To solve the above technical problems, an embodiment of the present invention further provides an electronic device, including:
[0136] A vibration detection device for monitoring the vibration level of the target equipment;
[0137] A memory 60, for storing computer programs;
[0138] The processor 61 is used to execute a computer program to implement the steps of the aforementioned device startup method.
[0139] The electronic device provided in this embodiment may include but is not limited to a smart phone, a tablet computer, a laptop computer or a desktop computer.
[0140] Among them, the processor 61 may include one or more processing cores, such as a 4-core processor, an 8-core processor, etc. The processor 61 can be implemented in at least one hardware form of digital signal processing (DSP), field-programmable gate array (FPGA), and programmable logic array (PLA). The processor 61 may also include a main processor and a coprocessor. The main processor is a processor for processing data in the awake state, also known as a central processing unit (CPU); the coprocessor is a low-power processor for processing data in the standby state. In some embodiments, the processor 61 may be integrated with a graphics processing unit (GPU), and the GPU is responsible for rendering and drawing the content to be displayed on the display screen. In some embodiments, the processor 61 may also include an artificial intelligence (AI) processor, which is used to process computing operations related to machine learning.
[0141] The memory 60 may include one or more computer-readable storage media, which may be non-transitory. The memory 60 may also include a high-speed random access memory, and a non-volatile memory, such as one or more disk storage devices, flash memory storage devices. In this embodiment, the memory 60 is at least used to store the following computer program 601, wherein, after the computer program is loaded and executed by the processor 61, it can implement the relevant steps of the device startup method disclosed in any of the aforementioned embodiments. In addition, the resources stored in the memory 60 may also include an operating system 602 and data 603, etc., and the storage method may be temporary storage or permanent storage. Among them, the operating system 602 may include Windows, Unix, Linux, etc. Data 603 may include but is not limited to data in the device startup method, etc.
[0142] In some embodiments, the electronic device may further include a display screen 62 , an input / output interface 63 , a communication interface 64 , a power supply 65 , and a communication bus 66 .
[0143] Those skilled in the art will understand that Fig. 9 The structure shown in the figure does not constitute a limitation on the electronic device, and may include more or fewer components than shown in the figure.
[0144] In some embodiments, the vibration detection device is a spring vibration switch, a first end of the spring vibration switch is connected to a reset signal input end of a clock chip of a clock circuit in the target device, and a second end is grounded.
[0145] For the description of the features in the electronic device provided by the embodiment of the present invention, reference may be made to the relevant description of the embodiment of the device startup method, which will not be described in detail here.
[0146] It is understandable that if the device startup method in the above embodiment is implemented in the form of a software functional unit and sold or used as an independent product, it can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of the present invention is essentially or the part that contributes to the current technology or all or part of the technical solution can be embodied in the form of a software product, and the computer software product is stored in a storage medium to execute all or part of the steps of the methods of each embodiment of the present invention. The aforementioned storage medium includes: U disk, mobile hard disk, read-only memory (ROM), random access memory (RAM), electrically erasable programmable ROM, register, hard disk, removable disk, CD-ROM, magnetic disk or optical disk and other media that can store program codes.
[0147] To solve the above technical problems, an embodiment of the present invention further provides a computer-readable storage medium, on which a computer program is stored. When the computer program is executed by a processor, the steps of the device startup method as described above are implemented.
[0148] For the description of the features in the computer-readable storage medium provided in the embodiment of the present invention, reference may be made to the relevant description of the embodiment of the device startup method, which will not be described in detail here.
[0149] An embodiment of the present invention further provides a computer program product, including a computer program / instruction, which implements the steps of the device startup method described in the above embodiment when executed by a processor.
[0150] For descriptions of features in the computer program product provided by the embodiments of the present invention, reference may be made to the relevant descriptions of the embodiments of the device startup method, which will not be described in detail here.
[0151] The above is a detailed introduction to a device startup method, apparatus, electronic device and storage medium provided by an embodiment of the present invention. The various embodiments in the specification are described in a progressive manner, and each embodiment focuses on the differences from other embodiments. The same and similar parts between the various embodiments can be referred to each other. For the device disclosed in the embodiment, since it corresponds to the method disclosed in the embodiment, the description is relatively simple, and the relevant parts can be referred to the method part description.
[0152] Professionals may further appreciate that the units and algorithm steps of each example described in conjunction with the embodiments disclosed herein can be implemented in electronic hardware, computer software, or a combination of the two. In order to clearly illustrate the interchangeability of hardware and software, the composition and steps of each example have been generally described in the above description according to function. Whether these functions are performed in hardware or software depends on the specific application and design constraints of the technical solution. Professionals and technicians may use different methods to implement the described functions for each specific application, but such implementation should not be considered to be beyond the scope of the present invention.
[0153] The above is a detailed introduction to a device startup method, apparatus, electronic device and storage medium provided by the present invention. Specific examples are used herein to illustrate the principles and implementation methods of the present invention. The description of the above embodiments is only used to help understand the method of the present invention and its core idea. It should be pointed out that for ordinary technicians in this technical field, without departing from the principles of the present invention, several improvements and modifications can be made to the present invention, and these improvements and modifications also fall within the scope of protection of the present invention.
Claims
1. A device startup method, characterized in that: include: When the target device is turned on, monitoring the vibration level of the target device; If the vibration level is greater than a preset level threshold, a memory training operation is triggered to generate current memory training parameters of the target device by performing memory training on the target device, and the current memory training parameters are saved in a preset parameter storage area of the target device; If the vibration level is not greater than the preset level threshold, the memory training parameters configured when the target device was last powered on are read from the preset parameter storage area, and the system startup is completed based on the read memory training parameters.
2. The device startup method according to claim 1, characterized in that: Also includes: Obtain the historical memory topology information applied when the target device was last powered on and the current memory topology information applied when the target device is powered on this time; Determine whether the current memory topology information is consistent with the historical memory topology information; If the current memory topology information is consistent with the historical memory topology information, triggering the monitoring of the vibration level of the target device; If the current memory topology information is inconsistent with the historical memory topology information, a memory training operation is directly triggered to generate current memory training parameters of the target device by performing memory training on the target device, and the current memory training parameters are saved in a preset parameter storage area of the target device.
3. The device startup method according to claim 1, characterized in that: Before reading the memory training parameters configured when the target device was last powered on from the preset parameter storage area, the method further includes: Determining whether the preset parameter storage area stores the memory training parameters configured when the target device was last powered on; If yes, jump to the step of reading the memory training parameters configured when the target device was last powered on from the preset parameter storage area; If not, the memory training operation is directly triggered to generate current memory training parameters of the target device by performing memory training on the target device, and the current memory training parameters are saved in a preset parameter storage area of the target device.
4. The device startup method according to claim 1, characterized in that: Triggering a memory training operation to generate current memory training parameters of the target device by performing memory training on the target device, including: Send a strobe signal to memory; Receive delay data returned by the memory; wherein the delay data is the delay between the strobe signal and the clock signal obtained by the memory sampling the clock signal and comparing the strobe signal with the clock signal after receiving the strobe signal; Adjusting the delay of the strobe signal, and jumping back to the step of sending the strobe signal to the memory; The delay of the selection signal corresponding to the minimum delay data among the delay data is determined as the current memory training parameter.
5. The device startup method according to any one of claims 1 to 4, characterized in that: Monitoring the vibration level of the target equipment, including: The vibration level of the target device is monitored using a spring vibration switch disposed on the target device.
6. The device startup method according to claim 5, characterized in that: The target device includes a clock circuit, and a preset communication connection is established between a central processor of the target device and a clock chip in the clock circuit; Wherein, the first end of the spring vibration switch is connected to the reset signal input end of the clock chip, and the second end is grounded; when the induced vibration amount of the spring vibration switch is not less than the preset degree threshold, the on time of the spring vibration switch is greater than the maintenance time of the offset register of the clock chip; Accordingly, the specific process of determining whether the vibration level of the target device is greater than a preset level threshold includes: Based on the preset communication connection, the current configuration value of the offset register in the clock chip is read; wherein the configuration value of the offset register is used to characterize the level state of the reset signal input terminal of the clock chip, and when the reset signal input terminal of the clock chip is short-circuited to the ground and maintained for a period of time, the offset register is configured as a preset value; Determining whether the current configuration value of the offset register is equal to a preset value; If yes, clear the configuration value of the offset register in the clock chip, and determine that the vibration level of the target device is greater than a preset level threshold; If not, it is determined that the vibration level of the target device is not greater than a preset level threshold.
7. A device for starting an equipment, characterized in that: include: A vibration detection unit, used to monitor the vibration level of the target device when the target device is turned on; if the vibration level is greater than a preset level threshold, the memory training unit is triggered; if the vibration level is not greater than the preset level threshold, the system startup unit is triggered; The memory training unit is used to trigger a memory training operation to generate current memory training parameters of the target device by performing memory training on the target device, and save the current memory training parameters to a preset parameter storage area of the target device; The system startup unit is used to read the memory training parameters configured when the target device was last powered on from the preset parameter storage area, and complete the system startup based on the read memory training parameters.
8. An electronic device, characterized in that: include: A vibration detection device for monitoring the vibration level of the target equipment; Memory for storing computer programs; A processor, configured to execute the computer program to implement the steps of the device startup method according to any one of claims 1 to 6.
9. The electronic device according to claim 8, characterized in that: The vibration detection device is a spring vibration switch, a first end of the spring vibration switch is connected to a reset signal input end of a clock chip of a clock circuit in the target device, and a second end is grounded.
10. A computer-readable storage medium, characterized in that: The computer-readable storage medium stores a computer program, and when the computer program is executed by a processor, the steps of the device startup method according to any one of claims 1 to 6 are implemented.
Citation Information
Patent Citations
Memory training method and system
CN111221582A
Method and system for shortening startup time of server
CN111459557A
Memory initialization method, computer equipment, storage medium and program product
CN119201256A
Memory systems and methods of training the memory systems
US20210165587A1