Storage apparatus

Information

  • Patent Grant
  • 6542917
  • Patent Number
    6,542,917
  • Date Filed
    Thursday, December 30, 1999
    25 years ago
  • Date Issued
    Tuesday, April 1, 2003
    21 years ago
Abstract
An approximate value calculating unit is provided for a storage apparatus in which a seek control is performed by speed controlling a head. When a square root arithmetic operation is needed in the calculation of a seek speed target value which is used in the seek control, the approximate value calculating unit divides a range of an input value x serving as a target of the square root arithmetic operation into a plurality of intervals, sets a polynomial of degree N to approximately output a square root {square root over ( )}x of the input value x as an approximate function every interval, and calculates the square root approximate value of the input value x by selectively using the approximate function corresponding to the interval to which the input value x belongs. Further, according to the range dividing method of the input value x, it is sufficient that the polynomial of degree N or the approximate function by the reference table is prepared only for the basic range, and there is no need to prepare the approximate function which covers the range before the input value x. Even when the square root approximate value for the input value x belonging to the range out of the basic range is obtained by executing the input scale conversion and output scale conversion, the approximate function prepared for the basic range can be used.
Description




BACKGROUND OF THE INVENTION




1. Field of the Invention




The present invention relates to a storage apparatus for performing a speed control of a head and performing a seek control and, more particularly, to a storage apparatus in which a square root arithmetic operation is required in calculation of a seek speed target value that is used in the seek control.




2. Description of the Related Arts




An optical disk has been attracted as a storage medium serving as a core of multimedia which have rapidly been developed in recent years. For example, in case of an MO cartridge of 3.5 inches, the MO cartridges of 128 MB, 230 MB, 540 MB, 640 MB, and the like have been provided. An optical disk drive using such an MO cartridge has been provided as an external storage apparatus of a personal computer of a desktop type. Further, the use of the optical disk drive in a notebook sized personal computer having excellent portability which has recently rapidly been spread is also strongly desired. Therefore, in order to equip the optical disk drive as a standard external storage apparatus, the realization of a small size, a thin size, and a low price is further requested.




In the optical disk drive, a head mechanism of a linear driving type is provided in the direction which transverses tracks of a medium. The head mechanism comprises a fixed optical system fixed to a casing and a movable optical system which is linearly driven by a VCM. The movable optical unit mounted on a carriage has a mechanism for moving an objective lens in the vertical direction by a current supply to a focusing coil. In the head mechanism of such a conventional optical disk drive, at the time of the seek control to move a laser beam to a target track, a speed control to perform acceleration, constant speed setting, and deceleration is performed by the driving of the carriage by the VCM. Just before the laser beam reaches the target track, a pull-in control to the target track is performed and a tracking control for allowing the laser beam to trace the target track is performed.




In the conventional seek control, a seek speed target value Vt in a decelerating interval is generally obtained by, for example,








Vt


={square root over ( )}(2


ax


)






where, x: residual distance to, for example, the target track




a: deceleration




A square root calculation is needed. Although a DSP is ordinarily used in the seek control, the square root calculation in the DSP has a large load. For example, in the DSP of a fixed point, a calculating time of about 10 μsec is required per calculation of the square root.




SUMMARY OF THE INVENTION




According to the invention, there is provided a storage apparatus in which a square root calculation to give a seek speed target value is simplified, thereby realizing a decrease in calculation amount and a high processing speed.




A storage apparatus of the invention comprises a seek control unit for performing a speed control of a head and performing a seek control and an approximate value calculating unit. When a square root arithmetic operation is needed in a calculation of the seek speed target value which is used in the seek control, the approximate value calculating unit divides a range of an input value x serving as an arithmetic operation target of the square root arithmetic operation into a plurality of intervals, sets an approximate function to approximately output the square root of the input value x every interval, and selectively uses the approximate function corresponding to the interval to which the input value x belongs, thereby calculating the square root approximate value of the input value x. In this manner, according to the invention, since the square root of the input value x is calculated by a polynomial of degree N such as two or three of the input value x and approximated, it is sufficient to perform the arithmetic operation of the polynomial by the DSP by only the repetition of an adding cycle. Consequently, a calculation amount of one approximate calculation of the square root is small, it can be calculated for a short time, and a calculation load of the DSP can be reduced.




The approximate value calculating unit approximates a square root f(x)={square root over ( )}x by a piecewise function








f


{circumflex over ( )}(


x


)=


f




n


{circumflex over ( )}(


x


),


k




n




·X




0




≦x<k




n+1




·X




0








where, n: integer showing an interval number




k: constant




X


0


: arbitrary value showing a basic value of an interval boundary of the input value x




Although the approximate function is expressed by “{circumflex over (f)}


n


(x)”, it is expressed as “f


n


{circumflex over ( )}(x)” in the specification.




The approximate value calculating unit defines the piecewise function








f




0


{circumflex over ( )}(


x


),


X




0




≦x<k·X




0








of an interval number n=0 as a basic approximate function and approximates intervals of the interval numbers except for the interval number n=0 by a piecewise function








f




n


{circumflex over ( )}(


x


)={square root over ( )}


k




n




·f




0


{circumflex over ( )}(


x


/(


k


)


n


),


k




n




·X




0




≦x<k




n+1




·X




0








using the basic approximate function f


0


{circumflex over ( )}(x). The approximate value calculating unit uses the polynomial of degree N corrected so as to prevent a discontinuous change in approximate value at each boundary position in the divided range. That is, the approximate value calculating unit uses a polynomial corrected so as to set errors e


1


and e


2


of the approximate values at boundary positions P and Q in the divided range to 0. In this manner, according to the invention, by merely setting one fundamental approximate function (basic approximate function) for the divided basic range (X


0


≦x<k·X


0


) of the input value x and performing a simple mapping conversion {x/(k


n


)} of the input value x to the basic range, the same approximate function can be applied even to the other ranges of the input value x. Owing to the above feature, as compared with the case of forming the approximate function for the whole area of the range of the input value x, higher approximate precision is obtained by a smaller degree in the case where the polynomial of degree N is set to the approximate function.




In the approximate value calculating unit, with respect to the basic range when the range of the input value x serving as an arithmetic operation target of the square root arithmetic operation is divided into a plurality of intervals, namely, the range which is defined by








X




0




≦x<k·X




0








where, k: constant




X


0


: arbitrary value showing a basic value of an interval boundary of the input value x




the correspondence relation between the input value x serving as an arithmetic operation target of the square root arithmetic operation and the square root value of the input value x are previously stored into a table.




At the time of the actual square root arithmetic operation, an input scale conversion to convert the input value x to a corresponding value in the basic range is performed to the input value x, and the square root approximate value for the converted value is obtained by referring to the table. An output scale conversion to convert the square root approximate value for the converted value to a square root approximate value for the actual input value x is performed, and the square root approximate value corresponding to the actual input value x is calculated. In this case as well, by merely setting one basic reference table for the divided basic range (X


0


≦x<k·X


0


) in the input value x and performing a simple mapping conversion {x/(k


n


)} of the input value to the basic range, the same reference table can be used even in the other ranges of the input value x. Owing to this feature, as compared to the case of forming the reference table for the whole area of the range of the input value x, a memory capacity for the table is reduced. The approximate value calculating unit sets the constant k to decide the boundary value of the range to be divided to, for example, 10


n


or 2


n


.




The above and other objects, features, and advantages of the present invention will become more apparent from the following detailed description with reference to the drawings.











BRIEF DESCRIPTION OF THE DRAWINGS





FIGS. 1A and 1B

are block diagrams of an optical disk drive to which the invention is applied;





FIG. 2

is an explanatory diagram of an internal structure of the optical disk drive in

FIGS. 1A and 1B

;





FIGS. 3A and 3B

are functional block diagrams of a position servo system which is realized by a DSP in

FIGS. 1A and 1B

;





FIG. 4

is a block diagram of a seek control system to which the invention is applied;





FIGS. 5A

to


5


C are correspondence explanatory diagrams of a basic approximate function and the other approximate functions according to the invention;





FIGS. 6A

to


6


C are characteristics diagrams of a seek speed target value approximation, a speed approximate error, and a speed approximate error ratio in the case where a square root is approximated by a quadratic polynomial;





FIGS. 7A

to


7


C are characteristics diagrams of a seek speed target value approximation, a speed approximate error, and a speed approximate error ratio in the case where a square root is approximated by a cubic polynomial;





FIG. 8

is a block diagram of a seek speed target value calculating unit in

FIG. 4

according to the invention;





FIG. 9

is an explanatory diagram of intervals of ranges which are discriminated by an interval discriminating unit in FIG.


8


and interval numbers n;





FIGS. 10A

to


10


C are characteristics diagrams of a seek speed target value approximation and an approximate error occurring by the invention;





FIG. 11

is an explanatory diagram of a method of setting errors at both ends of an interval to zero;





FIGS. 12A

to


12


C are characteristics diagrams of a seek speed target value approximation, a speed approximate error, and a speed approximate error ratio in the case where the errors at both ends of the interval in

FIG. 8

are corrected;





FIGS. 13A

to


13


C are characteristics diagrams of a seek speed target value approximation and an approximate error for a correction result in

FIGS. 12A

to


12


C;





FIG. 14

is a block diagram of another embodiment of the invention to obtain an approximate value of a square root with reference to a table; and





FIG. 15

is an explanatory diagram of the table which is used in FIG.


14


.











DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS





FIGS. 1A and 1B

show block diagrams of an optical disk drive


10


. The optical disk drive comprises a control board


12


and an enclosure


14


. The control board


12


includes: an MPU


16


for controlling the whole optical disk drive; a host interface


26


for transmitting and receiving commands and data to/from an upper apparatus; and an optical disk controller (ODC)


28


and a DSP


40


for performing processes which are necessary to write and read data to/from an optical disk medium. A control logic


18


, a flash ROM


20


, an S-RAM


22


, and a D-RAM


24


are provided for the MPU


16


. The D-RAM


24


functions as a buffer memory and, further, assures a data buffer area which is used for a cache control. The optical disk controller


28


forms an ECC code from NRZ write data on a sector unit basis and, after that, converts it to, for example, a


1


-


7


RLL code. At the time of read access, the controller


28


inversely


1


-


7


RLL converts the read data of the sector unit, detects and corrects an error of the data by the ECC code, and transfers NRZ read data to the upper apparatus. A write LSI


30


is provided for the optical disk controller


28


. A laser diode control output from the write LSI


30


is supplied to a laser diode unit


34


provided for an optical unit on the enclosure


14


side. As a reading system for the optical disk controller


28


, a read LSI


32


is provided and a read demodulating circuit and a frequency synthesizer are built therein. A photosensing signal of return light of the laser beam from the laser diode by a detector


36


for ID/MO provided for the enclosure


14


is supplied as an ID signal and an MO signal to the read LSI


32


through a head amplifier


38


. The read demodulating circuit of the read LSI


32


has circuit functions of an AGC circuit, a filter, a sector mark detecting circuit, and the like, forms a read clock and read data from the inputted ID signal and MO signal, and demodulates PPM data or PWM data to the original NRZ data. The read data demodulated by the read LSI


32


is supplied to the reading system of the optical disk controller


28


and is transferred as an NRZ data stream to the upper apparatus. A detection signal of a temperature sensor


42


provided on the enclosure


14


side is supplied to the MPU


16


via the DSP


40


.




The MPU


16


controls each of light emitting powers for reading, writing, and erasing of the laser diode to the optimum value on the basis of an environmental temperature in the apparatus detected by the temperature sensor


42


. The MPU


16


controls a spindle motor


46


provided on the enclosure


14


side by a driver


44


through the DSP


40


. When an MO cartridge is ejected, the MPU


16


also controls a driver


48


through the DSP


40


and drives an ejection motor


50


, thereby ejecting the MO cartridge. The DSP


40


performs a seek control and an on-track control for seeking the laser beam to a target track so as to enter an on-track state.




In order to realize a servo function of the DSP


40


, a detector


52


for FES for receiving the return light of the laser beam from the medium is provided for the optical unit on the enclosure


14


side. An FES detecting circuit (focusing error signal detecting circuit)


54


forms a focusing error signal E


1


from a photosensing output of the detector


52


for FES and supplies it to the DSP


40


. A detector


56


for TES for receiving the return light of the laser beam from the medium is provided for the optical unit on the enclosure


14


side. A TES detecting circuit (tracking error signal detecting circuit)


58


forms a tracking error signal E


2


from a photosensing output of the detector


56


for TES and supplies it to the DSP


40


. The tracking error signal E


2


is sent to a TZC detecting circuit (track zero-cross point detecting circuit)


60


, by which a track zero-cross pulse E


3


is formed and supplied to the DSP


40


. Further, the DSP


40


drives a focusing actuator


64


and a VCM (carriage actuator)


68


through drivers


62


and


66


in order to control the position of a beam spot on the medium.




An outline of the enclosure


14


in the optical disk drive is as shown in FIG.


2


. The spindle motor


46


is provided in a housing


70


. By inserting an MO cartridge


74


from an inlet door


72


side to a hub of a rotary axis of the spindle motor


46


, an MO medium


76


in the MO cartridge is attached to the hub of the rotary axis of the spindle motor


46


and loaded. A carriage


78


constructing a positioner of a single driving type is provided below the MO medium


76


of the loaded MO cartridge


74


. The carriage


78


is arranged so as to be movable in the direction which transverses the tracks on the medium by the VCM


68


in

FIGS. 1A and 1B

. An objective lens


82


is mounted on the carriage


78


. The laser beam from the laser diode provided for a fixed optical system


80


is inputted to the objective lens


82


through a standing mirror


84


and a beam spot is formed on the medium surface of the MO medium


76


. Although the objective lens


82


can be moved in the optical axial direction by the focusing actuator


64


in FIGS.


1


A and


1


B, it is fixed so as not to be moved in the medium radial direction and moved integratedly with the carriage


78


.





FIGS. 3A and 3B

are block diagrams of a servo system which is realized by the DSP


40


in

FIGS. 1A and 1B

and is provided for the optical disk drive


10


. The servo system comprises a seek control system


86


for mainly performing a speed control and an on-track control system


88


for mainly performing a position control. The seek control system


86


comprises: a TZC counter


90


; a target speed generating unit


92


; an adder


94


; a speed calculating unit


96


; a gain calculating unit


98


; a servo switch


100


; an addition point


102


; a gain calculating unit


104


; an adder


106


; an eccentricity memory


108


; a servo switch


110


; and a D/A converter


112


. The on-track control system


88


comprises: an A/D converter


114


; a gain calculating unit


116


; a PID arithmetic operating unit (feedback arithmetic operating unit)


118


; and a servo switch


120


. When the seek control is performed, the servo switch


100


provided for the seek control system


86


is turned on to validate the speed control and the servo switch


120


provided for the on-track control system


88


is turned off to cancel the on-track control. When the seek control is performed, the analog switch


110


of the eccentricity memory


108


is also turned off, so that an eccentricity correction is not performed. The speed control by the seek control system


86


is performed in a manner such that a target speed corresponding to the number of residual tracks within a range from the track on which the laser beam is positioned at present to the target track is generated to the addition point


94


by the target speed generating unit


92


, a speed error between the target speed and the laser beam speed calculated by the speed calculating unit


96


at that time is obtained, predetermined gains are multiplied to the speed error by the gain calculating units


98


and


104


, the resultant data is converted to an analog signal by the D/A converter


112


, and after that, a driving current is supplied to the VCM


68


through the driver, thereby performing the speed control. The target speed generating unit


92


generates a seek speed target value corresponding to the residual distance to the target track, thereby performing a speed control to switch the speed to the acceleration, constant speed, and deceleration. When the laser beam approaches the center of the target track during the deceleration by the seek control system


86


, the servo switch


100


in the ON-state so far is turned off, and the servo switch


120


in the OFF-state so far is turned on, thereby disconnecting the speed control and switching the control mode to the position control by the on-track control system


88


and pulling the laser beam to the center of the target track. The pull-in control by the on-track control system


88


is performed as follows. A gain is applied by the gain calculating unit


116


to the TES signal E


2


that is obtained by the A/D converter


114


as a feedback signal. After that, arithmetic operations of proportion, integration, and differentiation are performed by the PID arithmetic operating unit


118


, a gain is further applied by the gain calculating unit


104


, after that, the resultant signal is converted to an analog signal by the D/A converter


112


, and the driving current is supplied to the VCM


68


, thereby performing the pull-in control of the positioner. As for the on-track control after the laser beam was pulled to the track center of the target track, in a manner similar to the pull-in control, by turning on the servo switch


120


and turning off the servo switch


100


and, further, turning on the servo switch


110


, the eccentricity correction by an output of the eccentricity memory


108


is performed at the addition point


106


, thereby performing the on-track control to allow the laser beam to trace the track center by the driving of the positioner by the VCM


68


.





FIG. 4

shows the target speed generating unit


92


provided for the seek control system


86


in

FIGS. 3A and 3B

together with the TZC counter


90


. The target speed generating unit


92


comprises a residual distance calculating unit


122


and a seek speed target value calculating unit


124


. The TZC counter


90


receives the track zero-cross pulse E


3


from the TZC detecting circuit


60


in

FIGS. 1A and 1B

and counts the number of tracks transversed by the laser beam during the seeking operation. The residual distance calculating unit


122


obtains the number of residual tracks to the target track by calculating a difference between the target number of tracks and the current count number which is generated from the TZC counter


90


and multiplies the number of residual tracks by the track pitch, thereby calculating the residual distance as an input value x serving as an arithmetic operation target of the square root arithmetic operation. In the calculation of the input value x, since the input value x becomes a value quantized by the track pitch if the number of residual tracks is merely multiplied by the track pitch, a value between the count numbers of the number of residual tracks is interpolated. Therefore, the residual distance calculating unit


122


calculates the input value x at a resolution that is lower than the track pitch. The seek speed target value calculating unit


124


calculates the seek speed target value Vt corresponding to the square root of the input value x which is generated from the residual distance calculating unit


122


and which serves as an arithmetic operation target of the square root arithmetic operation. In the seek speed target value calculating unit


124


of the invention, a range of the input value x serving as an arithmetic operation of the square root arithmetic operation is divided into a plurality of intervals, a polynomial of degree N to approximately generate the square root of the input value x is set as an approximate function every interval, the approximate function corresponding to the interval to which the input value x from the residual distance calculating unit


122


belongs is selected, an approximate value of the square root of the input value x is obtained, and the seek speed target value Vt is finally calculated from the square root approximate value and generated.




A principle of the approximate calculation using the polynomial of degree N of the square root of the invention which is applied to the seek speed target value calculating unit


124


in

FIG. 4

will now be described as follows. In the seek control, the seek speed target value Vt which is generated in the target speed generating unit


92


is given by the following equation and the square root calculation is needed.








Vt


={square root over ( )}(2


ax


)  (1)






where, x: input value serving as an arithmetic operation target of the square root arithmetic operation




a: deceleration




It is now considered that the calculation of the square root to obtain the seek speed target value Vt is performed by an approximate expression. First, it is considered that f(x)={square root over ( )}x is approximated by the piecewise function as follows.








f


{circumflex over ( )}(


x


)=


f




n


{circumflex over ( )}(


x


),


k




n




·X




0




≦x<k




n+1




·X




0


  (2)






where, n: integer showing the interval number




Now, assuming that f(x)={square root over ( )}x, owing to the nature of {square root over ( )}, there is the following relation.








f


(


k




n




·x


)={square root over ( )}(


k




n




·x


)={square root over ( )}(


k




n


)·{square root over ( )}


x


={square root over ( )}(


k




n





f


(


x


)  (3)






In order to describe the relation, three neighboring interval ranges in which k=10, X


0


=0.011e−6, and n=0, 1, 2 are shown in

FIGS. 5A

,


5


B, and


5


C, respectively. In this instance, an axis of abscissa indicates an interval range of the input value x in each interval. An axis of ordinate shows a value of the square root {square root over ( )}x for the input value x. As will be obviously understood from the interval range shown in the expression (2), the range of x covered by each of the adjacent intervals becomes larger by k times each time the value of the interval n increases. Since

FIGS. 5A

,


5


B, and


5


C show the case where k=10 and X


0


=0.011e−6, the interval corresponding to n=0 is equivalent to a range from 0.011e−6 to 0.11e−6, the interval corresponding to n=1 is equivalent to a range from 0.11e−6 to 1.1e−6, and the interval corresponding to n=2 is equivalent to a range from 1.1e−6 to 11e−6. In this manner, the range of the input value x covered by each of the adjacent intervals becomes a range of 10 times each time the value of the interval n increases. When the case of n=0 in

FIG. 5A

is set to a reference, the range of the input value x which the interval n covers and the input value x included in this range are increased by k


n


times. As for the value of the square root {square root over ( )}x, as will be understood from the equation (3) and

FIGS. 5A

to


5


C, when the value of the square root for the interval n is {square root over ( )}(k


n


) times as large as the value of the square root for the interval


0


. As shown in

FIGS. 5A

to


5


C, when the relation between the input value x and the output value {square root over ( )}x for the interval n is shown by setting the scale of the axis of abscissa to a value obtained by multiplying the interval


0


by {1/(k


n


)} times and setting the scale of the axis of ordinate to a value obtained by multiplying the interval


0


by {1/{square root over ( )}(k


n


)} times, their functional waveforms coincide. Therefore, when the function f


0


{circumflex over ( )}(x) to approximate f(x)={square root over ( )}x is prepared (hereinbelow, f


0


{circumflex over ( )}(x) is called a basic approximate function) for only the interval (X


0


≦x<k·X


0


) of the interval number n=0, namely, if








f




0


{circumflex over ( )}(


x


),


X




0




≦x<k·X




0


  (4)






is prepared, the other intervals n are obtained by using the basic approximate function f


0


{circumflex over ( )}(x) as follows.







f




n


{circumflex over ( )}(


x


)={square root over ( )}(k


n





f




0


{circumflex over ( )}(


x


/(


k


)


n


),


k




n




·X




0




≦x<k




n+1




·X




0


  (5)




The basic approximate function f


0


{circumflex over ( )}(x) in the expression (4) is approximated by the polynomial of degree N by the method of least squares. In case of a quadratic polynomial, it is approximated as follows.








f




0


{circumflex over ( )}(x)=α·


x




2




+β·x+γ, X




0




≦x<k·X




0


  (6)






In the quadratic polynomial, as a basic approximate function f


0


{circumflex over ( )}(x) in the case where k=10 and X


0


=0.011e−6[m], the following approximate equation is obtained by the method of least squares.








f




0


{circumflex over ( )}(


x


)=−1.065


e


10


·x




2


+3.457


e


3


·x


+7.642


e


−5, 0.011


e−


6


≦x


<0.11


e


−6  (7)






The expression (7) is a function obtained by approximating the {square root over ( )}function within the range of (0.011e−6≦x<0.11−6). 0.011e−6[m] denotes 0.011×10


−6


[m].





FIGS. 6A

to


6


C show relations between the {square root over ( )}x function in the basic range and the basic approximate function f


0


{circumflex over ( )}(x) of the expression (7). In

FIG. 6A

, characteristics shown by a solid line denote the {square root over ( )}x function and characteristics shown by a broken line denote the basic approximate function f


0


{circumflex over ( )}(x) of the expression (7).

FIG. 6B

shows a speed approximation error ΔV in case of calculating the target speed Vt by using the approximate function which is given by the expression (7). That is, the seek speed target value Vt is obtained by








Vt


={square root over ( )}(2


ax


)  (8)






The seek speed target value approximation Vt{circumflex over ( )} using the approximate function of the expression (7) is








Vt


{circumflex over ( )}={square root over ( )}(2


a


)·{square root over ( )}(2


a





f




0


{circumflex over ( )}(


x


)  (




9




)






The speed approximation error ΔV as a difference between them is obtained by






Δ


V=Vt


{circumflex over ( )}−


Vt


  (10)






The speed approximation error ΔV of the solid line relates to the case of the deceleration a=40 [m/sec


2


] and the speed approximation error ΔV of the broken line relates to the case of the deceleration a=70 [m/sec


2


]. Further,

FIG. 6C

shows a speed approximation error ratio VER[%] of the basic approximate function f


0


{circumflex over ( )}(x) for the {square root over ( )}x function of the solid line in FIG.


6


A and is given by








VER=[{f




0


{circumflex over ( )}(


x


)−{square root over ( )}


x


}/{square root over ( )}


x


]×100[%]  (11)











Now, considering the speed approximation error ratio VER in

FIG. 6C

, in the basic approximate function f


0


{circumflex over ( )}(x) in the expression (7), it is possible to approximate by an error of maximum 8% for the {square root over ( )}x function.

FIGS. 6A

to


6


C show diagrams regarding the basic approximate function f


0


{circumflex over ( )}(x) of the interval number n=0 corresponding to the range of (0.011e−6≦x<0.11e−6). In the intervals other than the interval of n=0, it is possible to calculate by substituting the basic approximate function f


0


{circumflex over ( )}(x) in the expression (7) for the piecewise function in which the interval numbers n=1, 2, 3, 4, . . . are substituted into the expression (5). Although the speed approximation error ratio VER shown in

FIG. 6C

is shown for the range of the interval n=0, even with respect to the other intervals n, the speed approximation error ratio VER is held as it is as will be obviously understood from the expressions (3), (5), and (11). The error ratio of the approximate function for the true value {square root over ( )}x can be reduced by increasing the number of intervals, namely, by decreasing the value of constant k or increasing the value of degree of the polynomial of degree N.





FIGS. 7A

to


7


C relate to the case where the basic approximate function f


0


{circumflex over ( )}(x) is set to the following cubic polynomial.








f




0


{circumflex over ( )}(


x


)=α·


x




3




+β·x




2




+γ·x+


67


, X




0




≦x<k·X




0


  (12)






Now, assuming that k=10 and X


0


=0.011e−6 [m], the expression (12) can be approximated by the following expression.








f




0


{circumflex over ( )}(


x


)=1.088


e


17


·x




3


−3.020


e


10


·X




2


+4.480


e





x


+6.222


e


−5, 0.011


e


−6


≦x


<0.11


e


−6  (13)







FIG. 7A

shows an approximate function in which a solid line indicates the {square root over ( )}x function and a broken line indicates an approximate function of the equation (13).

FIG. 7B

shows the speed approximation error ΔV calculated from the equations (8) to (10) with respect to

FIG. 7A

, a solid line shows the case of the deceleration a=40 [m/sec


2


], and a broken line shows the case of the deceleration a=70 [m/sec


2


] in a manner similar to FIG.


6


. Further,

FIG. 7C

shows the speed approximation error ratio VER calculated from the equation (11) with respect to the {square root over ( )}x function and the basic approximate function f


0


{circumflex over ( )}(x) in FIG.


7


A. In the case where the basic approximate function f


0


{circumflex over ( )}(x) is approximated by the cubic polynomial of the expression (13) as mentioned above, the error ratio can be reduced to 3% or less as shown in FIG.


7


C.





FIG. 8

is a functional block diagram of the seek speed target value calculating unit


124


in FIG.


4


and the seek speed target value approximation is calculated by the approximate function of the {square root over ( )} function based on the expression (5) and outputted. The seek speed target value calculating unit


124


is constructed by an interval discriminating unit


126


, an approximate value calculating unit


128


, and a gain multiplying unit


130


. A case where k=10 and X


0


=0.011e−6 [m] in the expression (5) will now be described. The interval discriminating unit


126


inputs an input value x as a target of a square root arithmetic operation, discriminates whether it belongs to any of the intervals shown in the expression (5), and outputs the interval number n indicative of the interval. In the example, since k=10 and X


0


=0.011e−6 [m], the interval is






10


n


·0.011


e


−6


≦x


<10


n+1


·0.011


e


−6






The interval discriminating unit


126


discriminates the interval to which the input value x belongs and outputs the interval number n.





FIG. 9

shows an example of an interval discrimination table which is used in the interval discriminating unit


126


in FIG.


8


. For example, assuming that the input value x=0.013e−6, n=0 is determined by referring to the table of FIG.


9


. If the input value x=0.13e−6, n=1 is decided. Further, when the input value x=1.3e−6, n=2 is decided.




The interval number n decided by the interval discriminating unit


126


in

FIG. 8

is sent to the approximate value calculating unit


128


together with the input value x. In this unit, the approximate value of the square root {square root over ( )}x is calculated on the basis of the expression (5). For example, the quadratic polynomial shown in the expression (7) is used as a basic approximate function f


0


{circumflex over ( )}(x) in the expression (5). The approximate value of the square root {square root over ( )}x calculated by the approximate value calculating unit


128


is supplied to the gain multiplying unit


130


and multiplied by a predetermined gain constant {square root over ( )}(


2




a


), so that the approximate value of the seek speed target value is outputted. “a” in the gain constant {square root over ( )}(


2




a


) denotes the deceleration and {square root over ( )}(


2




a


) can be handled as a constant because the deceleration “a” has previously been decided.





FIGS. 10A

to


10


C are characteristics diagrams of a result in the case where the seek speed target value is approximated according to the embodiment of FIG.


8


. That is,

FIG. 10A

shows the seek speed target value, a solid line indicates an ideal value using {square root over ( )}x, and a broken line shows an approximate value according to the invention.

FIG. 10B

shows a seek speed target approximate error ΔVt obtained by subtracting the ideal value from the approximate value in FIG.


10


A. Further,

FIG. 10C

shows the ratio VER of the seek speed target value approximate error and it is obtained by








VER


={(


Vt


{circumflex over ( )}−


Vt


)/


Vt


}×100[%]






When considering the result obtained by approximating the seek speed according to the invention in

FIGS. 10A

to


10


C, the input values x serving as boundary values of the intervals shown by circles


132


,


134


, and


136


in

FIG. 10A

are equal to 0.011e−6, 0.11e−6, 1.1e−6, . . . [m] and the interval number n changes to n=0, 1, 2, 3, . . . by the interval discriminating unit


126


in FIG.


8


. Therefore, as shown in

FIGS. 10B and 10C

, an inconvenience such that an approximate error which changes discontinuously occurs in the switching portion where the value of n changes and becomes discontinuous occurs. A discontinuity occurs in a seek speed error which is used for the speed control due to the discontinuity in the approximate value of the seek speed target value, so that noises are generated in an instruction current to the carriage actuator and there is a case where an inconvenience occurs. In the invention, therefore, an approximate polynomial in which no approximate error occurs at both ends of the interval is used. The reason why the approximate value discontinuously changes in the switching of the interval is because the approximate errors occur at both ends of the interval and the approximate errors at both ends are different. Therefore, by correcting the basic approximate function f


0


{circumflex over ( )}(x) so as to set the approximate errors at both ends of the interval to


0


, it is possible to prevent that the errors become discontinuous in the switching of the interval.





FIG. 11

shows a principle to calculate an approximate polynomial in which no approximate error occurs at both ends of the interval. A solid line


140


shows approximate error characteristics in the basic range of the basic approximate function shown in

FIGS. 6B and 7B

. In

FIGS. 6B and 7B

, to show the speed error, since the characteristics multiplied by {square root over ( )}(


2




a


), namely,










Δ





V

=







(

2

a

)


·
e








=







(

2

a

)


·

{



f
0




(
x
)


-

x


}



,






X
0


x
<

k
·

X
0
















are shown, the dimension of the axis of ordinate differs. It is sufficient to correct the errors at points P and Q at both ends of the approximate error curve


140


to zero as shown by arrows. That is, it is sufficient to subtract linear characteristics of a straight line connecting both end points P and Q from the approximate error curve


140


. Coordinate values e


1


and e


2


of both end points P and Q in FIG.


11


and coefficients a and b of the straight line


142










e=ax+b








are given by the following equations.








e




1




f




0


{circumflex over ( )}(


x




1


)−{square root over ( )}


x




1












e




2




=f




0


{circumflex over ( )}(


x




2


)−{square root over ( )}


x




2












a


=(


e




2




−e




1)/(




x




2




−x




1


)










b=e




1




−a·x




1


  (14)






Thus, in case of the quadratic polynomial, the basic approximate function after the correction is given by the following equation.








f




0




{circumflex over ( )}mod


(


x


)=α·


x




2


+(β−


a





x


+(γ−


b


)  (15)







FIGS. 12A

to


12


C are characteristics diagrams in the case where the approximate polynomial in which no approximate error occurs at both ends of the interval by the equation (11) is applied to the result of

FIGS. 6A

to


6


C. In

FIG. 12A

, a solid line shows the {square root over ( )}x function and a broken line shows a basic approximate function f


0




{circumflex over ( )}mod


(x) after the correction of the equation (15).

FIG. 12B

shows the speed approximate error ΔV of the seek speed target value in the case where the deceleration a is set to 40 [m/sec


2


] or 70 [m/sec


2


]. Further,

FIG. 12C

shows a speed approximate error ratio VER between the {square root over ( )}x function and the basic approximate function f


0




{circumflex over ( )}mod


(x) after the correction in FIG.


12


A.




Further,

FIGS. 13A

to


13


C show an approximate value of the seek speed target value in the case where the basic approximate function is corrected as shown in the equation (15) and its error. As will be obviously understood by comparing with

FIGS. 10A

to


10


C before correction, a discontinuous output in the switching of the interval does not occur in this case.





FIG. 14

shows another embodiment of the invention and is characterized in that the basic approximate function is obtained with reference to a table. A target speed generating unit in

FIG. 14

is constructed by the interval discriminating unit


126


, an input scale converting unit


150


, a basic approximate function conversion table


152


, an output scale converting unit


154


, and an arithmetic operating unit


155


. The interval discriminating unit


126


is the same as that in the embodiment of FIG.


8


and outputs the interval number n of the interval to which the input value x belongs with reference to, for example, the discrimination table of

FIG. 9

due to the input value x. The input scale converting unit


150


calculates (x/k


n


) to set the input value x to a corresponding value in the basic range where it is covered by the basic approximate function. The input value x which belongs to the interval (basic range of n=0) of the expression (4) is used as a parameter and the value of the square root {square root over ( )}x corresponding thereto has previously been stored in the basic approximate function conversion table


152


.





FIG. 15

shows an example of the basic approximate function conversion table


152


. With respect to the case where the input value x is increased discontinuously to 10 stages by an increase value of 0.011e−6 at a time from the minimum value 0.011e−6 to the maximum value 0.11e−6, the values {square root over ( )}(0.011e−6) to {square root over ( )}(0.11e−6) of the square root {square root over ( )}x are stored. When the table is referred to, the approximate value of the square root {square root over ( )}x for the input value x is outputted by a linear interpolation of the square root value registered in the table. The square root approximate value read out from the basic approximate function conversion table


152


is inputted to the output scale converting unit


154


and multiplied by {square root over ( )}(k


n


), thereby output scale converting it. Further, the resultant value is multiplied by the gain constant {square root over ( )}(


2




a


) by the arithmetic operating unit


155


, thereby calculating the approximate value of the seek speed target value and outputting it. The value outputted from the interval discriminating unit


126


is used as a value of n in the coefficient {square root over ( )}(k


n


) of the output scale conversion in the output scale converting unit


154


. By obtaining the basic approximate function with reference to the table, it is sufficient to prepare the conversion table to only a certain specific basic range and it is unnecessary to prepare the table for the whole region of the input range. Therefore, an amount of memory which is used in the conversion table can be remarkably reduced. Although the memory amount generally increases as compared with that in case of using the polynomial of degree N, there is an advantage such that the approximate precision is improved. Although the case of k=10 has been described in the embodiment for simplicity of explanation, it is sufficient to actually set k to an arbitrary positive real number. Particularly, when k=2


n


, since the interval can be discriminated by comparing the number of bits in the case where the interval discriminating unit


126


in

FIGS. 8 and 14

is realized by a DSP or the like, it is desirable from a viewpoint that the processes can be easily and properly performed.




According to the invention as mentioned above, the approximate value calculating unit is provided with respect to the storage apparatus in which the seek control is performed by speed controlling the head, and in the case where the square root arithmetic operation is needed in the calculation of the seek speed target value which is used in the seek control, the range of the input value serving as a target of the square root arithmetic operation is divided into a plurality of intervals, the approximate function to approximate and output the square root of the input value every interval is set, and the polynomial of degree N is used as an approximate function corresponding to the interval to which the input value belongs, thereby obtaining the square root approximate value of the input value. Therefore, the amount of approximate calculations of the square root of one time by the DSP can be reduced, the approximate value can be calculated in a short time, the calculation load of the DSP is remarkably reduced, and so long as the DSP of the same ability, the calculating precision is raised and the speed control by the setting of the more accurate seek speed target value can be realized.




Although the embodiments have been described with respect to the case of using the optical disk drive as a storage apparatus as an example, the invention is not limited to it but can be applied as it is to a proper storage apparatus such as hard disk drive, floppy disk drive, DVD drive, or the like in which the head is seek controlled to the target track. The invention has been described as an example with respect to the single driving type head mechanism in which the objective lens that is driven by the focusing actuator is mounted on the carriage that is driven by the VCM. However, the invention can be applied to a double driving type head mechanism in which the tracking actuator is mounted on the carriage. The invention also incorporates many proper modifications without departing from the objects and advantages of the invention. Further, the invention is not limited by the numerical values shown in the embodiments.



Claims
  • 1. A storage apparatus comprising:a seek control unit for performing a seek control by speed controlling a head; and an approximate value calculating unit for, when a square root arithmetic operation is needed in a calculation of a seek speed target value which is used in said seek control, dividing a range of an input value serving as a target of said square root arithmetic operation into a plurality of intervals, setting an approximate function for approximately outputting a square root of said input value every said interval, and selectively using an approximate function corresponding to an interval to which said input value belongs, thereby calculating a square root approximate value of said input value, wherein said approximate value calculating unit approximates a square root f(x)={square root over (x)} by a piecewise function f{circumflex over ( )}(x)=fn{circumflex over ( )}(x), kn·X0≦x<kn+1·X0  where, n: integer showing an interval number k: constant X0: arbitrary value showing a basic value of an interval boundary of the input value x.
  • 2. An apparatus according to claim 1, wherein said approximate value calculating unit defines a piecewise functionf0{circumflex over ( )}(x), X0≦x<k·X0 of an interval number n=0 as a basic approximate function, and approximates by a piecewise functionfn{circumflex over ( )}(x)={square root over (kn)}·f0{circumflex over ( )}(x/(k)n), kn·X0≦x<kn+1·X0 using said basic approximate function f0{circumflex over ( )}(x) with respect to intervals other than the interval of the interval number n=0.
  • 3. An apparatus according to claim 2, wherein said approximate value calculating unit sets the constant k to decide a boundary value of said interval range to 2n or 10n.
  • 4. An apparatus according to any one of claim 1 or 2, wherein a polynomial of degree N of said input value is used as an approximate value for each of said intervals.
  • 5. An apparatus according to claim 4, wherein a polynomial of degree N corrected so as to prevent a discontinuous change of approximate values at positions before and after a boundary position in said divided range is used as a polynomial of degree N of said input value.
  • 6. An apparatus according to claim 4, wherein a polynomial of degree N corrected so as to set an error of the approximate value at the boundary position in said divided range to 0 is used as a polynomial of degree N corrected so as to prevent a discontinuous change of approximate values at positions before and after a boundary position in said divided range.
  • 7. An apparatus according to claim 1, wherein in said approximate value calculating unit,an input value x as a target of said square root arithmetic operation and a square root value of said input value are previously stored into a table with respect to a basic range X0≦x<k·X0 where, k: constant X0: arbitrary value showing a basic value at an interval boundary of the input value x when the range of the input value x as a target of said square root arithmetic operation is divided into said plurality of intervals, an input scale conversion for converting said input value x to a corresponding value in said basic range is performed to said input value x, a corresponding square root approximate value in said basic range is obtained by referring to said table for the converted input value, an output scale conversion for converting the square root approximate value, which is obtained by referring to said table, to a magnitude of the square root value for said input value x is performed.
Priority Claims (1)
Number Date Country Kind
11-064624 Mar 1999 JP
US Referenced Citations (6)
Number Name Date Kind
4734878 Sutcliffe Mar 1988 A
4757467 Dieterich et al. Jul 1988 A
4949296 Malinowski Aug 1990 A
5268857 Chen et al. Dec 1993 A
5434809 Taniguchi Jul 1995 A
6163791 Schmookler et al. Dec 2000 A
Foreign Referenced Citations (2)
Number Date Country
9305380 Nov 1997 JP
10302275 Nov 1998 JP