Time sequence calibration parameter determination method, time sequence calibration method, time sequence calibration device and electronic equipment

By constructing a three-dimensional calibration model to determine calibration parameters, the problem of data sampling errors caused by temperature and voltage fluctuations in solid-state storage was solved, and the reliability of timing calibration and the accuracy of data sampling were achieved in a real-world environment.

CN121905256APending Publication Date: 2026-04-21HANGZHOU HIKSTORAGE TECHNOLOGY CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202511984171.7
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-12-25
Publication Date
2026-04-21

AI Technical Summary

Technical Problem

In solid-state storage technology, interference such as temperature changes and voltage fluctuations can cause the clock edge triggering of DQS-based data signal sampling to fail to occur in the center of the effective window, resulting in data sampling errors.

Method used

By constructing a three-dimensional calibration model, the parameter combination at the center of the largest unit cube containing successfully time-calibrated units is determined as the calibration parameters. These parameters are used for time-calibration under the master parameters to ensure the reliability of time-calibration in real-world environments.

Benefits of technology

It improves the reliability of timing calibration in real-world environments, ensures that data sampling is performed in the center of the effective window of the data signal, and reduces data errors.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN121905256A_ABST
    Figure CN121905256A_ABST
Patent Text Reader

Abstract

The embodiment of the invention provides a time sequence calibration parameter determination method, a time sequence calibration method, a time sequence calibration device and electronic equipment, and relates to the technical field of solid-state storage. The time sequence calibration parameter determination method comprises the following steps: acquiring a test result of a time sequence mode calibration test between a master control and a storage particle by using the same test data under each parameter combination; for each group of main parameters, constructing a three-dimensional calibration model corresponding to the group of main parameters based on a test result of a target parameter combination containing the group of main parameters; from the three-dimensional calibration model, a cube with the maximum volume is determined, and attribute values of included unit cubes all represent that time sequence calibration succeeds, and the cube serves as an alternative cube; and on the basis of the determined target parameter combination corresponding to the unit cube at the central position of the alternative cube, obtaining a calibration parameter for time sequence calibration under the group of main parameters. In this way, the reliability of the determined calibration parameters for time sequence calibration under the group of main parameters can be improved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of solid-state storage technology, and in particular to a method for determining timing calibration parameters, a timing calibration method, an apparatus, and an electronic device. Background Technology

[0002] In the field of solid-state storage technology, non-volatile memory (NDRAM) can be used to store data. NDRAM includes storage chips for storing data and a controller for controlling the reading and writing of data within the storage chips. Data reading and writing can be performed between the controller and the storage chips based on the DQ (Data Queue) data line and the DQS (Data Quiet Stroke) signal. The DQ data line is used to transmit data signals; the clock edge of the DQS is used to trigger sampling of the aforementioned data signals to obtain the data to be read or written. Examples of NDRAM include NAND Flash memory and hard disk drives.

[0003] Due to interference from factors such as temperature variations and voltage fluctuations in real-world scenarios, sampling of the aforementioned data signal triggered by the clock edge of a DQS-based system may not occur at the center of the signal's valid window, potentially leading to erroneous data. Therefore, to improve the accuracy of the sampled data, timing calibration based on calibration parameters is necessary to ensure that sampling occurs at the center of the signal's valid window when the sampling operation is triggered. Consequently, determining reliable calibration parameters becomes a critical technical problem that needs to be solved. Summary of the Invention

[0004] The purpose of this application is to provide a method for determining timing calibration parameters, a timing calibration method, an apparatus, and an electronic device, so as to improve the reliability of the determined calibration parameters for timing calibration under a set of main parameters. The specific technical solution is as follows:

[0005] In a first aspect of this application, a method for determining timing calibration parameters is provided. The method includes: acquiring test results of timing mode calibration tests performed between a controller and a memory chip using the same test data under various parameter combinations; wherein any parameter combination includes a set of primary parameters and a corresponding set of secondary parameters, the set of primary parameters including parameter values ​​of two dimensions in each specified dimension; each set of secondary parameters including parameter values ​​of other dimensions in each specified dimension besides the corresponding primary parameters; each specified dimension including: signal frequency, drive capability, data strobe signal write operation delay DQSout delay, data strobe signal read operation delay DQS in delay, and data queue read operation delay DQ indelay; For any two sets of secondary parameters corresponding to a set of primary parameters, there must be at least one dimension where the parameter values ​​differ; For each set of primary parameters, based on the test results of the target parameter combination containing that set of primary parameters, a three-dimensional calibration model corresponding to that set of primary parameters is constructed; wherein, the three coordinate axes of the three-dimensional calibration model are the dimensions to which the parameter values ​​contained in the secondary parameters corresponding to that set of primary parameters belong; the three-dimensional calibration model contains unit cubes corresponding to each target parameter combination; the attribute value of the unit cube corresponding to a target parameter combination characterizes whether the test result of that target parameter combination is a successful time-series calibration; from the three-dimensional calibration model, the cube with the largest volume and whose attribute values ​​all characterize successful time-series calibration is determined as a candidate cube; based on the target parameter combination corresponding to the unit cube at the center position of the determined candidate cube, calibration parameters for time-series calibration under that set of primary parameters are obtained.

[0006] In a second aspect of this application, a timing calibration method is provided. The method includes: acquiring a set of master parameters used by a memory when reading and writing data, as target master parameters; acquiring a parameter combination for timing calibration under the target master parameters; wherein the parameter combination for timing calibration under the set of master parameters is: a target parameter combination obtained based on any of the timing calibration parameter determination methods described in the first aspect; and using the acquired parameter combination to perform timing calibration on the process of reading and writing data in the memory.

[0007] In a third aspect of this application, a timing calibration parameter determination apparatus is provided, the apparatus comprising:

[0008] The testing module is used to acquire the test results of timing mode calibration tests between the controller and memory chips using the same test data under various parameter combinations. Each parameter combination includes a set of primary parameters and a corresponding set of secondary parameters. The primary parameters include parameter values ​​for two dimensions in each specified dimension. Each set of secondary parameters includes parameter values ​​for the other dimensions in each specified dimension, excluding the corresponding primary parameters. Each specified dimension includes: signal frequency, drive capability, data strobe signal write operation delay (DQS out delay), data strobe signal read operation delay (DQS in delay), and data queue read operation delay (DQ in delay). At least one dimension of the parameter values ​​differs between any two sets of secondary parameters corresponding to a set of primary parameters.

[0009] A construction module is used to construct a three-dimensional calibration model corresponding to each set of main parameters based on the test results of the target parameter combinations containing that set of main parameters. The three coordinate axes of the three-dimensional calibration model represent the dimensions of the parameter values ​​contained in the secondary parameters corresponding to that set of main parameters. The three-dimensional calibration model contains a unit cube corresponding to each target parameter combination. The attribute value of the unit cube corresponding to a target parameter combination characterizes whether the test result of that target parameter combination indicates successful time-series calibration.

[0010] The determination module is used to determine, from the three-dimensional calibration model, the cube with the largest volume and whose attribute values ​​of all contained unit cubes represent successful time-series calibration, as a candidate cube;

[0011] The parameter acquisition module is used to obtain calibration parameters for timing calibration under the determined set of main parameters, based on the target parameter combination corresponding to the unit cube at the center position of the candidate cube.

[0012] In a fourth aspect of this application, a timing calibration apparatus is provided, the apparatus comprising:

[0013] The first acquisition module is used to acquire a set of main parameters used by the memory when reading and writing data, as the target main parameters;

[0014] The second acquisition module is used to acquire a parameter combination for timing calibration under the target master parameters; wherein, the parameter combination for timing calibration under a set of master parameters is: a target parameter combination obtained based on any of the timing calibration parameter determination methods described in the first aspect above.

[0015] The calibration module is used to perform timing calibration on the process of reading and writing data in the memory using the acquired parameter combination.

[0016] In a fifth aspect of the embodiments of this application, an electronic device is provided, comprising: a memory for storing a computer program; and a processor for executing the program stored in the memory to implement the timing calibration parameter determination method described in any of the first aspects above, or the timing calibration method described in the second aspect above.

[0017] In a sixth aspect of the embodiments of this application, a computer-readable storage medium is provided, wherein a computer program is stored therein, and when the computer program is executed by a processor, it implements the timing calibration parameter determination method described in any of the first aspects above, or the timing calibration method described in the second aspect above.

[0018] This application also provides a computer program product containing instructions that, when run on a computer, cause the computer to execute the timing calibration parameter determination method described in any of the first aspects above, or the timing calibration method described in the second aspect above.

[0019] Beneficial effects of the embodiments in this application:

[0020] Based on the timing calibration parameter determination method provided in this application, for each set of principal parameters, a three-dimensional calibration model corresponding to that set of principal parameters can be constructed based on the test results of the target parameter combination containing that set of principal parameters. That is, one set of principal parameters corresponds to one three-dimensional calibration model. A three-dimensional calibration model includes a unit cube corresponding to a parameter combination, which includes: the parameter values ​​in two dimensions of the principal parameters corresponding to the three-dimensional calibration model, and the parameter values ​​in three dimensions of the secondary parameters indicated by the position of the unit cube in the three-dimensional calibration model. The attribute values ​​of a unit cube can characterize whether the test result of the parameter combination corresponding to the unit cube indicates successful timing calibration, i.e., whether timing calibration can be successfully performed based on the parameter combination corresponding to the unit cube. For each set of principal parameters, a unit cube representing successful timing calibration (hereinafter referred to as the first cube) is determined from the three-dimensional calibration model corresponding to that set of principal parameters. That is, the coordinate values ​​of the unit cube on the three coordinate axes of the three-dimensional calibration model are determined, resulting in a set of secondary parameters under that set of principal parameters that can be successfully used for timing calibration. The set of main parameters includes the parameter values, and the set of secondary parameters consists of the parameter values. These are the calibration parameters that allow for successful timing calibration under this set of main parameters.

[0021] Because the environment in which timing calibration parameters are determined (hereinafter referred to as the parameter determination environment) differs from the environment in which data is read and written between the controller and storage particles in a real-world scenario (hereinafter referred to as the actual read / write environment), a parameter combination may correspond to a single unit cube in the parameter determination environment, but after the environment changes to the actual read / write environment, this parameter combination may correspond to other unit cubes surrounding that unit cube. Therefore, to increase the probability of successful timing calibration of the determined parameter combination in the actual read / write environment, for each set of master parameters, a candidate cube containing only the first cube and having the largest volume is selected from the 3D calibration model corresponding to that set of master parameters. All other unit cubes surrounding the unit cube at the center of the candidate cube are considered first cubes, and the number of first cubes surrounding this unit cube is the largest. For the parameter combination corresponding to this unit cube, the probability of this parameter combination corresponding to the first cube is high after the environment changes to the actual read / write environment. That is, under the interference present in the real-world scenario, the probability of successful timing calibration based on this parameter combination is high. Therefore, using the combination of target parameters corresponding to the unit cube at the center of the candidate cube as calibration parameters for time-series calibration under a set of principal parameters corresponding to the three-dimensional calibration model can improve the reliability of the determined calibration parameters for time-series calibration under a set of principal parameters.

[0022] Of course, implementing any product or method of this application does not necessarily require achieving all of the advantages described above at the same time. Attached Figure Description

[0023] To more clearly illustrate the technical solutions in the embodiments of this application or the prior art, the drawings used in the description of the embodiments or the prior art will be briefly introduced below. Obviously, the drawings described below are only some embodiments of this application. For those skilled in the art, other embodiments can be obtained based on these drawings.

[0024] Figure 1(a) is a schematic diagram of a read operation timing error;

[0025] Figure 1(b) is a schematic diagram of a read operation timing calibration;

[0026] Figure 2(a) is a schematic diagram of a write operation timing error;

[0027] Figure 2(b) is a schematic diagram of a write operation timing calibration;

[0028] Figure 3 A flowchart of a timing calibration parameter determination method provided in an embodiment of this application;

[0029] Figure 4A schematic diagram of a DQ in delay-assisted read operation timing calibration provided in an embodiment of this application;

[0030] Figure 5 A flowchart of a timing calibration method provided in an embodiment of this application;

[0031] Figure 6 A structural diagram of the timing calibration parameter determination device provided in the embodiments of this application;

[0032] Figure 7 A structural diagram of a timing calibration device provided in an embodiment of this application;

[0033] Figure 8 This is a structural diagram of an electronic device provided in an embodiment of this application. Detailed Implementation

[0034] The technical solutions of the embodiments of this application will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of this application, and not all embodiments. Based on the embodiments of this application, all other embodiments obtained by those skilled in the art based on this application are within the scope of protection of this application.

[0035] In the field of solid-state storage technology, non-volatile memory (NQM) can be used to store data. NQM includes memory chips and a controller. When the NQM is NAND Flash, the controller can also be called a NAND Flash controller or Flash Controller. Data reading and writing between the controller and the memory chips can be performed based on the DQ data line and DQS (also known as the clock signal). The DQ data line is used for bidirectional data signal transmission between the controller and the memory chips; in practical scenarios, the DQ data line can also be called a bidirectional data signal line. The DQ data line can also be used to transmit signals other than data signals, such as read / write command signals and address signals for reading / writing data. The data signal transmitted through the DQ data line can also be simply referred to as the DQ signal. The clock edge of DQS is used to trigger sampling of the DQ signal to obtain the data to be read or written. This process can be called synchronous data sampling during read / write operations.

[0036] Currently, various types of non-volatile memories exist, and these different types differ. This necessitates the controller adjusting parameter values ​​across different dimensions to ensure the stability of the DQ signal, thereby enabling data reading and writing across different memory chips. In real-world scenarios, memories may face conditions such as high temperatures, low temperatures, and voltage fluctuations (hereinafter collectively referred to as environmental interference). Under such environmental interference, the controller's internal OSC (Oscillator) may experience frequency drift or signal timing skew. This can cause sampling of the DQ signal based on the DQS clock edge triggering to fail to occur at the center of the effective window of the DQ signal (which can be called the flat portion, or the DQ center), potentially resulting in erroneous sampled data. This inability to sample at the DQ center when the DQ signal is triggered by the DQS clock edge can be termed a timing error.

[0037] To improve the accuracy of sampled data, specifically to ensure accurate data latching and output even in complex environments with interference, it is necessary to use Timing Mode Calibration (TMC) testing (also known as timing calibration testing) to find a set of robust timing calibration parameters. This ensures that even with temperature variations and supply voltage fluctuations, sampling of the DQ signal triggered by the DQS clock edge can still occur at the center of the DQ signal, maintaining reliable data read / write performance. The process of maintaining reliable data read / write performance through timing calibration parameters can be called timing alignment. In the case of NAND Flash memory, timing calibration using the parameters determined by TMC testing can be termed TMC-based optimization of the signal timing between the controller and the NAND Flash.

[0038] TMC testing can include read operation timing alignment for read operations and write operation timing alignment for write operations.

[0039] During a read operation, the memory chip sends the DQ signal and DQS signal to the controller. The controller samples the DQ signal based on the DQS signal sent by the memory chip. Due to external factors such as PCB (Printed Circuit Board) trace delays and load effects, the DQ signal and DQS arrive at the controller at inconsistent times, i.e., the aforementioned timing error. In the case of a timing error, the controller samples the DQ signal before it has stabilized or when it is about to change, which will lead to errors in the read data and generate bit errors.

[0040] TMC testing allows the acquisition of parameter values ​​for the DQS in Delay dimension. After the controller reads the DQS sampling edge, it waits for the duration specified by the DQS in Delay parameter value before triggering sampling of the DQ signal. This ensures that when the DQ signal is sampled based on the DQS clock edge, sampling occurs at the center of the DQ signal. This process can be simply referred to as read operation timing calibration, which involves adjusting the DQS in Delay parameter value within the controller to artificially delay the DQS signal sampling time, thus realigning it with the DQ center.

[0041] As shown in Figure 1(a), Figure 1(a) is a schematic diagram of a timing error in a read operation. In Figure 1(a), the sampling edge of the DQS (data strobe signal) (i.e., the aforementioned clock edge) includes a rising edge and a falling edge; the sampling edge is located at the edge of the data signal transmission on the DQ data line (i.e., at the DQ change edge), rather than within the valid data range of the DQ signal (i.e., the aforementioned DQ center); the data signal within the valid data range can be referred to as the data signal in a stable DQ state. At this time, the timing error in the read operation, based on the sampling edge triggering the sampling of the above data signal, does not occur when the DQ is stable, resulting in bit errors.

[0042] Based on Figure 1(a), refer to Figure 1(b), which is a schematic diagram of read operation timing calibration. In Figure 1(b), the DQS without read operation timing calibration can be referred to as the original signal; the clock edge of the original signal is at the edge of the change of the above data signal, which can be referred to as off-center; the sampling edges (including rising and falling edges) of the delayed DQS are aligned with the center of DQ. At this time, the timing of the read operation has been calibrated, the read operation timing is correct, and when the sampling of the above data signal is triggered based on the sampling edge, sampling can be performed when DQ is stable, and the correct data can be obtained.

[0043] During a write operation, the controller sends the DQ signal and DQS signal to the memory chip. The memory chip samples the DQ signal based on the DQS signal sent by the controller. Similarly, due to the difference in the transmission paths of the DQ signal and DQS (i.e., the aforementioned PCB trace delay), timing errors may occur. If the memory chip latches data at the wrong time, this will also cause errors in the data written to the memory chip.

[0044] TMC testing allows the acquisition of the DQS out Delay parameter value. When the controller sends a DQS signal to the memory chip, it can either send the DQS signal at the DQS out Delay parameter value before sending the DQ signal, or send the DQS signal after sending the DQ signal at the DQS out Delay parameter value. This ensures that the clock edge of the adjusted DQS signal is re-aligned with the DQ center; this process can be simply referred to as write operation timing calibration.

[0045] As shown in Figure 2(a), this diagram illustrates a possible timing error in a write operation. In Figure 2(a), the sampling edges from the master controller's DQS include both rising and falling edges; these sampling edges occur at the DQ change edge, rather than within the valid data range of the master controller's DQ signal. In this case, the timing error in the read operation occurs because, when sampling the aforementioned data signal is triggered by the sampling edge, sampling cannot be performed under stable DQ conditions, resulting in incorrect sampled data.

[0046] Based on Figure 2(a), refer to Figure 2(b), which is a schematic diagram of write operation timing calibration. In Figure 2(b), the DQS without read operation timing calibration can be called the DQS (original output); the clock edge of the DQS (original output) is off-center; the DQS after timing calibration can be called the DQS (adjusted output time); the sampling edges (including rising and falling edges) of the DQS (adjusted output time) are aligned with the center of the DQ. At this time, the timing of the write operation has been calibrated, the write operation timing is correct, and when the memory chip triggers sampling of the above data signal based on the sampling edge, sampling can be performed when the DQ is stable, and the correct data can be sampled.

[0047] It is evident that in the field of solid-state storage technology, the accuracy of timing alignment between DQS and DQ signals is closely related to the accuracy of the sampled data; and the accuracy of timing calibration parameters (including the parameter values ​​of DQS in Delay dimension and DQS outDelay dimension mentioned above) directly affects whether DQS and DQ signals can be accurately aligned in timing.

[0048] When searching for parameter values ​​in the DQS in Delay and DQS out Delay dimensions based on TMC testing, the typical approach is to fix some parameter values ​​and then adjust the others. For example, first determine the parameter values ​​for the DQS in Delay dimension, and then search for the parameter values ​​for the DQS out Delay dimension used for timing calibration. The determined parameter values ​​for the DQS in Delay dimension and the searched parameter values ​​for the DQS out Delay dimension are the timing calibration parameters used for timing alignment (which can be called the optimal solution). Searching for the optimal solution in this way is prone to getting stuck in local optima, leading to insufficient timing margins when performing timing calibration based on the optimal solution. Furthermore, under the interference of temperature changes, voltage fluctuations, etc., in real-world environments, the accuracy of timing calibration based on the optimal solution obtained in this way is not high, meaning the reliability of the optimal solution obtained in this way is also low.

[0049] To determine highly reliable timing calibration parameters, this application provides a method for determining timing calibration parameters. This method is applied to a parameter determination device, such as a server. The server can determine the calibration parameters used for timing calibration under each set of master parameters according to the timing calibration parameter determination method provided in this application. During the timing calibration process of reading and writing data to the memory, the device used for timing calibration (which can be called a calibration device) can obtain the calibration parameters used for timing calibration under each set of master parameters from the server. Then, it searches for calibration parameters from the obtained calibration parameters that include the parameter values ​​contained in the master parameters used by the memory when reading and writing data. Then, it uses the found calibration parameters to perform timing calibration to sample accurate data.

[0050] See Figure 3 , Figure 3 A flowchart of a timing calibration parameter determination method provided in this application embodiment, the method may include the following steps:

[0051] S301: Obtain the test results of timing mode calibration tests performed between the controller and memory chips under different parameter combinations using the same test data.

[0052] Each parameter combination includes a set of master parameters and a corresponding set of slave parameters. The set of master parameters includes parameter values ​​for two dimensions in each specified dimension. Each set of slave parameters includes parameter values ​​for the other dimensions in each specified dimension besides the corresponding master parameters. Each specified dimension includes: signal frequency, drive capability, DQS out delay, DQS in delay, and DQin delay. There is at least one dimension with different parameter values ​​between any two sets of slave parameters corresponding to a set of master parameters.

[0053] S302: For each set of principal parameters, construct a three-dimensional calibration model corresponding to the set of principal parameters based on the test results of the target parameter combination containing the set of principal parameters.

[0054] The three coordinate axes of the 3D calibration model represent the dimensions of the parameter values ​​contained in the slave parameters corresponding to the master parameters. The 3D calibration model contains the unit cube corresponding to each combination of target parameters. The attribute value of the unit cube corresponding to a combination of target parameters indicates whether the test result of the combination of target parameters is a successful time-series calibration.

[0055] S303: From the 3D calibration model, identify the cube with the largest volume and whose attribute values ​​all represent successful time-series calibration as the candidate cube.

[0056] S304: Based on the target parameter combination corresponding to the unit cube at the center position of the determined candidate cube, obtain the calibration parameters used for timing calibration under this set of main parameters.

[0057] Based on the above processing, for each set of principal parameters, a 3D calibration model corresponding to that set of principal parameters can be constructed based on the test results of the target parameter combination containing that set of principal parameters. That is, one set of principal parameters corresponds to one 3D calibration model. A 3D calibration model includes a unit cube corresponding to a parameter combination, which includes: the parameter values ​​in two dimensions of the principal parameters corresponding to the 3D calibration model, and the parameter values ​​in three dimensions of the secondary parameters indicated by the position of the unit cube in the 3D calibration model. The attribute values ​​of a unit cube can characterize whether the test result of the parameter combination corresponding to the unit cube indicates successful time-series calibration, i.e., whether time-series calibration can be successfully performed based on the parameter combination corresponding to the unit cube. For each set of principal parameters, a unit cube representing successful time-series calibration (hereinafter referred to as the first cube) is determined from the 3D calibration model corresponding to that set of principal parameters. That is, the coordinate values ​​of the unit cube on the three coordinate axes of the 3D calibration model are determined, resulting in a set of secondary parameters under that set of principal parameters that can be successfully time-series calibrated. The set of main parameters includes the parameter values, and the set of secondary parameters consists of the parameter values. These are the calibration parameters that allow for successful timing calibration under this set of main parameters.

[0058] Because the environment in which timing calibration parameters are determined (hereinafter referred to as the parameter determination environment) differs from the environment in which data is read and written between the controller and storage particles in a real-world scenario (hereinafter referred to as the actual read / write environment), a parameter combination may correspond to a single unit cube in the parameter determination environment, but after the environment changes to the actual read / write environment, this parameter combination may correspond to other unit cubes surrounding that unit cube. Therefore, to increase the probability of successful timing calibration of the determined parameter combination in the actual read / write environment, for each set of master parameters, a candidate cube containing only the first cube and having the largest volume is selected from the 3D calibration model corresponding to that set of master parameters. All other unit cubes surrounding the unit cube at the center of the candidate cube are considered first cubes, and the number of first cubes surrounding this unit cube is the largest. For the parameter combination corresponding to this unit cube, the probability of this parameter combination corresponding to the first cube is high after the environment changes to the actual read / write environment. That is, under the interference present in the real-world scenario, the probability of successful timing calibration based on this parameter combination is high. Therefore, using the combination of target parameters corresponding to the unit cube at the center of the candidate cube as calibration parameters for time-series calibration under a set of principal parameters corresponding to the three-dimensional calibration model can improve the reliability of the determined calibration parameters for time-series calibration under a set of principal parameters.

[0059] Regarding step S301, the parameter combination in this application includes parameter values ​​in the following five dimensions: signal frequency, drive capability, DQS out delay, DQS in delay, and DQ in delay.

[0060] The signal frequency includes the frequency of the data signal transmitted via the DQ data line (hereinafter referred to as the DQ signal) and the frequency of the DQS. In practical scenarios, a reference clock signal can be generated by one or more crystal oscillators (i.e., the aforementioned OSC) integrated in the main controller. By adjusting the reference clock signal based on frequency division or multiplication mechanisms, clock signals of different frequencies (which can be called clock domains) can be obtained. Different timing sequences can be controlled through different clock domains. Correspondingly, the signal frequency can be adjusted by switching the clock domain during data transmission. The signal frequency can be 800MHz, 1600MHz, 3200MHz, etc., and this application does not limit it. In practical scenarios, multiple different signal frequencies can be preset for technicians to choose from. The multiple preset signal frequencies available for technicians to choose from correspond one-to-one with multiple parameter values ​​in the signal frequency dimension.

[0061] The higher the signal frequency, the higher the efficiency of the main controller in reading and writing data in the memory chip, that is, the higher the data transmission rate. However, the narrower the effective window of the DQ signal, the higher the probability of errors when reading and writing data, that is, the lower the probability of correctly latching and outputting data.

[0062] Drive capability refers to the ability of the clock output pin of a device that generates DQS and DQ signals to absorb or supply current. In the read operation described above, the device acts as a memory chip; in the write operation, the device acts as the main controller. A device can have multiple transistors. By switching the number of transistors connected in the device's circuitry, the drive capability can be switched. In practical scenarios, different numbers of transistors connected in the circuitry can be preset to set various drive capabilities for technicians to choose from. For example, the device can be preset with eight drive capability levels, from low to high; level 0 corresponds to no transistors being used, and level 7 corresponds to using all transistors. The preset drive capabilities of the device correspond one-to-one with multiple parameter values ​​in the drive capability dimension.

[0063] Higher drive capability of a device results in higher power consumption, but also better signal quality, interference immunity, and stability of the output DQS and DQ signals. Conversely, lower drive capability reduces power consumption, but correspondingly, the clock edge slope of the output DQS and DQ signals decreases. At higher signal frequencies, this can lead to reduced signal integrity of the DQS and DQ signals and increase the likelihood of noise and bit errors.

[0064] DQS out delay is the delay at which the controller sends the DQS signal to the memory chip during a write operation. DQS in delay is the delay at which the controller triggers the sampling operation of the DQ signal after receiving the DQS clock edge during a read operation. DQ indelay is the delay at which the memory chip sends the DQ signal to the controller during a read operation. These three delays can be adjusted using delay devices. For example, delay devices can include an even number of inverters. By inverting the signal an even number of times using an even number of inverters, the signal transmission time can be delayed while keeping the signal unchanged. In practical scenarios, different numbers of inverters can be preset to set multiple delay levels for technicians to choose from. For example, 64 delay levels can be preset in ascending order of delay; level 0 corresponds to no inverters (no delay), level 63 corresponds to using all selectable inverters (the longest delay), such as 3ns. For any of the dimensions of DQS out delay, DQS in delay, and DQ in delay, there are multiple delay levels that can be selected by technicians under the pre-set dimensions, which correspond one-to-one with multiple parameter values ​​of the dimension.

[0065] Each parameter combination includes parameter values ​​across the five dimensions mentioned above. These five dimensions can be categorized into primary parameters and secondary parameters. A primary parameter can contain parameter values ​​from any two of the five dimensions; correspondingly, secondary parameters are the parameter values ​​from the remaining three dimensions. Furthermore, between any two sets of secondary parameters corresponding to a set of primary parameters, at least one dimension's parameter value must differ. For example, a set of primary parameters may contain parameter values ​​belonging to the aforementioned signal frequency and drive capability; correspondingly, the secondary parameters corresponding to this set of primary parameters may contain parameter values ​​belonging to the aforementioned DQS outdelay, DQS in delay, and DQ in delay. Alternatively, a set of primary parameters may contain parameter values ​​belonging to the aforementioned signal frequency and DQS out delay; correspondingly, the secondary parameters corresponding to this set of primary parameters may contain parameter values ​​belonging to the aforementioned drive capability, DQS in delay, and DQ in delay. In practical scenarios, the dimensions of the primary and secondary parameter values ​​may exceed these limits, and this application does not impose any restrictions on this. For ease of description, this application will use the parameter values ​​of the aforementioned signal frequency and driving capability as the main parameters, and the parameter values ​​of the aforementioned DQS out delay, DQS in delay, and DQ in delay as examples for explanation.

[0066] Based on the aforementioned parameter values ​​in the DQ in delay dimension, the DQ signal generated by the memory chip is delayed, thereby adjusting the sampling time of the DQ signal by the main controller. This adjusts the timing relationship between the clock edge of DQS and the DQ signal, ensuring that the clock edge of DQS is aligned with the center of DQ. Since read operations are prone to errors due to environmental interference in real-world scenarios, this application introduces parameter values ​​in the DQ in delay dimension to perform timing calibration for read operations. The parameter values ​​in the DQ in delay dimension can serve as auxiliary parameters to the parameter values ​​in the DQS in delay dimension. If timing calibration cannot be achieved based solely on the parameter values ​​in the DQS in delay dimension, the newly introduced parameter values ​​in the DQ in delay dimension can further adjust the sampling time of the DQ signal by the main controller, thus performing timing calibration. This dual calibration, using parameter values ​​in both dimensions, ensures that the clock edge of DQS is aligned with the center of DQ.

[0067] For example, taking the aforementioned NAND Flash memory as an example, such as Figure 4 As shown, Figure 4This is a schematic diagram illustrating a DQ-in-delay-assisted read operation timing calibration provided in an embodiment of this application. The NAND Flash memory chip generates and sends the DQ signal and DQS to the controller based on parameter values ​​in the DQS-in-delay dimension. That is, DQ (from NAND) and DQS (delayed). The sampling edge of the (delayed) DQS is approximately aligned with the center of the DQ, meaning timing calibration cannot be completed based on parameter values ​​in the DQS-in-delay dimension. However, if the DQ (from NAND) is delayed based on parameter values ​​in the DQ-in-delay dimension, resulting in a (delayed) DQ, the valid data range of the (delayed) DQ will also be delayed compared to the valid data range of the DQ (from NAND). Figure 4 If the clock edge of DQ (after delay) is aligned with the center of the valid data range of DQ (after delay), then the clock edge of DQS (already delayed) can be aligned with the center, thus achieving further precise alignment. In this way, the controller can sample data when DQ is stable, obtaining the correct data.

[0068] In practical scenarios, multiple parallel DQ data lines can be included, which transmit data signals in parallel. For example, there can be 8 parallel DQ data lines, which can be denoted as DQ[7:0] or DQ0 to DQ7. Through these 8 parallel DQ data lines, 8 bits of data can be sampled based on one clock edge of DQS, that is, 1 byte of data is transmitted at a time. In practical scenarios, there can be 16 parallel DQ data lines, which can be denoted as DQ[15:0] or DQ0 to DQ15. Through these 16 parallel DQ data lines, 16 bits of data can be sampled based on one clock edge of DQS, that is, 2 bytes of data are transmitted at a time. The number of DQ data lines in practical scenarios is not limited to this, and this application does not limit it.

[0069] In real-world scenarios involving multiple parallel DQ data lines, to reduce the probability of data errors, these multiple parallel DQ data lines can be delayed based on the same parameter value in the DQ in delay dimension.

[0070] For each parameter combination, the parameter determination device can perform TMC testing between the controller and the memory chip using the same test data under that parameter combination. The test data includes multiple bits, and this application does not limit the specific content or acquisition method of the test data. Based on TMC testing, the aim is to ensure accurate data transmission and reception between the Data Buffer and the memory chip's cache when the memory's operating temperature and voltage are within a specified range. This allows sampling of the DQ signal triggered by the DQS clock edge to occur in the center of the effective window of the DQ signal during actual data reading and writing, ensuring that the DQS clock edge is aligned with the central stable region of the DQ signal (i.e., the aforementioned DQ center). The specified temperature range can be the range of temperatures that the memory may have under normal operating conditions in a real-world scenario; the specified voltage range can be the range of voltages that the memory may have under normal operating conditions in a real-world scenario.

[0071] Specifically, taking the aforementioned NAND Flash memory and FCL (Flash Control Level) controller as an example: When the memory's operating temperature and voltage are within a specified range, the frequencies of the DQ and DQS signals are the parameter values ​​for the signal frequency dimension of the parameter combination, and the device's drive capability is the parameter value for the drive capability dimension of the parameter combination, a write operation is performed first. The FCL generates and sends a DQ signal to the memory chip, and generates and sends a DQS signal to the memory chip based on the parameter value for the DQS out delay dimension of the parameter combination. Under the control of the FCL, data is first written to the data buffer, and then transmitted to the cache of the NAND Flash memory chip via the DQ data line. Then, a read operation is performed. The memory chip generates and sends a DQS signal to the FCL based on the parameter value for the DQS in delay dimension, and generates and sends a DQ signal to the FCL based on the parameter value for the DQ in delay dimension. The FCL then reads the data back from the memory chip's cache to the data buffer.

[0072] In one approach, after data is stored in the cache of the storage chip, the data stored in the cache can be encoded; after being stored in the storage chip through an actual disk write operation, a read operation is then performed. By reducing the difference between the TMC testing process and the actual data read / write process in real-world scenarios, the reliability of the calibration parameters determined through TMC testing when performing timing calibration in real-world scenarios can be improved.

[0073] In another approach, data can be stored in the cache of the storage granules before read operations can be performed, eliminating the need for the actual disk write operation mentioned above, which can improve TMC testing efficiency.

[0074] If the data read back to the data buffer differs from any bit in the aforementioned test data, indicating an error during data read / write, it means that under the timing calibration with this parameter combination, the DQS clock edge is still not aligned with the DQ center, and the test result for this parameter combination is timing calibration failure. If the data read back to the data buffer does not differ from the aforementioned test data, indicating no error during data read / write, it means that under the timing calibration with this parameter combination, the DQS clock edge is aligned with the DQ center, and the test result for this parameter combination is timing calibration success.

[0075] For each parameter combination, the same test data can be used to perform TMC testing between the controller and the storage chip in the manner described above to obtain the timing calibration result corresponding to that parameter combination.

[0076] Regarding step S302, for each set of principal parameters, the dimensions to which the parameter values ​​of the three secondary parameters corresponding to that set of principal parameters belong can be used as the three coordinate axes of the three-dimensional calibration model. For example, if the dimensions to which the parameter values ​​of the set of principal parameters belong include signal frequency and driving capability, DQS out delay can be used as the first coordinate axis of the three-dimensional calibration model, DQS in delay as the second coordinate axis, and DQ in delay as the third coordinate axis; or, DQS in delay can be used as the first coordinate axis, DQS outdelay as the second coordinate axis, and DQ in delay as the third coordinate axis. In actual scenarios, the correspondence between coordinate axes and the dimensions of secondary parameters is not limited to this, and this application does not impose this limitation.

[0077] Each set of secondary parameters corresponding to this set of primary parameters corresponds to a unit cube in the 3D calibration model; the test result of the target parameter combination composed of the parameter values ​​contained in this set of primary parameters and the parameter values ​​contained in this set of secondary parameters is the attribute value of the unit cube.

[0078] Based on the aforementioned example, when DQS out delay, DQS in delay, and DQ in delay all include 64 types of delay, the three-dimensional calibration model corresponding to a set of master parameters includes 64×64×64 unit cubes; when the driving capability includes 8 levels and the signal frequency includes 8 types, there are a total of 8×8 sets of master parameters.

[0079] Thus, for each set of principal parameters, a corresponding 3D calibration model is constructed; this 3D calibration model comprises multiple unit cubes. The parameter set consisting of the coordinates of a unit cube on the three axes of the 3D calibration model is the set of parameter values ​​contained in the secondary parameters corresponding to this set of principal parameters; the target parameter combination consisting of the parameter values ​​contained in this set of principal parameters and the parameter values ​​contained in this set of secondary parameters is the target parameter combination corresponding to this unit cube; the attribute values ​​of this unit cube, which are the test results of the corresponding target parameter combination, can characterize whether the clock edge of the DQS is aligned with the DQ center under timing calibration of this target parameter combination, i.e., whether the timing calibration is successful.

[0080] For steps S303 and S304, the 3D calibration model includes: a unit cube representing a successful time-series calibration of the corresponding target parameter combination (hereinafter referred to as the first cube), and a unit cube representing a failed time-series calibration of the corresponding target parameter combination (hereinafter referred to as the second cube). The volume of a unit cube can be represented as 1. In the 3D calibration model, multiple first cubes can be combined to form a larger cube, in which each unit cube is a first cube (hereinafter referred to as the third cube). In real-world scenarios, the 3D calibration model may include multiple third cubes, and the volumes and shapes of these multiple third cubes may also be different.

[0081] Since a parameter combination corresponds to a unit cube in the parameter determination environment, but may correspond to other unit cubes around that unit cube after the environment changes to the actual read / write environment, if the unit cube corresponding to the target parameter combination is still the first cube in the actual read / write environment, it means that the target parameter combination can still successfully perform timing calibration under the interference present in the actual scenario. Therefore, the parameter determination device can determine the largest third cube from among the third cubes included in the 3D calibration model as a candidate cube. This application only provides an example of one process for determining the largest third cube, but in actual scenarios, there are more ways to determine the largest third cube than this, and this application does not limit it.

[0082] The parameter determination device determines the candidate cube, that is, determines the position of the candidate cube in the 3D calibration model; the center position of the candidate cube can be calculated by the coordinates of the three non-coplanar vertices of the candidate cube; the target parameter combination corresponding to the unit cube to which the center position belongs is the target parameter combination with a high probability of successful timing calibration under the interference present in the actual scene.

[0083] In this way, the parameter determination device identifies the calibration parameters with a high probability of accurate timing calibration under this set of main parameters. For each set of main parameters, the parameter determination device can obtain the calibration parameters with a high probability of accurate timing calibration under this set of main parameters according to the above steps S302-S304. Subsequently, when the calibration device performs timing calibration on the process of reading and writing data in the memory, it can first obtain the main parameters used by the memory when reading and writing data (i.e., the target main parameters in the following embodiments), and find the calibration parameters that can perform accurate timing calibration under the target main parameters; then, it uses the found calibration parameters to perform timing calibration on the process of reading and writing data in the memory, which can reduce the probability of bit errors during the process of reading and writing data in the memory and improve the accuracy of the read and written data.

[0084] In some embodiments, the parameter values ​​of a set of main parameters belong to the dimensions of signal frequency and driving capability; the parameter values ​​of the corresponding secondary parameters belong to the dimensions of DQS out delay, DQS in delay, and DQ in delay.

[0085] In this embodiment, a technician can determine the required parameter values ​​for the signal frequency dimension and the drive capability dimension based on the data transmission rate (which may be called throughput), the accuracy of the sampled data (which may be called the reliability of the calibration parameters to be determined), and the power consumption required in the actual scenario. Then, using the required parameter values ​​for the signal frequency dimension and the drive capability dimension as the main parameters, and following the timing calibration parameter determination method provided in this application, the calibration parameters used for timing calibration under this set of main parameters are determined; that is, the calibration parameters for accurate timing calibration in this actual scenario are determined. This satisfies the needs of the actual scenario.

[0086] In some embodiments, the aforementioned step S303 may include the following steps:

[0087] Step A1: Divide the three-dimensional calibration model to obtain multiple two-dimensional calibration models.

[0088] In a two-dimensional calibration model, each unit cube corresponds to the same coordinate value on the first coordinate axis of the three-dimensional calibration model.

[0089] Step A2: For each obtained two-dimensional calibration model, determine the other two-dimensional calibration models located in the first direction of the first coordinate axis that precede the two-dimensional calibration model, and use them as the preprocessing models corresponding to the two-dimensional calibration model.

[0090] Step A3: For each unit cube in the two-dimensional calibration model, determine the queue of all unit cubes corresponding to the position of the unit cube in the two-dimensional calibration model and the corresponding preprocessing model, according to the order of the coordinate values ​​on the first coordinate axis.

[0091] Step A4: Take the number of unit cubes included in the longest target subqueue in the determined queue as the quantity corresponding to that unit cube, and obtain the first matrix containing the quantity corresponding to each unit cube.

[0092] The target subqueue contains the unit cube, and the attribute value of each unit cube indicates that the timing calibration was successful.

[0093] Step A5: Enumerate the matrices containing at least one row of the first matrix corresponding to the two-dimensional calibration model to obtain multiple second matrices.

[0094] In the case where a second matrix comprises multiple rows, those rows are adjacent in the corresponding first matrix.

[0095] Step A6: For each second matrix corresponding to the two-dimensional calibration model, determine the minimum value in each column of the second matrix to obtain the first vector corresponding to the second matrix.

[0096] Step A7: Using the obtained second matrices and corresponding first vectors, determine the cube with the largest volume and whose attribute values ​​all represent successful time-series calibration from the three-dimensional calibration model, and use it as a candidate cube.

[0097] In this embodiment of the application, the parameter determination device divides the three-dimensional calibration model to obtain multiple two-dimensional calibration models. Each two-dimensional calibration model includes multiple unit cubes, and the multiple unit cubes correspond to the same coordinate value (hereinafter referred to as the first coordinate value) on the first coordinate axis of the three-dimensional calibration model.

[0098] For example, for ease of description, the three-dimensional calibration model can be represented using a three-dimensional array. Specifically, if a unit cube in the three-dimensional calibration model is the first cube, the element in the three-dimensional array at the same position as that unit cube in the three-dimensional calibration model can be marked as 1; otherwise, the element at that position is marked as 0. Thus, the above three-dimensional calibration model is represented using a three-dimensional array A[K][I][J] storing 0s and 1s; K corresponds to the aforementioned first coordinate axis, I corresponds to the aforementioned second coordinate axis, and J corresponds to the aforementioned third coordinate axis.

[0099] Taking a 3×3×3 three-dimensional calibration model as an example, dividing the three-dimensional calibration model yields three two-dimensional calibration models, each consisting of nine unit cubes. These three two-dimensional calibration models can be represented using a two-dimensional array. A two-dimensional array consists of three rows of elements, with each row containing three columns, totaling nine elements. These nine elements correspond one-to-one with the nine unit cubes in the two-dimensional calibration model corresponding to that two-dimensional array.

[0100] This can be represented as: K=1 (which can be called layer 1), corresponding to a two-dimensional array. (This can be called array 1); K=2 (can be called layer 2), corresponding to a two-dimensional array. (This can be called array 2); K=3 (can be called layer 3), corresponding to a two-dimensional array. (This can be called array 3).

[0101] The arrays 1, 2, and 3 described above represent two-dimensional calibration models using two-dimensional arrays. The value of K corresponding to an array represents the first coordinate value of each unit cube included in the two-dimensional calibration model corresponding to that array.

[0102] Furthermore, for each obtained two-dimensional calibration model, the parameter determining device can identify other two-dimensional calibration models located ahead of the current two-dimensional calibration model along the first direction of the first coordinate axis. These other two-dimensional calibration models have first coordinate values ​​that are greater than or less than the first coordinate value of the current two-dimensional calibration model. These models are then used as preprocessing models corresponding to the current two-dimensional calibration model. The relationship between the first coordinate values ​​of the other two-dimensional calibration models and the current two-dimensional calibration model is determined based on the first direction. For example, if the first direction is the positive direction of the first coordinate axis, the first coordinate values ​​of the other two-dimensional calibration models are less than the first coordinate value of the current two-dimensional calibration model; if the first direction is the negative direction of the first coordinate axis, the first coordinate values ​​of the other two-dimensional calibration models are greater than the first coordinate value of the current two-dimensional calibration model.

[0103] For example, based on the aforementioned example, when the first direction is the positive direction of the first coordinate axis, since there is no array in which the value of K is less than the value of K corresponding to array 1, the two-dimensional calibration model corresponding to array 1 (hereinafter referred to as two-dimensional calibration model 1) does not have a corresponding preprocessing model; since the value of K corresponding to array 1 is less than the value of K corresponding to array 2, two-dimensional calibration model 1 is the preprocessing model of the two-dimensional calibration model corresponding to array 2 (hereinafter referred to as two-dimensional calibration model 2); since the values ​​of K corresponding to array 1 and K corresponding to array 2 are both less than the value of K corresponding to array 3, two-dimensional calibration model 1 and two-dimensional calibration model 2 are the preprocessing models of the two-dimensional calibration model corresponding to array 3 (hereinafter referred to as two-dimensional calibration model 3).

[0104] Thus, the two-dimensional calibration model and its corresponding preprocessing model can be sorted according to the magnitude of their corresponding first coordinate values. For each unit cube in the two-dimensional calibration model, based on its position within the model (which can be called its two-dimensional position), the unit cube at that position can be determined from both the calibration model and the preprocessing model. The determined unit cubes form a queue; the unit cubes in this queue are also sorted according to the magnitude of their corresponding first coordinate values.

[0105] The queue identified for this unit cube may include the aforementioned first cube or the aforementioned second cube. In order to identify the cubes whose attribute values ​​all represent successful timing calibration, i.e., to identify the cubes that contain only the first cube, the parameter determination device counts the longest possible length of the target sub-queue that contains the unit cube and only the first cube, i.e., the maximum number of first cubes that can be included, as the corresponding number of unit cubes.

[0106] If the unit cube itself is the second cube, the corresponding quantity of the unit cube is 0. If the unit cube itself is the first cube, the parameter determining device can first set the preset quantity to 1, and then determine whether the unit cube preceding the current unit cube in the queue is the first cube; if the preceding unit cube is the first cube, the parameter determining device increments the preset quantity by 1, that is, sets the preset quantity to 2, and then continues to determine whether the preceding unit cube is the first cube; this process is repeated until the second cube is determined. The preset quantity at this point is the number of unit cubes included in the longest target sub-queue, which is also the corresponding quantity of the current unit cube.

[0107] Thus, for each two-dimensional calibration model, the first matrix corresponding to that two-dimensional calibration model is obtained. The first matrix includes the number of each unit cube in the two-dimensional calibration model.

[0108] For example, based on the aforementioned example, for array 1, since there is no corresponding preprocessing model for two-dimensional calibration model 1, the first matrix corresponding to two-dimensional calibration model 1 (hereinafter referred to as first matrix 1) is array 1.

[0109] For array 2, since 2D calibration model 1 is a preprocessed model of 2D calibration model 2, the process of obtaining the first matrix (hereinafter referred to as first matrix 2) corresponding to 2D calibration model 2 can be transformed at the array level as follows: For each element of array 2, if the element is 0, determine that the element at that position in first matrix 2 is 0; if the element is 1, determine the number of consecutive 1s at that position in both array 1 and array 2, and use this number as the element at that position in first matrix 2. For example, if the element in the first row and first column of array 2 is 1, since the element in the first row and first column of array 1 is also 1, meaning the number of consecutive 1s in the first row and first column is 2, then the element in the first row and first column of first matrix 2 is 2. If the element in the first row and third column of array 2 is 1, since the element in the first row and third column of array 1 is 0, meaning the number of consecutive 1s in the first row and third column is 1, then the element in the first row and third column of first matrix 2 is 1. The method for determining the elements at other positions in first matrix 2 is similar to the above method and will not be elaborated here. Thus, we can obtain the first matrix corresponding to the two-dimensional calibration model 2 (which can be denoted as the first matrix 2), and the first matrix 2 is: .

[0110] For array 3, since both 2D calibration model 1 and 2D calibration model 2 are preprocessed models of 2D calibration model 3, the process of obtaining the first matrix (hereinafter referred to as first matrix 3) corresponding to 2D calibration model 3 can be transformed at the array level as follows: For each element of array 3, if the element is 0, determine that the element at the position of that element in the first matrix 3 is 0; if the element is 1, determine the number of consecutive 1s at the position of that element in array 1, array 2, and array 3, and use this number as the element at the position of that element in the first matrix 3. For example, if the element in the first row and first column of array 3 is 0, then the element in the first row and first column of the first matrix 3 is 0. If the element in the first row and second column of array 3 is 1, since the elements in the first row and second column of array 1 and array 2 are both 1, that is, the number of consecutive 1s in the first row and second column is 3, then the element in the first row and second column of the first matrix 3 is 3. The element in the first row and third column of array 3 is 1. Since the element in the first row and third column of array 2 is 1, and the element in the first row and third column of array 1 is 0, the number of consecutive 1s in the first row and third column is 2. Therefore, the element in the first row and third column of the first matrix 3 is 2. The determination of the elements in other positions of the first matrix 3 is similar to the above method and will not be repeated here. Thus, the first matrix corresponding to the two-dimensional calibration model 3 (which can be denoted as the first matrix 3) can be obtained. The first matrix 3 is... .

[0111] For each two-dimensional calibration model, the parameter determination device can enumerate the matrix containing at least one row of the first matrix corresponding to the two-dimensional calibration model to obtain multiple second matrices. If a second matrix contains multiple rows, these rows are adjacent in the corresponding first matrix. That is, by extracting one row from the first matrix in all possible ways, or by extracting adjacent rows from the first matrix, multiple second matrices are obtained. Rows I1 to I2 in the first matrix can be called the row range [I1, I2]. For each second matrix corresponding to the two-dimensional calibration model, the minimum value in each column of the second matrix is ​​determined to obtain the first vector of the second matrix (which can be denoted as col_min).

[0112] For example, based on the foregoing example, taking the first matrix 3 as an example, by enumerating the matrices in at least one row of the first matrix 3, the following second matrices can be obtained:

[0113] Extract the row range [0,0] of the first matrix 3 to obtain the second matrix (which can be denoted as the second matrix 1). The second matrix 1 is... Since the second matrix 1 contains only one row, the first vector of the second matrix 1 (which can be denoted as the first vector 1) is the second matrix 1 itself.

[0114] Extracting the row range [0,1] of the first matrix 3 yields the second matrix (which can be denoted as the second matrix 2). The second matrix 2 is... Determine the minimum value in each column of the second matrix 2 to obtain the first vector (which can be denoted as first vector 2). First vector 2 is... .

[0115] Extract the row range [0,2] of the first matrix 3, that is, extract each row included in the first matrix 3. The aforementioned first matrix 3 can be used as the second matrix (which can be denoted as the second matrix 3). Determine the minimum value in each column of the second matrix 3 to obtain the first vector (which can be denoted as the first vector 3). The first vector 3 is... .

[0116] Extracting the row range [1,1] of the first matrix 3 yields the second matrix (which can be denoted as the second matrix 4). The second matrix 4 is... Since the second matrix 4 contains only one row, the first vector of the second matrix 4 (which can be denoted as the first vector 4) is the second matrix 4 itself.

[0117] Extracting the row range [1,2] of the first matrix 3 yields the second matrix (which can be denoted as the second matrix 5). The second matrix 5 is... Determine the minimum value in each column of the second matrix 5 to obtain the first vector (which can be denoted as the first vector 5). The first vector 5 is... .

[0118] Extracting the row range [2,2] of the first matrix 3 yields the second matrix (which can be denoted as the second matrix 6). The second matrix 6 is... Since the second matrix 6 contains only one row, the first vector of the second matrix 6 (which can be denoted as the first vector 6) is the second matrix 6 itself.

[0119] Using the obtained second matrix and first vector, a candidate cube with the largest volume that contains only the first cube can be identified from the 3D calibration model. This application only provides an example of one method for determining candidate cubes; however, in real-world scenarios, there are other ways to determine candidate cubes, and this application does not limit this approach.

[0120] Based on the above processing, by abstracting the specific problem of determining accurate timing calibration parameters into array processing, accurate timing calibration parameters can be determined mathematically. Furthermore, given the ability to determine accurate timing calibration parameters mathematically, the calibration parameters used for timing calibration under each set of master parameters are determined through iteration, improving the accuracy of the determined calibration parameters under each set of master parameters.

[0121] In some embodiments, step A7 may include the following steps:

[0122] Step B1: For each first vector, enumerate the vectors that contain at least one element of the first vector to obtain multiple second vectors.

[0123] In the case where a second vector includes multiple elements, these multiple elements are adjacent in the corresponding first vector.

[0124] Step B2: For each second vector, calculate the product of the number of elements in the second vector, the minimum value of the elements in the second vector, and the number of rows in the second matrix corresponding to the second vector, to obtain the volume of the cube indicated by the second vector.

[0125] Step B3: From all the obtained second vectors, determine the second vector that indicates the largest volume of the cube, and use it as the third vector.

[0126] Step B4: For each determined third vector, determine the first interval corresponding to that third vector.

[0127] Wherein, one endpoint of the first interval is: the position of the unit cube corresponding to the first matrix used to obtain the third vector on the first coordinate axis; the other endpoint is: the position along the opposite direction of the first direction, the distance between the endpoint and the target distance is the minimum value of the elements in the third vector.

[0128] Step B5: Determine the second interval corresponding to the third vector.

[0129] One endpoint of the second interval is the position of the unit cube in the first matrix to which the third vector belongs, located on the second coordinate axis of the 3D calibration model; the other endpoint is the position of the unit cube in the first matrix to which the third vector belongs, located on the second coordinate axis.

[0130] Step B6: Determine the third interval corresponding to the third vector.

[0131] One endpoint of the third interval is the position on the third coordinate axis of the 3D calibration model of the unit cube corresponding to the column of the first element of the third vector in the first vector used to obtain the third vector. The other endpoint of the third interval is the position on the third coordinate axis of the unit cube corresponding to the column of the last element of the third vector in the first vector used to obtain the third vector.

[0132] Step B7: From the 3D calibration model, determine a cube with the endpoints of the first interval, the second interval, and the third interval corresponding to the third vector as its boundaries, as a candidate cube.

[0133] In this embodiment, for each of the aforementioned first vectors, the parameter determining device can enumerate vectors containing at least one element of the first vector to obtain multiple second vectors. When a second vector contains multiple elements, these elements are adjacent in the corresponding first vector. That is, by extracting one element or adjacent elements from the first vector in all possible ways, multiple second vectors are obtained. The second vector consisting of the Lth to Rth elements of the first vector can be called the interval [L, R]; the number of elements included in the second vector, i.e., the length of the interval [L, R], can be denoted as R-L+1. The minimum value of an element in a second vector, i.e., the minimum value within the interval [L, R], can be denoted as min_value.

[0134] For example, based on the foregoing example, with the first vector 3 For example, by enumerating at least one element in the first vector 3, we can obtain the following second vectors:

[0135] Extract the interval [0,0] of the first vector 3 to obtain the second vector (which can be denoted as the second vector 1). The second vector 1 is... .

[0136] Extract the interval [0,1] of the first vector 3 to obtain the second vector (which can be denoted as the second vector 2). The second vector 2 is... .

[0137] Extract the interval [0,2] of the first vector 3 to obtain the second vector (which can be denoted as the second vector 3). The second vector 3 is... That is, the first vector 3 itself.

[0138] Extracting the interval [1,1] from the first vector 3, we obtain the second vector (which can be denoted as the second vector 4). The second vector 4 is... .

[0139] Extracting the interval [1,2] from the first vector 3, we obtain the second vector (which can be denoted as the second vector 5). The second vector 5 is... .

[0140] Extract the interval [2,2] of the first vector 3 to obtain the second vector (which can be denoted as the second vector 6). The second vector 6 is... .

[0141] For each second vector, the parameter determining device can calculate the product of the number of elements in the second vector, the minimum value of the elements in the second vector, and the number of rows in the second matrix corresponding to the second vector, to obtain the volume of the large cube indicated by the second vector, in which each unit cube is a first cube. For example, the parameter determining device can calculate the volume of the cube indicated by the second vector based on the following formula (1):

[0142] V=(R-L+1)×min_value×depth; (1)

[0143] Where V represents the volume of the cube indicated by the second vector; R-L+1 represents the number of elements in the second vector; min_value represents the minimum value of the elements in the second vector; and depth represents the number of rows in the second matrix corresponding to the first vector to which the second vector belongs.

[0144] For each first vector, the parameter determination device can enumerate vectors containing at least one element of the first vector in the manner described above, obtaining multiple second vectors corresponding to the first vector. The second vectors corresponding to each first vector constitute all the obtained second vectors. Then, the parameter determination device determines the second vector with the largest indicated cube volume from all the obtained second vectors as the third vector; the cube indicated by the third vector is the candidate cube determined from the 3D calibration model. Alternatively, the parameter determination device can sort the cubes indicated by each second vector according to their volume, and then use the second vector indicating the cube with the largest indicated volume as the third vector.

[0145] In one implementation, after obtaining the second vector corresponding to each two-dimensional calibration model, the parameter determining device can uniformly sort the volumes of the cubes indicated by each of the obtained second vectors, and then determine the third vector with the largest indicated cube volume.

[0146] In another implementation, for each two-dimensional calibration model, the parameter determining device can determine the second vector with the largest indicated cube volume from the second vectors corresponding to that two-dimensional calibration model, and use it as the fourth vector corresponding to that two-dimensional calibration model. Then, it determines the fourth vector with the largest indicated cube volume from the fourth vectors corresponding to each two-dimensional calibration model, and uses it as the third vector.

[0147] For example, based on the aforementioned example, the fourth vector corresponding to the two-dimensional calibration model 3 is the second vector 4. The volume of the cube indicated by the second vector 4 is the product of the number of elements in the second vector 4 (i.e., 1), the minimum value of the elements in the second vector 4 (i.e., 3), and the number of rows of the second matrix (i.e., the second matrix 3) to which the second vector 4 belongs (i.e., the first vector 3) (i.e., 3). That is, the volume of the cube indicated by the second vector 4 is 9.

[0148] In a real-world scenario, among all the obtained second vectors, there may only be one second vector indicating the largest volume of the cube, and thus only one third vector; or, there may be multiple second vectors indicating the same and largest volume of the cube, in which case there may be multiple third vectors.

[0149] For each determined third vector, the parameter determining device can perform steps B4-B6 as described above to determine the first interval, second interval, and third interval corresponding to the third vector. The parameter determining device can execute steps B4-B6 in parallel; or, it can execute step B4 first, then step B5, and finally step B6; or, it can execute step B6 first, then step B5, and finally step B4. This application does not limit the execution order of the aforementioned steps B4-B6.

[0150] Specifically, by enumerating at least one row of the matrix in the first matrix, a second matrix is ​​obtained; that is, one second matrix belongs to one first matrix. The minimum value in each column of a second matrix is ​​determined, resulting in a first vector for that second matrix; that is, one first vector corresponds to one second matrix. Enumerating at least one element of the first vector yields a second vector; that is, one second vector belongs to one first vector. Therefore, the third vector belongs to a first vector, which corresponds to a second matrix, and this second matrix belongs to a first matrix. This first matrix is ​​the one used to obtain the third vector. The number of unit cubes contained in this first matrix corresponds to the unit cubes corresponding to it; a unit cube corresponding to one first matrix corresponds to the same first coordinate value.

[0151] Therefore, the parameter determining device can determine the position of the unit cube corresponding to the first matrix used to obtain the third vector on the first coordinate axis, as an endpoint. Then, along the reverse direction of the first coordinate axis, it determines the position at a distance equal to the target distance from this endpoint, as another endpoint; the target distance is the minimum value of the elements in the third vector. In this way, the first interval corresponding to the third vector is determined.

[0152] For example, based on the aforementioned example, if the third vector is the aforementioned second vector 4, since the first matrix used to obtain the second vector 4 is the aforementioned first matrix 3, and the first matrix 3 corresponds to the two-dimensional calibration model 3, with a coordinate value of 3 on the first coordinate axis, then one endpoint of the first interval corresponding to the second vector 4 is the position with a coordinate value of "3" on the first coordinate axis; the second vector 4 only includes one element "3", so the minimum value of the element in the second vector 4 is 3. Since the first direction is the direction of K from small to large, then along the opposite direction of the first direction, that is, along the direction of K from large to small, determine the coordinate value with a distance of 3 from the position with a coordinate value of "3" on the first coordinate axis (that is, the position with a coordinate value of "1" on the first coordinate axis), then the first interval corresponding to the second vector 4 is: from the position with a coordinate value of "1" on the first coordinate axis to the position with a coordinate value of "3" on the first coordinate axis, which can be represented as [1,3].

[0153] Since the second matrix belongs to the first matrix, the first row of the second matrix corresponding to the third vector is also a row in the first matrix to which the second matrix belongs. This row contains a row of unit cubes with the same first coordinate value and the same second coordinate value. The position of this row of unit cubes on the second coordinate axis is determined as one endpoint of the second interval corresponding to the third vector. Similarly, the parameter determining device can determine the position of the last row of the second matrix corresponding to the third vector on the second coordinate axis as the other endpoint of the second interval corresponding to the third vector. Thus, the second interval corresponding to the third vector is determined.

[0154] For example, based on the previous example, the second vector 4 belongs to the first vector 3, and the first vector 3 corresponds to the second matrix 3. Therefore, the second vector 4 corresponds to the second matrix 3. The second matrix 3 includes the 3 rows of the first matrix 3. The first row of the second matrix 3 is the same as the first row of the first matrix 3, and its coordinate value on the second coordinate axis is 0. Therefore, one endpoint of the second interval corresponding to the second vector 4 is the position with a coordinate value of "0" on the second coordinate axis. The last row of the second matrix 3 is the same as the last row of the first matrix 3, and its coordinate value on the second coordinate axis is 2. Therefore, the other endpoint of the second interval corresponding to the second vector 4 is the position with a coordinate value of "2" on the second coordinate axis. Therefore, the second interval corresponding to the second vector 4 is from the position with a coordinate value of "0" on the second coordinate axis to the position with a coordinate value of "2" on the first coordinate axis, which can be represented as [0,2].

[0155] The third vector is a row vector obtained based on the first matrix. Each element in the third vector corresponds to an element in the same column in the first matrix as the element in the third vector.

[0156] For example, based on the previous example, if the second vector 4 is the first column of the first vector 4, then the second vector 4 and the first column elements of the first matrix 3, i.e. Correspondingly.

[0157] Furthermore, in each unit cube corresponding to the first matrix, the unit cube corresponding to the column element is the unit cube corresponding to the column in the first vector to which that element belongs. A column of unit cubes corresponds to the same coordinate value on the third coordinate axis. As in the previous example, The coordinate value on the third coordinate axis is 1.

[0158] Following the above method, the parameter determining device can determine the unit cube corresponding to the column of the first element in the third vector within its parent first vector (hereinafter referred to as the first column cube), and the unit cube corresponding to the column of the last element in the third vector within its parent first vector (hereinafter referred to as the last column cube). Using the position of the first column cube on the third coordinate axis as one endpoint and the position of the last column cube on the third coordinate axis as the other endpoint, the third interval on the third coordinate axis is thus determined.

[0159] For example, based on the previous example, since the second vector 4 includes only one element, the unit cube corresponding to the column of the first vector to which this element belongs has a coordinate value of 1 on the third coordinate axis. Therefore, the third interval corresponding to the second vector 4 is: the position with the coordinate axis "1" on the third coordinate axis, which can be represented as [1,1].

[0160] Furthermore, from the three-dimensional calibration model, a cube with the endpoints of the first interval, the second interval, and the third interval corresponding to the third vector as its boundary is determined as a candidate cube determined from the three-dimensional calibration model based on the third vector.

[0161] Based on the above processing, by abstracting the problem of determining parameter combinations based on TMC testing into a mathematical model problem of finding the largest matrix of all 1s in a three-dimensional model, the efficiency of determining calibration parameters and the resource consumption in the process of determining calibration parameters can be improved when determining the calibration parameters for timing calibration under each set of principal parameters by traversal.

[0162] With only one third vector identified, only one candidate cube is determined from the 3D calibration model. Therefore, the parameter determination device can directly use the target parameter combination corresponding to the unit cube at the center of this candidate cube as the calibration parameters for timing calibration under this set of main parameters.

[0163] When multiple third vectors are determined, for each determined third vector, there is a set of intervals (i.e., the first interval, second interval, and third interval corresponding to the third vector as determined in steps B4-B6 above). The cubes in the 3D calibration model whose boundaries are the endpoints of each of these intervals are the candidate cubes corresponding to that third vector. That is, in this case, multiple candidate cubes will be determined, and each determined third vector corresponds one-to-one with a determined candidate cube. Furthermore, the parameter determination device can obtain calibration parameters for timing calibration under this set of main parameters based on the target parameter combinations corresponding to the unit cube at the center position of the determined multiple candidate cubes.

[0164] In some embodiments, when multiple candidate cubes are determined, the parameter determination device may combine the target parameters corresponding to the unit cube at the center position of any candidate cube as calibration parameters for timing calibration under that set of main parameters.

[0165] In some embodiments, the aforementioned step S304 may include the following steps:

[0166] Step C1: If there are multiple candidate cubes, for each candidate cube, determine the outer expansion cube of each outer surface of the candidate cube.

[0167] Among them, the outer expansion cube of one outer surface of a candidate cube is: a cube with the outer surface and its projection on the corresponding projection plane as opposite faces; the projection plane corresponding to an outer surface is: the face on the same side as the outer surface among the outer surfaces of the three-dimensional calibration model.

[0168] Step C2: Obtain the test results corresponding to the unit cubes contained in the outer expansion cubes of each outer surface of the candidate cube.

[0169] Step C3: Based on the obtained test results, determine the number of bit errors for the candidate cube.

[0170] The bit error rate of a candidate cube represents the degree of difference between the test result corresponding to the candidate cube and the test data.

[0171] Step C4: Obtain the target parameter combination corresponding to the unit cube at the center position of the candidate cube with the smallest bit error rate, and use it as the calibration parameter for timing calibration under this set of main parameters.

[0172] In the embodiments of this application, the candidate cube can be determined based on the aforementioned steps A1-A7, or it can be determined based on other methods, and this application does not limit it in this regard.

[0173] In real-world scenarios, multiple candidate cubes may be identified. The parameter determination device can further select the candidate cube (hereinafter referred to as the target cube) with the highest reliability of the target parameter combination corresponding to the unit cube at the center position from these multiple candidate cubes. This ensures that when performing timing calibration based on the target parameter combination corresponding to the unit cube at the center position of the target cube under environmental interference in real-world scenarios, there is a high probability of successful timing calibration.

[0174] Specifically, for each identified candidate cube, the parameter determining device expands each outer surface of the candidate cube to determine the expanded cube of that outer surface. The expanded cube of one outer surface of a candidate cube is a cube with the outer surface and its projection onto a corresponding projection plane as its opposite faces; the projection plane corresponding to an outer surface is the face of the three-dimensional calibration model located on the same side as the outer surface. The expanded cube of one outer surface may include multiple unit cubes, which may include the aforementioned first and second cubes, or may only include the second cube.

[0175] For example, the parameter determination device can project the outer surface onto the projection plane corresponding to the outer surface, and then determine the cubic region with the outer surface and the projection as opposite faces from the three-dimensional calibration model. The determined cubic region is the outer expansion cube of the outer surface.

[0176] Furthermore, based on each outer surface of the candidate cube, an extended cube can be determined; the extended cubes of each outer surface of the candidate cube include all unit cubes, which can be called the extended units of the candidate cube. Based on the degree of difference between the test results and test data of the target parameter combination corresponding to each extended unit of the candidate cube, the parameter determination device can determine the bit error rate of the candidate cube. The higher the degree of difference between the test results and test data of the target parameter combination corresponding to an extended unit of the candidate cube, the greater the bit error rate of the candidate cube; the lower the degree of difference between the test results and test data of the target parameter combination corresponding to an extended unit of the candidate cube, the smaller the bit error rate of the candidate cube.

[0177] For the candidate cube with the lowest bit error rate, under environmental interference in a real-world scenario, the target parameter combination corresponding to the unit cube at the center of this candidate cube, when compared with other unit cubes around this center unit cube, has a higher probability of having fewer bit errors in the other unit cubes corresponding to this target parameter combination. That is, after timing calibration based on this target parameter combination, the probability of sampling correct data during data reading and writing is higher, meaning the accuracy of the read or written data is higher. Therefore, the parameter determination device uses the target parameter combination corresponding to the unit cube at the center of the candidate cube with the lowest bit error rate as the calibration parameters for timing calibration under this set of main parameters. This further improves the reliability of the determined calibration parameters for timing calibration under this set of main parameters.

[0178] In one implementation, the obtained test result is either: timing calibration test successful, or failure. A successful timing calibration test result for a target parameter combination indicates that when timing calibration is performed based on that target parameter combination, the response data read by the controller from the storage chip is exactly the same as the test data. A failed timing mode calibration test result for a target parameter combination indicates that when timing calibration is performed based on that target parameter combination, there is a difference between the response data read by the controller from the storage chip and the test data.

[0179] In this implementation, the bit error rate of a candidate cube is equivalent to the total number of second cubes included in its outer unit. Correspondingly, the parameter determination device identifies the candidate cube with the lowest bit error rate, i.e., the candidate cube with the fewest total number of second cubes included in its outer unit. Thus, by simply counting the total number of second cubes included in the outer unit of each candidate cube, i.e., determining the target cube with the highest reliability from among all candidate cubes, the computational load of the calibration parameter determination process can be reduced, and the efficiency of calibration parameter determination can be improved.

[0180] In another implementation, the obtained test result is the response data read by the main controller from the storage chip when performing timing calibration mode test using test data; correspondingly, the aforementioned step C3 may include the following steps: determining the number of bits that are inconsistent between the obtained test result and the test data, as the bit error rate of the candidate cube.

[0181] In this implementation, for each selected candidate cube, after determining each expansion unit of the candidate cube, the parameter determining device, for each expansion unit, can determine the response data read from the storage chip after the main controller writes the aforementioned test data into the storage chip under timing calibration of the target parameter combination corresponding to the expansion unit. Then, the read response data is compared with the test data to determine the number of inconsistent bits, which is taken as the bit error rate (BER) of that expansion unit. The sum of the BER of each expansion unit corresponding to the candidate cube is obtained, or the average level of the BER of each expansion unit corresponding to the candidate cube is obtained, which is taken as the BER of the candidate cube. The aforementioned average level can be the mean, median, variance, standard deviation, etc., and this application does not limit this.

[0182] When multiple candidate cubes exist, by statistically analyzing and comparing errbits, the candidate cube with the lowest bit error rate is further determined. Timing calibration is then performed based on the target parameter combination corresponding to the unit cube at the center of this determined candidate cube. This results in higher accuracy for read or write data after timing calibration using this target parameter combination. In other words, the reliability of the calibration parameters used for timing calibration under this set of main parameters can be further improved.

[0183] In some embodiments, the aforementioned timing calibration parameter determination method, at the code level, is as follows: A first cube is used as an index j. When the stack used to store index j is empty, or when the height h of the currently stored index j in the stack is not less than the height corresponding to the top index, the current index j is pushed onto the stack. When the height h of the currently stored index j in the stack is less than the height corresponding to the top index, the top element of the stack (i.e., the current index j stored at the top of the stack) is popped, denoted as top_index; the height h_top of the top element is calculated, i.e., the aforementioned col_min. This can be denoted as h_top = col_min[top_index]. The right boundary of the rectangle with h_top as the minimum height is taken as the current index j. The left boundary of the rectangle is then the next position of the new top element after popping top_index. If the stack is empty after popping top_index, the left boundary of the rectangle is the starting point. The width of the rectangle is the difference between the right and left boundaries, denoted as j - left_boundary; the area S of the rectangle is the product of the height and width, denoted as S = h_top × width. The volume V of the cube determined by the rectangle is the product of the area S and the number of popped index j (which can be called depth), and can be written as V = S × depth.

[0184] The parameter determination device can traverse all cubes based on the logic at the code level mentioned above, and continuously update the maximum area and maximum volume during the traversal. After the traversal is completed, the candidate cube with the largest volume in the three-dimensional calibration matrix and whose included unit cubes are all first cubes is determined (which can be called the largest all-1 sub-cube).

[0185] Based on the above processing, the traditional TMC testing process for storage granular caches has been systematically optimized. The parameter search problem is transformed into a mathematical problem of finding the globally optimal solution in a multi-dimensional space. Mathematically, the globally optimal solution can be determined when all parameter values ​​can be dynamically adjusted, avoiding getting trapped in local optima. Furthermore, when multiple candidate cubes exist, by statistically analyzing and comparing errbits (which can be termed the introduction of an errbit margin evaluation mechanism), a candidate cube can be further identified from these cubes that still allows for accurate timing calibration based on the target parameter combination corresponding to the unit cube at the center position. This improves the reliability of the calibration parameters ultimately determined for timing calibration under a set of master parameters, enhances the communication stability between the controller and storage granules in complex and variable real-world scenarios, improves data transmission reliability, and reduces the data error rate. Consequently, memory performance can be improved. By introducing a more comprehensive parameter dimension and a more efficient search algorithm, a more robust parameter combination can be obtained in a shorter time. Furthermore, during the TMC testing process, by expanding the dimension of the parameter values ​​to three dimensions, we can obtain calibration parameters that are more robust and adaptable to more complex real-world environments, thus enabling the comprehensive capture of the timing window.

[0186] This application also provides a timing calibration generation method applied to a calibration device. The calibration device and the aforementioned parameter determination device can be the same device, or they can be different devices; this application does not limit this.

[0187] See Figure 5 , Figure 5 A flowchart of a timing calibration method provided in this application embodiment, the method may include the following steps:

[0188] S501: Obtain a set of master parameters used by the memory when reading and writing data, and use them as target master parameters.

[0189] S502: Obtain the parameter combination used for timing calibration under the target master parameters.

[0190] Among them, the parameter combination used for timing calibration under a set of main parameters is: the target parameter combination obtained based on any of the timing calibration parameter determination methods described in the foregoing embodiments.

[0191] S503: Use the acquired parameter combination to perform timing calibration on the process of reading and writing data in the memory.

[0192] Based on the above processing, since the timing calibration parameter determination method described in the foregoing embodiments can accurately determine the calibration parameters for timing calibration under a set of master parameters, the calibration device can determine the target master parameters used by the memory when reading and writing data, obtain the parameter combination used for timing calibration under the target master parameters, and then perform timing calibration on the process of reading and writing data in the memory based on the obtained parameter combination, thereby achieving accurate timing calibration.

[0193] Regarding step S501, the main parameters are the parameters that the technicians predetermine based on the needs of the actual scenario.

[0194] Regarding step S502, after determining the target master parameters, the calibration equipment can determine the parameter combination used for timing calibration under the target master parameters according to the aforementioned steps S301-S304. That is, the calibration equipment and the aforementioned parameter determination equipment can be the same equipment. Alternatively, the parameter determination equipment can also pre-determine the calibration parameters corresponding to each set of master parameters, that is, determine the parameter combination used for timing calibration under each set of master parameters. The calibration equipment can directly find the parameter combination used for timing calibration under the target master parameters from the parameter combination pre-determined by the parameter determination equipment.

[0195] Regarding step S503, after the calibration device obtains the parameter combination used for timing calibration under the target master parameters, it can perform timing calibration for write operations using the parameter values ​​of the DQS out delay dimension included in the obtained parameter combination, and perform timing calibration for read operations using the parameter values ​​of the DQS in delay dimension and DQ in delay dimension included in the obtained parameter combination, under the configuration of the parameter values ​​of the signal frequency dimension and the parameter values ​​of the drive capability dimension included in the obtained parameter combination.

[0196] For example, technicians can determine the required parameter values ​​for the signal frequency dimension and the drive capability dimension based on the data transmission rate required in the actual scenario, the accuracy of the sampled data, and the power consumption. The determined parameter values ​​for the signal frequency dimension and the drive capability dimension are the parameter values ​​for the two dimensions included in the main parameters. Correspondingly, the parameter values ​​for the DQS out delay dimension, the DQS in delay dimension, and the DQ in delay dimension are the parameter values ​​for the three dimensions included in the secondary parameters corresponding to the main parameters. The parameter combination used for timing calibration under the target main parameters is obtained; that is, the target parameter combination corresponding to the unit cube at the center position of the target cube in the three-dimensional calibration model corresponding to the determined parameter values ​​for the signal frequency dimension and the drive capability dimension is obtained.

[0197] In real-world scenarios, the parameter values ​​of any two of the aforementioned five dimensions can also be used as the main parameters; this application does not impose any restrictions on this.

[0198] Based on the same inventive concept as the aforementioned method for determining timing calibration parameters, this application also provides a device for determining timing calibration parameters. See [link to related document]. Figure 6 , Figure 6 A structural diagram of a timing calibration parameter determination device provided in an embodiment of this application, the device comprising:

[0199] Test module 601 is used to acquire test results of timing mode calibration tests performed between the controller and memory chips using the same test data under various parameter combinations. Each parameter combination includes a set of primary parameters and a corresponding set of secondary parameters. Each set of primary parameters includes parameter values ​​for two dimensions within each specified dimension. Each set of secondary parameters includes parameter values ​​for the other dimensions within each specified dimension, excluding the corresponding primary parameters. The specified dimensions include: signal frequency, drive capability, DQS out delay, DQS in delay, and DQ in delay. At least one dimension of parameter value differs between any two sets of secondary parameters corresponding to a set of primary parameters.

[0200] The construction module 602 is used to construct a three-dimensional calibration model corresponding to each set of main parameters based on the test results of the target parameter combinations containing the set of main parameters. The three coordinate axes of the three-dimensional calibration model represent the dimensions of the parameter values ​​contained in the secondary parameters corresponding to the set of main parameters. The three-dimensional calibration model contains a unit cube corresponding to each target parameter combination. The attribute value of the unit cube corresponding to a target parameter combination characterizes whether the test result of that target parameter combination indicates successful time-series calibration.

[0201] The determination module 603 is used to determine from the three-dimensional calibration model the cube with the largest volume and whose attribute values ​​of all contained unit cubes represent successful time-series calibration, as a candidate cube;

[0202] The parameter acquisition module 604 is used to obtain calibration parameters for timing calibration under the set of main parameters based on the target parameter combination corresponding to the unit cube at the center position of the determined candidate cube.

[0203] Optionally, the parameter acquisition module 604 is specifically used for: if multiple candidate cubes are determined, for each candidate cube, determining the outer expansion cube of each outer surface of the candidate cube; wherein, the outer expansion cube of one outer surface of a candidate cube is: a cube with the outer surface and its projection on the corresponding projection plane as opposite faces; the projection plane corresponding to one outer surface is: the face of each outer surface of the three-dimensional calibration model that is located on the same side as the outer surface; acquiring the test results corresponding to the unit cubes contained in the outer expansion cubes of each outer surface of the candidate cube; determining the bit error rate of the candidate cube based on the acquired test results; wherein, the bit error rate of a candidate cube represents: the degree of difference between the test results corresponding to the candidate cube and the test data; acquiring the target parameter combination corresponding to the unit cube at the center position of the candidate cube with the smallest bit error rate, as calibration parameters for timing calibration under this set of main parameters.

[0204] Optionally, the obtained test result is: the response data read by the main controller from the storage chip when performing timing calibration mode test using the test data; the parameter acquisition module 604 is specifically used to: determine the number of bits that are inconsistent between the obtained test result and the test data, as the bit error rate of the candidate cube.

[0205] Optionally, the determining module 603 is specifically used for: dividing the three-dimensional calibration model to obtain multiple two-dimensional calibration models; wherein, in a two-dimensional calibration model, each unit cube corresponds to the same coordinate value on the first coordinate axis of the three-dimensional calibration model; for each obtained two-dimensional calibration model, determining other two-dimensional calibration models located before the two-dimensional calibration model in the first direction of the first coordinate axis, as the preprocessing model corresponding to the two-dimensional calibration model; for each unit cube in the two-dimensional calibration model, determining a queue composed of all unit cubes corresponding to the position of the unit cube in the two-dimensional calibration model and the corresponding preprocessing model according to the order of the size of the coordinate values ​​on the first coordinate axis; and taking the number of unit cubes included in the longest target sub-queue in the determined queue as the target sub-queue. The number of unit cubes is used to obtain a first matrix containing the number of unit cubes corresponding to each unit cube; wherein the target sub-queue contains the unit cubes, and the attribute values ​​of each unit cube contained therein represent successful time-series calibration; the matrix containing at least one row in the first matrix corresponding to the two-dimensional calibration model is enumerated to obtain multiple second matrices; wherein, when a second matrix contains multiple rows, the multiple rows are adjacent in the corresponding first matrix; for each second matrix corresponding to the two-dimensional calibration model, the minimum value in each column of the second matrix is ​​determined to obtain a first vector corresponding to the second matrix; using the obtained second matrices and the corresponding first vectors, the cube with the largest volume and whose attribute values ​​of the unit cubes contained therein all represent successful time-series calibration is determined from the three-dimensional calibration model as a candidate cube.

[0206] Optionally, the determining module 603 is specifically configured to: for each first vector, enumerate vectors containing at least one element of the first vector to obtain multiple second vectors; wherein, when a second vector includes multiple elements, the multiple elements are adjacent in the corresponding first vector; for each second vector, calculate the product of the number of elements in the second vector, the minimum value of the elements in the second vector, and the number of rows of the second matrix corresponding to the second vector to obtain the volume of the cube indicated by the second vector; from all the obtained second vectors, determine the second vector with the largest indicated cube volume as the third vector; for each determined third vector, determine the first interval corresponding to the third vector; wherein, one endpoint of the first interval is: the position of the unit cube corresponding to the first matrix used when obtaining the third vector on the first coordinate axis; the other endpoint is: the position along the opposite direction of the first direction, with a distance of a target distance between the endpoint and the target distance; the target distance is the minimum value of the elements in the third vector; determine the second interval corresponding to the third vector; wherein, one endpoint of the second interval The third interval is defined as follows: The first row of the second matrix corresponding to the third vector, located within its corresponding first matrix, is positioned on the second coordinate axis of the 3D calibration model. The other endpoint is defined as: The last row of the second matrix corresponding to the third vector, located within its corresponding first matrix, is positioned on the second coordinate axis of the 3D calibration model. The third interval corresponding to the third vector is determined. One endpoint of the third interval is defined as: The unit cube corresponding to the column of the first element of the third vector within its corresponding first matrix, located on the third coordinate axis of the 3D calibration model. The other endpoint of the third interval is defined as: The unit cube corresponding to the column of the last element of the third vector within its corresponding first matrix, located on the third coordinate axis of the 3D calibration model. From the 3D calibration model, a cube with the endpoints of the first interval, the second interval, and the third interval corresponding to the third vector as its boundaries is determined as a candidate cube.

[0207] Optionally, a set of master parameters may contain parameter values ​​belonging to the dimensions of signal frequency and drive capability; the corresponding slave parameters may contain parameter values ​​belonging to the dimensions of DQS out delay, DQS in delay, and DQ indelay.

[0208] Based on the timing calibration parameter determination device provided in this application, for each set of principal parameters, a three-dimensional calibration model corresponding to that set of principal parameters can be constructed based on the test results of the target parameter combination containing that set of principal parameters. That is, one set of principal parameters corresponds to one three-dimensional calibration model. Each three-dimensional calibration model includes a unit cube corresponding to a parameter combination, which includes: the parameter values ​​in two dimensions of the principal parameters corresponding to the three-dimensional calibration model, and the parameter values ​​in three dimensions of the secondary parameters indicated by the position of the unit cube in the three-dimensional calibration model. The attribute values ​​of a unit cube can characterize whether the test result of the parameter combination corresponding to the unit cube indicates successful timing calibration, i.e., whether timing calibration can be successfully performed based on the parameter combination corresponding to the unit cube. For each set of principal parameters, a unit cube representing successful timing calibration (hereinafter referred to as the first cube) is determined from the three-dimensional calibration model corresponding to that set of principal parameters; that is, the coordinate values ​​of the unit cube on the three coordinate axes of the three-dimensional calibration model are determined, thus obtaining a set of secondary parameters under that set of principal parameters. The set of main parameters includes the parameter values, and the set of secondary parameters consists of the parameter values. These are the calibration parameters that allow for successful timing calibration under this set of main parameters.

[0209] Because the environment in which timing calibration parameters are determined (hereinafter referred to as the parameter determination environment) differs from the environment in which data is read and written between the controller and storage particles in a real-world scenario (hereinafter referred to as the actual read / write environment), a parameter combination may correspond to a single unit cube in the parameter determination environment, but after the environment changes to the actual read / write environment, this parameter combination may correspond to other unit cubes surrounding that unit cube. Therefore, to increase the probability of successful timing calibration of the determined parameter combination in the actual read / write environment, for each set of master parameters, a candidate cube containing only the first cube and having the largest volume is selected from the 3D calibration model corresponding to that set of master parameters. All other unit cubes surrounding the unit cube at the center of the candidate cube are considered first cubes, and the number of first cubes surrounding this unit cube is the largest. For the parameter combination corresponding to this unit cube, the probability of this parameter combination corresponding to the first cube is high after the environment changes to the actual read / write environment. That is, under the interference present in the real-world scenario, the probability of successful timing calibration based on this parameter combination is high. Therefore, using the combination of target parameters corresponding to the unit cube at the center of the candidate cube as calibration parameters for time-series calibration under a set of principal parameters corresponding to the three-dimensional calibration model can improve the reliability of the determined calibration parameters for time-series calibration under a set of principal parameters.

[0210] Based on the same inventive concept as the timing calibration method described above, this application also provides a timing calibration apparatus. See Figure 7 , Figure 7 A structural diagram of a timing calibration device provided in an embodiment of this application is shown. The device includes:

[0211] The first acquisition module 701 is used to acquire a set of main parameters used by the memory when reading and writing data, as the target main parameters;

[0212] The second acquisition module 702 is used to acquire a parameter combination for timing calibration under the target main parameters; wherein, the parameter combination for timing calibration under a set of main parameters is: a target parameter combination obtained based on any of the timing calibration parameter determination methods described in the foregoing embodiments;

[0213] The calibration module 703 is used to perform timing calibration on the process of reading and writing data in the memory using the acquired parameter combination.

[0214] Based on the timing calibration apparatus provided in this application, and due to the timing calibration parameter determination method described in the foregoing embodiments, accurate calibration parameters for timing calibration under a set of master parameters can be determined. Therefore, after determining the target master parameters used by the memory when reading and writing data, the calibration device obtains the parameter combination used for timing calibration under the target master parameters, and then performs timing calibration on the process of reading and writing data in the memory based on the obtained parameter combination, thus achieving accurate timing calibration.

[0215] This application also provides an electronic device, such as... Figure 8 As shown, it includes:

[0216] Memory 801 is used to store computer programs;

[0217] When the processor 802 executes the program stored in the memory 801, it implements the timing calibration parameter determination method or the timing calibration method described in any of the foregoing embodiments.

[0218] Furthermore, the aforementioned electronic device may also include a communication bus and / or a communication interface, with the processor 802, the communication interface, and the memory 801 communicating with each other via the communication bus.

[0219] The communication bus mentioned in the above electronic devices can be a Peripheral Component Interconnect (PCI) bus or an Extended Industry Standard Architecture (EISA) bus, etc. This communication bus can be divided into address bus, data bus, control bus, etc. For ease of illustration, only one thick line is used to represent it in the diagram, but this does not mean that there is only one bus or one type of bus.

[0220] The communication interface is used for communication between the aforementioned electronic devices and other devices.

[0221] The memory may include random access memory (RAM) or non-volatile memory (NVM), such as at least one disk storage device. Optionally, the memory may also be at least one storage device located remotely from the aforementioned processor.

[0222] The processors mentioned above can be general-purpose processors, including central processing units (CPUs), network processors (NPs), etc.; they can also be digital signal processors (DSPs), application-specific integrated circuits (ASICs), field-programmable gate arrays (FPGAs), or other programmable logic devices, discrete gate or transistor logic devices, or discrete hardware components.

[0223] In another embodiment provided in this application, a computer-readable storage medium is also provided, which stores a computer program that, when executed by a processor, implements the steps of the timing calibration parameter determination method described above, or implements the steps of the timing calibration method described above.

[0224] In another embodiment provided in this application, a computer program product containing instructions is also provided, which, when run on a computer, causes the computer to execute any of the timing calibration parameter determination methods described in the above embodiments, or to execute any of the timing calibration methods described in the above embodiments.

[0225] In the above embodiments, implementation can be achieved entirely or partially through software, hardware, firmware, or any combination thereof. When implemented using software, it can be implemented entirely or partially in the form of a computer program product. The computer program product includes one or more computer instructions. When the computer program instructions are loaded and executed on a computer, all or part of the processes or functions described in the embodiments of this application are generated. The computer can be a general-purpose computer, a special-purpose computer, a computer network, or other programmable device. The computer instructions can be stored in a computer-readable storage medium or transmitted from one computer-readable storage medium to another. For example, the computer instructions can be transmitted from one website, computer, server, or data center to another website, computer, server, or data center via wired (e.g., coaxial cable, fiber optic, digital subscriber line (DSL)) or wireless (e.g., infrared, wireless, microwave, etc.) means. The computer-readable storage medium can be any available medium that a computer can access or a data storage device such as a server or data center that integrates one or more available media. The available medium can be a magnetic medium (e.g., floppy disk, hard disk, magnetic tape), an optical medium (e.g., DVD), or a solid-state drive (SSD), etc.

[0226] It should be noted that, in this document, relational terms such as "first" and "second" are used only to distinguish one entity or operation from another, and do not necessarily require or imply any such actual relationship or order between these entities or operations. Furthermore, the terms "comprising," "including," or any other variations thereof are intended to cover non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements includes not only those elements but also other elements not expressly listed, or elements inherent to such a process, method, article, or apparatus. Without further limitations, an element defined by the phrase "comprising one..." does not exclude the presence of other identical elements in the process, method, article, or apparatus that includes said element.

[0227] The various embodiments in this specification are described in a related manner. Similar or identical parts between embodiments can be referred to mutually. Each embodiment focuses on describing the differences from other embodiments. In particular, the embodiments of apparatus, electronic devices, computer-readable storage media, and computer program products are basically similar to the method embodiments, and therefore the descriptions are relatively simple; relevant parts can be referred to the descriptions of the method embodiments.

[0228] The above description is merely a preferred embodiment of this application and is not intended to limit the scope of protection of this application. Any modifications, equivalent substitutions, improvements, etc., made within the spirit and principles of this application are included within the scope of protection of this application.

Claims

1. A method for determining timing calibration parameters, characterized in that, The method includes: Obtain the test results of timing mode calibration tests between the controller and memory chips using the same test data under various parameter combinations. Each parameter combination includes a set of primary parameters and a corresponding set of secondary parameters. The primary parameter set includes parameter values ​​for two dimensions in each specified dimension. Each set of secondary parameters includes parameter values ​​for the other dimensions in each specified dimension, excluding the corresponding primary parameter. Each specified dimension includes: signal frequency, drive capability, data strobe signal write operation delay (DQS out delay), data strobe signal read operation delay (DQS in delay), and data queue read operation delay (DQ indelay). At least one dimension of the parameter values ​​differs between any two sets of secondary parameters corresponding to a set of primary parameters. For each set of principal parameters, a three-dimensional calibration model is constructed based on the test results of the target parameter combination containing that set of principal parameters. The three coordinate axes of the three-dimensional calibration model represent the dimensions of the parameter values ​​contained in the secondary parameters corresponding to that set of principal parameters. The three-dimensional calibration model contains a unit cube corresponding to each target parameter combination. The attribute value of the unit cube corresponding to a target parameter combination characterizes whether the test result of that target parameter combination indicates successful time-series calibration. From the three-dimensional calibration model, the cube with the largest volume and whose attribute values ​​all represent successful time-series calibration are selected as candidate cubes. Based on the target parameter combination corresponding to the unit cube at the center position of the candidate cube, calibration parameters for timing calibration under this set of main parameters are obtained.

2. The method according to claim 1, characterized in that, The calibration parameters used for timing calibration under this set of main parameters are obtained based on the target parameter combination corresponding to the unit cube at the determined candidate cube center position, including: If there are multiple candidate cubes, for each candidate cube, determine the outer expansion cube of each outer surface of the candidate cube; wherein, the outer expansion cube of one outer surface of a candidate cube is: a cube with the outer surface and its projection on the corresponding projection plane as the opposite face; the projection plane corresponding to an outer surface is: the face of each outer surface of the three-dimensional calibration model that is located on the same side as the outer surface. Obtain the test results corresponding to the unit cubes contained in the outer cubes of each outer surface of the candidate cube; Based on the obtained test results, the number of bit errors of the candidate cube is determined; wherein, the number of bit errors of a candidate cube represents the degree of difference between the test results corresponding to the candidate cube and the test data; Obtain the target parameter combination corresponding to the unit cube at the center position of the candidate cube with the smallest bit error rate, and use it as the calibration parameter for timing calibration under this set of main parameters.

3. The method according to claim 2, characterized in that, The obtained test results are: the response data read by the main controller from the storage chip when the timing calibration mode test is performed using the test data; The determination of the bit error rate of the candidate cube based on the obtained test results includes: The number of bits that are inconsistent between the obtained test results and the test data is determined as the bit error rate of the candidate cube.

4. The method according to any one of claims 1-3, characterized in that, From the three-dimensional calibration model, the cube with the largest volume and whose attribute values ​​all represent successful time-series calibration were determined as candidate cubes, including: The three-dimensional calibration model is divided into multiple two-dimensional calibration models; wherein, in a two-dimensional calibration model, each unit cube corresponds to the same coordinate value on the first coordinate axis of the three-dimensional calibration model. For each obtained two-dimensional calibration model, other two-dimensional calibration models located before the two-dimensional calibration model in the first direction of the first coordinate axis are determined as the preprocessing models corresponding to the two-dimensional calibration model. For each unit cube in the two-dimensional calibration model, a queue of all unit cubes corresponding to the position of the unit cube in the two-dimensional calibration model and the corresponding preprocessing model is determined according to the order of the coordinate values ​​on the first coordinate axis. The number of unit cubes included in the longest target sub-queue in the determined queue is taken as the number corresponding to that unit cube, and a first matrix containing the number corresponding to each unit cube is obtained; wherein, the target sub-queue contains the unit cube, and the attribute value of each unit cube contained therein indicates that the timing calibration was successful; Enumerate the matrices containing at least one row of the first matrix corresponding to the two-dimensional calibration model to obtain multiple second matrices; wherein, if a second matrix contains multiple rows, the multiple rows are adjacent in the corresponding first matrix; For each second matrix corresponding to the two-dimensional calibration model, determine the minimum value in each column of the second matrix to obtain the first vector corresponding to the second matrix; Using the obtained second matrices and corresponding first vectors, the cube with the largest volume and whose attribute values ​​all represent successful time-series calibration is determined from the three-dimensional calibration model and used as a candidate cube.

5. The method according to claim 4, characterized in that, The process involves using the obtained second matrices and corresponding first vectors to determine, from the three-dimensional calibration model, the cube with the largest volume and whose attribute values ​​all represent successful time-series calibration, as candidate cubes, including: For each first vector, enumerate the vectors that contain at least one element of the first vector to obtain multiple second vectors; wherein, when a second vector contains multiple elements, the multiple elements are adjacent in the corresponding first vector. For each second vector, calculate the product of the number of elements in the second vector, the minimum value of the elements in the second vector, and the number of rows in the second matrix corresponding to the second vector, to obtain the volume of the cube indicated by the second vector. From all the obtained second vectors, determine the second vector that indicates the largest volume of the cube, and use it as the third vector; For each determined third vector, a first interval corresponding to the third vector is determined; wherein, one endpoint of the first interval is the position of the unit cube corresponding to the first matrix used to obtain the third vector on the first coordinate axis; the other endpoint is the position along the opposite direction of the first direction, and the distance between the endpoint and the target distance is the minimum value of the elements in the third vector; Determine the second interval corresponding to the third vector; wherein, one endpoint of the second interval is the position of the unit cube corresponding to the first row of the second matrix corresponding to the third vector in the first matrix to which it belongs, on the second coordinate axis of the three-dimensional calibration model; the other endpoint is the position of the unit cube corresponding to the last row of the second matrix corresponding to the third vector in the first matrix to which it belongs, on the second coordinate axis. Determine the third interval corresponding to the third vector; wherein, one endpoint of the third interval is: the position on the third coordinate axis of the three-dimensional calibration model of the unit cube corresponding to the column of the first element of the third vector in the first vector, which is used to obtain the third vector; the other endpoint of the third interval is: the position on the third coordinate axis of the unit cube corresponding to the column of the last element of the third vector in the first vector, which is used to obtain the third vector. From the three-dimensional calibration model, a cube with the endpoints of the first interval, the second interval, and the third interval corresponding to the third vector as its boundaries is determined as a candidate cube.

6. The method according to any one of claims 1-3, characterized in that, A set of primary parameters contains parameter values ​​belonging to the dimensions of signal frequency and drive capability; the corresponding secondary parameters contain parameter values ​​belonging to the dimensions of DQS outdelay, DQS in delay, and DQ in delay.

7. A timing calibration method, characterized in that, The method includes: Obtain a set of master parameters used by the memory when reading and writing data, and use them as target master parameters; Obtain a parameter combination for timing calibration under the target master parameters; wherein, the parameter combination for timing calibration under a set of master parameters is: a target parameter combination obtained based on the timing calibration parameter determination method according to any one of claims 1-6; The timing calibration of the process of reading and writing data in the memory is performed using the obtained parameter combination.

8. A timing calibration parameter determination device, characterized in that, The device includes: The testing module is used to acquire the test results of timing mode calibration tests between the controller and memory chips using the same test data under various parameter combinations. Each parameter combination includes a set of primary parameters and a corresponding set of secondary parameters. The primary parameters include parameter values ​​for two dimensions in each specified dimension. Each set of secondary parameters includes parameter values ​​for the other dimensions in each specified dimension, excluding the corresponding primary parameters. Each specified dimension includes: signal frequency, drive capability, data strobe signal write operation delay (DQS out delay), data strobe signal read operation delay (DQS in delay), and data queue read operation delay (DQ in delay). At least one dimension of the parameter values ​​differs between any two sets of secondary parameters corresponding to a set of primary parameters. A construction module is used to construct a three-dimensional calibration model corresponding to each set of main parameters based on the test results of the target parameter combinations containing that set of main parameters. The three coordinate axes of the three-dimensional calibration model represent the dimensions of the parameter values ​​contained in the secondary parameters corresponding to that set of main parameters. The three-dimensional calibration model contains a unit cube corresponding to each target parameter combination. The attribute value of the unit cube corresponding to a target parameter combination characterizes whether the test result of that target parameter combination indicates successful time-series calibration. The determination module is used to determine, from the three-dimensional calibration model, the cube with the largest volume and whose attribute values ​​of all contained unit cubes represent successful time-series calibration, as a candidate cube; The parameter acquisition module is used to obtain calibration parameters for timing calibration under the determined set of main parameters, based on the target parameter combination corresponding to the unit cube at the center position of the candidate cube.

9. A timing calibration device, characterized in that, The device includes: The first acquisition module is used to acquire a set of main parameters used by the memory when reading and writing data, as the target main parameters; The second acquisition module is used to acquire a parameter combination for timing calibration under the target master parameters; wherein, the parameter combination for timing calibration under a set of master parameters is: a target parameter combination obtained based on the timing calibration parameter determination method according to any one of claims 1-6; The calibration module is used to perform timing calibration on the process of reading and writing data in the memory using the acquired parameter combination.

10. An electronic device, characterized in that, include: Memory, used to store computer programs; A processor, when executing a program stored in memory, implements the method of any one of claims 1-6, or claim 7.