Interface calibration method, device and storage medium
By suspending data operations on some memory cells during interface calibration, the problem of memory real-time performance being affected is solved, and the memory's efficient data processing capabilities and rapid recovery are maintained during the calibration process.
Patent Information
- Application Number
- CN202411994213.0
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2024-12-31
- Publication Date
- 2025-12-26
- Estimated Expiration
- 2044-12-31
AI Technical Summary
In existing technologies, the sampling point positions may become unsuitable due to factors such as temperature changes during memory interface calibration. When recalibration is required, all data operations must be paused, affecting the real-time performance of the memory.
The target memory cell in the memory is identified as being in a programmed or erased state, and its data operations are suspended, while other memory cells continue to operate. After interface calibration, the data operations of the target memory cell are resumed.
By using a partial pause mechanism, the scope of data operation interruptions is reduced, ensuring that the overall data processing capability is not affected, improving the real-time performance of the memory, enabling timely responses to user requests, and quickly restoring the target storage unit to its normal working state.
Smart Images

Figure CN119811454B_ABST
Abstract
Description
TECHNICAL FIELD
[0001] The present application relates to the technical field of memory, and particularly relates to an interface calibration method, device and storage medium. BACKGROUND
[0002] When the controller and the NAND Flash (Not AND Flash) are powered on for the first time, they need to determine the optimal parameter settings of the interface, which is called "handshake". In the handshake process, the controller scans different windows in the memory and sets the sampling point to the center of the optimal window to ensure the reliability of data transmission. However, the window is easily affected by various factors such as temperature changes, which may cause the position of the sampling point to become unsuitable. At this time, the interface needs to be recalibrated.
[0003] In the related art, when calibration is needed, the controller suspends all ongoing data operations in the memory and then re-performs handshake with the memory, aiming to determine a new sampling point suitable for the current temperature condition to restore normal data operation. Although this method can ensure the accuracy of calibration, since the memory does not support any data operation, the user's request cannot be responded, thereby affecting the real-time performance of the memory.
[0004] The above content is only used to assist in understanding the technical solutions of the present application and does not represent the acknowledgement of the above content as prior art. SUMMARY
[0005] The main purpose of the present application is to provide an interface calibration method, device and storage medium, aiming to solve the technical problem that interface calibration affects the real-time performance of the memory.
[0006] To achieve the above purpose, the present application provides an interface calibration method, which comprises the following steps:
[0007] When the calibration task is triggered, the target storage unit in the programming state or the erasing state is determined, and the data operation of the target storage unit is suspended, and the data operation of the other storage units except the target storage unit is supported;
[0008] The calibration operation is performed on the interface of the memory;
[0009] When it is detected that the calibration operation is completed, the data operation of the target storage unit is resumed.
[0010] In an embodiment, before the step of determining the target storage unit in the programming state or the erasing state, the method further comprises the following steps:
[0011] The calibration task is divided into a plurality of sub-tasks;
[0012] For each subtask, the target storage unit in the programming state or the erasing state is determined, and when it is detected that the calibration operation ends, the data operation of the target storage unit is resumed.
[0013] In an embodiment, the step of dividing the calibration task into a plurality of subtasks comprises:
[0014] The temperature variation amplitude in a preset time period is calculated;
[0015] The number of iterations required in the calibration process is determined according to the temperature variation amplitude;
[0016] The calibration task is divided into a plurality of subtasks according to the number of iterations.
[0017] In an embodiment, the step of determining the target storage unit in the programming state or the erasing state comprises:
[0018] The candidate storage units in the programming state or the erasing state are screened from all the storage units;
[0019] The redundant bandwidth of the candidate storage unit is determined according to the difference between the maximum bandwidth and the used bandwidth of the candidate storage unit, and the candidate storage units are arranged to generate a sequence according to the redundant bandwidth;
[0020] The candidate storage unit at the head of the sequence is determined as the target storage unit.
[0021] In an embodiment, before the step of determining the candidate storage unit at the head of the sequence as the target storage unit, the method further comprises:
[0022] The weighted coefficient of the candidate storage unit is calculated according to the stability, historical performance and frequency of use of the candidate storage unit, and the sequence is adjusted according to the weighted coefficient.
[0023] In an embodiment, after the step of performing the calibration operation on the interface of the memory, the method further comprises:
[0024] The expected calibration progress of the calibration task is determined, and the progress delay time between the expected calibration progress and the real-time calibration progress is calculated;
[0025] If the progress delay time is greater than a time threshold or the calibration task is completed, it is determined that the calibration operation ends.
[0026] In an embodiment, the step of determining the expected calibration progress of the calibration task comprises:
[0027] The service type to which the data operation of the target storage unit belongs is determined, the average response time length and the tolerance rate of the target storage unit are determined, and the redundant time length of the target storage unit is determined according to the product of the average response time length and the tolerance rate;
[0028] According to the task amount of the calibration task and the redundancy duration, a expected calibration progress is determined.
[0029] In an embodiment, when the calibration task is triggered, the target storage unit in the programming state or the elimination state is determined, and the data operation of the target storage unit is suspended, and before the step that other storage units except the target storage unit support the data operation, the method further comprises:
[0030] When the real-time temperature is detected to be greater than a preset temperature threshold, the calibration task is triggered, and the preset temperature threshold is less than the standard temperature threshold.
[0031] In addition, to achieve the above-mentioned purpose, the application further provides an interface calibration device, which comprises a memory, a processor and a computer program stored in the memory and executable on the processor, and the computer program is configured to implement the steps of the interface calibration method as described above.
[0032] In addition, to achieve the above-mentioned purpose, the application further provides a storage medium, which is a computer readable storage medium, and the storage medium stores a computer program, and the computer program is executed by a processor to implement the steps of the interface calibration method as described above.
[0033] The one or more technical solutions provided by the application have at least the following technical effects:
[0034] The application provides an interface calibration method, which only suspends the data operation of the target storage unit during the calibration process, and allows other storage units to continue the data operation. This partial suspension mechanism reduces the interruption range of the data operation, ensures that the overall data processing capability is not affected by complete stagnation, thereby improving the real-time performance of the storage, and the user's request can be responded by other storage units. Once it is detected that the calibration operation is successfully completed, the data operation of the target storage unit is immediately resumed. This rapid recovery mechanism further reduces the impact of calibration on performance, so that the target storage unit can quickly return to the normal working state, and the delay to the user's request is reduced. BRIEF DESCRIPTION OF DRAWINGS
[0035] The accompanying drawings, which are incorporated in and constitute a part of this specification, illustrate embodiments consistent with the application and serve to explain the principles of the application together with the specification.
[0036] In order to more clearly illustrate the technical solutions in the embodiments of the application or the prior art, the accompanying drawings needed to be used in the embodiments or prior art description will be briefly introduced in the following. Obviously, for those skilled in the field, under the premise of no creative labor, other drawings can also be obtained from these drawings.
[0037] Figure 1 A flowchart provided for the interface calibration method embodiment one of the present application;
[0038] Figure 2 A flowchart provided for the interface calibration method embodiment three of the present application;
[0039] Figure 3 A flowchart provided for the interface calibration method embodiment four of the present application;
[0040] Figure 4 A device structure diagram of the hardware running environment involved in the interface calibration method in the embodiments of the present application.
[0041] The object implementation, functional features and advantages of the present application will be further explained in conjunction with the embodiments and with reference to the accompanying drawings. DETAILED DESCRIPTION
[0042] It should be understood that the specific embodiments described herein are only used to explain the technical solutions of the present application, and are not used to limit the present application.
[0043] In order to better understand the technical solutions of the present application, the specific embodiments will be described in detail below in conjunction with the drawings and the specific embodiments.
[0044] The main solution of the embodiments of the present application is: when the calibration task is triggered, the target storage unit in the programming state or the elimination state is determined, and the data operation of the target storage unit is suspended, and the data operation of other storage units except the target storage unit is supported; the interface associated with the storage is calibrated; when it is detected that the calibration operation is completed, the data operation of the storage unit is restored.
[0045] When the controller and the NAND Flash are powered on for the first time, they need to determine the optimal parameter setting of the interface, which is called "handshake". In the handshake process, the controller will scan different windows in the storage and set the sampling point to the center of the optimal window to ensure the reliability of data transmission.
[0046] With the improvement of the transmission speed of the NAND Flash, the calibration of the interface becomes more and more important to ensure the reliable data transmission channel. In addition, the transmission quality of the NAND Flash is easily affected by various factors, especially temperature changes, which easily cause the position of the sampling point to become unsuitable. At this time, it is necessary to recalibrate the interface.
[0047] In the related art, when calibration is needed, the controller suspends all ongoing data operations in the memory, and then re-handles with the memory, aiming to determine a new sampling point suitable for the current temperature condition to resume normal data operation. Although this method can ensure the accuracy of calibration, since the memory does not support any data operation, the user's request cannot be responded, thereby affecting the real-time performance of the memory.
[0048] To solve the above problems, the present application provides a solution. During the calibration process, only part of the storage units are suspended, while the other storage units can still respond to user requests, thereby improving the real-time performance of the memory.
[0049] It should be noted that the execution subject of the present solution can be a computing service device with data processing, network communication and program running functions, such as a tablet computer, a personal computer, a mobile phone, etc., or an interface calibration device capable of realizing the above functions. The following embodiments are described with reference to the interface calibration device.
[0050] Based on this, the present application provides an interface calibration method. Referring to Figure 1 , Figure 1 The flowchart of the first embodiment of the interface calibration method of the present application is shown in the figure.
[0051] In this embodiment, the interface calibration method comprises steps S10-S30:
[0052] Step S10, when the calibration task is triggered, the target storage unit in the programming state or the elimination state is determined, and the data operation of the target storage unit is suspended, and the data operation of the other storage units outside the target storage unit is supported;
[0053] The calibration task is usually triggered automatically according to certain conditions or strategies, such as a regular maintenance plan, detection of a decrease in the performance index of the memory, or at a special time such as system startup, reset, etc.
[0054] For example, the memory sets a standard temperature threshold, which can be regarded as the maximum operating temperature, such as 55℃. The technician sets a more conservative preset temperature threshold, which is lower than the standard temperature threshold, for example, 50℃. This setting is based on the consideration of preventive maintenance. Since the preset temperature threshold is lower than the standard temperature threshold, the rising trend of the temperature can be perceived in advance when the temperature of the memory has not yet reached the critical point that may cause performance degradation or data damage, and the calibration operation is triggered quickly.
[0055] After the calibration task is triggered, the state of the storage units is first detected to determine which units are currently in a working state. The working state can be further divided into a programming state or an erasing state, where the programming state generally refers to a process of writing data, and the erasing state refers to a process of erasing data.
[0056] For example, voltage change monitoring is used. By monitoring the voltage change of the storage unit, the voltage characteristics of the storage unit during the programming or erasing process are analyzed. For example, during the programming process, the threshold voltage of the storage unit will generally produce a specific voltage fluctuation, which can be monitored in real time, and the current state can be determined.
[0057] For example, temperature change monitoring is used. The temperature change that may be caused by the storage unit during the programming or erasing process is detected. During the programming and erasing processes, the internal temperature of the storage unit may increase, and by monitoring the temperature change, additional information can be obtained to determine the current state.
[0058] For example, the control register generally contains various state information of the storage unit. By using a pre-defined command sequence, an instruction to read the control register is sent to the storage unit. The data returned from the control register is analyzed, and the corresponding programming state bit in the status flag is checked. If it is set, it indicates that the unit is being programmed. Similarly, the corresponding erasing state bit in the status flag is checked. If it is set, it indicates that the unit is being erased.
[0059] According to the detection result, the storage unit in the programming state or the erasing state is selected as the target. If there are multiple targets, they can also be filtered based on certain algorithms or strategies, such as preferentially processing edge units.
[0060] After the target storage unit is confirmed, the current data operation of the unit is stopped by modifying the control register of the unit or sending a suspend command, and the unit enters a waiting or suspended state. For example, a suspend command is issued through the control register or instruction set, and the suspend function of the NAND Flash is called through the suspend command, which will trigger the suspension of the internal processing of the storage unit. The suspend function allows the internal processing flow to be temporarily interrupted without affecting the data integrity.
[0061] This means that during calibration, the target storage units will not perform any read or write operations on data, thereby releasing resources related to these units, such as bus bandwidth and cache space, to facilitate subsequent calibration operations.
[0062] At the same time, all other storage units that are not selected as target storage units continue to support normal data operations.
[0063] This design can ensure that the user's read-write requirements are met while the calibration task is in progress, maximizing the availability and real-time performance of the memory.
[0064] Step S20, calibrating the interface of the memory;
[0065] After the target memory unit is suspended, this time is used for window scanning and calibration operations.
[0066] Specifically, the specific data for scanning is first determined, and samples that can represent the overall performance characteristics of the memory should be selected, and these data should cover the distribution of threshold voltages. Next, the selected data is read using different read voltages, which can start from low voltage and gradually increase voltage to comprehensively cover the possible threshold voltage range. For each voltage setting, the corresponding read results, including the number of successful reads and the error rate, are recorded. By analyzing these read results, a threshold voltage distribution graph can be drawn to determine the optimal read window size and position. The optimal window should be in the voltage range with the highest successful read rate, and through the window parameters in this range, the best data read performance can be achieved.
[0067] After identifying the optimal read voltage range and window parameters, a series of read operations are performed using these new optimal window parameters to verify their performance, stability, and reliability. Multiple rounds of testing can be performed to observe the consistency of the results between different rounds. If the data results of each round of testing are relatively consistent, and the successful read rate and error rate are within an acceptable range, it can be confirmed that the calibration process is complete. Then, the verified optimal window is set as the final parameter to ensure that the best read performance can be achieved in actual applications.
[0068] Step S30, when the end of the calibration operation is detected, the data operation of the target memory unit is resumed.
[0069] A state monitoring module is designed to track the status of the calibration process in real time. Once the end of the calibration operation is detected, the data operation of the target memory unit can be resumed, which involves modifying the control registers of these units or sending a resume command. At the same time, necessary new initialization or configuration can also be performed to ensure that the memory unit adapts to the new calibration parameters, thereby ensuring the stability and reliability of the memory.
[0070] Exemplarily, an event listener is set in the control layer or middleware to capture all events related to the calibration process, such as calibration start, calibration in progress, calibration end, and the like. Meanwhile, a state table is maintained in the memory to record various stages of the calibration process and their timestamps. When the calibration process reaches a specific stage, such as calibration end, a state change notification is sent to the relevant components through a callback function, event notification, or the like. After receiving the state notification of calibration end, it is verified whether the current state is indeed that the calibration has been completed without error. To this end, the configuration area of the storage unit needs to be checked to confirm that the new calibration parameters have taken effect. The data operation can be verified to be successfully restored by sending some test data to the storage unit, and it is ensured that there is no data loss or damage. If it is confirmed that the calibration is successful and the new parameters have taken effect, a command for resuming the data operation is sent to the target storage unit.
[0071] In the embodiment, when the calibration task is triggered, the target storage unit in the programming or erasing state is determined, and the data operation of the target storage unit is suspended before the calibration operation is performed. During the calibration process, other non-target storage units are allowed to continue operation, and the system can more effectively utilize resources to provide faster and more reliable services to users. Compared with the traditional method of waiting for the target storage unit to complete its programming or erasing operation before performing the calibration task, the long time required for waiting for the completion of the programming operation and the erasing operation is saved, and the service quality of the system is improved.
[0072] The embodiment provides an interface calibration method, which only suspends the data operation of the target storage unit during the calibration process, while allowing other storage units to continue data operation. This partial suspension mechanism reduces the interruption range of data operation, ensures that the overall data processing capability is not affected by complete stagnation, thereby improving the real-time performance of the storage unit, and the user's request can be responded by other storage units. Once it is detected that the calibration operation is successfully completed, the data operation of the target storage unit is immediately resumed. This fast recovery mechanism further reduces the impact of calibration on performance, so that the target storage unit can quickly return to the normal working state, and the delay to the user's request is reduced.
[0073] Based on the first embodiment of the present application, in the second embodiment of the present application, the same or similar contents as the above embodiment one can be referred to the above introduction, and will not be described in detail. On this basis, before the step of determining the target storage unit in the programming state or the erasing state, the steps A10-A20 are further included:
[0074] Step A10, the calibration task is divided into a plurality of sub-tasks;
[0075] Step A20, for each sub-task, the step of determining the target storage unit in the programming state or the erasing state is iteratively performed, and when it is detected that the calibration operation is completed, the step of resuming the data operation of the target storage unit is performed.
[0076] It can be understood that when performing large-scale or complex calibration operations, it is often difficult to complete at one time, so the entire task can be divided into multiple small, independent sub-tasks, and the calibration action can be divided into time slices to reduce the complexity of a single operation and better control and manage resources.
[0077] As for the division method, it can be divided based on a preset fixed value, such as dividing the calibration task into 3 sub-tasks by default to adapt to general needs. In addition, dynamic division can be used according to actual conditions:
[0078] It is known that temperature changes will significantly affect the performance of the memory and the stability of the calibration process. For example, when the temperature change is large, the performance of the memory can be more affected, so more iteration times can be required to ensure the accuracy and reliability of the calibration.
[0079] Specifically, a preset time period, such as 10 minutes, is defined, and temperature data is collected within this time period. Within the defined time period, the maximum and minimum values of the temperature are recorded, and the temperature change amplitude is calculated.
[0080] According to the calculated temperature change amplitude, a preset mapping relationship is looked up, such as a table recording the iteration times corresponding to different temperature change amplitudes, to determine the required iteration times. Based on the determined iteration times, the calibration task is reasonably divided into a corresponding number of sub-tasks.
[0081] Exemplarily, the following temperature data is recorded within these 10 minutes: 22.0, 22.5, 23.0, 25.5, 24.0. The temperature change amplitude is calculated to be 3.5℃. The known mapping relationship table is: temperature change amplitude <5℃, iteration times is 3; 5℃≤temperature change amplitude <10℃, iteration times is 5; temperature change amplitude ≥10℃, iteration times is 7. Based on the above mapping relationship table, it is determined that the temperature change amplitude of 3.5 corresponds to the iteration times of 3, and the calibration task is divided into 3 sub-tasks.
[0082] In the execution process, for each sub-task, the steps of selecting the target storage unit, pausing the data operation of the target storage unit, performing the calibration operation, and resuming the data operation after the calibration is completed are performed in turn. By looping this process, all sub-tasks are completed, thereby realizing the smooth execution of the entire calibration task.
[0083] It can be understood that the above scheme can monitor temperature changes to evaluate the complexity of the calibration process when facing external temperature changes, and reasonably determine the iteration times accordingly, ensuring that the calibration process adapts to the current working conditions, thereby maintaining the stability of the correction.
[0084] It should be noted that the above scheme is based on temperature changes, in addition to which different voltage levels and process characteristics can also be considered.
[0085] For example, unstable power input can negatively affect memory performance and lead to unreliable calibration results. Therefore, the power supply fluctuations such as voltage, frequency, etc. are detected, and the degree of these fluctuations is monitored to determine whether the number of iterations needs to be increased to ensure the accuracy of the calibration.
[0086] For another example, different types of memory units and their specifications may have different sensitivities and requirements for calibration. When dividing the calibration task, the number of iterations can be determined according to the aging degree of the memory unit. The aged memory unit may need more iterations to ensure its stability.
[0087] Therefore, considering temperature, voltage, and process characteristics comprehensively helps to develop more effective calibration strategies.
[0088] Based on the first embodiment of the present application, in the third embodiment of the present application, the same or similar contents as the above embodiment one can refer to the above introduction, and the following will not be repeated. On this basis, please refer to Figure 2 The step of determining the target memory unit in the programming state or the elimination state includes steps B10-B30:
[0089] Step B10: Selecting candidate memory units in the programming state or the elimination state from all memory units;
[0090] Step B20: Determining the redundant bandwidth of the candidate memory unit according to the difference between the maximum bandwidth and the used bandwidth of the candidate memory unit, and generating a sequence according to the redundant bandwidth of the candidate memory unit;
[0091] Step B30: Determining the candidate memory unit at the head of the sequence as the target memory unit.
[0092] First, select those memory units in the programming state or the elimination state from all memory units as candidates.
[0093] For each candidate memory unit, first, the maximum bandwidth and the used bandwidth need to be determined. This can usually be obtained by querying the specification table of the memory unit, using performance monitoring tools, or checking system logs.
[0094] Next, by subtracting the used bandwidth from the maximum bandwidth, the redundant bandwidth of each candidate memory unit can be calculated. This value represents the additional bandwidth resources that the memory unit can provide without affecting normal operation.
[0095] On this basis, the candidate storage units are sorted according to the calculated redundant bandwidth. The sorting logic is from high to low, that is, the storage unit with higher redundant bandwidth is ranked in front. This is because the storage unit with higher redundant bandwidth has more available bandwidth resources, and is more suitable for performing additional calibration tasks or other operations that require additional bandwidth.
[0096] Finally, the candidate storage unit at the top of the sorted sequence is selected as the target storage unit. This storage unit is considered to be the most suitable unit for performing calibration tasks under the current conditions.
[0097] For example, there are the following storage units:
[0098] Storage unit A: state is programming state, maximum bandwidth is 100 MB / s, used bandwidth is 30 MB / s.
[0099] Storage unit B: state is elimination state, maximum bandwidth is 120 MB / s, used bandwidth is 80 MB / s.
[0100] Storage unit C: state is normal state, maximum bandwidth is 110 MB / s, current use bandwidth is 50 MB / s.
[0101] The candidate storage units in programming state or elimination state are screened out, including storage unit A and storage unit B. According to the formula redundant bandwidth = maximum bandwidth - used bandwidth, the respective redundant bandwidths are determined, the results are storage unit A (redundant bandwidth: 70 MB / s), storage unit B (redundant bandwidth: 40 MB / s).
[0102] The sorting result is storage unit A > storage unit B, so storage unit A is determined as the target storage unit.
[0103] In addition, each candidate storage unit may have other factors affecting its suitability as a target storage unit in addition to the redundant bandwidth.
[0104] For example, explicit evaluation factors include the stability, historical performance, and usage frequency of the storage unit. Specific quantitative standards are developed for each evaluation factor. For example, stability can be scored according to failure rate; historical performance can be evaluated by average data transfer rate; usage frequency can be scored according to the number of accesses to the storage unit.
[0105] Through monitoring systems, log analysis, and performance testing, etc., relevant data of the candidate storage units are collected. According to the defined quantitative standards, each candidate storage unit is scored and its weighted coefficient is calculated. Specifically, the weighted sum of the scores of each factor can be used, and the weights are allocated according to the importance of each factor.
[0106] Next, the redundancy bandwidth of each candidate storage unit is combined with its weighting coefficient to obtain a comprehensive score. The candidate storage units are ranked according to the comprehensive scores to generate a new sequence. This step not only considers the redundancy capability of the storage units, but also takes into account their performance in other key aspects, thereby providing a more comprehensive and accurate sequence.
[0107] It can be understood that by considering multiple evaluation factors, the present scheme can comprehensively reflect the actual performance of the storage units. This comprehensive evaluation helps to avoid the one-sidedness caused by relying on a single indicator, thereby effectively selecting the best storage unit and optimizing resource allocation.
[0108] Based on the first embodiment of the present application, in the fourth embodiment of the present application, the same or similar contents as the above-mentioned first embodiment can be referred to the above introduction, and the subsequent will not be described in detail. On this basis, please refer to Figure 3 , after step S20, further comprising steps C10-C20:
[0109] Step C10, determine the expected calibration progress of the calibration task, and calculate the progress delay time between the expected calibration progress and the real-time calibration progress;
[0110] Step C20, if the progress delay time is greater than the time threshold, or the calibration task is completed, it is determined that the calibration operation is ended.
[0111] It can be understood that the calibration and data operation of the storage unit both need to occupy the resources of the storage unit. If the resources are continuously invested for calibration, and the calibration progress cannot keep up with the expectation, it may lead to competition between calibration and data operation, thereby affecting the normal read and write of data. Therefore, the present scheme sets a limit for the progress of the calibration task.
[0112] First, the calibration task is analyzed in detail, including task type, calibration content, required steps, and complexity of each step. According to the analysis result, the expected progress table of the whole calibration task is planned, and the expected start time, end time and expected completion degree of each step are determined.
[0113] Exemplarily, by analyzing the specific fields requested by the user in the data operation, different business types can be identified, such as high-priority real-time transactions, low-latency data queries, and batch data processing. Then, statistical analysis is performed on the collected historical data to record the start and end times of each operation, so as to calculate the actual average response time of each business type. In addition, the user's response time tolerance for each business type needs to be obtained, for example, the tolerance of high-priority real-time transactions is 10%, and the tolerance of low-latency data queries is 20%. Based on the product of the average response time and the tolerance, the redundant time can be calculated. On this basis, according to the workload estimation of the calibration task and the planning of the redundant time, a detailed timeline is formulated to clearly define the start and end times of each task step. Then, according to the task requirements, the computing resources are reasonably allocated to ensure that each task can proceed smoothly. Finally, based on the formulated timeline and resource allocation, the expected progress of the entire calibration task is calculated.
[0114] During the execution of the calibration task, various data in the calibration process are collected in real time through sensors, log records, or special monitoring software tools, including the start time, end time, completion degree, and possible abnormal situations of each calibration step. According to the collected data, the completion degree of the current calibration task, i.e., the real-time calibration progress, is calculated in real time.
[0115] The real-time calibration progress is compared with the expected calibration progress to calculate the progress delay time, i.e., the difference between the actual completion time and the expected completion time.
[0116] A reasonable time threshold is set in advance to represent the maximum acceptable progress delay time. A unified value, such as 10 seconds, can be used for all storage units. When the progress delay time is greater than the time threshold, or the real-time calibration progress reaches 100%, i.e., the calibration task is completed, it is determined that the calibration operation is ended. At this time, the normal data operation of the target storage unit needs to be restored to respond to user requests in a timely manner.
[0117] The embodiment provides an interface calibration method, and the real-time calibration progress monitoring and end determination mechanism in the scheme can ensure that the normal data operation of the storage unit is restored immediately once the calibration task is completed or exceeds the predetermined progress delay time threshold. This rapid response capability can significantly reduce the response delay caused by the calibration task and improve the user experience.
[0118] It should be noted that the above examples are only used to understand the present application and do not constitute a limitation on the interface calibration method of the present application. More forms of simple transformation based on this technical concept are within the protection scope of the present application.
[0119] The application provides an interface calibration device, comprising: at least one processor; and a memory connected to the at least one processor in communication; wherein the memory stores a computer program executable by the at least one processor, and the computer program is executed by the at least one processor to enable the at least one processor to perform the interface calibration method in the above embodiment one.
[0120] Reference will now be made to the following description Figure 4 which shows a structural diagram of an interface calibration device suitable for implementing embodiments of the application. The interface calibration device in the embodiments of the application can include, but is not limited to, mobile terminals such as mobile phones, notebook computers, digital broadcast receivers, PDAs (Personal Digital Assistants), PADs (Portable Application Descriptions), PMPs (Portable Media Players), vehicle-mounted terminals (such as vehicle-mounted navigation terminals), and the like, and fixed terminals such as digital TVs, desktop computers, and the like. Figure 4 The interface calibration device shown is only an example and should not impose any limitation on the functions and use range of the embodiments of the application.
[0121] As Figure 4 shown, the interface calibration device can include a processing apparatus 1001 (such as a central processor, a graphics processor, or the like) that can perform various appropriate actions and processes according to programs stored in a read-only memory (ROM) 1002 or loaded from a storage apparatus 1003 into a random access memory (RAM) 1004. Various programs and data required for operation of the interface calibration device are also stored in the RAM 1004. The processing apparatus 1001, the ROM 1002, and the RAM 1004 are connected to each other through a bus 1005. An input / output (I / O) interface 1006 is also connected to the bus. In general, the following systems can be connected to the I / O interface 1006: input apparatuses 1007 including, for example, a touch screen, a touch pad, a keyboard, a mouse, an image sensor, a microphone, an accelerometer, a gyroscope, and the like; output apparatuses 1008 including, for example, a liquid crystal display (LCD), a speaker, a vibrator, and the like; the storage apparatus 1003 including, for example, a magnetic tape, a hard disk, and the like; and a communication apparatus 1009. The communication apparatus 1009 can allow the interface calibration device to communicate with other devices wirelessly or by wire to exchange data. Although the interface calibration device having various systems is shown in the figure, it should be understood that all the systems shown are not required to be implemented or provided. More or fewer systems can be alternatively implemented or provided.
[0122] In particular, according to the embodiments disclosed in the present application, the process described above with reference to the flowchart can be implemented as a computer software program. For example, the embodiments disclosed in the present application include a computer program product comprising a computer program carried on a computer readable medium, the computer program containing program codes for executing the method shown in the flowchart. In such embodiments, the computer program can be downloaded and installed from a network through a communication device, or installed from a storage device 1003, or installed from a ROM 1002. When the computer program is executed by the processing device 1001, the above-mentioned functions defined in the method of the embodiments disclosed in the present application are executed.
[0123] The interface calibration device provided by the present application adopts the interface calibration method in the above-mentioned embodiments, and can solve the technical problem that interface calibration affects the real-time performance of the memory. Compared with the prior art, the interface calibration device provided by the present application has the same beneficial effects as the interface calibration method provided by the above-mentioned embodiments, and other technical features in the interface calibration device are the same as the features disclosed in the above-mentioned embodiments, and will not be repeated here.
[0124] It should be understood that various parts of the present application can be realized by hardware, software, firmware or a combination thereof. In the description of the above-mentioned embodiments, specific features, structures, materials or characteristics can be combined in any one or more embodiments or examples in a suitable manner.
[0125] The above is merely specific implementation of the present application, but the protection scope of the present application is not limited thereto, any person skilled in the art can easily think of changes or replacements within the technical scope disclosed in the present application, which should be covered in the protection scope of the present application. Therefore, the protection scope of the present application should be subject to the protection scope of the claims.
[0126] The present application provides a computer readable storage medium having a computer program stored thereon, the computer readable program instructions being used to execute the interface calibration method in the above-mentioned embodiments.
[0127] The computer readable storage medium provided in the present application may, for example, be a U disk, but is not limited to an electric, magnetic, optical, electromagnetic, infrared, or semiconductor system, system, or device, or any combination thereof. More specific examples of the computer readable storage medium may include, but are not limited to, an electric connection with one or more conductive wires, a portable computer disk, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber, a portable compact disk read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination thereof. In the present embodiment, the computer readable storage medium may be any tangible medium containing or storing a program that can be used by or in conjunction with an instruction execution system, system, or device. The program code contained on the computer readable storage medium can be transmitted by any suitable medium, including but not limited to an electric wire, an optical cable, an RF (Radio Frequency), etc., or any suitable combination thereof.
[0128] The above computer readable storage medium may be contained in the interface calibration device, or may exist separately without being assembled into the interface calibration device.
[0129] The above computer readable storage medium carries one or more programs, when the one or more programs are executed by the interface calibration device, the interface calibration device is caused to: when a calibration task is triggered, determine a target storage unit in a programming state or an elimination state, and suspend data operation of the target storage unit, and other storage units except the target storage unit support data operation; perform a calibration operation on an interface associated with the storage unit; when it is detected that the calibration operation is completed, resume the data operation of the storage unit.
[0130] Computer program code for carrying out operations of the present application can be written in any combination of one or more programming languages, including an object oriented programming language such as Java, Smalltalk, C++ or the like and conventional procedural programming languages, such as the "C" programming language or similar programming languages. The program code can execute entirely on the user's computer, partly on the user's computer, as a stand-alone software package, partly on the user's computer and partly on a remote computer or entirely on the remote computer or server. In the latter scenario, the remote computer can be connected to the user's computer through any type of network, including a local area network (LAN) or a wide area network (WAN), or the connection can be made to an external computer (for example, through the Internet using an Internet Service Provider).
[0131] The computer program instructions can also be loaded onto a computer, other programmable data processing apparatus, or other devices to cause a series of operational steps to be performed on the computer, other programmable apparatus or other devices to produce a computer implemented process such that the instructions which execute on the computer or other programmable apparatus provide processes for implementing the functions / acts specified in the flowchart and / or block diagram block or blocks.
[0132] The modules involved in the embodiments of the present application can be implemented in the manner of software or in the manner of hardware. Among them, the name of the module does not constitute a limitation of the unit itself in some cases.
[0133] The readable storage medium provided by the present application is a computer readable storage medium, which stores a computer program for executing the interface calibration method described above, and can solve the technical problem that the interface calibration affects the real-time performance of the memory. Compared with the prior art, the computer readable storage medium provided by the present application has the same beneficial effects as the interface calibration method provided by the above embodiments, which will not be repeated here.
[0134] The above merely describes some embodiments of the present application, and does not limit the patent scope of the present application. Any equivalent structural transformation, direct / indirect application in other related technical fields, or the like, which is made based on the technical concept of the present application and the content of the specification and drawings, is included in the patent protection scope of the present application.
Claims
1. An interface calibration method, characterized by, The method comprises: when the calibration task is triggered, determining a target storage unit in a programming state or an erasing state, and suspending data operation of the target storage unit, while other storage units except the target storage unit support data operation; performing calibration operation on the interface of the memory; when it is detected that the calibration operation is completed, resuming the data operation of the target storage unit.
2. The method of claim 1, wherein, Before the step of determining the target storage unit in the programming state or the erasing state, the method further comprises: dividing the calibration task into a plurality of subtasks; for each subtask, performing the steps of determining the target storage unit in the programming state or the erasing state, and when it is detected that the calibration operation is completed, resuming the data operation of the target storage unit.
3. The method of claim 2, wherein, The step of dividing the calibration task into a plurality of subtasks comprises: calculating a temperature variation amplitude within a preset time period; determining the number of iterations required by the calibration process according to the temperature variation amplitude; dividing the calibration task into a plurality of subtasks according to the number of iterations.
4. The method of claim 1, wherein, The step of determining the target storage unit in the programming state or the erasing state comprises: selecting candidate storage units in the programming state or the erasing state from all storage units; determining the redundant bandwidth of the candidate storage units according to the difference between the maximum bandwidth and the used bandwidth of the candidate storage units, and arranging the candidate storage units to generate a sequence according to the redundant bandwidth; determining the candidate storage unit at the head of the sequence as the target storage unit.
5. The method of claim 4, wherein, Before the step of determining the candidate storage unit at the head of the sequence as the target storage unit, the method further comprises: calculating a weighted coefficient of the candidate storage units according to the stability, historical performance and frequency of use of the candidate storage units, and adjusting the sequence according to the weighted coefficient.
6. The method of claim 1, wherein, After the step of performing calibration operation on the interface of the memory, the method further comprises: determining the expected calibration progress of the calibration task, and calculating the progress delay time between the expected calibration progress and the real-time calibration progress; if the progress delay time is greater than a time threshold value, or the calibration task is completed, determining that the calibration operation is completed.
7. The method of claim 6, wherein, The step of determining the expected calibration progress of the calibration task comprises: determining the type of service to which the data operation of the target storage unit belongs, determining the average response time length and the tolerance rate of the target storage unit, and determining the redundant time length of the target storage unit according to the product of the average response time length and the tolerance rate; determining the expected calibration progress according to the task amount of the calibration task and the redundant time length.
8. The method of claim 1, wherein, Before the step of determining the target storage unit in the programming state or the erasing state when the calibration task is triggered, and suspending the data operation of the target storage unit, while other storage units except the target storage unit support data operation, the method further comprises: when it is detected that the real-time temperature is greater than a preset temperature threshold value, triggering the calibration task, the preset temperature threshold value being less than a standard temperature threshold value.
9. An interface calibration device, characterized by The device comprises a memory, a processor and a computer program stored on the memory and executable on the processor, the computer program being configured to implement the steps of the interface calibration method according to any one of claims 1 to 8.
10. A storage medium, characterized by The storage medium is a computer readable storage medium, and the storage medium stores a computer program, and the computer program is executed by a processor to implement the steps of the interface calibration method according to any one of claims 1 to 8.
Citation Information
Patent Citations
Active error detection GPU video memory access repair method and device
CN114637624A
Data storage device and operating method thereof
US20180081582A1