Self-adaptive loading method for operation frequency of double-rate dynamic random access memory

By comparing memory configuration information with calibration data tables during the boot loading stage of the POS device, the operating frequency of the double-rate dynamic random access memory is automatically adjusted, which solves the performance imbalance and compatibility problems caused by the frequency differences of memory modules from different manufacturers, and realizes the maximization of storage device frequency and performance improvement.

CN120909658APending Publication Date: 2025-11-07SHANGHAI SUMI TECH CO LTD +1
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202511015491.1
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-07-23
Publication Date
2025-11-07

Smart Images

  • Figure CN120909658A_ABST
    Figure CN120909658A_ABST
Patent Text Reader

Abstract

The invention discloses a self-adaptive loading method for the operation frequency of a double-rate dynamic random storage accessor, which comprises the following steps of: S1, loading an extensible boot loader, and starting initialization of an equipment hardware environment; s2, retrieving a configuration data table, loading the configuration data table to a specific memory area to form a temporary configuration data table, and reading original memory configuration information of the device, including original memory frequency; s3, calling a memory correction configuration data table from a specified address; s4, performing configuration comparison on the original memory configuration information and the information in the memory correction configuration data table; if the configuration comparison is consistent, obtaining a correction memory frequency corresponding to the device; s5, correcting the original memory frequency in the temporary configuration data table into the corrected memory frequency; and S6, loading the corrected entry address of the temporary configuration data table through an extensible boot loader, transmitting the corrected entry address to a system kernel, and loading the corrected memory configuration information parameters into a mode register.
Need to check novelty before this filing date? Find Prior Art

Description

TECHNICAL FIELD

[0001] The present application relates to the technical field of embedded systems, in particular, to a self-adaptive loading method for the running frequency of a double data rate synchronous dynamic random access memory. BACKGROUND

[0002] Existing desktop, self-service and handheld point of sale (POS) terminal devices are usually configured with different double data rate synchronous dynamic random access memories (DDR SDRAMs), such as low power double data rate 4th generation SDRAM (LPDDR4), low power double data rate 4th generation SDRAM (LPDDR4X) and the like. Taking LPDDR4X as an example, the same POS product may be equipped with LPDDR4X of different capacities, such as 4GB and 8GB, due to customer demand or functional differences. Similarly, these double data rate synchronous dynamic random access memories may come from different suppliers or use different production processes and wafer designs. These factors will cause differences in the double data rate (DDR) running frequency of the double data rate synchronous dynamic random access memory, which is referred to as the running frequency in the present application. Assuming that two LPDDR4Xs with different running frequencies are used in the same POS, one is 1600MHz and the other is 2133MHz, even if the running frequencies both meet the standard frequency range of LPDDR4X (1600MHz-2133MHz), the operating system will still run uniformly at the lowest running frequency by default, and the performance advantage of the high-frequency memory may not be fully utilized, or even be dragged down by the low-frequency memory, resulting in unbalanced overall performance. The fixed frequency scheme cannot adapt to the parameter differences of memory modules from different manufacturers, increasing the difficulty of hardware selection and supply chain management. SUMMARY

[0003] To solve the above technical problems, the present application discloses a self-adaptive loading method for the running frequency of a double data rate synchronous dynamic random access memory, and corresponding systems and terminal devices, by comparing the original memory configuration information with the memory correction configuration data table in the boot loader stage, the original memory frequency in the temporary configuration data table is corrected to the corrected memory frequency, that is, the device running frequency can be maximized. Specifically, the technical scheme of the present application is as follows:

[0004] The first aspect discloses a method for adaptive loading of double-rate dynamic random memory access frequency, which is applicable to the system startup stage of an Android device and includes the following steps:

[0005] S1: loading an extensible bootloader to start initialization of the hardware environment of the device;

[0006] S2: retrieving a configuration data table, loading the configuration data table into a specific area of memory to form a temporary configuration data table, and reading original memory configuration information of the device, wherein the original memory frequency is included;

[0007] S3: calling a memory correction configuration data table from a specified address;

[0008] S4: comparing the original memory configuration information with the information in the memory correction configuration data table; if the comparison is consistent, obtaining the corresponding correction memory frequency of the device from the memory correction configuration data table;

[0009] S5: correcting the original memory frequency in the temporary configuration data table to the correction memory frequency;

[0010] S6: passing the entry address of the corrected temporary configuration data table to the system kernel through the extensible bootloader, and loading the corrected memory configuration information parameter into a mode register.

[0011] In some embodiments, before step S1: loading an extensible bootloader to start initialization of the hardware environment of the device, the following steps are further included:

[0012] After the device is powered on, a main bootloader is run to initialize the system environment; the main bootloader starts the double-rate dynamic random memory access according to the hardware pin state configuration.

[0013] In some embodiments, step S2: retrieving a configuration data table, loading the configuration data table into a specific area of memory to form a temporary configuration data table, and reading original memory configuration information of the device; specifically includes:

[0014] calling a first configuration data table from a storage medium of the device, checking and judging whether a configuration data table partition exists in the first configuration data table;

[0015] if the configuration data table partition exists, taking the first configuration data table as the temporary configuration data table, and loading a first configuration data table image;

[0016] If the configuration data table partition does not exist, a second configuration data table is invoked from source code of the extensible bootloader, the second configuration data table is taken as the temporary configuration data table, and the second configuration data table image is loaded.

[0017] In some embodiments, the original memory configuration information includes first configuration information and second configuration information.

[0018] In some embodiments, the step S4 of comparing the original memory configuration information with information in the memory correction configuration data table includes:

[0019] comparing the first configuration information with first related items in the memory correction configuration data table to determine whether they are consistent;

[0020] comparing the second configuration information with second related items in the memory correction configuration data table to determine whether they are consistent;

[0021] If the comparison of the first configuration information and the second configuration information is consistent, the result is that the configuration comparison is consistent; if the comparison of the first configuration information and / or the second configuration information is inconsistent, the result is that the configuration comparison is inconsistent.

[0022] In some embodiments, the step S4 of comparing the original memory configuration information with information in the memory correction configuration data table further includes:

[0023] If the configuration comparison is inconsistent, the original memory configuration information is loaded into a mode register to complete initialization.

[0024] In some embodiments, the step S5 of correcting the original memory frequency in the temporary configuration data table to the corrected memory frequency further includes:

[0025] numerical comparison of the corrected memory frequency and the original memory frequency; if the numerical comparison is inconsistent, the step S5 is performed.

[0026] In some embodiments, further comprising: if the numerical comparison is consistent, the original memory configuration information is loaded into a mode register to complete initialization.

[0027] In a second aspect, the application further discloses a system for adaptive loading of a double data rate dynamic random access memory operating frequency, including a memory, a processor, and a computer program stored on the memory, the processor executing the computer program to implement the steps of the adaptive loading method of the double data rate dynamic random access memory operating frequency as described in any of the embodiments.

[0028] In a third aspect, the present application also discloses a terminal device, which comprises the double data rate dynamic random access memory operating frequency adaptive loading system in the above-mentioned embodiments.

[0029] In a fourth aspect, the present application also discloses a computer readable storage medium, which stores a computer program, and the computer program is executed by a processor to implement the steps of the double data rate dynamic random access memory operating frequency adaptive loading method in any one of the above-mentioned embodiments.

[0030] In a fifth aspect, the present application also discloses a computer program product, which comprises a computer program, and the computer program is executed by a processor to implement the steps of the double data rate dynamic random access memory operating frequency adaptive loading method in any one of the above-mentioned embodiments.

[0031] Compared with the prior art, the present application has at least one of the following beneficial effects:

[0032] 1. The present application automatically detects the operating frequency configuration of the double data rate dynamic random access memory in the device during the device startup phase. By comparing the original memory configuration information with the memory correction configuration data table, the original memory frequency in the temporary configuration data table is corrected to the corrected memory frequency, which can maximize the operating frequency of the storage device and improve the read-write capability of the double data rate dynamic random access memory by at least 10%. The compatibility problem caused by the mismatch of the operating frequency of the double data rate dynamic random access memory is effectively avoided, and the complexity of software adaptation is reduced, thereby improving the reliability and universality of the device.

[0033] 2. The system and the terminal device disclosed by the present application can improve the memory data transmission rate to the fastest on the basis of realizing the adaptive loading of the operating frequency of the storage device, and can more efficiently process transaction data, run business software and support multitasking operation. In the application of the point-of-sale terminal device, the performance maximization of the double data rate dynamic random access memory can improve the smoothness of operations such as commodity code scanning, payment processing and inventory synchronization, and performs better in peak periods or when running complex management systems. BRIEF DESCRIPTION OF DRAWINGS

[0034] The above-mentioned features, technical characteristics, advantages and implementation modes of the present application will be further described in the following preferred embodiments in a clear and understandable manner in combination with the drawings.

[0035] Figure 1 Step flow chart of an embodiment of the double data rate dynamic random access memory operating frequency adaptive loading method of the present application;

[0036] Figure 2Step flow chart of another embodiment of the method for adaptive loading of operating frequency of a double data rate dynamic random access memory;

[0037] Figure 3 Step flow chart of another embodiment of the method for adaptive loading of operating frequency of a double data rate dynamic random access memory. DETAILED DESCRIPTION

[0038] In the following description, for purposes of explanation and not limitation, specific details are set forth, such as particular sequences of steps, techniques, etc., in order to provide a thorough understanding of the embodiments of the present application. However, it will be apparent to those skilled in the art that the present application can be practiced in other embodiments that depart from these specific details. In other instances, detailed descriptions of well-known methods, devices, and circuits are omitted so as not to obscure the description of the present application with unnecessary detail.

[0039] It is to be understood that the terminology "includes", "has", "holds", "contains" and / or "comprising", when used in this specification, including the accompanying claims, includes the presence of said feature, item, step, operation, element, and / or component but does not exclude the presence or addition of one or more other features, items, steps, operations, elements, components, and / or groups thereof.

[0040] In order to make the drawing simple, only the parts related to the application are shown in the drawings, and they do not represent the actual structure of the product. In addition, in order to make the drawing simple and easy to understand, in some drawings, only one of the components with the same structure or function is shown schematically, or only one of them is marked. In this document, "one" not only means "only this one", but also means "more than one" situation.

[0041] It should be further understood that the term "and / or" used in the specification and the appended claims means any combination of one or more of the associated listed items and all possible combinations, and includes these combinations.

[0042] In addition, in the description of the present application, the terms "first", "second", etc. are only used for differentiation of description, and cannot be understood as indicating or implying relative importance.

[0043] In order to more clearly illustrate the technical solutions in the embodiments of the present application or the prior art, the specific embodiments of the present application will be described below with reference to the drawings. Obviously, the drawings in the following description are only some embodiments of the present application, and for those skilled in the art, other drawings can be obtained from these drawings without creative labor, and other embodiments can also be obtained.

[0044] In existing Android system point-of-sale terminal devices, due to the differences in capacity and frequency of double-rate dynamic random access memories produced by different manufacturers, it is crucial to ensure that the same software version can be compatible with multiple hardware configurations, and to realize adaptive loading of the running frequency of the double-rate dynamic random access memory in the device.

[0045] In the current technical solution, a mainstream implementation is to identify the maximum running frequency of the double-rate dynamic random access memory through the Basic Input Output System (BIOS). The specific implementation is as follows:

[0046] The Basic Input Output System first performs a series of self-checking operations, such as Power-On Self-Test (POST), which includes checking the physical connection of the memory module. It will confirm whether the memory is correctly inserted into the memory slot.

[0047] There is a Serial Presence Detect (SPD) chip on each memory module, which stores basic information about the memory, such as capacity, type, working voltage, supported frequency range, timing parameters, etc. The Basic Input Output System communicates with the SPD chip through the I2C (Inter-Integrated Circuit) bus to read the stored information. These information provides the Basic Input Output System with the basic specifications and supported frequency range of the memory, which is the basis for subsequent frequency detection.

[0048] The Basic Input Output System will write a series of specific data patterns to the memory, and then read these data, and compare whether the written and read data are consistent. If the data is consistent, it means that the memory can work normally at the current frequency. If there is a data error, it indicates that the memory is unstable at the current frequency.

[0049] In addition to simple read-write tests, the Basic Input Output System may also simulate some system load conditions, such as running some basic algorithms or instruction sets, to more comprehensively test the stability of the memory under different working conditions. When the Basic Input Output System does not have errors in multiple stability tests at a certain frequency, it considers that this frequency is the frequency at which the memory can work stably. Once the maximum frequency of the memory is determined, the Basic Input Output System will record this information. In the subsequent system startup process, users can view this maximum frequency information in the Basic Input Output System settings interface, and choose to set the memory to work at this maximum frequency. Or, specify a lower frequency to work.

[0050] In the prior art solution described above, the running frequency of the double data rate dynamic random access memory at boot-up is loaded at the system Bootloader or the eXtensible Boot Loader (eXBL) dedicated to Qualcomm platforms. The embodiments of the present application are described by taking the Android software of the Qualcomm platform as an example. Since the running frequency of the double data rate dynamic random access memory at boot-up is loaded before the operating system kernel is entered, the software system is uncontrollable, resulting in that basically all Android devices on the market run the device at a fixed original memory frequency.

[0051] When the device runs at the default original memory frequency, the following defects may occur: if the default frequency is set too high and some memory modules cannot stably support the frequency, the system may run unstably, and problems such as random crashes, data errors or failure to start normally may occur. Assuming that the double data rate dynamic random access memory is taken as an example of LPDDR4X, a point-of-sale terminal device has a 3G capacity of LPDDR4X with a frequency of 1866MHz and a 4G capacity of LPDDR4X with a frequency of 2133MHz, if the software XBL sets the original memory frequency as 2133MHz to run the 3G LPDDR4X device by default, the device may have a risk of downtime.

[0052] If the default frequency is lower than the actual support capability of the memory chip, the performance of the memory cannot be fully utilized, resources are wasted, and the overall response speed and multitasking processing capability of the system are affected. For example, the minimum value of the software frequency is 1866MHz, which is set in the eXtensible Boot Loader (XBL), and after boot-up, the whole machine runs at this frequency to run the 3G capacity LPDDR4X, which can guarantee the performance of 3G, and the 4G capacity LPDDR4X can also run stably and reliably, but the lower frequency will cause the data volume of the 4G LPDDR4X to decrease, thereby affecting the performance of the double data rate dynamic random access memory of the whole machine. In addition, the fixed frequency scheme cannot adapt to the parameter differences of memory modules of different manufacturers, increasing the difficulty of hardware selection and supply chain management.

[0053] To effectively solve the above problems, the present application realizes the automatic loading and identification of the running frequency of the double data rate dynamic random access memory through the judgment of the XBL stage at boot-up. The present application can ensure that the running frequency of the double data rate dynamic random access memory of the point-of-sale terminal device can run in the best performance zone, thereby improving the performance of the device.

[0054] Reference is made to the accompanying drawings Figure 1 As shown in the drawings, one embodiment of the adaptive loading method of the running frequency of the double data rate dynamic random access memory of the present application specifically includes the following steps:

[0055] S1: load the extensible bootloader, start the initialization of the device hardware environment.

[0056] S2: retrieve the configuration data table, load the configuration data table to a specific area of the memory, form a temporary configuration data table, and read the original memory configuration information of the device, wherein the original memory frequency is included.

[0057] S3: retrieve the memory correction configuration data table from the specified address.

[0058] S4: compare the original memory configuration information with the information in the memory correction configuration data table; if the configuration comparison is consistent, obtain the corresponding correction memory frequency of the device from the memory correction configuration data table.

[0059] S5: correct the original memory frequency in the temporary configuration data table to the correction memory frequency.

[0060] S6: load the entry address of the corrected temporary configuration data table through the extensible bootloader to pass to the system kernel, and load the corrected memory configuration information parameter into the mode register.

[0061] In this embodiment, the extensible bootloader is used to initialize the hardware environment, such as double-rate dynamic random access memory, bus, clock tree, memory controller, etc.

[0062] Among them, the double-rate dynamic random access memory is preferably a random access memory (RAM). RAM is a hardware component in computers and smart devices for temporarily storing data, and belongs to volatile memory (data is lost after power off). Its core role is to provide high-speed data read-write support for the central processing unit (CPU), directly affecting the running speed and multitasking performance of the device. The mode register (MR) is a control register inside the RAM chip, used to configure the working mode of the RAM (such as timing, voltage, refresh strategy, etc.).

[0063] The configuration data table (CDT) is usually pre-set by the manufacturer. The default parameters of the memory are stored therein, including the running frequency partition of the device memory. In the embodiment of the present application, the original memory configuration information burned in the extensible bootloader is compared with the partitions in the memory correction configuration data table. The correction memory frequency corresponding to the device is obtained, and the original memory frequency provided by the temporary configuration data table is modified to the correction memory frequency. When modifying, only the frequency parameter loaded into the memory is modified, and the partitions of the temporary configuration data table are not changed.

[0064] The modified memory configuration information parameters are passed to the kernel and finally loaded into the mode register to correctly initialize the working mode of the memory. The modified extensible bootloader will no longer run at the default set original memory frequency. Instead, it runs at the correction memory frequency. Based on the embodiment, adaptive loading of the running frequency of the double data rate dynamic random access memory can be realized.

[0065] In the present application, the original memory configuration information of the device is automatically detected in the device startup phase, including the first configuration information and the second configuration information, and the system double data rate dynamic random access memory running frequency is dynamically adjusted based thereon, thereby ensuring the memory stability and performance optimization. The present scheme can effectively avoid the compatibility problem caused by the mismatch of the running frequency, and reduce the complexity of software adaptation.

[0066] In some other embodiments of the present embodiment, the extensible bootloader is also used for security verification: verifying the signature of the image in the subsequent stage to ensure compliance with the security policy of the device. The extensible bootloader is also used to decide whether to load the Android bootloader (ABL) or directly load the operating system kernel according to the device configuration. The ABL is specific to the Android ecosystem and is responsible for the connection with the Android system. In some non-Android devices (such as Linux embedded systems), the extensible bootloader may directly load the operating system kernel, skipping the Android bootloader.

[0067] On the basis of the above-mentioned embodiments, another embodiment of the adaptive loading method of the running frequency of the double data rate dynamic random access memory is disclosed. Before the step S100 of loading the extensible bootloader XBL, the following steps are further included:

[0068] S010, after the device is powered on, running the main bootloader to initialize the system environment; the main bootloader starts the double data rate dynamic random access memory according to the hardware pin state configuration.

[0069] Specifically, the primary boot loader (PBL) is the first code that runs after a device is powered on. It is used to initialize the most basic environment of the system, such as the central processing unit core, clock, simple input and output control, etc. The primary boot loader determines which memory device to load the next stage of the extensible bootloader from by reading the hardware pin state (Boot GPIO) configuration. The selectable memory devices are, for example, embedded MultiMediaCard (eMMC), Universal Flash Storage (UFS), Secure Digital Card (SD card).

[0070] Based on the adaptive loading method of the double-rate dynamic random memory access device operating frequency, different manufacturers and different specifications of memory modules can be automatically adapted. By reading the SPD information and matching the optimal frequency when the device is powered on, the compatibility problem when mixed memory is used is effectively solved, and the difficulty of hardware supply chain management is greatly reduced.

[0071] Another embodiment of the adaptive loading method of the double-rate dynamic random memory access device operating frequency is provided. Based on any one of the above embodiments, step S2: retrieving a configuration data table, loading the configuration data table to a specific area of the memory to form a temporary configuration data table, and reading the original memory configuration information of the device; specifically includes:

[0072] S21: retrieving a first configuration data table from the device storage medium, checking and determining whether there is a configuration data table partition in the first configuration data table;

[0073] S22: If the configuration data table partition exists, the first configuration data table is used as the temporary configuration data table, and the first configuration data table image is loaded;

[0074] S23: If the configuration data table partition does not exist, a second configuration data table is retrieved from the source code of the extensible bootloader, the second configuration data table is used as the temporary configuration data table, and the second configuration data table image is loaded.

[0075] In the embodiment, the configuration data table partition is checked from the specified address of the device storage medium eMMC / UFS, and if the first configuration data table partition is found, the extensible bootloader will load the first configuration data table image. In the device startup process, eMMC (embedded MultiMediaCard) / UFS (Universal Flash Storage) is a hardware storage medium for storing the configuration data table partition and other system partitions, and belongs to the non-volatile memory of the device.

[0076] If the first configuration data table partition is not found, the extensible bootloader will load the default second configuration data table, i.e. the quota CDT table, from the self-image file (xbl.elf), which is defined as the config_data_table[] array in the code.

[0077] The core function of the configuration data table partition is to serve as a hardware configuration database, which is a hardware identity card in the boot stage.

[0078] The configuration data table partition stores the list of hardware parameters of the device, including the storage type of the double-rate dynamic random access memory, such as LPDDR4X / LPDDR5, the frequency, the timing, the screen parameters such as the resolution, the vendor ID, the camera sensor model, the radio frequency calibration data (RF Calibration), and the chipset compatibility identifier such as the chip ID of SM6225.

[0079] The bootloader reads the configuration data table partition first when starting. According to the detailed configuration parameters stored therein, the key hardware initialization process is completed. The system will accurately configure the operating frequency and working voltage of the double-rate dynamic random access memory according to the data in the configuration data table, ensuring the stable operation of the memory subsystem; at the same time, the device drivers completely matched with the current hardware, such as display drivers and other key components, are loaded; and the system compatibility is ensured by verifying the hardware identifier information, which can effectively prevent the device from being bricked due to incorrect flashing or firmware mismatch.

[0080] In some other embodiments, the loading of the first or second configuration data table image specifically includes reading the data of the first or second configuration data table into the memory and parsing and applying it to the device hardware by the extensible bootloader.

[0081] Specifically, the loading of the configuration data table image (Load CDT Image) refers to the process of reading the configuration data table data stored in the independent partition of the device into the memory and parsing it. The extensible bootloader loads the configuration data table image before the hardware initialization, reads the configuration data from the configuration data table partition, and writes it into the corresponding hardware register, such as the mode register.

[0082] The application provides another embodiment of the adaptive loading method of the running frequency of the double-rate dynamic random memory access device, and the original memory configuration information comprises first configuration information and second configuration information on the basis of any one of the above embodiments.

[0083] In some embodiments, the step S4 of comparing the original memory configuration information with the information in the memory correction configuration data table comprises the following steps.

[0084] The first configuration information is compared with the first related item in the memory correction configuration data table to determine whether they are consistent.

[0085] The second configuration information is compared with the second related item in the memory correction configuration data table to determine whether they are consistent.

[0086] If the comparison of the first configuration information and the second configuration information is consistent, the result is that the comparison is consistent; if the comparison of the first configuration information and / or the second configuration information is inconsistent, the result is that the comparison is inconsistent.

[0087] In another embodiment, the first configuration information and the second configuration information are the manufacturing identification and wafer information of the device memory respectively.

[0088] In the embodiment, the original memory configuration information of the device is compared with the partition in the configuration data table, which comprises the following steps: the manufacturing identification of the device is compared with the first related item in the memory correction configuration data table to determine whether there is a consistent item; and the wafer information of the device is compared with the second related item in the memory correction configuration data table to determine whether there is a consistent item.

[0089] The related item is an item related to the manufacturing identification (Manufacture ID) or the wafer information (die information) in the memory correction configuration data table.

[0090] Another embodiment of the adaptive loading method of the running frequency of the double-rate dynamic random memory access device provided by the application comprises the following steps: the original memory configuration information is compared with the information in the memory correction configuration data table in step S4; and then, if the comparison is consistent, the correction memory frequency corresponding to the device is obtained from the memory correction configuration data table in step S41.

[0091] The correction memory frequency is used to correct the original memory frequency in the temporary configuration data table. If it is confirmed that the comparison is consistent, the steps S5 and S6 are then continued.

[0092] Another embodiment of the method for adaptive loading of the operating frequency of the double data rate dynamic random access memory is provided in the present application, and step S4 is: comparing the original memory configuration information with the information in the memory correction configuration data table; and then S42 is: if the comparison is inconsistent, loading the original memory configuration information into the mode register to complete the initialization.

[0093] In some embodiments, the method for adaptive loading of the operating frequency of the double data rate dynamic random access memory is provided in the present application, and step S4 is: comparing the original memory configuration information with the information in the memory correction configuration data table; and then S42 is: if the comparison is inconsistent, loading the original memory configuration information into the mode register to complete the initialization. Figure 2 The flow of the method for adaptive loading of the operating frequency of the double data rate dynamic random access memory is shown in the present embodiment, and the steps are as follows: when the extensible bootloader is executed, the original memory configuration information of the device is read, and whether the manufacturing identification is consistent is identified. If consistent, whether the wafer capacity information is consistent is identified. If both the manufacturing identification and the wafer capacity information are consistent, it is confirmed that the comparison is consistent.

[0094] If either of the manufacturing identification and the wafer capacity information is inconsistent, the initialization is ended, and the next flow is stopped.

[0095] Another embodiment of the method for adaptive loading of the operating frequency of the double data rate dynamic random access memory is provided in the present application, and step S5 specifically includes: comparing the value of the corrected memory frequency with the value of the original memory frequency.

[0096] In some embodiments, step S5 includes S51: if the value comparison is inconsistent, correcting the value of the original memory frequency in the temporary configuration data table to the value of the corrected memory frequency.

[0097] In some embodiments, step S5 includes S52: if the value comparison is consistent, loading the original memory configuration information into the mode register to complete the initialization.

[0098] In some embodiments, the method for adaptive loading of the operating frequency of the double data rate dynamic random access memory is provided in the present application, and step S4 is: comparing the original memory configuration information with the information in the memory correction configuration data table; and then S42 is: if the comparison is inconsistent, loading the original memory configuration information into the mode register to complete the initialization. Figure 3 In the present embodiment, the value comparison is added after confirming that the comparison is consistent and before executing the correction of the original memory frequency. Whether the value of the corrected memory frequency is consistent with the value of the original memory frequency is compared. If the comparison is inconsistent, the correction is needed. The device is operated at the value of the corrected memory frequency after the correction.

[0099] If the value comparison is consistent, it indicates that the value of the original memory frequency is the same as the value of the corrected memory frequency by default. That is, the optimal operating frequency of the double data rate dynamic random access memory is the value of the original memory frequency by default. In this case, the value of the original memory frequency does not need to be modified. The original memory configuration information is loaded into the mode register, and the initialization is completed.

[0100] Another embodiment of the application discloses a method for adaptive loading of the operating frequency of a DDR memory. The method is described with reference to a Qualcomm Android system. The boot-up process of an Android device software is as follows: the device starts with the Qualcomm Android system primary bootloader (PBL), which is responsible for the first operation after power-up, including initialization of the system security environment, selection of the next stage bootloader (XBL) according to the configuration of the system boot general input / output pin (Boot GPIO), and loading of the device.

[0101] XBL stage: XBL is loaded and run, further initializing the hardware environment, such as initialization of the bus, DDR memory, and clock, and starting the key components. It also includes security verification: XBL performs security verification to ensure the integrity and security of the subsequent boot image. For example, the integrity and signature of XBL are verified (through a hardware root of trust, such as RoT) to ensure that it has not been tampered with. After security verification, XBL loads and boots the Android-specific bootloader (ABL) or directly loads the Linux kernel into memory.

[0102] In the boot-up process of a mobile device or embedded system, PBL, XBL, and ABL are bootloaders at different stages, which perform tasks such as hardware initialization, security verification, and system loading in strict order.

[0103] The idea adopted by the application is as follows: in the Bootloader stage, according to the order of software loading and the information of the DDR memory supplier, the loading is compared and judged to identify the accurate DDR memory type, thereby realizing adaptive loading of the operating frequency of the DDR memory.

[0104] By adding the information of the manufacturing identification and wafer information in the bootloader, adaptive loading of the operating frequency of the known DDR memory can be achieved, and the corresponding timing is loaded.

[0105] The adaptive loading process of the operating frequency and how to take effect in the Kernel stage are as follows:

[0106] S1, check the partition of the configuration data table from eMMC / UFS. If the target partition of the configuration data table is found, load the configuration data table image through the extensible bootloader XBL. If the target partition of the configuration data table is not found, load the default configuration data table.

[0107] S2, obtaining the manufacturing identification of the device burned in the extensible bootloader and the wafer information. And confirming the corrected memory frequency of the device, modifying the original memory frequency extracted from the configuration data table to the corrected memory frequency. When modifying, only the parameters loaded into the memory are modified, and the configuration data table partition is not changed.

[0108] S3, loading the data table header and searching for a compatible data table entry.

[0109] S4, passing the data table entry address including the corrected memory frequency parameter to the system kernel and loading it into the memory.

[0110] Based on the same concept, the application also discloses a double-rate dynamic random storage access frequency adaptive loading system, including a memory, a processor, and a computer program stored on the memory, the processor executes the computer program to realize the steps of the double-rate dynamic random storage access frequency adaptive loading method described in any of the above embodiments.

[0111] In addition, the application also discloses a point-of-sale terminal device, the terminal device includes the double-rate dynamic random storage access frequency adaptive loading system described in the above embodiments.

[0112] In the embodiments of the application, a point-of-sale terminal device is based on an Android system, which is an intelligent device for completing commodity or service transactions. Through the technical scheme of the double-rate dynamic random storage access frequency adaptive loading method of the application, the running frequency of the known double-rate dynamic random storage access can be adaptively loaded, and the performance of the double-rate dynamic random storage access can be maximized through the application.

[0113] Through relevant tests by the technical personnel of the application, the following tests were conducted on two groups of terminal devices of the same model when the double-rate dynamic random storage access of the devices was limited and not limited, respectively.

[0114] The double-rate dynamic random storage access of the first group of devices was limited, that is, in the case of using the default original memory frequency in the prior art, the memory performance data were 7544, 7765, 7613, 7422, 7481, and 7565, respectively. The double-rate dynamic random storage access of the second group of devices was not limited, that is, in the case of the adaptive loading of the running frequency of the application, the memory performance data were 8243, 8303, 8312, 8267, 8234, and 8272, respectively. Comparing the two groups of data, it can be seen that the memory performance using the method of the application is improved by 10% to 15% compared with the prior art.

[0115] The operation frequency parameter of the double rate dynamic random access memory of the terminal device directly affects the operation speed and response performance of the device. The higher the operation frequency of the double rate dynamic random access memory, the faster the memory data transmission rate, and the more efficient the transaction data processing, business software running and multi-task operation can be. In the point-of-sale terminal device application, the maximum operation frequency of the double rate dynamic random access memory can improve the smoothness of operations such as commodity code scanning, payment processing and inventory synchronization, especially when running complex management systems during peak periods.

[0116] Based on the same concept, the application further discloses a computer readable storage medium, which stores a computer program, and the computer program realizes the steps of the adaptive loading method of the double rate dynamic random access memory operation frequency when executed by a processor.

[0117] Based on the same concept, the application further discloses a computer program product, which includes a computer program, and the computer program realizes the steps of the adaptive loading method of the double rate dynamic random access memory operation frequency when executed by a processor.

[0118] The adaptive loading method of the double rate dynamic random access memory operation frequency of the application, and the corresponding system, terminal device, readable storage medium and computer program product have the same technical concept, and the technical details of the embodiments of the above content can be mutually applicable. In order to reduce repetition, this time will not be repeated.

[0119] Those skilled in the art can clearly understand that, for the convenience and brevity of description, only the division of the above program modules is exemplified, and in actual application, the above functions can be completed by different program modules according to needs, that is, the internal structure of the device is divided into different program units or modules to complete all or part of the functions described above. Each program module in the embodiment can be integrated in one processing unit, or each unit can be physically present alone, or two or more units can be integrated in one processing unit. The above integrated units can be realized in the form of hardware or software program units. In addition, the specific name of each program module is only for easy distinction, and does not limit the protection scope of the application.

[0120] Although the preferred embodiments of the application have been described, those skilled in the art can make additional changes and modifications to the embodiments once they know the basic creative concept. Therefore, the appended claims are intended to be interpreted as including the preferred embodiments and all changes and modifications falling within the scope of the application.

Claims

1. A method for adaptive loading of double data rate dynamic random access memory (DDR DRAM) operating frequency, applicable to the system startup phase of an Android device, characterized in that, The method comprises the following steps: S1: loading an extensible bootloader to start initialization of a hardware environment of a device; S2: retrieving a configuration data table, loading the configuration data table into a specific area of memory to form a temporary configuration data table, and reading original memory configuration information of the device, wherein the original memory configuration information comprises an original memory frequency; S3: calling a memory correction configuration data table from a specified address; S4: comparing the original memory configuration information with information in the memory correction configuration data table; if the comparison is consistent, obtaining a correction memory frequency corresponding to the device from the memory correction configuration data table; S5: correcting the original memory frequency in the temporary configuration data table to the correction memory frequency; S6: passing an entry address of the corrected temporary configuration data table to a system kernel through the extensible bootloader, and loading the corrected memory configuration information parameter into a mode register.

2. The method of claim 1, wherein the method is performed in a double data rate (DDR) dynamic random access memory (DRAM) device. Before step S1: loading an extensible bootloader to start initialization of a hardware environment of a device, the method further comprises: running a main bootloader after the device is powered on to initialize a system environment; the main bootloader starts a double-rate dynamic random access memory according to a hardware pin state configuration.

3. The method of claim 1, wherein the method is applied to a double data rate random access memory (DDR RAM) device. Step S2: retrieving a configuration data table, loading the configuration data table into a specific area of memory to form a temporary configuration data table, and reading original memory configuration information of the device; specifically comprising: calling a first configuration data table from a storage medium of the device, checking and judging whether a configuration data table partition exists in the first configuration data table; if the configuration data table partition exists, loading the first configuration data table as the temporary configuration data table, and loading a first configuration data table image; if the configuration data table partition does not exist, calling a second configuration data table from a source code of the extensible bootloader, loading the second configuration data table as the temporary configuration data table, and loading a second configuration data table image.

4. The method of claim 1, wherein the method is applied to a double data rate random access memory (DDR RAM) device. The original memory configuration information comprises first configuration information and second configuration information.

5. The method of claim 4, wherein the step of determining the operating frequency of the DRAM is performed by a frequency detection circuit. Step S4: comparing the original memory configuration information with information in the memory correction configuration data table; specifically comprising: comparing the first configuration information with a first related item in the memory correction configuration data table to determine whether they are consistent; comparing the second configuration information with a second related item in the memory correction configuration data table to determine whether they are consistent; if the comparison of the first configuration information and the second configuration information is consistent, the result is that the comparison is consistent; if the comparison of the first configuration information and / or the second configuration information is inconsistent, the result is that the comparison is inconsistent.

6. The method of claim 5, wherein the step of determining the operating frequency of the DRAM is performed by a frequency detection circuit. Step S4: comparing the original memory configuration information with information in the memory correction configuration data table; further comprising: if the comparison is inconsistent, loading the original memory configuration information into a mode register to complete initialization.

7. The method of claim 1, wherein the method is performed in a double data rate random access memory device. Step S5: correcting the original memory frequency in the temporary configuration data table to the correction memory frequency; further comprising: before step S5: correcting the original memory frequency in the temporary configuration data table to the correction memory frequency, the method further comprises: The corrected memory frequency is compared with the original memory frequency; if the comparison is inconsistent, step S5 is performed.

8. The method of claim 7, wherein the step of determining the operating frequency of the DRAM is performed by a frequency detection circuit. Also included are: If the comparison is consistent, the original memory configuration information is loaded into the mode register, and initialization is completed.

9. A system for adaptive loading of double data rate random access memory operating frequency, comprising a memory, a processor and a computer program stored on the memory, characterized in that, The processor executes the computer program to implement the steps of the adaptive loading method of the double-rate dynamic random memory access frequency according to any one of claims 1-8.

10. A point-of-sale terminal device, characterized by The point-of-sale terminal includes the adaptive loading system of the double-rate dynamic random memory access frequency according to claim 9.