Patent Publication Number: US-9846606-B2

Title: Storage device calibration methods and controlling device using the same

Description:
BACKGROUND 
     The present invention relates to storage device calibration methods and controlling device using the same, and more particularly, to storage device calibration methods for performing transmission calibrations and controlling device using the same. 
     Double-Data-Rate Fourth Generation Synchronous Dynamic Random Access Memory (DDR4 SDRAM, hereinafter DDR4) is the next generation of DRAM memories, promising faster operating speeds than DDR3, as well as greater power saving and reduction features. The standard operating voltage has been reduced from 1.5V for DDR3 to 1.2V for DDR4, which makes DDR4 more suitable for mobile and handheld devices that require greater power efficiency. 
     In an initialization stage or during an operation stage of the DDR4, a controller of the DDR4 is required to perform transmission/reception (TX/RX) calibrations to prevent data transmissions or data receptions between the controller and the DDR4 from abnormally operating. When performing the TX calibration, the controller needs to write testing data to the DDR4 and read the testing data stored in the DDR4. Via comparing the testing data wrote (i.e. transmitted) to the DDR4 and the testing data read (i.e. received) from the DDR4, the controller is able to determine whether the data transmission successes. However, the result of the RX calibration would affect the process of the TX calibration since the TX calibration needs to read data from the DDR4. For example, the TX calibration would be forced to be interrupted and restarted if the result of the RX calibration indicates that the data reception fails, resulting in additional time consumption. As can be seen from the above, the prior art needs to be improved. 
     SUMMARY 
     In order to solve the above problem, the present invention discloses storage device calibration methods of performing transmission calibrations and control device using the same. 
     The present invention discloses a calibration method for a controlling device of a storage device, the calibration method comprising transmitting first data comprising a calibration data and a first checksum to the storage device according to each of a plurality of training parameter sets; recording a plurality of error indicators which are respectively corresponding to the plurality of training parameter sets and from the storage device; and identifying one of the plurality of training parameter sets as a predetermined parameter set according to the plurality of error indicators respectively corresponding to the plurality of training parameter sets; wherein each error indicator indicates whether transmitting the first data according to the corresponded training parameter set is successful. 
     The present invention further discloses a calibration method for a controlling device of a storage device, the calibration method comprising transmitting first run-time data to a storage device according to a predetermined parameter set; periodically transmitting second run-time data comprising at least one run-time checksum to the storage device according to at least one of a plurality of run-time parameter sets; recording a plurality of run-time error indicators which are corresponding to the plurality of run-time parameter sets and from the storage device; and adjusting the predetermined parameter set according to the plurality of run-time error indicators corresponding to the plurality of run-time parameter sets. 
     The present invention further discloses a controlling device for a storage device, the controlling device comprising an interface module, for transmitting data and signals between the controlling device and the storage device; a data providing module, for providing a first data comprising a calibration data and a first checksum; and a control module, for obtaining a plurality of training parameter sets; wherein the controlling device transmits, through the interface module, the first data comprising the calibration data and the first checksum to the storage device according to each of the plurality of training parameter sets; wherein the controlling device receives, through the interface module, a plurality of error indicators which are respectively corresponding to the plurality of training parameter sets, and each error indicator indicates whether transmitting the first data according to the corresponded training parameter set is successful; wherein the control module identifies one of the plurality of training parameter sets as a predetermined parameter set according to the plurality of error indicators. 
     These and other objectives of the present invention will no doubt become obvious to those of ordinary skill in the art after reading the following detailed description of the preferred embodiment that is illustrated in the various figures and drawings. 
    
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
         FIG. 1A  is a schematic diagram of an electronic system according to an example of the present invention. 
         FIG. 1B  is a schematic diagram of an electronic system according to another example of the present invention. 
         FIG. 2  is a flowchart of a calibration method for a controlling device of a storage device according to an example of the present invention. 
         FIG. 3  is a flowchart of implementation of the calibration method shown in  FIG. 2 . 
         FIG. 4  is a flowchart of another calibration method for a controlling device of a storage device according to an example of the present invention. 
         FIG. 5  is a flowchart of implementation of the calibration method shown in  FIG. 4 . 
         FIG. 6  is a flowchart of a calibration method for a storage device according to an example of the present invention. 
     
    
    
     DETAILED DESCRIPTION 
     Please refer to  FIG. 1A , which is a schematic diagram of an electronic system  10 A according to an example of the present invention. The electronic system  10 A may be an electronic product comprising a storage device. For example, the electronic system  10 A may be a mobile or a handheld device such as a laptop, a personal computer, a tablet and a smart phone. As show in  FIG. 1A , the electronic system  10 A comprises a controlling device  100  and a storage device  102 , wherein the storage device  102  may be any data storage device such as a read-only memory (ROM), flash memory, random-access memory (RAM), hard disk and optical data storage device, and is not limited herein. For example, the storage device  102  may be a Double-Data-Rate Fourth Generation Synchronous Dynamic Random Access Memory (DDR4 SDRAM). When the electronic system  10 A requires the controlling device  100  to perform a transmission calibration (hereinafter TX calibration) from the controlling device  100  to the storage device  102 , the controlling device  100  transmits calibration data to the storage device  102  according to each of training parameter sets. After receiving the calibration data from the controlling device  100 , the storage device  102  generates an alert signal CRC to indicate whether the data transmission corresponding to each of the training parameter sets successes. The controlling device  100  records the alert signal CRC corresponding to each training parameter set as an error indicator and accordingly identifies one of the training parameter sets as a predetermined parameter set utilized for subsequent data transmissions. In other words, the controlling device  100  determines whether the data transmissions from the controlling device  100  to the storage device  102  success by checking the alert signal CRC instead of reading data from the storage device  102 . Without performing the read operations during the process of the TX calibration, the time of performing the TX calibration is shortened and the operations of the TX calibration is not affected by results of reception calibrations (hereinafter RX calibration), therefore. 
     In details, the controlling device  100  comprises an interface module  104 , a data providing module  106  and a controlling module  108 . The interface module  104  is utilized for transmitting data and signals between the controlling device  100  and the storage device  102 . The data providing module  106  is utilized for generating a data signal DQ and a strobe signal DQS, which are transmitted to the storage device  102  via the interface module  104 . The controlling module  108  is utilized for obtaining the plurality of training parameter sets storing with or accessible to the controlling module  108 . When the storage device  102  is under initialization (e.g. when the electronic system  10 A boots up or reboots), the controlling module  108  generates and transmits a command signal CMD to the storage device  102  via the interface module  104 , to enable a transmission training function and a write checking function of the storage device  102 . In an example, the write checking function is a write Cyclic Redundancy Check (CRC) function of the storage device  102 . The command signal CMD also indicates a reference voltage to the storage device  102 . Further, the controlling module  108  generates a bit delay signal BD, a sampling strobe signal SS to the data providing module  106 , and an input/output (I/O) ability signal IOA to the interface module  104 , to control different variables of the data transmission from the controlling device  100  to the storage device  102 . In this example, the reference voltage relates to the voltage that the storage device  102  determines digital codes of the received data signal DQ; the bit delay signal BD relates to the time periods between bits of the data signal DQ; the sampling strobe signal SS relates to the timing that the storage device  102  samples the received data signal DQ (i.e. the sampling strobe signal SS relates to the relationships between the data signal DQ and the strobe signal DQS); and the I/O ability signal IOA relates to the driving ability of the transmitted signals (i.e. the data signal DQ and the strobe signal DQS) of the controlling device  100 . 
     After the transmission calibration function and the write checking function of the storage device  102  are enabled, the controlling module  108  adjusts the reference voltage (VREFDQ), the bit delay signal BD, the sampling strobe signal SS, and the I/O ability signal IOA according to one of the training parameter set (e.g. a first training parameter set). Since the write checking function is enabled, the data providing module  106  generates a first checksum according to the calibration data and packages the calibration data and the first checksum, to generate and transmit data DAT to the interface module  104  via the data signal DQ. For example, the data DAT may comprise the calibration data and a header of the first checksum. The delays between the bits of the data signal DQ is adjusted according to the bit delay signal BD by the data providing module  106 . In addition, the data providing module  106  generates the strobe signal DQS and adjusts the alignment relationship between the data signal DQ and the strobe signal DQS according to the sampling strobe signal SS. Next, the interface module  104  transmits the data signal DQ and the strobe signal DQS from the data providing module  106  to the storage device  102 , whereby the driving abilities of the data signal DQ and the strobe signal DQS is adjusted according to the I/O ability signal IOA from the controlling module  108 . For example, driving currents (e.g. a pull-high current or a pull-low current) of the interface module  104  may be adjusted according to the I/O ability signal IOA. 
     After the storage device  102  receives the data signal DQ and the strobe signal DQS, the storage device  102  samples the data signal DQ according to the strobe signal DQS, to generate testing data according to the reference voltage VREFDQ. In order to determine whether the testing data and the calibration data are the same (i.e. whether the data transmission performed according to the first training parameter set successes), the storage device  102  generates a second checksum according to the testing data and compares the first checksum with the second checksum. If the first checksums and the second checksum are the same, the storage device  102  adjusts the alert signal CRC to a high logic level (i.e. ‘1’) to indicate that the data transmission transmitted according to the first training parameter set successes; and if the first checksums and the second checksum are different, the storage device  102  adjusts the alert signal CRC to a low logic level (i.e. ‘0’) to indicate that the data transmission transmitted according to the first training parameter set fails. The controlling module  108  records the alert signal CRC corresponding to the first training parameter set as a first error indicator. 
     After acquiring the first error indicator, the controlling module  108  adjusts the reference voltage, the bit delay signal BD, the sampling strobe signal SS, and the I/O ability signal IOA according to another training parameter set (e.g. a second training parameter set) and accordingly records the alert signal CRC as a second error indicator. Different from the data transmission of the first training parameter set, at least one of parameters (e.g. the reference voltage, the delays between bits of the data signal DQ, the alignment relationship between the data signal DQ and the strobe signal DQS, and the driving abilities of the data signal DQ and strobe signal DQS) is adjusted in the data transmission of the second training parameter set. Via repeating transmitting the data DAT with the first checksum according to each of the training parameter sets, the controlling module  108  sequentially acquires a plurality of error indicators corresponding to the training parameter sets, and identifies one of the training parameter sets as the predetermined parameter set according to the error indicators corresponding to the training parameter sets. The controlling device  100  therefore can perform the data transmission to the storage device  102  with a comfortable margin according to the predetermined parameter set. 
     Please refer to  FIG. 1B , which is a schematic diagram of an electronic system  10 B according to an example of the present invention. The electronic system  10 B is an implementation of the electronic system  10 A shown in  FIG. 1A , thus the components and signals with the similar functions use the same symbols. In  FIG. 1B , the controlling module  108  comprises a computing unit  110  and a determining unit  112 ; the data providing module  106  comprises a local storage unit  114 , a data packaging unit  116 , a calculating unit  118  and delay adjusting units  120 ,  122 ; and the interface module  104  comprises a driving adjusting unit  124  and interface units  126 ,  128 ,  130 . When the storage device  102  is under initialization (e.g. when the electronic system  10 B boots up), the electronic system  10 B requires the controlling device  100  to perform the TX calibration. The computing unit  110  transmits the command signal CMD to the storage device  102  via the interface unit  126 , to enable the transmission training function and the write checking function of the storage device  102 . The command signal CMD also indicates the reference voltage (VREFDQ) to the storage device  102 . The computing unit  110  further generates the bit delay signal BD to the delay adjusting unit  120 , a sampling strobe signal SS to the delay adjusting unit  122 , and an input/output (I/O) ability signal IOA to the driving adjusting unit  124 , to control different variables of the data transmission from the controlling device  100  to the storage device  102 . 
     When the controlling device  100  starts to perform the TX calibration, the computing unit  110  adjusts the reference voltage VREFDQ, the bit delay signal BD, the sampling strobe signal SS, and the I/O ability signal IOA according to the training parameter set TPS 1 . Since the write checking function is enabled, the calculating unit  118  generates the checksum CS 1  according to the calibration data CDAT read from the local storage unit  114  and the data packaging unit  116  packages the calibration data CDAT and the checksum CS 1 , to generate and transmit the data DAT to the delay adjusting unit  120  via a data signal DQ 1 . For example, the data DAT may comprise the calibration data CDAT and a header of the checksum CS 1 . Next, the delay adjusting unit  120  adjusts the delays between bits of the data signal DQ 1  according to the bit delay signal BD, to generate a data signal DQ 2 . The interface unit  126  receives the data signal DQ 2  and accordingly generates the data signal DQ 3  to the storage device  102 , wherein the driving ability of the data signal DQ 3  is adjusted by a signal AA which is generated by the driving adjusting unit  124  and according to the I/O ability signal IOA. For example, the interface unit  126  may adjust the driving currents (e.g. a pull-high current or a pull-low current) of the interface unit  126  according to the signal AA. On the other hand, the delay adjusting unit  122  generates a strobe signal DQS 1  corresponding to the sampling strobe signal SS. The strobe signal DQS 1  is utilized for indicating timings of sampling the data signal DQ 2 . The alignment relationship between the data signal DQ 2  and the strobe signal DQS 1  is adjusted according to the sampling strobe signal SS. The interface unit  130  receives the strobe signal DQS 1  and generates the strobe signal DQS 2  to the storage device  102 . Similarly, the driving ability of the strobe signal DQS 2  is also adjusted by the signal AA. 
     After the storage device  102  receives the data signal DQ 3  and the strobe signal DQS 2 , the storage device  102  samples the data signal DQ 3  according to the strobe signal DQS 2 , to generate the testing data TDAT (not shown) according to the reference voltage VREFDQ. In order to determine whether the testing data TDAT and the calibration data CDAT are the same (i.e. whether the data transmission performed according to the training parameter set TPS 1  successes), the storage device  102  generates the checksum CS 2  (not shown) according to the testing data TDAT and compares the checksum CS 1  with the checksum CS 2 . If the checksums CS 1  and CS 2  are the same, the storage device  102  adjusts an alert signal CRC to a high logic level (i.e. ‘1’) to indicate that the data transmission transmitted according to the training parameter set TPS 1  successes; and if the checksums CS 1  and CS 2  are different, the storage device  102  adjusts the alert signal CRC to a low logic level (i.e. ‘0’) to indicate that the data transmission transmitted according to the training parameter set TPS 1  fails. The determining unit  112  records the alert signal CRC corresponding to the training parameter set TPS 1  as the error indicator EI 1 . 
     After acquiring the error indicator EI 1 , the computing unit  110  adjusts the reference voltage VREFDQ, the bit delay signal BD, the sampling strobe signal SS, and the I/O ability signal IOA according to the training parameter set TPS 2 , and accordingly records the alert signal CRC from the storage device  102  as the error indicator EI 2 . Different from the data transmission of the training parameter set TPS 1 , at least one of parameters (e.g. the reference voltage VREFDQ, the delays between bits of the data signal DQ 2 , the alignment relationship between the data signal DQ 2  and the strobe signal DQS 1 , and the driving abilities of the data signal DQ 3  and strobe signal DQS 2 ) is adjusted in the data transmission of the training parameter set TPS 2 . Via repeating transmitting the data DAT with the checksum CS 1  according to the training parameter set TPS 3 -TPS n , the computing unit  110  sequentially acquires the error indicators EI 3 -EI n , and then identifies one of the training parameter sets TPS 1 -TPS n  as the predetermined parameter set PPS according to the error indicators EI 1 -EI n . According to the predetermined parameter set PPS, the controlling device  100  performs the data transmission to the storage device  102  with a comfortable margin. 
     In an example, the controlling device  100  is required to perform the TX calibration of the reference voltage VREFDQ. In such a condition, the training parameter sets TPS 1 -TPS n  comprise reference voltage parameters PV 1 -PVn corresponding to the reference voltage VREFDQ with different voltage values. For example, the voltage value of the reference voltage VREFDQ may monotonically increase from the voltage value corresponding to the reference voltage parameter PV 1  to that of the reference voltage parameter PVn. When the TX calibration of the reference voltage VREFDQ is performed, the bit delay signal BD, the sampling strobe signal SS and I/O ability signal IOA keep the same. That is, the delays between the bits of the data signal DQ 2 , the alignment relationship between the data signal DQ 2  and the strobe signal DQS 1 , and the driving abilities of the data signal DQ 3  and strobe signal DQS 2  remain the same during the TX calibration of the reference voltage VREFDQ. 
     Via repeating transmitting the data DAT with the checksum CS 1  to the storage device  102  according to the reference voltage parameters PV 1 -PVn of the training parameter sets TPS 1 -TPS n  (i.e. according to the reference voltage VREFDQ with different voltage values), the error indicators EI 1 -EI n  can be acquired and the predetermined parameter set PPS can be accordingly identified. For example, if the error indicators EI 1 -EI n  indicate that the data transmissions of the training parameter sets TPS 1 -TPS i−1 , TPS j+1 -TPS n  fails and the data transmissions of the training parameter sets TPS i -TPS j  success, the computing unit  110  may select training parameter set 
             TPS       1   +   j     2           
as the predetermined parameter set PPS. As a result, the reference voltage VREFDQ would have the maximum voltage margin when the controlling device  100  performs the data transmission with the storage device  102  according to the predetermined parameter set PPS.
 
     The controlling device  100  may train different parameters of data transmission from the controlling device  100  to the storage device  102  via changing the parameters in the training parameter sets TPS 1 -TPS n . For example, the training parameter sets TPS 1 -TPS n  may have bit delay parameters PBD 1 -PBDn corresponding to different delays between bits of the signal transmitted to the storage device  102  (e.g. the data signals DQ 2  and DQ 3 ) when the controlling device  100  is required to perform the TX calibration of the bit delay signal BD; the training parameter sets TPS 1 -TPS n  may have sampling parameters PSS 1 -PSSn corresponding to different alignment relationships between the data signal DQ 2  and the strobe signal DQS 1  (i.e. the data signal DQ 3  and the strobe signal DQS 2 ) when the controlling device  100  is required to perform the TX calibration of the sampling strobe signal SS; and the training parameter sets TPS 1 -TPS n  may have I/O ability parameters PIO 1 -PIOn corresponding to different driving abilities of the interface units  118  and  120  when the controlling device  100  is required to perform the TX calibration of the I/O ability signal IOA. 
     According to different applications and design concepts, the TX calibration performed by the controlling device  100  may train multiple parameters simultaneously. In other words, each of the training parameter sets TPS 1 -TPS n  may have multiple parameters of the reference voltage VREFDQ, the bit delay signal BD, the sampling strobe signal SS and/or the I/O ability signal IOA, but is not limited thereto. For example, the controlling device  100  may simultaneously perform the TX calibrations of reference voltage VREFDQ and the driving ability of the interface units  118  and  120 . In such a condition, the training parameter sets TPS 1 -TPS n  would have the reference voltage parameters PV 1 -PVn and the I/O ability parameters PIO 1 -PIOn, respectively. In another example, the controlling device  100  may simultaneously perform the TX calibrations of reference voltage VREFDQ, the delays between the bits of the signal transmitted to the storage device  102  and the driving ability of the interface units  118  and  120 . The training parameter sets TPS 1 -TPS n  would have the reference voltage parameters PV 1 -PVn, the bit delay parameters PBD 1 -PBDn and the I/O ability parameters PIO 1 -PIOn, respectively. 
     After the TX calibration finishes, the controlling device  100  therefore can transmit data to the storage device  102  according to the optimized parameters (e.g. the predetermined parameter set PPS). However, the temperature and the power source voltage of the controlling device  100  may vary during the operations and the data transmission between the controlling device  100  and the storage device  102  may be affected. Thus, the controlling device  100  further performs a run-time TX calibration when the controlling device  100  transmits the data according to the predetermined parameter set PPS. For the purpose of not affecting the normal data transmissions between the controlling device  100  and the storage device  102 , the run-time TX calibration of the controlling device  100  periodically transmits the calibration data CDAT according to at least one of run-time parameter sets RPS 1 -RPS m  and records error indicators REI 1 -REI m  corresponding to the run-time parameter sets RPS 1 -RPS m . The period of transmitting the calibration data CDAT according to the at least one of run-time parameter sets RPS 1 -RPS m  may be determined according to a refreshing period of the storage device  102 . In an example, the period of performing the data transmission according to the at least one of run-time parameter sets RPS 1 -RPS m  can be set to be equaled to the refreshing period of the storage device  102  (e.g. 3.9 μs, 4 μs or 8 μs). After acquiring the error indicators REI 1 -REI m , the computing unit  110  adjusts the predetermined parameter set PPS according to the error indicators REI 1 -REI m  and the data transmission from the controlling device  100  to the storage device  102  would have the maximum margin. 
     In details, the run-time parameter sets RPS 1 -RPS m  may have parameter sets PSI 1 -PSI k , wherein at least one of parameters (e.g. reference voltage parameter, bit delay parameter, sampling parameter and I/O ability parameter) of the parameter sets PSI 1 -PSI k  is monotonically increased based on that of the predetermined parameter set PPS. In an example, the voltage values of the reference voltage VREFDQ corresponding to the parameter sets PSI 1 -PSI k  may be monotonically increased from the reference voltage VREFDQ corresponding to the parameter set PSI 1  to that corresponding to the parameter set PSI k  and based on that of the predetermined parameter set PPS (i.e. VREFDQ of the parameter set PSI K ≧VREFDQ of the parameter set PSI K−1 ≧ . . . ≧VREFDQ of the parameter set PSI 1 ≧VREFDQ of the predetermined parameter set PPS). According to the error indicators corresponding to the parameter sets PSI 1 -PSI k , the computing unit  110  acknowledges the upper boundary of successfully transmitting the data to the storage device  102 . 
     On the other hand, the run-time parameter sets RPS 1 -RPS m  may have parameter sets PSD 1 -PSD k , wherein at least one of parameters (e.g. reference voltage parameter, bit delay parameter, sampling parameter and I/O ability parameter) of the parameter sets PSD 1 -PSD k  is monotonically decreased based on that of the predetermined parameter set PPS. In an example, the voltage values of the reference voltage VREFDQ corresponding to the parameter sets PSD 1 -PSD k  are monotonically decreased from the reference voltage VREFDQ parameter set PSD 1  to the parameter set PSD k  and based on that of the predetermined parameter set PPS (i.e. VREFDQ of the parameter set PSD K ≦VREFDQ of the parameter set PSD K−1 ≦ . . . ≦VREFDQ of the parameter set PSD 1 ≦VREFDQ of the predetermined parameter set PPS). According to the error indicators corresponding to the parameter sets PSD 1 -PSD k , the computing unit  110  acknowledges the lower boundary of successfully transmitting the data to the storage device  102 . 
     After acquiring the upper boundary and the lower boundary of successfully transmitting the data to the storage device  102 , the computing unit  110  can accordingly adjust the predetermined parameter set PPS. 
     In an example, the controlling device  100  is required to perform the run-time calibration on the reference voltage VREFDQ when transmitting the data to the storage device according to the predetermined parameter set PPS. First, the controlling device  100  defines the refreshing period of the storage device  102  as the period of transmitting the calibration data CDAT according to one of the run-time parameter set RPS 1 -RPS m . In this example, the voltage value of the reference voltage VREFDQ is monotonically increased from the run-time parameter set RPS 1  to the run-time parameter set RPS m , and the voltage value of the reference voltage VREFDQ corresponding to the predetermined parameter set PPS is a median of those corresponding to the run-time parameter set RPS 1 -RPS m  (e.g. VREFDQ of the parameter set RPS 1 ≦VREFDQ of the parameter set RPS 2 ≦ . . . ≦VREFDQ of the parameter set 
               RPS         1   +   m     2     -   1       ≦   VREFDQ         
of the predetermined parameter set PPS≦VREFDQ of the parameter set
 
               RPS       1   +   m     2       ≦   …   ≦   VREFDQ         
of the parameter set RPS m ). Each time the storage device  102  performs the refreshing operation, the controlling device  100  transmits the calibration data CDAT to the storage device  102  according to one of the run-time parameter set RPS 1 -RPS m  and records the corresponded error indicators.
 
     The sequence of acquiring the error indicators REI 1 -REI m  can be adjusted according to different application and design concepts. For example, the controlling device  100  periodically transmits the calibration data CDAT to the storage device  102  according to the sequence from the run-time parameter set 
             RPS       1   +   m     2           
to the run-time parameter set RPS m  and sequentially acquires the error indicators
 
               REI         1   +   m     2     -   1       -       REI   1     .           
That is, the controlling device  100  may periodically transmit the calibration data CDAT to the storage device  102  according to the run-time parameter set
 
             RPS       1   +   m     2           
when the storage device  102  performs the first refreshing operation and records the alert signal CRC as the error indicators
 
               REI       1   +   m     2       ;         
the controlling device  100  transmits the calibration data CDAT to the storage device  102  according to the run-time parameter set
 
             RPS         1   +   m     2     +   1           
when the storage device  102  performs the second refreshing operation and records the alert signal CRC as the error indicators
 
               REI         1   +   m     2     +   1       ;         
and so on. Next, the controlling device  100  periodically transmits the calibration data CDAT to the storage device  102  according to the sequence from the run-time parameter set
 
             RPS         1   +   m     2     -   1           
to the run-time parameter set RPS 1  and sequentially acquires the error indicators
 
     
       
         
           
             
               REI 
               
                 
                   
                     1 
                     + 
                     m 
                   
                   2 
                 
                 - 
                 1 
               
             
             - 
             
               
                 REI 
                 1 
               
               . 
             
           
         
       
     
     After acquiring the error indicators REI 1 -REI m , the predetermined parameter set PPS can be adjusted according to the error indicators REI 1 -REI m . In this example, the error indicators REI 1 -REI m  indicate that the data transmissions of the run-time parameter sets RPS 1 -RPS k−1 , and RPS l+1 -RPS m  fail while the data transmissions of the run-time parameter sets RPS k -RPS 1  success, the computing unit  110  may adjust the voltage value of the reference voltage VREFDQ corresponding to the predetermined parameter set PPS to that of the run-time parameter set 
               RPS       k   +   l     2       ,         
so as to assure that the reference voltage VREFDQ has the maximum voltage margin.
 
     According to different design concepts, the number of the run-time parameter set RPS 1 -RPS m  being tested each time the storage device  102  performs the refreshing operation may be changed. For example, each time the storage device  102  performs the refreshing operation, the controlling device  100  may transmit the calibration data CDAT respectively according to three of the run-time parameter set RPS 1 -RPS m , and is not limited herein. 
     The method that the controlling device  100  performs the TX calibration can be summarized into a calibration method  20  as shown in  FIG. 2 . The calibration method  20  may be utilized in a controlling device of a storage device, such as a DDR4 SDRAM. When the storage device is in an initialization stage, the controlling device  100  is required to perform the TX calibration. A transmission training function and a write checking function of the storage device need to be enabled before the controlling device performs the TX calibration. The calibration method  20  comprises the following steps: 
     Step  200 : Start. 
     Step  202 : Transmit first data comprising a first checksum to the storage device according to each of a plurality of training parameter sets. 
     Step  204 : Record a plurality of error indicators respectively corresponding to the plurality of training parameter sets and from the storage device. 
     Step  206 : Identify one of the plurality of training parameter sets as a predetermined parameter set according to the plurality of error indicators respectively corresponding to the plurality of training parameter sets. 
     Step  208 : End. 
     According to the calibration method  20 , the storage device receives the first data as testing data, generates a second checksum according to the testing data and compares the first checksum with the second checksum, to generate an alert signal to the controlling device as one of the plurality of error indicators. After recording all of the plurality of error indicators, the controlling device of the storage device may acquire the predetermined parameter set with the optimized parameters of data transmission. After the TX calibration finishes, the controlling device disables the transmission training function and decides to disable or not to disable the writing checking function according to the following operations. The details of the calibration method  20  can be referred to the above and is not narrated herein for brevity. 
     Please refer to  FIG. 3 , which is a flowchart of a calibration method  30  according to an example of the present invention. The calibration method  30  is an implementation of the calibration method  20  and comprises the following steps: 
     Step  300 : Start. 
     Step  302 : Select one of a plurality of training parameter sets as a testing parameter set. 
     Step  304 : Adjust at least one of parameters of data transmission according to the testing parameter set. 
     Step  306 : Record the error indicator corresponding to the testing parameter and from the storage device. 
     Step  308 : Determine whether a plurality of the error indicators corresponding to the plurality of training parameter sets is acquired. If yes, proceed to step  312 ; otherwise, proceed to step  310 . 
     Step  310 : Select another one of the plurality of training parameter sets as the testing parameter set. 
     Step  312 : Identify one of the plurality of training parameter sets as a predetermined parameter set according to the plurality of error indicators respectively corresponding to the plurality of training parameter sets. 
     Step  314 : End. 
     According to the calibration method  30 , the controlling device of the storage device may acquire the predetermined parameter set with the optimized parameters of data transmission. After the TX calibration finishes, the controlling device disables the transmission training function and decides to disable or not to disable the writing checking function according to the following operations. The details of the calibration method  30  can be referred to the above and is not narrated herein for brevity. 
     The method that the controlling device  100  performs the run-time TX calibration can be summarized into a calibration method  40  as shown in  FIG. 4 . The calibration method  40  may be utilized in a controlling device of a storage device, such as DDR4 SDRAM. After the TX calibration in the initialization stage of the storage device (e.g. the calibration methods  20  or  30 ) finishes and the controlling device transmits the data to the storage device according to the predetermined parameter set with the optimized parameters, the controlling device performs the calibration method  40  for compensating variations of the operating conditions (e.g. variations of the power source voltage and the temperature). The calibration method  40  comprises the following steps: 
     Step  400 : Start. 
     Step  402 : Periodically transmit third data comprising a second checksum to the storage device according to at least one of a plurality of run-time parameter sets. 
     Step  404 : Record a plurality of error indicators which are corresponding to the plurality of run-time parameter sets and from the storage device. 
     Step  406 : Adjust the predetermined parameter set according to the error indicators corresponding to the plurality of run-time parameter sets. 
     Step  408 : End. 
     According to the calibration method  40 , the storage device periodically receives the third data with the second checksum as testing data; generates a receiver end checksum according to the testing data; and compares the second checksum and the receiver end checksum, for generating an alert signal to the controlling device as an error indicators corresponding to one of the run-time parameter sets. The predetermined parameter set therefore can be appropriately adjusted according to the variations generated during the operations when the controlling device performs the data transmission with the storage device according to the predetermined parameter set. The details of the calibration method  40  can be referred to the above, and are not described herein for brevity. 
     Please refer to  FIG. 5 , which is a flow chart of a calibration method  50  according to an example of the present invention. The calibration method  50  is an implementation of the calibration method  40  and comprises the following steps: 
     Step  500 : Start. 
     Step  502 : Select one of a plurality of run-time parameter sets as a testing parameter set. 
     Step  504 : Determine whether a refreshing interval reaches. If yes, proceed to step  506 ; otherwise, proceed to step  504 . 
     Step  506 : Adjust at least one of parameters of data transmission according to the testing parameter set. 
     Step  508 : Record the error indicator corresponding to the run-time parameter and from the storage device. 
     Step  510 : Determine whether a plurality of the error indicators corresponding to the plurality of run-time parameter sets is acquired. If yes, proceed to step  514 ; otherwise, proceed to step  512 . 
     Step  512 : Select another one of the plurality of run-time parameter sets as the testing parameter set. 
     Step  514 : Adjust the predetermined parameter set according to the plurality of the error indicators corresponding to the plurality of run-time parameter sets. 
     Step  516 : End. 
     According to the calibration method  50 , the predetermined parameter set may be appropriately adjusted according to the variations generated during the operations. The details of the calibration method  50  can be referred to the above, and are not described herein for brevity. 
     Please refer to  FIG. 6 , which is a flowchart of a calibration method  60  according to an example of the present invention. The calibration method  60  may be utilized in a controlling device of a storage device (e.g. DDR4 SDRAM) and utilized for adjusting the transmission parameters while performing the data transmission with the storage device. The calibration method  60  comprises the following steps: 
     Step  600 : Start. 
     Step  602 : Transmit first run-time data to a storage device according to a predetermined parameter set. 
     Step  604 : Transmit second run-time data comprising at least one run-time checksum to the storage device, periodically, according to at least one of a plurality of run-time parameter sets. 
     Step  606 : Record a plurality of run-time error indicators which are corresponding to the plurality of run-time parameter sets and from the storage device. 
     Step  608 : Adjust the predetermined parameter set according to the plurality of run-time error indicators corresponding to the plurality of run-time parameter sets. 
     Step  610 : End. 
     According to the calibration method  60 , when the controlling device of the storage device transmits the first run-time data according to the predetermined parameter set, the controlling device contiguously examines the variations of the operation conditions via periodically transmitting the second run-time data comprising at least one run-time checksum to the storage device according to at least one of a plurality of run-time parameter sets. In this example, the method of obtaining the predetermined set may be various according to different applications and design concepts. For example, the predetermined set may be preset in the controlling device and the controlling device transmits the data to the storage device according to the predetermined parameter set each time the storage device boots up; or, the predetermined set may be acquired via performing a TX calibration procedure which is executed when the storage device is in the initial stage. 
     Each time the storage device receives the second run-time data, the storage device generates an alert signal, according to a comparison between the run-time checksum and a receiver end run-time checksum, as a run-time error indicator corresponding to one of the plurality of run-time parameter sets. Note that, the receiver end run-time checksum is generated by the storage device based on the second run-time data. After recording the plurality of run-time error indicators which are corresponding to the plurality of run-time parameter sets and from the storage device, the controlling device accordingly adjusts transmission parameters (e.g. the parameters the period between the bits in the data signal transmitted to the storage device and/or the driving ability of the interface module of the controlling device) of the predetermined set. The controlling device therefore can compensate the variations of the operation conditions and avoid the data transmission from the controlling device and the storage device operates abnormally. The details of the calibration method  60  can be referred to the above, and are not described herein for brevity. 
     To sum up, the controlling device of the above embodiment performs the TX calibration without reading data from the storage device. The time of performing the TX calibration is shortened and the operations of the TX calibration would not be affected by results of RX calibrations. 
     Those skilled in the art will readily observe that numerous modifications and alterations of the device and method may be made while retaining the teachings of the invention. Accordingly, the above disclosure should be construed as limited only by the metes and bounds of the appended claims.