Patent Publication Number: US-2009237825-A1

Title: Storage device and control method thereof

Description:
CROSS-REFERENCE TO RELATED APPLICATIONS 
     This application is based upon and claims the benefit of priority of prior Japanese Patent Application No. 2008-73269, filed on Mar. 21, 2008, the entire contents of which are incorporated herein by reference. 
     FIELD 
     The embodiments discussed herein are related to a storage device that controls a data transfer rate between the storage device and a host computer, and a control method thereof. 
     BACKGROUND 
     Computer systems may use magnetic disk devices with different transfer rates between the storage device and a host. If the transfer rates are different depending on the magnetic device, performances of the magnetic disk devices measured by a performance measurement tool are different. In such case, which performance is applied may be undetermined. 
     Generally, the following methods are applied when magnetic disk devices with different transfer rates are used:
         1. The variation of the transfer rates is not considered, and the apparatus is shipped without adjusting the variation of the transfer rates.   2. The magnetic disk devices are screened based on a certain range of performance before shipping.   3. The performances of the magnetic disk devices are adjusted by increasing a value of a skew.       

     With method  1  described above, the differential of the performances affects the host to which the magnetic disk devices are connected, and the magnetic disk device with a lower performance can be an impediment. Method  2  may adjust for the variation of the performances. However, the screening before shipping takes time, and therefore a workload increases. Method  3  may adjust for the variation of the performances. However, the performance may be decreased when a head accesses an area with the increased skew randomly. 
     SUMMARY 
     According to an aspect of the embodiment, a storage device includes an access counter that counts the number of track changes or the number of accessed sectors in accessing the recording medium, an access judgment unit that judges whether the recording medium is accessed successively by a host, a count judgment unit that judges whether the count counted by the access counter has reached a predefined number of times when the access judgment unit judges that the recording medium is accessed successively, and an access delay unit. The access delay unit delays access to the recording medium so that a transfer rate between the storage device and the host is adjusted to a predefined transfer rate when the count judgment unit judges that the number of the count has reached the predefined number of times. 
     The object and advantages of the embodiment will be realized and attained by means of the elements and combinations particularly pointed out in the claims. 
     It is to be understood that both the foregoing general description and the following detailed description are exemplary and explanatory and are not restrictive of the embodiment, as claimed. 
    
    
     
       BRIEF DESCRIPTION OF DRAWINGS 
         FIG. 1  illustrates an example of a structure of the magnetic disk device; 
         FIG. 2  is an example of a function block diagram of HDD  1  according to an embodiment; 
         FIGS. 3A and 3B  are explanatory drawings for determining a reference value of the number of track changes used for magnetic disk devices (drives A and B); 
         FIG. 4  is a flow chart illustrating an example of a process executed by HDD  1 ; 
         FIGS. 5A and 5B  are explanatory drawings of a delay process executed by HDD  1 ; 
         FIG. 6  illustrates an example of a storage area divided into blocks; 
         FIG. 7  is an explanatory drawing for a method delaying only accesses to outer tracks of HDD  1 ; 
         FIG. 8  is an example of a function block diagram of HDD  30 ; 
         FIG. 9  is an explanatory drawing of a process when HDD  30  receives a command for writing; 
         FIG. 10  is a flowchart of an example of a writing process executed by HDD  30 ; 
         FIG. 11  is an explanatory drawing when HDD  30  receives a command for reading; and 
         FIG. 12  is a flow chart of an example of a reading process executed by HDD  30 . 
     
    
    
     DESCRIPTION OF EMBODIMENTS 
     Preferred embodiments of the present invention will be explained with reference to accompanying drawings. 
     The embodiments of the present technique will be described with reference to the accompanying drawings. The magnetic disk device will be disclosed as an example of the storage device in these embodiments. However, the storage device is not considered to be limited to the exact construction and applications illustrated and described below. 
       FIG. 1  is the block diagram illustrating the magnetic disk drive called an HDD according to the first embodiment. HDD  1  includes: host interface controller for controlling HDD  1 , a host interface for performing data communication and control communication between HDD  1  and host  100 , and interface protocol; buffer controller  3  for controlling buffer memory  4  that is a temporary storage area for compensating for a differential between transfer rates between HDD  1  and host  100 ; and format controller  5  for controlling disk format. In the first embodiment, host  100  is a computer connected with HDD  1 . However, host  100  may be another device that is connectable to the storage device such as a DVD recorder including an internal storage device. 
     Additionally, HDD  1  includes: MPU  8  for controlling read channel  6  later described, servo controller  10 , memory  9  including a random access memory (RAM) and a flash read-only memory (ROM); micro processing unit (MPU)  8  for managing memory  9  including a random access memory (RAM) and a read-only memory (ROM); read channel  6  for controlling writing data (i.e., modulating data) onto or reading data (i.e., demodulating data) from magnetic disk medium  13  by head IC  7  and magnetic head  14 ; and servo controller  10  for controlling voice coil motor (VCM)  11  and spindle motor (SPM)  12 . VCM  11  and SPM  12  will be described later. 
     Moreover, HDD  1  includes: VCM unit  11  for controlling motion of an actuator that supports head  14 ; and magnetic disk medium  13  for storing data written thereon; and SPM unit  17  for controlling spins of a spindle that supports magnetic disk medium  13 . 
       FIG. 2  is the function block diagram of HDD  1  according to the first embodiment. HDD  1  includes track change counter  21 , access judgment unit  22 , count judgment unit  23  and access delay unit  24 . These functions are implemented by hardware described above, which are controlled by executing firmware stored in memory  9  by MPU  8 . 
     Track change counter  21  count how many times head  14  changes tracks in accessing the magnetic disk medium  13  mounted in HDD  1 , i.e., in a sequence of reading processes or writing processes. The sequence of reading processes is a sequence of processes to receive all data to be obtained from HDD  1  by host  100 . The sequence of the writing processes is a sequence of processes to receive all data to be written on HDD  1  from host  100 . The number of track changes is counted under a control of servo controller  10 . A value of the count stored in memory  9  is updated in increments of 1 or reset to zero by MPU  8 . 
     Access judgment unit  22  judges whether magnetic disk medium  13  is accessed successively. MPU  8  judges whether magnetic disk medium  13  has been accessed successively based on a control of host interface  2 , or by judging whether data are stored in buffer memory  4 , or by an operation status of read channel  6 . 
     When access judgment unit  22  judges that the recording medium has been accessed successively, count judgment unit  23  judges whether the count counted by track change counter  21  has reached a reference value (i.e., a predefined number of times). The reference value is derived with a method later described and is stored in memory  9 . MPU  8  compares the reference value and the count to judge whether the count has reached the reference value. 
     When count judgment unit  23  judges that the count reaches the reference value, access delay unit  24  delays an access to the recording medium by using a method later described to adjust a transfer rate to the predefined transfer rate. 
     A method for determining the reference value of the number of track changes will be described with reference to  FIGS. 3A and 3B . 
     Ten (10) gigabytes (equivalent to 19,535,040 sectors) of drives A and B, which rotate a recording medium at 5,400 rpm (11.111 ms per revolution) are connected to host  100 . Drives A and B are equivalent to HDD  1  described above. For drive A, the number of sectors per track (hereinafter referred to as Sct/Trk) is 1,000 as illustrated in  FIG. 3A . For drive B, the number of Sct/Trk is 1,100. 
     Drive A, with a lower transfer rate, is defined as a reference drive for determining the reference value. A transfer rate of drive B is approximated to a transfer rate of drive A in the first embodiment. 
       FIG. 3B  illustrates processing times of drives A and B. As  FIG. 3B  illustrates, the time needed for access throughout a storage area of magnetic disk medium  13  mounted in drive A successively is 215 seconds. Whereas, the time needed to access throughout a storage area of magnetic disk medium  13  mounted in drive B is 195 sec. In brief, drive B processes data 20 sec faster than drive A. Thus, performances of drive A and drive B are different by 10%, as well as by a ratio of Sct/Trk. Basically, Sct/Trk decreases as the track nears the center of magnetic disk medium  13  or the spindle. For convenience, Sct/Trk of all the tracks are considered the same. 
     To adjust the differential between the performances of drives A and B, additional time per track is derived by the following equation and a frequency of adding a rotational delay (i.e., seek time) is derived based on the additional time. In other words, the transfer rate is adjusted by adding the rotational delay according to the frequency of changing a track when data are written on or read from magnetic disk medium  13  successively. 
     For drive B, 
     where the additional time per track is ΔT, 
       Δ T= 20 sec×1,000 ms÷17,759=1.1 ms 
     The number of cylinders for the rotational delay is given by 
       the number of cylinders=rotational delay (11.111 ms)÷Δ T  (1.1 ms)=10 cylinders 
     Where a byte count per sector is 512 bytes, the transfer rate (MB/s) between drive A and host  100  is given by 1,000×512 bytes÷0.0111 sec=46,126,126 byte/s=46.1 MB/s The transfer rate (MB/s) between drive B and host  100  is given by 1,100×512 bytes÷0.0111 sec=50,738,738 byte/s=50.7 MB/s 
     Where the rotational delay is added by 10 cylinders, the transfer rate of drive B is given by 
       1,100×512 bytes÷(0.0111 sec+0.0011 sec)=46,163,934 byte/s=46.1 MB/s 
     By adding 11.111 ms of rotational delay by 10 cylinders, the performance becomes equivalent to a performance with an added 1.1 ms of rotational delay per cylinder as a whole. In other words, the differential of the performances (i.e., a differential of the transfer rates) between drive A and drive B are reduced by adding the rotational delay after writing data or reading data equivalent to 10 cylinders (i.e., the reference value.) 
     As a result of the calculation described above, the value of the count,  10 , is preconfigured in memory  9  as the reference value. The reference value stored in drive B is derived based on the differential between the time needed for accessing throughout the storage area of magnetic disk medium  13  mounted in drive B and the time needed for accessing throughout the storage area of magnetic disk medium  13  mounted in reference drive A as described above. 
     The process executed by HDD  1  according to the first embodiment will be described with reference to the flow chart illustrated in  FIG. 4 . Here, a case in which a sequence of processes for transferring data in a unit of file, the unit is given by an operating system (OS) of host  100 , between host  100  and magnetic disk medium  13  mounted in HDD  1  will be described. The sequence of the processes will be referred to as a write process or a read process (largely, referred to as an access) as necessary. 
     When the head is moved from one track to another track in step S 1 , access judgment unit  32  judges whether data are written or read successively in step S 2 . If the data are written or read successively (step S 2 , Yes), count judgment unit  33  judges whether the number of track changes has reached the predefined number of times (for example, the case described above, the reference value, 10) in step S 3 . The number of track changes is counted by track change counter  21  from when the successive writing currently executed is started. 
     When count judgment unit  33  judges that the number of track changes has reached the predefined number of times (step S 2 , Yes), access delay unit  24  rotates magnetic disk medium  13  one revolution (i.e., rotates at idle) by adding the rotational delay, and then continues to write or read data from where the writing or reading was interrupted in step S 4 . As described above, access delay unit  24  slows the transfer rate to a reference transfer rate approximated to the reference transfer rate (i.e., the predefined transfer rate) by adding the seek time to the processing time for the access (i.e., the successive writing or reading). 
     Then track change counter  21  resets the number of track changes to zero in step S 5 . The data are successively written on or read from a track to be accessed next in step S 7 . 
     If the data are not written or read successively (step S 2 , No), the process moves on to step S 7 . If the number of track changes does not reach the predefined number (step S 3 , No), track change counter  21  adds the number of track changes in increments of 1 in step S 6 . Then the process moves on to step S 7 . 
     The processes in steps S 1  through S 7  are repeated until all the data needed to be written or read successively by host  100  are processed. 
     Here, the track changing process during which the seek time is added will be described with reference to  FIGS. 5A and 5B . For comparison,  FIG. 5A  is the explanatory drawing of the track changing process of a comparative example and  FIG. 5B  is the explanatory drawing of the track changing process during which the seek time is added according to the first embodiment. 
     For the magnetic disk device of the comparative example, the head is moved to a track to be accessed next to write or read data successively without interval as illustrated in  FIG. 5A , after data are written on or read from the track. While the head is moved, the magnetic disk medium is rotating. Therefore, a latency to reach a sector at a logical block addressing (LBA) address on which data are written or from which data are read (as illustrated with a dashed line with an arrow in  FIG. 5A ) is caused. The LBA address is a serial number through sectors of the magnetic disk media mounted in the magnetic disk device. 
     For HDD  1  according to the first embodiment, the seek time is added to slow the transfer rate by rotating magnetic disk medium  13  one revolution when the head is moved to the other track after the number of track changes reaches the reference value, as illustrated in  FIG. 5B . Then data are successively written on or read from a track to be accessed next. 
     In the case described above, the transfer rate is slowed by adding the seek time when the number of track changes reaches the reference value regardless of where the track to be accessed is situated on magnetic disk medium  13 . However, the transfer rates may differ depending on the areas accessed on magnetic disk medium  13 . Next, a method for writing data on or reading data from magnetic disk medium  13  whose storage area is divided by logical block will be described. 
     As the schematic diagram illustrated in  FIG. 6  illustrates, a total capacity of the storage area of HDD  1  is 100 GB and the storage area is divided by 10 GB-blocks. In this case, a transfer rate (MB/s) of each block is derived. If there are blocks whose transfer rates are faster than the reference transfer rate (e.g., blocks  0  and  9 ), only the transfer rates of the blocks are adjusted by determining the reference value of the number of track changes. 
     The reference number of track changes is determined for each block as described above. More specifically, the reference value of the numbers of track changes of the blocks whose transfer rates are faster than the reference transfer rate (e.g., blocks  0  and  9 ) are determined respectively by deriving in the order of: time needed for accessing throughout the block successively (i.e., successive access time); a differential of the successive access time between drives (i.e., drive A and drive B; an additional time per track (ΔT); and the number of cylinders to be rotated in the rotational delay. Correspondence relationships between the determined reference value of the number of track changes and the blocks whose transfer rate are needed to be slowed are preconfigured in memory  9 . 
     HDD  1  applies the process illustrated in the flow chart in  FIG. 4  when data are successively written on or read from the block whose transfer rate is needed to be slowed. Thus, only the transfer rates of the blocks that are faster than the reference transfer rate (e.g., blocks  0  and  9 ) are approximated to the transfer rate of the reference drive. 
     Generally, transfer rates of outer tracks of magnetic disk media are faster than those of inner tracks.  FIG. 7  illustrates an example of HDD 1  whose capacity is 100 GB. Where tracks equivalent to 40 GB from the outer most track of magnetic disk medium  13  are defined as outer tracks, the additional time is added to transfer rates of all outer tracks uniformly to slow the transfer rates. 
     As described above, the reference value of the number of track changes may be determined to control only the transfer rate of the outer tracks with the method described above. More specifically, the reference value of the number of track changes is determined by deriving data in the order of: the time needed for accessing throughout the outer tracks successively (i.e., the successive access time); the differential of the successive access time between drive A and drive B; the additional time per outer track (ΔT); and the number of cylinders to be rotated in the rotational delay. 
     HDD  1  applies the process illustrated in the flow chart in  FIG. 4  to only the outer tracks. Therefore, only the transfer rates of the outer tracks may be adjusted as illustrated in  FIG. 7 . 
     In the first embodiment, the transfer rates are adjusted by adding the seek time to slow the transfer rate on changing a track after a predefined number of tracks are changed. In the second embodiment, the transfer rate is adjusted by adding the additional time by sector as an overhead, i.e., process time. 
       FIG. 8  is the functional block diagram of the magnetic disk device according to the second embodiment of the present technique. A magnetic disk device according to the second embodiment, HDD  30 , has sector counter  31 , access judgment unit  32 , count judgment unit  33  and command delay unit  34 . A structure of the hardware is the same as the structure in the first embodiment here. Therefore, a description of the hardware&#39;s structure is omitted (refer to  FIG. 1 ). 
     Sector counter  31  counts the number of sectors of magnetic disk medium  13  (i.e., a storage medium) mounted in HDD  30  on which data are written or from which data are read in accessing magnetic disk medium  13  mounted in HDD  30 . 
     Access judgment unit  32  judges whether data are written or read successively as in the access judgment unit  22  in the first embodiment does. 
     Count judgment unit  33  judges whether the number of counts counted by sector counter  31  has reached a reference value (i.e., a predefined number of times) when access judgment unit  32  judges that data are written or read successively. 
     Command delay unit  34  receives a command for writing or reading and slows the transfer rate by adding the additional time (i.e., the overhead). The access command is a command for writing or reading issued by host  100  to HDD  30 , on which data are written on or read from magnetic disk medium  13 , and a result of the command is reported to host  100 . The additional time may be added before starting transfer data, in transferring the data, or before reporting a status. Alternatively, the additional time is added several times, i.e., before starting to transfer the data, in transferring the data and before reporting the status. 
     Next, a method for adding the additional time when HDD  30  receives the command for writing from host  100  will be disclosed with reference to  FIG. 9 . 
       FIG. 9  illustrates the example when HDD  30  processes data sent from host  100  in 100 sector increments. Wx represents the time when HDD  30  receives the command for writing sent from host  100 . Data x represents the time when the data are transferred from host  100  and written on magnetic disk medium  13 . Sts x represents the time when the result of the command for writing is reported. “x” represents a sequential number. The horizontal axis represents a time axis. 
     The writing process is executed in units of 100 sectors (i.e., a sector at LBA address 0 through LBA address 99, or LBA address 100 through LBA address 199) on a set of Wx, Data x and Sts x commands (hereinafter referred to as a Wx command.) 
     Where a reference number of sectors is  300  (i.e., the additional time is added by 300 sectors), the writing processes on commands W 1  through W 3  are executed without adding the additional time. A predefined additional time is added before starting to transfer data on W4 command (i.e., between W 4  and Data  4  as illustrated in  FIG. 9 ). 
       FIG. 9  illustrates that the additional time is added before starting to transfer the data. However, the additional time may be added in transferring the data (a processing time of data  4  is increased) or before reporting the status (between Data  4  and Sts  4 ). 
     Next, the writing process executed by HDD  30  according to the second embodiment will be disclosed with reference to the flow chart illustrated in  FIG. 10 . 
     When the command for writing is received in step S 11 , access judgment unit  32  judges whether data are written successively (i.e., a sequence of processes in which data are transferred in a unit of a file between host  100  and magnetic disk medium  13  mounted in HDD  1  by the OS in the first embodiment) in step S 12 . If access judgment unit  32  judges that the data are written successively (step S 12 , Yes), access judgment unit  32  judges whether the number of sectors on which data are written has reached the predefined value or the reference value (i.e., the data written on the sector equivalent to the predefined number of sectors are transferred to host  100 ) in step S 13 . The number of the sectors on which the data are written is counted by sector counter  31  from where the successive writing started. 
     If sector counter  31  judges that the number of sectors on which the data are written reached the predefined value, i.e., the reference (S 13 , Yes), command delay unit  34  delays processing of the command for writing by adding the predefined additional time (i.e., the overhead) in step S 14 . Likewise in the first embodiment, the predefined value of the number of sectors on which data are written and the additional time may be determined to reduce the differential of the transfer rates (MB/s) between HDDs  30  connected with host  100 . A method to determine the predefined value and the additional time will be disclosed later. 
     After the transfer rate is slowed by command delay unit  341 , sector counter  31  resets the count to zero in step S 15 . Then data are transferred to magnetic disk medium  13  in step S 16 . Where the overhead is added during transferring data, command delay unit  34  adds the additional time (i.e., the overhead) and transfers the data in step S 16 . Where the overhead is added before reporting the status, command delay unit  34  adds the predefined additional time (i.e., the overhead) in step S 17 . The additional time is added in any of steps S 14 , S 16  and S 17  as necessary. The predefined additional time is not added in the steps during which the adding process is not needed. 
     Then the status is reported to host  100  in step S 20 . 
     If the data are not written successively (step S 12 , No), sector counter  31  resets the count to zero in step S 19 . If the number of the sectors on which the data are written does not reach the predefined value, i.e., the reference value (step S 13 , No), sector counter  31  adds the number of sectors on which the data are written on the command for writing to the count in step S 18 . 
     HDD  30  according to the second embodiment executes the sequence of steps S 11  through S 20  every time a command for writing is received. 
     Here, how to determine the reference number of sectors on which data are written and the additional time will be described. An explanation will be made with reference to drive A (with the transfer rate: 46,126,126 byte/s) and drive B (with the transfer rate: 50,738,738 byte/s) illustrated in  FIGS. 3A and 3B  as an example. A method for determining the reference value and the additional time to approximate the transfer rate of drive B to the transfer rate of drive A will be described. 
     A differential between the transfer rates is given by 
       50,738,738 byte/s−46,126,126 byte/s=4,612,612 byte/s 
     Where the differential is replaced with a unit of sector 
       4,612,612 byte/s÷512 bytes=9,009 Sct/s=9 Sct/ms 
     Therefore, the transfer rate of drive B is slowed 1 ms by 9 sectors to approximate the transfer rate of drive A. 
     Where the differential is replaced with a range of sectors on which data are written on a single command, the transfer rate of drive B is approximated to the predefined transfer rate (in this case, the transfer rate approximated to the transfer rate of drive A) by configuring values of the reference value and the additional time stored in memory  9  of drive B (i.e., HDD  30 ) to 900 and 100 ms respectively. 
     Next, a method for adding the additional time when HDD  30  according to the second embodiment receives a command for reading sent from host  100  will be disclosed with reference to  FIG. 11 . 
       FIG. 11  illustrates an example when HDD  30  reads data in a unit of 100 sectors on the command for reading sent from host  100 . Rx represents the time when HDD  30  receives the command for reading sent from host  100  as well as in the writing process illustrated in  FIG. 9 . Data x represents the time when data are read from magnetic disk medium  13  and transferred to host  100 . Sts x represents the time when a result of the command for reading is reported. “x” represents a sequential number. A horizontal axis represents a time axis. 
     The reading process is executed in units of 100 sectors (e.g., sectors at LBA addresses 0 through 99, or 100 through 199) on a set of commands Rx, Data x, and Sts x (hereinafter referred to as a Rx command). 
     Where the reference value of the number of sectors is 300 (i.e., the additional time is added every 300 sectors), the reading processes on commands R 1  through R 3  are executed without adding the additional time. A predefined additional time is added before starting to transfer data on the R 4  command (between R 4  and Data  4  as illustrated in  FIG. 11 ). 
       FIG. 11  illustrates that the additional time is added before starting to transfer the data. However, the additional time may be added in transferring the data (a processing time of data  4  is increased) or before reporting a status (between Data  4  and Sts  4  as illustrated in  FIG. 11 ). 
     Next, the reading process executed by HDD  30  according to the second embodiment will be disclosed with reference to the flow chart illustrated in  FIG. 12 . 
     When HDD  30  receives the command for reading sent from host  100  in step S 31 , data are read from magnetic disk medium  13  in step S 32 . Steps S 33  through S 41  are the same as steps S 12  through S 20  illustrated for the writing process illustrated in  FIG. 10  except data are read or written. A method for determining the reference value and the additional time is the same as the method for determining the reference value and the additional time applied in the writing process. 
     Accordingly, if magnetic disk devices with different transfer rates are used, the variation of the transfer rates may be reduced by adjusting the faster transfer rate to the slower transfer rate as described above. Thus, the performances of the magnetic disk devices are not much different when measured by the performance measurement tool. 
     As the comparative example, the magnetic disk devices are screened based on a certain range of performance before shipping. Meanwhile, in the embodiments of the present technique, the firmware judges the performance of each magnetic disk devices automatically and screens the magnetic disk device. Therefore, the inspection before shipping may be simplified and the differential of the performances between the magnetic disk devices to be shipped are reduced. 
     The method of the comparative example adjusts the differential of the performances between the magnetic disk devices by increasing the skew value. Meanwhile, the magnetic disk devices according to the embodiments of the present technique may adjust the differential of the performances between the magnetic disk devices by slowing the transfer rates only when the magnetic disk medium is accessed successively. There is no influence on the random access because it adds the overhead only at the sequential access pattern. Therefore, the performance of the magnetic disk device is not decreased when the magnetic disk medium is accessed randomly. 
     As described above, multiple magnetic disk devices are connected with host  100 , and the faster transfer rates of the magnetic disk devices are adjusted to the slower transfer rate of other magnetic disk device in the embodiments of the present technique. For HDD  1  according to the first embodiment of the present technique, the transfer rates may be slowed to be approximated to any of the other transfer rates. More specifically, the transfer rate may be approximated to any of the slower transfer rates by adjusting the reference value of the number of track changes and the number of rotational delays added when the number of track changes reaches the reference value (one rotational delay is added in the first embodiment), respectively. (First, the reference value of track changes is determined. Then the number of the rotational delays is determined based on the reference value of the track changes.) In the second embodiment of the present technique, the transfer rate is approximated to any of the slower transfer rates by adjusting the reference value of the number of sectors on which data are written or from which data are read and the additional time, respectively. 
     Accordingly, this technique may control the transfer rate between the magnetic disk device and the host to the slower transfer rate. 
     All examples and conditional language recited herein are intended for pedagogical purposes to aid the reader in understanding the invention and the concepts contributed by the inventor to furthering the art, and are to be constructed as being without limitation to such specifically recited examples and conditions, nor does the organization of such examples in the specification relate to a showing of the superiority and inferiority of the invention. Although the embodiments of the present inventions have been described in detail, it should be understood that the various changes, substitutions, and alterations could be made hereto without departing from the spirit and scope of the invention.