A device startup method and apparatus, an electronic device, and a storage medium

By monitoring vibrations during server startup and triggering memory training as needed, the problem of changes in memory contact resistance caused by vibration during transportation or handling is solved, ensuring the stability and reliability of memory read and write data and reducing the error rate.

CN119718441BActive Publication Date: 2026-04-10INSPUR SUZHOU INTELLIGENT TECH CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
INSPUR SUZHOU INTELLIGENT TECH CO LTD
Filing Date
2024-12-31
Publication Date
2026-04-10

AI Technical Summary

Technical Problem

Servers can be affected by vibrations during transportation or handling, which can cause changes in the contact resistance between the processor and the motherboard, and between the memory gold fingers and the metal contacts of the memory slot. This can affect the stability of memory read and write data and may lead to errors.

Method used

When the target device is powered on, the vibration level is monitored. If it exceeds the preset threshold, a memory training operation is triggered to generate the current memory training parameters and save them to the preset parameter storage area. If it does not exceed the threshold, the memory training parameters from the last power-on are read to start the system. Memory training is also triggered when the memory topology information is inconsistent.

Benefits of technology

By dynamically adjusting memory training parameters, instability and errors in memory read/write data are avoided, ensuring data stability and reliability after device startup and reducing memory error rate.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119718441B_ABST
    Figure CN119718441B_ABST
Patent Text Reader

Abstract

The application discloses a device starting method and device, electronic equipment and storage medium, and relates to the technical field of data storage. When a target device is started, it is determined whether the target device has been subjected to vibration beyond a tolerance range. If the target device does not appear vibration beyond the predetermined tolerance range, the memory training parameters at the last starting time can be directly used to configure the memory of the device, thereby shortening the starting time. If it is detected that the target device has vibration beyond the predetermined tolerance range in the process of carrying and moving, the memory is retrained in the process of the next starting and memory configuration, and the memory training parameters corresponding to the current state of the target device under the new contact resistance are determined, so that errors or data anomalies in subsequent reading and writing of the memory are avoided, data can still be kept stable and error-free when the target device is started to read and write the memory, the memory error rate is reduced, and the accuracy and reliability of the memory in the target device are ensured.
Need to check novelty before this filing date? Find Prior Art

Description

TECHNICAL FIELD

[0001] The present application relates to the technical field of data storage, in particular to a device starting method and device, an electronic device and a storage medium. BACKGROUND

[0002] Memory is an important component in computers and servers, also known as internal memory and main memory, which is used to temporarily store the operation data in the central processing unit (CPU) and the data exchanged with the external storage such as hard disk. When reading and writing data of the memory, the strict timing alignment relationship needs to be met between signals. Since there are differences in the board materials used by the mainboard of each machine, each machine will train the memory to obtain the specific time sequence relationship that needs to be met between signals when starting for the first time, and store the time sequence relationship in a fixed storage area. When the machine is restarted, the time sequence relationship is directly read and used. However, the server will be affected by vibration during transportation or handling, which will change the contact resistance between the processor and the mainboard of the server, and the contact resistance between the memory gold finger and the memory slot metal spring sheet. At this time, if the memory still reads and uses the stored time sequence relationship, it may cause unstable reading and writing of the memory and even error.

[0003] It can be seen that how to avoid the error of the memory is a problem to be solved by those skilled in the art. SUMMARY

[0004] The purpose of the embodiments of the present application is to provide a device starting method and device, an electronic device and a storage medium, which can solve the error problem that may exist in the memory after the device is started.

[0005] To solve the above technical problems, the embodiments of the present application provide a device starting method, which comprises:

[0006] When the target device is started, the vibration degree of the target device is monitored;

[0007] If the vibration degree is greater than the preset degree threshold, a memory training operation is triggered to generate the current memory training parameter of the target device by training the memory of the target device, and the current memory training parameter is saved in the preset parameter storage area of the target device;

[0008] If the vibration degree is not greater than the preset degree threshold, the memory training parameter configured when the target device is started last time is read from the preset parameter storage area, and the system starting is completed based on the read memory training parameter.

[0009] In some embodiments, it further comprises:

[0010] acquire historical memory topology information of an application at a last boot of the target device and current memory topology information of the application at a current boot of the target device;

[0011] determine whether the current memory topology information and the historical memory topology information are consistent;

[0012] if the current memory topology information and the historical memory topology information are consistent, trigger monitoring of a vibration degree of the target device;

[0013] if the current memory topology information and the historical memory topology information are inconsistent, directly trigger a memory training operation to generate a current memory training parameter of the target device through memory training on the target device, and save the current memory training parameter into a preset parameter storage area of the target device.

[0014] In some embodiments, before reading the memory training parameter configured at the last boot of the target device from the preset parameter storage area, the method further comprises:

[0015] determining whether the memory training parameter configured at the last boot of the target device is stored in the preset parameter storage area;

[0016] if yes, jumping to the step of reading the memory training parameter configured at the last boot of the target device from the preset parameter storage area;

[0017] if no, directly triggering the memory training operation to generate the current memory training parameter of the target device through the memory training on the target device, and saving the current memory training parameter into the preset parameter storage area of the target device.

[0018] In some embodiments, triggering the memory training operation to generate the current memory training parameter of the target device through the memory training on the target device comprises:

[0019] sending a selection signal to the memory;

[0020] receiving delay data returned by the memory; wherein the delay data is a delay between the selection signal and a sampling clock signal obtained by the memory after receiving the selection signal and comparing the selection signal and the clock signal;

[0021] adjusting the delay of the selection signal, and re-jumping to the step of sending the selection signal to the memory;

[0022] determining the delay of the selection signal corresponding to the minimum delay data in the delay data as the current memory training parameter.

[0023] In some embodiments, monitoring the vibration degree of the target device comprises:

[0024] monitoring the vibration degree of the target device by using a spring vibration switch arranged on the target device.

[0025] In some embodiments, the target device comprises a clock circuit, and a preset communication connection is established between a central processing unit of the target device and a clock chip in the clock circuit.

[0026] The first end of the spring vibration switch is connected to a reset signal input end of the clock chip, and the second end is grounded; when the sensed vibration amount of the spring vibration switch is not less than a preset degree threshold, the on time of the spring vibration switch is greater than the maintaining time of the offset register of the clock chip.

[0027] Correspondingly, the specific process of determining whether the vibration degree of the target device is greater than the preset degree threshold comprises:

[0028] reading a current configuration value of the offset register in the clock chip based on the preset communication connection; the configuration value of the offset register is used to represent the level state of the reset signal input end of the clock chip, and when the reset signal input end of the clock chip is triggered and short-circuited to the ground for a maintaining time, the offset register is configured as a preset value.

[0029] determining whether the current configuration value of the offset register is equal to the preset value;

[0030] if yes, clearing the configuration value of the offset register in the clock chip, and determining that the vibration degree of the target device is greater than the preset degree threshold;

[0031] if no, determining that the vibration degree of the target device is not greater than the preset degree threshold.

[0032] To solve the above technical problems, the embodiment of the present application further provides a device starting device, comprising:

[0033] a vibration detection unit, configured to monitor the vibration degree of the target device when the target device is powered on; if the vibration degree is greater than a preset degree threshold, triggering a memory training unit; if the vibration degree is not greater than the preset degree threshold, triggering a system starting unit;

[0034] the memory training unit, configured to trigger a memory training operation to generate a current memory training parameter of the target device by performing memory training on the target device, and save the current memory training parameter into a preset parameter storage area of the target device;

[0035] the system starting unit, configured to read a memory training parameter configured when the target device is powered on last time from the preset parameter storage area, and complete system starting based on the read memory training parameter.

[0036] To solve the above technical problems, the embodiment of the present application further provides an electronic device, comprising:

[0037] The vibration detection device is used for monitoring the vibration degree of the target device.

[0038] The memory is used for storing the computer program.

[0039] The processor is used for executing the computer program to realize the steps of the device starting method.

[0040] In some embodiments, the vibration detection device is a spring vibration switch, the first end of the spring vibration switch is connected with the reset signal input end of the clock chip of the clock circuit in the target device, and the second end is grounded.

[0041] To solve the above technical problems, the embodiment of the present application further provides a computer readable storage medium, the computer readable storage medium stores a computer program, and the computer program is executed by the processor to realize the steps of the device starting method.

[0042] From the above technical solution, it can be seen that when the target device is powered on, it is first determined whether the target device has been subjected to vibration exceeding the tolerance range, if the target device does not appear vibration exceeding the predetermined tolerance range, the memory training parameters at the last start can be directly used to configure the memory of the device, thereby shortening the boot time; if it is detected that the target device has vibration exceeding the predetermined tolerance range in the process of carrying and moving, etc., the memory is retrained in the process of next boot and memory configuration to determine the memory training parameters under the new contact resistance corresponding to the current state of the target device, the beneficial effects of the present application are 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, the subsequent reading and writing of the memory can be avoided, and the data can be kept stable and error-free when the target device is powered on and reads and writes the memory, thereby reducing the memory error rate, ensuring the accuracy and reliability of the memory in the target device. BRIEF DESCRIPTION OF DRAWINGS

[0043] In order to more clearly illustrate the embodiments of the present application, the drawings needed in the embodiments will be briefly introduced below, and obviously, the drawings in the following description are only some embodiments of the present application, and other drawings can be obtained by those skilled in the art without creative labor.

[0044] Figure 1 A flowchart of a device starting method provided by the embodiment of the present application is shown in the figure.

[0045] Figure 2 A memory setting mode diagram of a server provided by the embodiment of the present application is shown in the figure.

[0046] Figure 3 Another flowchart of a device starting method provided by the embodiment of the present application is shown in the figure.

[0047] Figure 4 A structural schematic diagram of a spring vibration switch provided by an embodiment of the present application is shown in the figure;

[0048] Figure 5 A structural schematic diagram of another spring vibration switch provided by an embodiment of the present application is shown in the figure;

[0049] Figure 6 A structural schematic diagram of a clock circuit provided by an embodiment of the present application is shown in the figure;

[0050] Figure 7 A signal schematic diagram of an offset register provided by an embodiment of the present application is shown in the figure;

[0051] Figure 8 A structural schematic diagram of a device starting apparatus provided by an embodiment of the present application is shown in the figure;

[0052] Figure 9 A structural schematic diagram of an electronic device provided by an embodiment of the present application is shown in the figure. DETAILED DESCRIPTION

[0053] The technical solutions in the embodiments of the present application will be described clearly and completely below with reference to the drawings in the embodiments of the present application. Obviously, the described embodiments are only some of the embodiments of the present application, but not all the embodiments. Based on the embodiments in the present application, any other embodiments obtained by those skilled in the art without creative work fall within the protection scope of the present application.

[0054] The terms “include” and “have” and any variations of the terms “include” and “have” in the specification and the above drawings of the present application are intended to cover the non-exclusive inclusion. 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 can include steps or units not listed.

[0055] In order to make the person skilled in the art better understand the present application, the present application will be further described in detail below with reference to the drawings and specific embodiments.

[0056] Next, a device starting method provided by an embodiment of the present application will be described in detail. Referring to Figure 1 shown in the figure, Figure 1 A flow schematic diagram of a device starting method provided by an embodiment of the present application is shown in the figure, and the device starting method comprises:

[0057] S11: When a target device is powered on, the vibration degree of the target device is monitored;

[0058] It can be understood that the memory is used to store the instructions and data of the running program. When the computer is started, the operating system and other necessary software will be loaded into the memory, and during the program execution, the memory will continuously store the data and instructions required by the program. The memory provides a temporary storage space for data, so that the computer can quickly read and write data during execution, and the temporarily stored data includes variables, function call parameters and return values of the running program, etc. In terms of operation, storing data in memory can speed up the read and write operations of the computer system on data, and improve the response speed of the computer system. BIOS (Basic Input Output System) is the basic input / output system of the computer system, which is a piece of software code fixed on the computer motherboard, and is the first program code executed after the computer is powered on. When the computer is started, BIOS is responsible for initializing hardware devices and loading the operating system into memory. BIOS will load the operating system and other necessary software from the auxiliary storage to the memory, and continuously store the data and instructions required by the program during the program execution, and finally hand over the control to the operating system. In terms of memory management, BIOS is responsible for the allocation and release of system memory, which detects and identifies the 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, setting up memory mapping table, etc. Therefore, BIOS is responsible for starting the computer and loading the operating system into memory, while 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 initialization of memory is also realized through the memory reference code (MRC) in BIOS. MRC (Memory Reference Code) is the related code for initializing memory in BIOS, which is used to initialize the memory controller and optimize the read / write timing and voltage to achieve the best performance. BIOS needs to obtain memory training parameters such as timing parameters to initialize the memory, so as to realize the startup of the device.

[0059] It should be noted that the device needs to be initialized after power-on, and then it can read and write data through the established interface. Taking the implementation of DDR (Dynamic Refresh Memory) memory as an example, the interface of DDR4 / DDR5 memory is parallel, and strict timing alignment relationship is required between signals, so that the memory can accurately read and write data. However, due to differences in the use of board materials and other aspects of each machine, each machine needs to initialize the memory specifically for the first time, to determine the timing relationship required between signals, i.e. memory training parameters.

[0060] Referring to Figure 2 illustrated,Figure 2 A memory setting mode schematic diagram of a server provided by an embodiment of the present application; the memory is realized by a DIMM (Dual-Inline-Memory-Modules), the memory is connected to a processor MCU of the device as a memory device through a specific connector 1 (usually a memory slot) on a PCB (Printed circuit board) mainboard of the device and a wire 2 arranged on the PCB, and there is a certain contact resistance (hereinafter referred to as contact resistance) between the processor and the mainboard PCB and between the memory gold finger 3 and the memory slot metal spring 4. Generally, if the machine is in a stable and vibration-free environment, the contact resistance between the processor MCU and the mainboard PCB and the contact resistance between the memory gold finger 3 and the memory slot metal spring 4 will remain unchanged. Therefore, the target device will perform memory training when it is started for the first time, and after obtaining its own memory training parameter t, it will be saved to the BIOS chip storage parameter area. When the machine is restarted subsequently, the MRC directly reads and uses the parameter t to complete the memory initialization in the device startup process, avoiding the long startup time caused by retraining each time.

[0061] However, in actual application, the device usually has the need of transportation or carrying, and during the transportation or carrying process, the device will inevitably be affected by vibration, resulting in a change in contact resistance, and different contact resistances will directly affect the memory training parameter t. If the MRC still reads and uses the old parameter t saved before when starting next time, it may cause unstable reading and writing of memory data or even error. In view of this situation, the present application provides a device starting method for detecting whether the target device has been subjected to vibration exceeding the tolerance range, and further judging whether it is necessary to re-do memory training to obtain the parameter t under the new contact resistance when starting next time, so as to ensure the accuracy and reliability of the memory training parameter t applied when the device starts, so that the data of the computer system reading and writing the memory remains stable and error-free.

[0062] It should be noted that the monitoring of the vibration degree of the target device is actually started after the last shutdown of the target device, and the vibration degree of the target device monitored is the vibration degree in the process from the last shutdown of the target device to the present startup; only when the target device starts, the processor of the target device can receive the monitoring result to judge whether the vibration degree of the target device in the process from the last shutdown of the target device to the present startup is greater than the preset degree threshold. The specific implementation mode of monitoring the vibration degree of the target device is not particularly limited in the present application, which can be realized by setting a vibration sensor capable of detecting vibration on the target device.

[0063] S12: If the vibration degree is greater than the preset degree threshold, triggering a memory training operation to generate a current memory training parameter of the target device by performing memory training on the target device, and saving the current memory training parameter into a preset parameter storage area of the target device;

[0064] It is not difficult to understand that if the monitored vibration degree of the target device represents that the vibration degree during the last shutdown to the current startup of the target device is greater than the preset degree threshold, it means that the memory training parameter stored during the last startup cannot be used during the current startup, so it is necessary to trigger the memory training operation to perform memory training again to obtain the current memory training parameter required by the target device after vibration during the current startup, and it is necessary to store this current memory training parameter in the preset parameter storage area to update the memory training parameter. Each time the memory training is performed, a new memory training parameter is obtained by the processor, and the saved value of the preset parameter storage is updated to the latest memory training parameter. The specific value and implementation method of the preset degree threshold are not particularly limited in the present application. Memory training is a way of repeatedly testing and enumerating specified parameter values by software within a period of time to make the memory feedback the best result. The specific implementation method of the memory training operation is not particularly limited in the present application. The specific setting method and setting position of the preset parameter storage area are not particularly limited in the present application. Considering that memory initialization is generally implemented by BIOS through MRC, the preset parameter storage area can be implemented by using the storage area in BIOS.

[0065] It should be noted that the main purpose of memory training (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-write delay of the memory. Since the clock-data deviation of each memory can be different, it is necessary to adapt to these deviations through training to ensure accurate reading and writing of data, so as to overcome the uncertainty introduced by the topology of the memory itself and the connection with the device, and ensure that the memory module can operate efficiently and stably. Therefore, the memory training parameter obtained by memory training is mainly the timing relationship of the signal that can make the memory achieve the optimal (minimum) read-write delay. The specific type and implementation method of the memory are not particularly limited in the present application, and can be implemented in the form of DRAM (Dynamic Random-Access Memory, Dynamic Random-Access Memory).

[0066] S13: If the vibration degree is not greater than the preset degree threshold, reading the memory training parameter configured during the last startup of the target device from the preset parameter storage area, and completing system startup based on the read memory training parameter.

[0067] It can be understood that if the monitored vibration degree of the target device represents that there is no vibration degree greater than the preset degree threshold from the last shutdown to the current startup of the target device, it means that the memory training parameter stored during the last startup can still be used during the current startup, so at this time the memory training parameter configured during the last startup of the target device can be directly read. Whether the memory training parameter configured during the last startup of the target device is directly read from the preset parameter storage area or the current memory training parameter of the target device is generated by triggering the memory training operation, the finally obtained memory training parameter needs to be written into the memory controller to realize memory initialization, and then the startup of the entire target device is completed. The specific implementation manner of the memory reference code is not particularly limited in the present application.

[0068] It should be noted that the specific type and implementation manner of the target device are not particularly limited in the present application, and the target device can be a server, a computer or the like. 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 the computer. When the memory is implemented by using a plurality of memory chips, the memory chips are connected in a certain connection topology. At this time, the arrival time of the signal to different memory chips is also different. The memory training parameter at this time includes a memory training sub-parameter corresponding to each memory chip. The memory training sub-parameter is the time sequence relationship of the signal that can make the corresponding memory chip achieve the optimal read-write delay, so as to ensure the signal synchronization and time sequence matching between each memory chip in the memory module and the memory controller. Especially for DDR4 and DDR5 using Fly-By topology structure. Fly-By topology structure uses 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 needed to ensure accurate reading and writing of data.

[0069] As a specific embodiment, refer to Figure 3 shown, Figure 3Another device startup method provided by the embodiment of the present application is shown in the flowchart. After the server is started, the CPU executes the BIOS. After the BIOS is started, it executes programs in a specific order to initialize various devices for startup. After the BIOS executes the initialization programs and other startup procedures before the MRC, it starts the MRC. The CPU first reads the saved memory topology information TP0, and reads the current memory topology information TP1 connected to the machine, and compares TP1 and TP0. If TP1 and TP0 are different, it indicates that the memory configuration of the machine has changed, and needs to be retrained. It directly jumps to the step of retraining all memories in the MRC. If TP1 and TP0 are the same, it needs to further confirm whether the machine has been subjected to vibration exceeding the tolerance. The CPU can read the configuration value (RTC_CLR.CIF for short) of the 0x0B register in the CMOS clock chip through I2C (Inter-Integrated Circuit, two-wire serial bus). At this time, it further judges whether RTC_CLR.CIF is 1. If RTC_CLR.CIF is 1, it indicates that the server has been subjected to vibration exceeding the tolerance, and the contact resistance will change. After clearing RTC_CLR.CIF through I2C, it jumps to the step of retraining all memories in the MRC to obtain the memory training parameter t. If RTC_CLR.CIF is 0, it needs to read the saved memory training parameter t from the BIOS, and needs to judge whether t exists. If t exists, it directly jumps to the step of writing the training parameter into the memory controller. If t does not exist, it also needs to jump to the step of retraining all memories in the MRC to obtain the memory training parameter t. RTC_CLR.CIF is cleared through I2C so as to be detected again next time the machine is started, to ensure that the RTC_CLR.CIF detected each time the machine is started is the representation value of the vibration degree of the device corresponding to the current startup. After retraining all memories in the MRC, the training parameter is also written into the memory controller. After the memory controller obtains the memory training parameter, the BIOS can continue to execute other programs to implement other startup procedures, and finally starts to enter the OS (Operating System), to complete the memory initialization when the device is started, so as to normally start and run the device.

[0070] The application provides a device starting method, mainly applied to the memory initialization process during device starting, and when the vibration of the server during transportation and movement exceeds a predetermined tolerance range, the MRC is controlled to re-train the memory at the next start-up to obtain memory training parameters t under a new contact resistance, and the memory initialization and the starting of the device are performed by using the new memory training parameters, so as to ensure the accuracy of the memory training parameters used in the memory initialization, avoid errors or data abnormalities during subsequent reading and writing of the memory, and ensure the stability of data during reading and writing of the memory of the server system after the server is powered on again, thereby reducing the error rate of the memory in the device.

[0071] In some embodiments, the method further comprises:

[0072] obtaining historical memory topology information applied by the target device at the last start-up and current memory topology information applied by the target device at the current start-up;

[0073] determining whether the current memory topology information and the historical memory topology information are consistent;

[0074] if the current memory topology information and the historical memory topology information are consistent, triggering monitoring of the vibration degree of the target device;

[0075] if the current memory topology information and the historical memory topology information are inconsistent, directly triggering a memory training operation to generate the current memory training parameter of the target device by performing memory training on the target device, and saving the current memory training parameter to a preset parameter storage area of the target device.

[0076] Different devices may use different configurations of memory modules to implement the memory of the device, and when the topology of the memory is different, the memory training parameters required for initialization are also different, and the memory topology information is the main influencing factor of the memory training parameters. Therefore, the historical memory topology information TP0 and the current memory topology information TP1 of the target device are also needed to be obtained, and whether the two are consistent is compared. If they are consistent, it indicates that the memory configuration of the target device at the current start-up is consistent with that at the last start-up, and it can be determined whether the vibration of the target device exceeds the tolerance, and whether the memory training needs to be performed again according to the vibration of the target device. If they are inconsistent, it indicates that the memory configuration of the target device at the current start-up is inconsistent with that at the last start-up, and at this time, whether the vibration of the target device exceeds the tolerance, the memory training needs to be performed again, so the memory training operation is directly triggered to start the memory training again to determine the new current memory training parameter. The application does not particularly limit the manner of obtaining the memory topology information.

[0077] It should be noted that the CPU detects the memory topology information currently applied by the target device each time the target device is started, and stores the memory topology information to a preset position, so that the target device can obtain the memory topology information applied by the target device at the last start at the next start. The memory topology information specifically includes the number, size, type and the like of the memory module, for example, the memory of the target device at the last start includes 2 memory bars, and at the beginning of this time, the memory includes 3 memory bars, then the historical memory topology information TP0 and the current memory topology information TP1 of the target device are inconsistent. The detection of the memory topology information can be realized by BIOS. After the BIOS runs, the configuration information of the memory such as size, type, speed and the like is read from the SPD (Serial Presence Detect) chip of the memory bar, so as to obtain the memory topology signal currently applied by the target device. Further, the BIOS also checks whether the memory bar is correctly installed, whether there is enough memory, and whether the specification of the memory bar meets the requirements. In the case that the memory bar is not correctly installed, there is not enough memory, or the specification of the memory bar does 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 are also affected by the current memory topology information of the device, the memory topology information of the memory can also be judged in advance. In the case that the memory topology information changes, the step of monitoring the vibration degree of the target device will not be continued, but the retraining of the memory training parameters will be directly performed, so as to avoid the error of the memory training parameters caused by the inconsistency of the memory topology information, further improve the accuracy and reliability of the memory training parameters applied by the final device at the start, and reduce the error rate of the memory.

[0079] In some embodiments, before reading the memory training parameters configured by the target device at the last start from the preset parameter storage area, the following steps are further included:

[0080] determining whether the memory training parameters configured by the target device at the last start are stored in the preset parameter storage area;

[0081] if yes, jumping to the step of reading the memory training parameters configured by the target device at the last start from the preset parameter storage area;

[0082] if no, directly triggering the memory training operation to generate the current memory training parameters of the target device by training the memory of the target device, and saving the current memory training parameters into the preset parameter storage area of the target device.

[0083] It is understandable that the target device will perform the first memory training operation when starting for the first time, and then obtain an initial memory training parameter and store it in the preset parameter storage area. Subsequently, each time the target device starts, the memory training parameter in the preset parameter storage area can be directly read to perform memory initialization in the case that the target device does not have vibration exceeding the tolerance. However, the preset parameter storage area does not store the memory training parameter when the target device starts for the first time. At this time, the first memory training operation must be performed, and therefore, when the memory training parameter is read from the preset parameter storage area, it is also necessary to determine whether the preset parameter storage area stores the memory training parameter configured by the target device when it started last time, so as to determine whether the target device is currently starting for the first time. If the target device is not starting for the first time, the preset parameter storage area must store the memory training parameter configured by the target device when it started last time, and at this time, the memory training parameter can be continuously read. If the target device is starting for the first time, the preset parameter storage area must not store the memory training parameter, and at this time, the memory training operation needs to be triggered to perform the first memory training of the target device to determine the initial memory training parameter. The specific manifestation that the preset parameter storage area does not store the memory training parameter configured by the target device when it started last time can be that the preset parameter storage area is empty.

[0084] Specifically, it is also necessary to further determine whether the target device is currently starting for the first time when the memory training parameter is read from the preset parameter storage area, so as to avoid the case that the target device starts for the first time and is not subjected to vibration exceeding the tolerance, and the empty value read from the preset parameter storage area is mistakenly applied as a normal memory training parameter. This further improves the accuracy and reliability of the memory training parameter applied when the final device starts, and reduces the error rate of the memory.

[0085] In some embodiments, the memory training operation is triggered to generate the current memory training parameter of the target device by performing memory training on the target device, including:

[0086] The strobe signal is sent to the memory;

[0087] The delay data returned by the memory is received; wherein the delay data is the delay between the strobe signal and the clock signal obtained by sampling the clock signal after the memory receives the strobe signal and comparing the strobe signal and the clock signal;

[0088] The delay of the strobe signal is adjusted, and the step of sending the strobe signal to the memory is re-jumped;

[0089] The delay of the strobe signal corresponding to the minimum delay data in the delay data is determined as the current memory training parameter.

[0090] It can be understood that, taking the DRAM as an example, a series of key operating parameters such as CAS delay (CL), CAS write delay (CWL), row address to column address delay time (tRCD) and row precharge time (tRP) are obtained when the DRAM module is initialized. Then the memory controller and the PHY (physical layer) will perform further read / write training (also known as memory training or initial calibration). The memory controller will continuously send a strobe signal (DQS) to a specific DRAM, and after the DRAM receives the strobe signal, it will sample the clock signal and return the value on the data bus to the memory controller. At the same time, since the clock-data offset of each DRAM chip may be different, Write Leveling will be performed during memory training. Write Leveling adjusts the phase between 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, i.e. the edges of the two are aligned. Through multiple trial and error and adjustment, the controller can find the optimal read / write delay to maintain a good timing relationship between the data signal and the command and address signal. These series of timing relationship systems are referred to as memory training parameters t.

[0091] It can be understood that the read / write delay of the memory refers to the time between the issuance of the read / write request from the memory controller to the response of the memory module to this request, so the memory controller can control the sending of the strobe signal to the memory module. When the memory controller sends the strobe signal, it can specifically select the rising edge or falling edge of the clock signal to send. After the memory module receives the strobe signal, it will use the clock circuit of the target device itself to obtain the current clock signal and compare the strobe signal and the clock signal received by itself to determine the signal delay between the time when the strobe signal is received by the memory module and the time when the strobe signal is sent by the memory controller. Then the memory module returns the delay data obtained by the comparison to the memory controller. After the memory controller adjusts the delay of the strobe signal, it sends the strobe signal to the memory module again. By repeating this process, the memory controller can obtain a plurality of delays of the strobe signal and the corresponding delay data, and finally determine a delay of the strobe signal that can minimize the read / 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 performs data transmission based on this current memory training parameter, thereby ensuring the response speed and performance of the memory.

[0092] It should be noted that the specific type and implementation of the selection signal are not particularly limited in the present application, and other ways can also be used for memory training, which is not limited to the manner provided in the present embodiment. There are many choices for determining the read-write delay of the memory, and the present application does not particularly limit it. The specific manner and adjustable range of the memory controller adjusting the delay of the selection signal are not particularly limited in the present application. The maximum duration of the delay of the selection signal can be preset in advance, and then the delay of the selection signal is gradually adjusted from zero to the maximum duration to determine a plurality of delay data.

[0093] Specifically, through memory training, the read-write delay of the memory can be effectively optimized, thereby improving the data transmission rate, 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 Fly-By topology, etc., making the system more flexible and reliable, and effectively ensuring the efficient and stable operation of the memory module.

[0094] In some embodiments, the vibration level of the target device is monitored, including:

[0095] The vibration level of the target device is monitored by using a spring vibration switch arranged on the target device.

[0096] It can be understood that the monitoring of the vibration of the target device can be achieved by using a spring vibration switch arranged on the target device. The spring vibration switch is an electronic switch that can sense the vibration force and transmit the sensing result to the circuit device by itself. When the spring vibration switch receives a vibration exceeding a preset threshold, the spring in the internal structure will vibrate, and the two external conductive pins will be connected. The main parameters of the spring vibration switch include the sensing vibration amount Pq, the on-time Pt, and the on-resistance Po. When the spring vibration switch receives a vibration exceeding the sensing vibration amount Pq, the switch lead will be connected, the on-time Pt is the on-time maintained when the switch lead is connected to disconnected, and the on-resistance Po is the on-resistance of the switch during the on-time. The operator can adjust the sensing vibration amount Pq and the on-time Pt by adjusting the spring length and spring force of the spring vibration switch to set the preset threshold, so as to monitor whether the target device receives a vibration exceeding the preset threshold. The processor can determine whether the spring vibration switch is connected when the target device is powered on to determine whether the target device receives a vibration exceeding the preset threshold. The spring vibration switch can detect the vibration by using its mechanical structure, so it can effectively detect the vibration of the device without power-on, thereby effectively detecting the vibration of the target device from the last shutdown to the current startup. The specific type and implementation of the spring vibration switch are not particularly limited in the present application, and the specific setting position and setting method of the spring vibration switch on the target device also have multiple choices, which can be designed according to the actual application of the target device. The present application does not particularly limit it.

[0097] As a specific embodiment, refer to Figure 4 As shown in the figure, Figure 4 is a structural diagram of a spring vibration switch provided by an embodiment of the present application. An epoxy resin base 21 is used to arrange a spring 22 and a center metal conductive pin 23. One end of the spring 22 is led out as a spring lead conductive pin 24. A plastic is arranged 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 be connected with the center metal conductive pin 23, so as to realize the connection and connection of the spring lead conductive pin 24 and the center metal conductive pin 23, and realize the effect of switch conduction. Refer to Figure 5 As shown in the figure, Figure 5This is a schematic diagram of another spring vibration switch provided in an embodiment of the present invention. The outer shell of the spring vibration switch is directly constructed from a conductive copper tube 26 and a copper cap 27. One end of the outer shell is led out as a conductive pin 28. A conductive spring 29 is provided in the outer shell. One end of the conductive spring 29 is led out as another conductive pin 30. A colloid 31 is provided at the lower end of the conductive spring 29 to serve as insulation between the conductive spring 29 and the outer shell. This ensures 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 of the conductive spring 29 that extends beyond the colloid 31 comes into contact with the outer shell, thus achieving the effect of switching on.

[0098] Specifically, the vibration level of the target device from the last shutdown to the current startup can be effectively monitored by setting a spring vibration switch on the target device. The switching function of the spring vibration switch itself is used to determine whether the target device is subjected to vibration exceeding the preset threshold. This method 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 the central processing unit of the target device and the clock chip in the clock circuit;

[0100] The first end of the spring vibration switch is connected to the reset signal input terminal of the clock chip, and the second end is grounded. When the induced vibration of the spring vibration switch is not less than the preset threshold value, the turn-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 for determining whether the vibration level of the target device exceeds a preset threshold includes:

[0102] The current configuration value of the offset register in the clock chip is read based on the preset communication connection. The configuration value of the offset register is used to characterize the level state of the reset signal input terminal of the clock chip. When the reset signal input terminal of the clock chip is short-circuited to ground and maintained for a certain period of time, the offset register is configured to the preset value.

[0103] Determine whether the current configuration value of the offset register is equal to the preset value;

[0104] If so, 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 the preset threshold.

[0105] If not, then the vibration level of the target device is determined to be no greater than the preset threshold.

[0106] It's easy to understand that, to facilitate the processor's determination of whether the spring-loaded vibration switch is conducting, the spring-loaded vibration switch can be configured in conjunction with the target device's clock chip. See also... Figure 6 As shown,Figure 6 A structural schematic diagram of a clock circuit provided for an embodiment of the present application; refer to Figure 7 as shown, Figure 7 A signal schematic diagram of an offset register provided for an embodiment of the present application; there is a reset signal input end RTC_RST# on the clock chip, and there is an offset register corresponding to the reset signal input end in the clock chip, as shown, Figure 7 As shown, the configuration value of the offset register will be maintained as 0 when the reset signal input end receives a high level, and when the reset signal input end detects a low level input and the duration of this low level input reaches the maintenance time Tc, the configuration value of the offset register will be set to 1. Therefore, by using the characteristics of the offset register and the reset signal input end, combined with the spring vibration sensor, the configuration value of the offset register can be used to effectively represent whether the target device has appeared vibration exceeding the preset degree threshold. Therefore, by selecting a spring vibration switch with appropriate parameters, setting the maximum vibration amount that the current server can tolerate, i.e. the preset degree threshold Pmax, and constructing a preset communication connection 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 the preset communication connection, so as to determine whether the target device has appeared vibration greater than the preset degree threshold during the last shutdown to the current startup process. If the configuration value of the offset register is set to 1, the vibration degree of the target device is greater than the preset degree threshold, and the configuration value of the offset register needs to be cleared for the next detection.

[0107] It should be noted that a spring vibration switch with a sensing vibration amount Pq greater than or equal to Pmax and a turn-on time Pt greater than the maintenance time Tc needs to be selected to achieve this. The turn-on resistance Po of the spring vibration switch can be set to 0, in which case the RTC_RST can only meet the trigger condition when the target device appears vibration exceeding the preset degree threshold, and set the offset register. The specific type and implementation of the clock circuit, the preset communication connection, and the offset register are not particularly limited in this application, and the specific value and implementation of the preset value also have multiple choices, which are not particularly limited in this application, and are not limited to the 1 value used in the embodiment for illustration.

[0108] It can be understood that the clock chip is usually directly implemented by CMOS RAM, VCC is the power supply voltage of the clock chip, and a battery power supply VBAT is also arranged, so that the content of the CMOS RAM is still saved without loss when the server is powered off, and the spring vibration switch is also powered, so that the spring vibration switch can still effectively monitor the vibration when the server is powered off. In order to improve the stability and reliability of the power supply voltage output to the spring vibration switch, resistors R1, R2, capacitors C1, C2 and diode D1 are also arranged. CMOS RAM is usually used to store system configuration settings, BIOS and other important data, and the current external CMOS clock chip is implemented, which is connected with the CPU through I2C bus and the like, as shown in Figure 6 CMOS RAM also needs to realize the CMOSCLEAR JUMPER (CMOS clear jumper) function of the server. When receiving the CMOS Clear Control signal corresponding to the function, the switch Q0 is turned on, the INTRUDER# pin is pulled low, so as to clear the BIOS setting information of the computer and restore it to the default state of the factory. VSTBY is a power supply that can maintain the high level of the INTRUDER# pin in a normal state. Resistors R3, R4, R5, diode D2 and capacitor C3 are also arranged in the circuit to provide the accuracy and stability of the level signal received by the INTRUDER# pin. Considering the implementation of other functions of the CMOS RAM, it can also be connected with the BMC (Baseboard Management Controller, 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 the preset degree threshold from the last shutdown to the current boot process by obtaining the current configuration value of the offset register. It can be directly implemented by using one pin of the CMOS RAM, avoiding additional cost, and being conducive to the simple implementation of the whole device.

[0110] Referring to Figure 8 As shown in Figure 8 A structural schematic diagram of a device starting device provided by the embodiment of the application; to solve the above technical problems, the embodiment of the application also provides a device starting device, which comprises:

[0111] The vibration detection unit 11 is configured to monitor a vibration degree of the target device when the target device is powered on, and trigger the memory training unit 12 if the vibration degree is greater than a preset degree threshold, or trigger the system starting unit 13 if the vibration degree is not greater than the preset degree threshold.

[0112] The memory training unit 12 is configured to trigger a memory training operation to generate a current memory training parameter of the target device by performing a memory training operation on the target device, and save the current memory training parameter into a preset parameter storage area of the target device.

[0113] The system starting unit 13 is configured to read a memory training parameter configured when the target device is powered on last time from the preset parameter storage area, and complete system starting based on the read memory training parameter.

[0114] In some embodiments, the method further comprises:

[0115] The topology information acquisition unit is configured to acquire historical memory topology information applied when the target device is powered on last time and current memory topology information applied when the target device is powered on this time.

[0116] The topology judgment unit is configured to judge whether the current memory topology information and the historical memory topology information are consistent, and trigger the vibration detection unit 11 if the current memory topology information and the historical memory topology information are consistent, or directly trigger the memory training unit 12 if the current memory topology information and the historical memory topology information are not consistent.

[0117] In some embodiments, the method further comprises:

[0118] The first judgment unit is configured to judge whether the memory training parameter configured when the target device is powered on last time is stored in the preset parameter storage area, and trigger the system starting unit 13 if yes, or directly trigger the memory training unit 12 if no.

[0119] In some embodiments, the memory training unit 12 comprises:

[0120] The signal sending unit is configured to send a selection signal to the memory.

[0121] The signal response unit is configured to receive delay data returned by the memory, wherein the delay data is a delay between the selection signal and a sampling clock signal obtained by comparing the selection signal and the clock signal after the memory receives the selection signal.

[0122] The signal adjustment unit is configured to adjust the delay of the selection signal, and jump back to the step of sending the selection signal to the memory.

[0123] The parameter determination unit is configured to determine the delay of the selection signal corresponding to the minimum delay data in the delay data as the current memory training parameter.

[0124] In some embodiments, the vibration detection unit 11 comprises:

[0125] a vibration detection subunit configured to monitor the vibration degree of the target device by using a spring vibration switch arranged on the target device.

[0126] In some embodiments, the target device comprises a clock circuit, and a preset communication connection is established between the central processing unit 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 sensed vibration amount of the spring vibration switch is not less than a 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] The vibration detection device further comprises a vibration judgment unit configured to judge whether the vibration degree of the target device is greater than the preset degree threshold.

[0129] The vibration judgment unit comprises:

[0130] a configuration value reading unit configured to read 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 end of the clock chip, and when the reset signal input end of the clock chip is triggered and maintained for a time, the offset register is configured as a preset value.

[0131] a second judgment unit configured to judge whether the current configuration value of the offset register is equal to the preset value; if yes, the first judgment unit is triggered; if no, the second judgment unit is triggered.

[0132] The first judgment unit is configured to clear the configuration value of the offset register in the clock chip, and judge that the vibration degree of the target device is greater than the preset degree threshold.

[0133] The second judgment unit is configured to judge that the vibration degree of the target device is not greater than the preset degree threshold.

[0134] The features of the device starting apparatus provided by the embodiments of the present application can refer to the related descriptions of the embodiments of the device starting method, which will not be repeated here.

[0135] Referring to Figure 9 as shown, Figure 9 a structural schematic diagram of an electronic device provided by the embodiments of the present application. To solve the above technical problems, the embodiments of the present application further provide an electronic device comprising:

[0136] a vibration detection device configured to monitor the vibration degree of the target device.

[0137] a memory 60, configured to store a computer program;

[0138] a processor 61, configured to execute the computer program to implement the steps of the device starting method as described above.

[0139] The electronic device provided by the embodiment can include, but is not limited to, a smart phone, a tablet computer, a notebook computer or a desktop computer, etc.

[0140] The processor 61 can 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 of a hardware form of a Digital Signal Processing (DSP), a Field-Programmable Gate Array (FPGA), a Programmable Logic Array (PLA). The processor 61 can also include a main processor and a coprocessor. The main processor is a processor for processing data in a wake-up state, also known as a Central Processing Unit (CPU). The coprocessor is a low-power processor for processing data in a standby state. In some embodiments, the processor 61 can be integrated with a Graphics Processing Unit (GPU). The GPU is responsible for rendering and drawing the content required to be displayed on the display screen. In some embodiments, the processor 61 can further include an Artificial Intelligence (AI) processor. The AI processor is used to process computing operations related to machine learning.

[0141] The memory 60 can include one or more computer-readable storage media that can be non-transitory. The memory 60 can also include a high-speed random access memory, and a nonvolatile memory such as one or more disk storage devices, flash storage devices. In the embodiment, the memory 60 is at least used to store the following computer program 601, wherein the computer program is loaded and executed by the processor 61, and can implement the related steps of the device starting method disclosed in any of the preceding embodiments. In addition, the resources stored in the memory 60 can also include an operating system 602 and data 603, etc. The storage mode can be temporary storage or permanent storage. The operating system 602 can include Windows, Unix, Linux, etc. The data 603 can include, but is not limited to, data in the device starting method, etc.

[0142] In some embodiments, the electronic device can 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 can understand that the structure shown in the above embodiments does not constitute a limitation on the electronic device, and the electronic device can include more or fewer components than those shown in the figure. Figure 9

[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 of the electronic device provided by the embodiments of the present application, reference can be made to the related description of the embodiments of the device starting method, which will not be repeated here.

[0146] It can be understood that if the device starting method in the above embodiments is implemented in the form of a software function unit and sold or used as an independent product, it can be stored in a computer readable storage medium. Based on such understanding, the technical solutions of the present application or the part that contributes to the present technology or the whole or part of the technical solutions can be embodied in the form of a software product. The computer software product is stored in a storage medium, and performs all or part of the steps of the method of each embodiment of the present application. The foregoing storage medium includes: a U disk, a mobile hard disk, a read-only memory (ROM), a random access memory (RAM), an electrically erasable programmable ROM, a register, a hard disk, a removable magnetic disk, a CD-ROM, a magnetic disk or an optical disk, and various media that can store program codes.

[0147] To solve the above technical problems, the embodiments of the present application also provide a computer readable storage medium, and the computer readable storage medium stores a computer program. When the computer program is executed by a processor, the steps of the device starting method as described above are implemented.

[0148] For the description of the features of the computer readable storage medium provided by the embodiments of the present application, reference can be made to the related description of the embodiments of the device starting method, which will not be repeated here.

[0149] The embodiments of the present application also provide a computer program product, which includes computer programs / instructions. When the computer programs / instructions are executed by a processor, the steps of the device starting method described in the above embodiments are implemented.

[0150] For the description of the features of the computer program product provided by the embodiments of the present application, reference can be made to the related description of the embodiments of the device starting method, which will not be repeated here.​

[0151] The device startup method and device, the electronic device, and the storage medium provided by the embodiments of the present application are described in detail above. Each of the embodiments in the specification is described in a progressive manner, and each embodiment mainly describes the differences from other embodiments. The same or similar parts of each embodiment can be understood by referring to each other. For the device disclosed by the embodiments, the description is relatively simple because it corresponds to the method disclosed by the embodiments. For the relevant parts, refer to the description of the method part.

[0152] Those skilled in the art will further appreciate that the units and algorithm steps of each example described in connection with the embodiments disclosed herein can be implemented in electronic hardware, computer software, or a combination of both. To clearly illustrate the interchangeability of hardware and software, each example has been described in general terms in the above description. Whether the functions are implemented in hardware or software depends on the specific application and design constraints of the technical solution. Those skilled in the art can use different methods to implement the described functions for each specific application, but such implementation should not be considered beyond the scope of the present application.

[0153] The device startup method and device, the electronic device, and the storage medium provided by the embodiments of the present application are described in detail above. The principles and implementation manners of the present application are described by applying specific examples. The above description of the embodiments is only to help understand the method of the present application and its core idea. It should be pointed out that those skilled in the art can make some improvements and modifications to the present application without departing from the principles of the present application. These improvements and modifications also fall within the protection scope of the present application.

Claims

1. A device start-up method, characterized by, The method comprises the following steps: monitoring the vibration degree of the target device when the target device is powered on; if the vibration degree is greater than a preset degree threshold, triggering a memory training operation to generate current memory training parameters of the target device by performing memory training on the target device, and saving the current memory training parameters into a preset parameter storage area of the target device; if the vibration degree is not greater than the preset degree threshold, reading memory training parameters configured when the target device was last powered on from the preset parameter storage area, and completing system startup based on the read memory training parameters; monitoring the vibration degree of the target device comprises: monitoring the vibration degree of the target device by using a spring vibration switch arranged on the target device; the target device comprises a clock circuit, and a preset communication connection is established between a central processing unit of the target device and a clock chip in the clock circuit; wherein a first end of the spring vibration switch is connected to a reset signal input end of the clock chip, and a second end is grounded; when the inductive vibration amount of the spring vibration switch is not less than a 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; correspondingly, the specific process of determining whether the vibration degree of the target device is greater than a preset degree threshold comprises: 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 end of the clock chip, and when the reset signal input end of the clock chip is triggered and short-circuited to ground and maintained for a certain time, the offset register is configured as a preset value; determining whether the current configuration value of the offset register is equal to the preset value; if yes, clearing the configuration value of the offset register in the clock chip, and determining that the vibration degree of the target device is greater than the preset degree threshold; if no, determining that the vibration degree of the target device is not greater than the preset degree threshold.

2. The device boot-up method of claim 1, wherein, Further comprising: obtaining historical memory topology information applied when the target device was last powered on and current memory topology information applied when the target device is powered on this time; determining whether the current memory topology information and the historical memory topology information are consistent; if the current memory topology information and the historical memory topology information are consistent, triggering the monitoring of the vibration degree of the target device; if the current memory topology information and the historical memory topology information are inconsistent, directly triggering the memory training operation to generate current memory training parameters of the target device by performing memory training on the target device, and saving the current memory training parameters into a preset parameter storage area of the target device.

3. The device boot-up method of claim 1, wherein, Before reading the memory training parameters configured when the target device was last powered on from the preset parameter storage area, further comprising: determining whether the memory training parameters configured when the target device was last powered on are stored in the preset parameter storage area; if yes, jumping 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, directly trigger the memory training operation to generate the current memory training parameter of the target device by performing memory training on the target device, and save the current memory training parameter into the preset parameter storage area of the target device.

4. The device boot-up method of claim 1, wherein, Triggering the memory training operation to generate the current memory training parameter of the target device by performing memory training on the target device, comprises: sending a selection signal to the memory; receiving delay data returned by the memory; wherein the delay data is the delay between the selection signal and the clock signal obtained by sampling the clock signal after the memory receives the selection signal and comparing the selection signal and the clock signal; adjusting the delay of the selection signal, and jumping back to the step of sending the selection signal to the memory; determining the delay of the selection signal corresponding to the minimum delay data in the delay data as the current memory training parameter.

5. An apparatus for starting a device, characterized by comprising: comprises: a vibration detection unit, configured to monitor the vibration degree of the target device when the target device is powered on; if the vibration degree is greater than a preset degree threshold, triggering a memory training unit; if the vibration degree is not greater than the preset degree threshold, triggering a system starting unit; the memory training unit is configured to trigger a memory training operation to generate the current memory training parameter of the target device by performing memory training on the target device, and save the current memory training parameter into the preset parameter storage area of the target device; the system starting unit is configured to read the memory training parameter configured when the target device is last powered on from the preset parameter storage area, and complete system starting based on the read memory training parameter; the vibration detection unit comprises: a vibration detection subunit, configured to monitor the vibration degree of the target device by using a spring vibration switch arranged on the target device; the target device comprises a clock circuit, and a preset communication connection is established between the 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 with the reset signal input end of the clock chip, and the second end is grounded; when the inductive 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; the device starting apparatus further comprises a vibration judgment unit, which is configured to judge whether the vibration degree of the target device is greater than a preset degree threshold; the vibration judgment unit comprises: a configuration value reading unit, configured to read 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 end of the clock chip, and when the reset signal input end of the clock chip is triggered and short-circuited to ground and maintained for a time, the offset register is configured as a preset value; a second judgment unit, configured to judge whether the current configuration value of the offset register is equal to the preset value; if yes, triggering a first determination unit; if not, triggering a second determination unit; The first determining unit is configured to clear the configuration value of the offset register in the clock chip and determine whether the vibration degree of the target device is greater than a preset degree threshold. The second determining unit is configured to determine whether the vibration degree of the target device is not greater than the preset degree threshold.

6. An electronic device, comprising: The device comprises: a vibration detection device configured to monitor the vibration degree of the target device; a memory configured to store a computer program; a processor configured to execute the computer program to implement the steps of the device starting method according to any one of claims 1 to 4; and the vibration detection device is a spring vibration switch, a first end of the spring vibration switch is connected with a reset signal input end of a clock chip of a clock circuit in the target device, and a second end is grounded.

7. A computer-readable storage medium, characterized in that, The computer readable storage medium stores a computer program, and the computer program is executed by the processor to implement the steps of the device starting method according to any one of claims 1 to 4.

Citation Information

Patent Citations

  • Memory training method and system

    CN111221582A

  • Method and system for shortening startup time of server

    CN111459557A