Method for dynamically adjusting optimal driving of storage device

TW202634450AActive Publication Date: 2026-08-16ATP ELECTRONICS TAIWAN
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
TW114104751
Authority / Receiving Office
TW · TW
Patent Type
Applications
Current Assignee / Owner
Filing Date
2025-02-08
Publication Date
2026-08-16
Estimated Expiration
2045-02-07

AI Technical Summary

Technical Problem

Existing methods for adjusting the input/output driving capability of storage devices fail to dynamically adapt to temperature fluctuations, leading to increased data error rates due to static condition measurements.

Method used

A method for dynamically adjusting the driving capability of storage devices by determining optimal latency values through maximum and minimum delay values, allowing the device to adapt to changing temperatures.

Benefits of technology

Maintains storage device stability and reduces data error rates by dynamically selecting the optimal driving capability level based on latency values, effectively addressing temperature-induced fluctuations.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure TWG2TA001072147_001
    Figure TWG2TA001072147_001
  • Figure TWG2TA001072147_002
    Figure TWG2TA001072147_002
  • Figure TWG2TA001072147_003
    Figure TWG2TA001072147_003
Patent Text Reader

Abstract

A method for dynamically adjusting a driving of a storage device, executed by the storage device, is suitable for adjusting the driving to an optimal gear among multiple gears, and the method comprises the following steps (A) For each gear, the storage device performs signal delay with multiple different delay values, and obtains a maximum delay value and a minimum delay value corresponding to the gear and capable of correctly writing and reading data; and (B) The storage device selects the best gear from the gears according to the maximum delay value and the minimum delay value corresponding to each gear, wherein the difference between the maximum delay value and the minimum delay value corresponding to the optimal gear is the highest.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention relates to an input / output (I / O) data management method, and more particularly to a method for dynamically adjusting the driving capability of a storage device. Prior Technology

[0002] In storage device design, adjusting the input / output driving capability is crucial for improving overall performance, stability, and reducing power consumption. Controllers and memory in storage devices typically support multiple levels of driving capability adjustment to accommodate different printed circuit board (PCB) layout and routing requirements.

[0003] However, when the operating temperature of the storage device changes (whether it rises or falls), temperature fluctuations can cause a shift in the operating timing between the controller and the memory, and affect the waveform of high-speed signals. Specifically, as temperature changes, the rise and fall times of the signal may accelerate or slow down, leading to instability in signal transmission. If the drive capability cannot be properly adjusted according to changes in ambient temperature, it may result in an increase in data error rates.

[0004] Currently, methods for adjusting drive capability to the optimal level mainly rely on setting measurement points during the manufacturing process of the storage device or reserving test points in the early design stage, and then using an oscilloscope to perform actual measurements to determine the most suitable drive capability setting. However, these methods are usually based on static condition measurements and fail to fully consider the dynamic adjustment of drive capability under changes in ambient temperature, thus failing to effectively address the problem of increased error rates caused by temperature fluctuations. Summary of the Invention

[0005] Therefore, the object of the present invention is to provide a method for dynamically adjusting the driving capability of a storage device to solve the above-mentioned problems.

[0006] Therefore, the method for dynamically adjusting the driving capability of the storage device according to the present invention is executed by the storage device and is suitable for adjusting the driving capability to an optimal level among multiple levels. The method includes a step (A) and a step (B).

[0007] In step (A), for each level, the storage device delays the signal with multiple different delay values ​​and obtains a maximum delay value and a minimum delay value that are correct for writing and reading data for that level.

[0008] In step (B), the storage device selects the optimal gear from the gears and adjusts the drive capability to the optimal gear, wherein the difference between the maximum latency value and the minimum latency value corresponding to the optimal gear is the highest.

[0009] The advantages of this invention are: by dynamically selecting the optimal level according to the maximum and minimum latency values ​​corresponding to each level of the storage device, and adjusting the driving capability to the optimal level, the device can cope with changes under different temperature conditions, thereby maintaining the stability of the storage device and reducing the data error rate. Simple Explanation of the Diagram

[0010] Other features and effects of the present invention will be clearly presented in the embodiments with reference to the drawings, wherein: Figure 1 is a block diagram illustrating a storage device used to implement one embodiment of the method for dynamically adjusting the driving capability of a storage device according to the present invention; Figure 2 is a flowchart illustrating an embodiment of the method for dynamically adjusting the driving capability of a storage device according to the present invention; and Figure 3 is a flowchart to illustrate the sub-steps included in step 22 of Figure 2. Implementation

[0011] Before the invention is described in detail, it should be noted that similar elements are represented by the same numbers in the following description.

[0012] Referring to FIG1, an embodiment of a method for implementing the present invention of dynamically adjusting the driving capability of a storage device is illustrated. The storage device 1 includes a memory 11 and a controller 12 electrically connected to the memory 11.

[0013] It is worth noting that, in this embodiment, the storage device 1 is, for example, a solid-state disk (SSD), and the memory 11 is, for example, a reverse-gate flash memory (NAND Flash), but is not limited thereto.

[0014] Referring to Figures 1 and 2, this embodiment of the method for dynamically adjusting the driving capability of a storage device according to the present invention is executed by the storage device 1 and is suitable for adjusting the driving capability to an optimal level among multiple levels. The steps included in this embodiment are described below.

[0015] In step 21, the controller 12 determines whether the drive capability has been adjusted across all gears. If it is determined that there are still unadjusted gears in the drive capability, step 22 is performed; if it is determined that the drive capability has been adjusted across all gears, step 23 is performed.

[0016] In step 22, the controller 12 adjusts the drive capability to a level that has not yet been adjusted, delays the signal with multiple different delay values ​​to obtain a maximum delay value and a minimum delay value that correspond to the level and can correctly write and read data, and repeats step 21 until it is determined that all levels have been adjusted.

[0017] It is worth noting that, in this embodiment, the controller 12 sets a delay count value of its own delay-locked loop (DLL) to the delay values ​​respectively, and delays the signal with the delay values, but is not limited to this.

[0018] It is important to note that in this embodiment, the driving capability is adjusted to all gears by determining whether the driving capability has been adjusted. In other embodiments, this determination may not be performed, and the driving capability may be adjusted sequentially from the lowest gear to the highest gear, or sequentially from the highest gear to the lowest gear. This is not a limitation.

[0019] Referring to Figure 3, in this embodiment, step 22 includes sub-steps 221 to 228.

[0020] In step 221, the controller 12 adjusts the driving capability to the level that has not yet been adjusted.

[0021] In step 222, the controller 12 sets the delay count value to a preset value.

[0022] It should be noted that in this embodiment, the preset value is zero. In other embodiments, it may be a value greater than zero to speed up the process, and is not limited thereto.

[0023] In step 223, the controller 12 increments the delay count value and adjusts the signal delay based on the delay count value.

[0024] In step 224, the controller 12 determines whether the number of bit errors in writing and reading data stored in the memory 11 is greater than a threshold value. When it is determined that the number of bit errors in writing and reading data stored in the memory 11 is greater than the threshold value, step 223 is repeated until it is determined that the number of bit errors in writing and reading data stored in the memory 11 is less than or equal to the threshold value; and when it is determined that the number of bit errors in writing and reading data stored in the memory 11 is less than or equal to the threshold value, step 225 is performed.

[0025] It is important to note that in this embodiment, the threshold value is zero. As long as a bit error occurs, it is considered that the data stored in the memory 11 cannot be correctly written or read, and step 223 is performed. In other embodiments, the threshold value may also be a value greater than zero, and is not limited thereto.

[0026] In step 225, the controller 12 stores the delay count value as the minimum delay value.

[0027] In step 226, the controller 12 increments the delay count value and adjusts the signal delay based on the delay count value.

[0028] It should be noted that in this embodiment, steps 223 and 226 involve incrementing the delay count value by one. In other embodiments, the value may be greater than one to speed up the process, and this is not a limitation.

[0029] In step 227, the controller 12 determines whether the number of bit errors in writing and reading data stored in the memory 11 is greater than the threshold value. If it is determined that the number of bit errors in writing and reading data stored in the memory 11 is greater than the threshold value, step 228 is performed; if it is determined that the number of bit errors in writing and reading data stored in the memory 11 is less than or equal to the threshold value, step 226 is repeated until it is determined that the number of bit errors in writing and reading data stored in the memory 11 is greater than the threshold value.

[0030] In step 228, the controller 12 stores the delay count value as the maximum delay value and repeats step 21 until it is determined that the drive capability has been adjusted to traverse all gears.

[0031] In step 23, the controller 12 selects the optimal gear from the gears based on the maximum and minimum delay values ​​corresponding to each gear, adjusts the driving capability to the optimal gear, and obtains a sampling center point based on the maximum and minimum delay values ​​corresponding to the optimal gear. The difference between the maximum and minimum delay values ​​corresponding to the optimal gear is the highest, and the sampling center point is the average of the maximum and minimum delay values ​​corresponding to the optimal gear.

[0032] It is worth noting that the difference between the maximum latency value and the minimum latency value represents the effective time window in which the storage device 1 can operate correctly under different latency settings. The difference between the maximum latency value and the minimum latency value can be used to evaluate the timing tolerance of the storage device 1. Ideally, the larger the value, the better the adaptability of the storage device 1 to changes in external factors. Therefore, in this embodiment, the difference between the maximum latency value and the minimum latency value corresponding to the optimal setting is the highest, but it is not limited to this.

[0033] In summary, the method for dynamically adjusting the driving capability of the storage device according to the present invention uses the controller 12 to dynamically select the optimal level according to the maximum and minimum delay values ​​corresponding to each level, and adjusts the driving capability to the optimal level to cope with changes under different temperature conditions, thereby maintaining the stability of the storage device 1 and reducing the data error rate, thus effectively achieving the purpose of the present invention.

[0034] However, the above description is merely an embodiment of the present invention and should not be construed as limiting the scope of the present invention. Any simple equivalent changes and modifications made in accordance with the scope of the patent application and the contents of the patent specification of the present invention shall still fall within the scope of the patent of the present invention.

[0035] 1: Storage device 11: Memory 12: Controller Steps 21-23 221~228: Steps

Claims

1. A method for dynamically adjusting the drive capability of a storage device, performed by the storage device, suitable for adjusting the drive capability to an optimal level among a plurality of levels, the method comprising the steps of: (A) for each level, delaying the signal with a plurality of different delay values, and obtaining a maximum delay value and a minimum delay value corresponding to the level and capable of correctly writing and reading data; and (B) selecting the optimal level from the levels according to the maximum delay value and the minimum delay value corresponding to each level, and adjusting the drive capability to the optimal level, wherein the difference between the maximum delay value and the minimum delay value corresponding to the optimal level is the highest.

2. The method for dynamically adjusting the driving capability of a storage device as described in claim 1, wherein, Step (A) includes the following sub-steps: (A-1) Determine whether the drive capability has been adjusted across all gears; (A-2) When it is determined that there are still unadjusted gears in the drive capability, adjust the drive capability to the unadjusted gear, delay the signal with the delay values ​​to obtain the maximum delay value and the minimum delay value corresponding to the gear, and repeat step (A-1) until it is determined that all gears have been adjusted; and (A-3) When it is determined that the drive capability has been adjusted across all gears, proceed to step (B).

3. The method for dynamically adjusting the driving capability of a storage device as described in claim 2, wherein, Step (A-2) includes the following sub-steps: (A-2-1) When it is determined that there are still unadjusted gears in the drive capability, adjust the drive capability to the unadjusted gear; (A-2-2) Set a delay count value to a preset value, which is greater than or equal to zero; (A-2-3) Increase the delay count value and adjust the signal delay according to the delay count value; (A-2-4) Determine whether the number of bit errors in the write / read data is greater than a threshold value, which is greater than or equal to zero; (A-2-5) When a bit error is detected, repeat steps (A-2-3) to (A-2-4) until the number of bit errors in the write / read data is less than or equal to the threshold value; (A-2-6) When the number of bit errors in the write / read data is less than or equal to the threshold value, store the delay count value as the minimum delay value; (A-2-7) Increase the delay count value and adjust the signal delay according to the delay count value. (A-2-8) Determine whether the number of bit errors in the write and read data is greater than the threshold value; (A-2-9) When it is determined that the number of bit errors in the write and read data is less than or equal to the threshold value, repeat steps (A-2-7) to (A-2-8) until it is determined that the number of bit errors in the write and read data is greater than the threshold value; and (A-2-10) When it is determined that the number of bit errors in the write and read data is greater than the threshold value, store the delay count value as the maximum delay value, and repeat step (A-1) until it is determined that the drive capability has been adjusted to traverse all gears.

4. The method for dynamically adjusting the driving capability of a storage device as described in claim 3, wherein, In step (A-2-2), the preset value is zero.

5. The method for dynamically adjusting the driving capability of a storage device as described in claim 3, wherein, In step (A-2-4), the threshold value is zero.

6. The method for dynamically adjusting the driving capability of a storage device as described in claim 3, wherein, In steps (A-2-3) and (A-2-7), the delay count value is incremented by one to increase the delay count value.

7. The method for dynamically adjusting the driving capability of a storage device as described in claim 1, wherein, In step (B), a sampling center point is also obtained based on the maximum delay value and the minimum delay value corresponding to the optimal gear.

8. The method for dynamically adjusting the driving capability of a storage device as described in claim 7, wherein, The sampling center point is the average of the maximum delay value and the minimum delay value corresponding to the optimal gear.