WO2002059887A9 - System and method for controlling an optical disk drive - Google Patents
System and method for controlling an optical disk driveInfo
- Publication number
- WO2002059887A9 WO2002059887A9 PCT/US2002/002090 US0202090W WO02059887A9 WO 2002059887 A9 WO2002059887 A9 WO 2002059887A9 US 0202090 W US0202090 W US 0202090W WO 02059887 A9 WO02059887 A9 WO 02059887A9
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- set forth
- disc drive
- optical disc
- focus
- processor
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B7/00—Recording or reproducing by optical means, e.g. recording using a thermal beam of optical radiation by modifying optical properties or the physical structure, reproducing using an optical beam at lower power by sensing optical properties; Record carriers therefor
- G11B7/08—Disposition or mounting of heads or light sources relatively to record carriers
- G11B7/085—Disposition or mounting of heads or light sources relatively to record carriers with provision for moving the light beam into, or out of, its operative position or across tracks, otherwise than during the transducing operation, e.g. for adjustment or preliminary positioning or track change or selection
- G11B7/08505—Methods for track change, selection or preliminary positioning by moving the head
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B19/00—Driving, starting, stopping record carriers not specifically of filamentary or web form, or of supports therefor; Control thereof; Control of operating function ; Driving both disc and head
- G11B19/20—Driving; Starting; Stopping; Control thereof
- G11B19/28—Speed controlling, regulating, or indicating
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B7/00—Recording or reproducing by optical means, e.g. recording using a thermal beam of optical radiation by modifying optical properties or the physical structure, reproducing using an optical beam at lower power by sensing optical properties; Record carriers therefor
- G11B7/08—Disposition or mounting of heads or light sources relatively to record carriers
- G11B7/09—Disposition or mounting of heads or light sources relatively to record carriers with provision for moving the light beam or focus plane for the purpose of maintaining alignment of the light beam relative to the record carrier during transducing operation, e.g. to compensate for surface irregularities of the latter or for track following
- G11B7/0938—Disposition or mounting of heads or light sources relatively to record carriers with provision for moving the light beam or focus plane for the purpose of maintaining alignment of the light beam relative to the record carrier during transducing operation, e.g. to compensate for surface irregularities of the latter or for track following servo format, e.g. guide tracks, pilot signals
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B7/00—Recording or reproducing by optical means, e.g. recording using a thermal beam of optical radiation by modifying optical properties or the physical structure, reproducing using an optical beam at lower power by sensing optical properties; Record carriers therefor
- G11B7/08—Disposition or mounting of heads or light sources relatively to record carriers
- G11B7/09—Disposition or mounting of heads or light sources relatively to record carriers with provision for moving the light beam or focus plane for the purpose of maintaining alignment of the light beam relative to the record carrier during transducing operation, e.g. to compensate for surface irregularities of the latter or for track following
- G11B7/0948—Disposition or mounting of heads or light sources relatively to record carriers with provision for moving the light beam or focus plane for the purpose of maintaining alignment of the light beam relative to the record carrier during transducing operation, e.g. to compensate for surface irregularities of the latter or for track following specially adapted for detection and avoidance or compensation of imperfections on the carrier, e.g. dust, scratches, dropouts
Definitions
- optical system typically includes a laser or other optical source, focusing lenses, reflectors, optical detectors, and other components.
- a wide variety of systems have been used or proposed, typical previous systems have used optical components that were sufficiently large and/or massive that functions such as focus and/or tracking were performed by moving components of the optical system.
- optical disks and other optical storage systems provided relatively large format read/write devices including, for example, devices for use in connection with 12 inch (or larger) diameter disks.
- read/write devices including, for example, devices for use in connection with 12 inch (or larger) diameter disks.
- optical storage technologies have developed, however, there has been increasing attention toward providing feasible and practical systems which are relatively smaller in size.
- a practical read/write device must accommodate numerous items within its form factor, including the media, media cartridge (if any), media spin motor, power supply and/or conditioning, signal processing, focus, tracking or other servo electronics, and components associated or affecting the laser or light beam optics.
- an optical head occupying small volume is desirable.
- a smaller, more compact, optical head provides numerous specific problems for electronics designed to control the position and focus of the optical head including: the need for extensive drive calibration and periodic drive recalibration, time critical servo state machines to compensate for the flexible focus and tracking actuators, " nonlinear and cross-coupled tracking " and focus position sensors, dynamic crosscoupling between the multiple servo loops, need for low power consumption to conserve battery life, removable and interchangeable media, robust handling of media defects, presence of both pre-mastered and user writeable areas on the same disk, need to operate in wide range of conditions including various physical orientations, wide range of ambient temperatures and humidity levels, and the presence of shock and vibration.
- a system, method, and apparatus in accordance with the present invention includes a code architecture that addresses the design challenges for the small form factor optical head.
- Embodiments of a system and device in accordance with the present invention utilize several unique methods including sharing a general purpose processor between the servo system and other drive systems in the device, using a dedicated high speed processor for time critical servo functions, communicating between the dedicated servo processor and the shared general purpose processor, distributing the servo processing between the general purpose processor and the dedicated servo processor, and distributing the servo processing within the general purpose processor between a main loop process and a background periodic event process.
- a method for handling interrupts in a control system for an optical disc for optical media with a premastered area that cannot be overwritten and a user-writeable area that can be overwritten comprises: sequencing a plurality of functions in a first processor; performing the functions in a second processor; monitoring the functions in the first processor; issuing an interrupt when a problem is detected in the second processor; and detecting the interrupt in the first processor.
- One aspect of this embodiment includes disabling notice of further interrupts when the interrupt occurs.
- Another aspect of this embodiment includes the first processor and a second processor communicating via a status register that includes a plurality of bits and each bit being set to convey a specific message.
- Another aspect of this embodiment includes requesting a notify event, and one of: a tracking event, a focus event, and a trace event, based on the problem detected in the second processor.
- Another aspect of this embodiment includes recording the error state and changing focus and tracking parameters based on the problem detected. Another aspect of this embodiment includes re-enabling notice of further interrupts after recovering from the problem.
- Another aspect of this embodiment includes servicing the interrupt including determining whether a tracking good or bad status indicator is set.
- Another aspect of this embodiment includes servicing the interrupt including determining whether a jump good or bad status indicator is set.
- Another aspect of this embodiment includes servicing the interrupt including determining whether a jump good or bad status indicator, and a track wait jump indicator, is set.
- Another aspect of this embodiment includes servicing the interrupt including setting a track good jump indicator based on whether a track wait jump status indicator is set.
- Another aspect of this embodiment includes servicing the interrupt including setting a track bad jump indicator based on whether a track wait jump status indicator is set. Another aspect of this embodiment includes turning focus off based on whether a focus bad indicator is set.
- Another aspect of this embodiment includes turning focus off, and requesting a notify event, based on whether a focus bad indicator is set.
- Another aspect of this embodiment includes determining whether an autojump back mode is enabled, and to indicate when the problem is detected during an autojump Another aspect of this embodiment includes determining whether a track off indicator is set and a wait long seek indicator is set; indicating a failure during a long seek when the wait long seek indicator is set; and turning off tracking when the failure during the long seek is detected. Another aspect of this embodiment includes indicating that a tracking problem was caused by loss of focus. ⁇ Another aspect of this embodiment includes determining whether a locus loop closed indicator was set by the second processor and transitioning to a focus loop closed state in the first processor based on the focus loop closed indicator.
- a system for coordinating tasks in a control system for an optical disc drive for optical media with a pitted premastered area that cannot be overwritten and a grooved user-writeable area that can be overwritten comprises a first processor operable to communicate with a second processor, wherein the first processor includes instructions for performing non-time-critical tasks, and the second processor includes instructions for performing time-critical tasks.
- the first processor monitors the status of the time critical tasks, such as reading from and writing to the media, performed in the second processor.
- the first processor receives messages regarding the status of the time-critical tasks in the second processor via a mailbox, and transmits commands to perform operations in the second processor via the mailbox.
- the status indicates at least one of: a good jump, a bad jump, tracking OK, tracking bad, focus OK, focus bad, focus closed, tracking bad from focus error, seek complete, seek acceleration, seeking flag, and seek direction.
- the instructions for performing non-time- critical tasks include generating commands, such as commands to read from or write to optical media in the disc drive, control rotational speed of the optical media, close focus, open focus, turn tracking on or off, and turn a laser on or off. Other commands can also be generated
- the mailbox includes messages from the first processor to the second processor including parameters for at least one of: controlling jump acceleration, jump deceleration, oscillator amplitude, TES Gain Offset, Track Loop Gain, Track Gain Shift, FES Gain Offset, Focus DAC Offset, Focus Loop Gain, Focus Gain Shift, Crosstalk Compensation, Sensor Thresholds, and Sample Integrity Win.
- the messages from the first processor to the second processor can include messages such as Focus On/Off, Track Integrator On, Track Integrator Reset, TES Sample Integrity On, FES Sample Integrity On, Jump ahead one Track, Jump back one Track, Track Bad Reset, Reset Jump Status, Focus Bad Reset, Reset Sat Detect Flags, Focus On during Jumps, Tracking Oscillator On, Focus Oscillator On, Tracking On/Off, Lock Mailboxes, Min/Max Signal Addresses, Min/Max Reset, Trace On/Off, Trace Addresses, Trace Rates, Clear Write Abort, Power On, Seek Reset,
- messages from the first processor to the second processor can include messages such as Focus On/Off, Track Integrator On, Track Integrator Reset, TES Sample Integrity On, FES Sample Integrity On, Jump ahead one Track, Jump back one Track, Track Bad Reset, Reset Jump Status, Focus Bad Reset, Reset Sat Detect Flags, Focus On during Jumps, Tracking Oscillator On, Focus O
- Oscillator Select Seek On, TF On/Off, Block Write Gate, Focus Interrupt Enable, General Purpose Out addresses, and Writeable Media.
- the mailbox includes messages from the second processor to the first processor including at least one of: DSP Status Register, DSP Control Register Echo, Signal Maximum, Signal Minimum, Tracking Control Effort (TCE), FES, Focus DAC, TES, Tracking DAC, Tracel, Trace2, Sample Count, and Second processor Code Version.
- DSP Status Register DSP Control Register Echo
- TCE Tracking Control Effort
- FES Focus DAC
- TES Tracking DAC
- Tracel Trace2
- Sample Count Sample Count
- the first processor includes a set of heartbeat interrupt instructions comprising at least one of: power mode state machine instructions; recovery manager instructions; focus control state machine instructions; tracking/seeking control state machine instructions; spin control state machine instructions; physical sector address (PSA) state machine instructions; laser control state machine instructions; adjust gains state machine instructions; performance monitor state machine instructions operable to monitor the status of the time critical tasks in the second processor; and monitor load/eject state machine instructions.
- heartbeat interrupt instructions comprising at least one of: power mode state machine instructions; recovery manager instructions; focus control state machine instructions; tracking/seeking control state machine instructions; spin control state machine instructions; physical sector address (PSA) state machine instructions; laser control state machine instructions; adjust gains state machine instructions; performance monitor state machine instructions operable to monitor the status of the time critical tasks in the second processor; and monitor load/eject state machine instructions.
- the instructions in the first processor are operable to perform at least one of the following: initialize calibration values; initialize values for performing the non-time-critical tasks; load the instructions for performing time-critical tasks in the second processor; enable a high power mode in the disc drive; bias a tracking actuator to a predetermined position; ramp a focus actuator in a predetermined direction; enable a low power mode in the disc drive; wait to receive a notice of a new command being issued, a notify event, or a performance event; increase the rate at which the first processor monitors the status of the time critical tasks in the second processor; handle the new command, the notify event, or the performance event; and decrease the rate at which the first processor monitors the status of the time critical tasks in the second processor.
- a system for coordinating time-critical tasks in a control system for an optical disc drive for optical media with a pitted premastered area that cannot be overwritten and a grooved user-writeable area that can be overwritten.
- the system includes several sets instructions operable to control handling of a new command, a notify event, or a performance event.
- the sets of instructions include one or more of the following: a set of power mode state machine instructions operable to control the power mode of the optical disc drive; a set of recovery manager instructions operable to attempt recovery from an error detected while performing a command; a set of focus control state machine instructions operable to control closing focus in the optical disc drive; a set of tracking/seeking control state machine instructions operable to control closing track in the optical disc drive; a set of spin control state machine instructions operable to control the spin speed of optical media in the optical disc drive; a set of physical sector address (PSA) state machine instructions operable to determine the position of an actuator arm in relation to grooved and pitted areas in the optical media; a set of laser control state machine instructions operable to control the power mode of a laser in the optical disc drive; a set of adjust gains state machine instructions operable to adjust control system gains in the optical disc drive; a set of performance monitor state machine instructions operable to monitor the status of the time critical tasks in- the second processor; and a set of monitor load/eject state machine instructions to determine whether
- a first processor is operable to communicate with a second processor.
- the first processor includes: instructions operable to wait to receive a notice of at least one of: the new command being issued to the second processor, the notify event, or the performance event; and instructions operable to control the rate at which the first processor monitors the status of time critical tasks in the second processor.
- the instructions in the first processor increase the rate at which the first processor monitors the status of the time critical tasks in the second processor upon receiving the new command, the notify event, or the performance event. In another aspect of this embodiment, the instructions in the first processor decrease the rate at which the first processor monitors the status of the time critical tasks in the second processor.
- the instructions in the first processor decrease the rate at which the first processor monitors the status of the time critical tasks in the second processor once the new command, the notify event, or the performance event has been handled.
- the power mode state machine instructions are operable to receive a request for at least one of the following power modes: DSP only mode, minimum power mode, idle power mode, and full power mode.
- the power mode state machine instructions are further operable to disable issuing an interrupt related to an error condition in the second processor when entering a second processor only power mode or a minimum power mode.
- the power mode state machine instructions are further operable to enable issuing an interrupt related to an error condition in the second processor when entering a full power mode.
- the power mode state machine instructions are further operable to monitor ejection or loading of a cartridge in the optical disc drive in minimum power mode.
- the instructions are operable to open tracking, focus, or spin servo control loops before entering a lower power mode.
- a system for recovering from performance errors in an optical disc drive for optical media with a pitted premastered area that cannot be overwritten and a grooved user-writeable area that can be overwritten.
- the system includes instructions operable to detect a problem with at least one of: focus control, tracking control, or spin control when accessing the optical media; instructions operable to save the current state of the disc drive; instructions operable to attempt to recover from the problem; and instructions operable to restore the current state of the disc drive after recovering from the problem.
- the system further includes instructions operable to classify the problem as a spin, focus, or tracking control problem.
- system further includes instructions operable to control the disc drive to a state from which recovery can be attempted. " in another aspect ot this embodiment, the system lurtr ⁇ er includes instructions operable to determine whether the recovery attempt was successful.
- system further includes instructions operable to turn off tracking and focus when a problem with spin control is detected. In another aspect of this embodiment, the system further includes instructions operable to turn off tracking when a problem with focus control is detected.
- system further includes instructions operable to turn off tracking when a problem with tracking control is detected.
- system further includes instructions operable to determine whether a tracking actuator arm is positioned off a formatted portion of an optical disc.
- system further includes instructions operable to position the tracking actuator arm to a predetermined location when the tracking actuator arm is positioned off the formatted portion of the optical disc.
- system further includes instructions operable to determine whether the attempt to recover from the problem is excessive.
- a system for handling events in a control system for an optical disc drive includes a set of control system instructions, wherein the set of control system instructions are operable to: perform one or more commanded operations on optical media in the disc drive; receive an event pertaining to an error condition with the disc drive; initiate a recovery attempt from the error condition; suspend processing of the one or more commanded operations; determine whether the recovery attempt was successful; and resume processing the one or more commanded operations if the recovery attempt was successful.
- the system is further operable to: determine whether a previous event was received for the same error condition; determine whether excessive recovery attempts have been initiated based on at least one of: the time between the events received for the same error condition, and the number of events received for the same error condition; initiate recovery from the error condition if excessive recovery attempts have not already been made for the same error condition.
- the event indicates at least one of: a notify event, a spin event, a tracking event, a focus event, a switches event, a timeout event, a performance event, or a command abort event.
- the set of control system instructions are further operable to abort performance of the one or more commanded operations if the recovery attempt was not successful.
- the set of control system instructions are further operable to determine whether the one or more commanded operations were successfully aborted.
- the set of control system instructions are further operable to receive information regarding tracking misregistration; and issue the performance event when the tracking misregistration is outside a limit.
- the set of control system instructions are further operable to receive information regarding focus misregistration; and issue the performance event when the focus misregistration is outside a limit. In another aspect of this embodiment, the set of control system instructions are further operable to receive information regarding read jitter; and issue the performance event when the read jitter is outside a limit.
- the set of control system instructions are further operable to dynamically recalibrate the disc drive when the performance event is received.
- the set of control system instructions are further operable to determine whether the disc drive was recalibrated successfully.
- the set of control system instructions are further operable to increase the level of effort to recalibrate the disc drive when the previous attempt to recalibrate the disc drive was unsuccessful.
- the set of control system instructions are further operable to determine whether the levels of effort for recalibrating the disc drive have been exhausted.
- the disc drive includes a tracking actuator, and instructions operable to determine when the tracking actuator is positioned off a formatted portion of optical media in the disc drive.
- the optical media includes a pitted premastered area that cannot be overwritten and a grooved user-writeable area that can be overwritten in another aspect ot this embodiment, the instructions are lurtr ⁇ er operable to monitor tracking control effort to determine when the tracking actuator is in the off- format condition.
- the instructions are further operable to determine when the tracking actuator is positioned off a formatted portion of optical media in the disc drive and whether tracking good or tracking bad is detected within a predetermined time period.
- the instructions are operable to generate an absolute value of the tracking control effort.
- the instructions are operable to filter the absolute value of the tracking control effort.
- a low pass filter is included to filter the absolute value of the tracking control effort.
- the instructions are operable to determine whether the absolute, filtered value of the tracking control effort is within a predetermined threshold value.
- the instructions are operable to indicate an off-format condition when the tracking control effort is not within the predetermined threshold value.
- an optical disc drive waits to receive a command to perform a function on optical media in the disc drive.
- the optical media includes a pitted premastered area that cannot be overwritten and a grooved user-writeable area that can be overwritten.
- one portion of the disc drive processes the command while another portion of the disc drive monitors the processing of the command and waits until the command is processed.
- the disc drive generates an event request based on an error condition detected while processing the command. Examples of event requests include a notify event request, a focus event request, a spin event request, and a tracking event request.
- the disc drive generates an event based on the requested event, such as a notify event, a focus event, a tracking event, a time out event, or a command abort event, and attempts to recover from the error condition.
- the disc drive determines whether the processing of the command has completed when the requested event is a spin event, a focus event, or a tracking event. If the command processing is not complete, the state of " the disc " drive when the requested event was received is saved before attempting to recover from the error condition. If the recovery attempt is successful, the saved state of the disc drive is restored, and the interrupted command continues to be processed at the point where the interruption occurred. A command finished event is issued when the command is complete. If the recovery attempt was not successful, the interrupted command is replaced with a servo abort command.
- a system for dynamically re-calibrating an optical disc drive during operation is provided.
- the optical media includes a pitted premastered area that cannot be overwritten and a grooved user-writeable area that can be overwritten.
- the system can attempt several increasing levels of effort to recalibrate the disc drive until the disc drive reaches a desired level of performance, or the recahbration effort levels are exhausted.
- a system for controlling laser power in an optical disc drive including instructions operable to reduce the laser power while seeking over tracks in the optical media.
- the optical media includes a premastered area that cannot be overwritten and a user-writeable area that can be overwritten.
- One aspect of this embodiment includes instructions operable to increase the laser power when reading from or writing to the optical media.
- a system for controlling laser power in an optical disc drive for optical media includes a premastered area that cannot be overwritten, a user-writeable area that can be overwritten, and instructions operable to use the lowest laser power until a higher laser power is required to perform a function.
- One aspect of this embodiment includes instructions operable to increase the laser power when reading from or writing to the optical media.
- various calibration values are determined for the optical media and the servo actuator, along with a notch frequency for a notch filter; a focus actuator offset; a tracking actuator offset; a focus control loop gain; and a tracking control loop gain.
- the calibration values can be stored and used during subsequent recahbration efforts, such as adjusting the focus control loop gain and/or the tracking control loop gain. ! "
- tne metnod'inci ⁇ ues determining zones on an optical media disc; generating a zone calibration table for each of the zones; and recalibrating each zone using the corresponding zone calibration table.
- a system for controlling operation of a disc drive for optical media with a pitted premastered area that cannot be overwritten and a grooved user-writeable area that can be overwritten includes instructions operable to determine the position of an actuator arm in relation to the grooved and pitted areas.
- One aspect of this embodiment includes instructions operable to enter a physical sector address (PSA) idle state where no attempts to read PSAs are made when tracking or focus are not active.
- Another aspect of this embodiment includes instructions operable to transition from the PSA idle state to a PSA enable state when tracking becomes active
- Another aspect of this embodiment includes instructions operable to disable acquisition interrupts and flags to indicate that PSAs are not being read.
- Another aspect of this embodiment includes instructions operable to read the PSAs.
- Another aspect of this embodiment includes instructions operable to re-attempt to acquire a PSA when the PSA cannot be read within a predetermined time period.
- This aspect includes instructions that are further operable to toggle between control system settings appropriate for pits and settings appropriate for grooves.
- Another aspect of this embodiment includes instructions operable to monitor the most recently read PSA when in a PSA locked state; and instructions operable to re- attempt to acquire a new PSA if a new PSA is not read before a timeout period expires.
- Another aspect of this embodiment includes instructions operable to predict the current PSA and determine if the actuator arm is close to the last track on the optical media.
- Another aspect of this embodiment includes instructions operable to read a PSA; and instructions operable to determine if the actuator arm is within a predetermined distance to the last track on the optical media.
- a control system for controlling spin speed of optical media in an optical disc drive comprises: instructions operable to stop and start spinning the optical media and to spin the optical media at a commanded spin speed.
- the optical media comprises a premastered area that cannot be overwritten and a user-writeable area that can be overwritten.
- One aspect of this embodiment includes instructions operable to rotate the optical media in a specified direction.
- Another aspect of this embodiment includes instructions operable to determine whether the commanded spin speed has been attained within a specified time period. Another aspect of this embodiment includes instructions operable to determine whether the commanded spin speed has been attained; and to maintain the commanded spin speed.
- Another aspect of this embodiment includes instructions operable to issue a spin event to indicate that the commanded spin speed was not attained within a specified time period. Another aspect of this embodiment includes instructions operable to issue a notify event to indicate that a problem was detected while attempting to maintain the commanded spin speed.
- Another aspect of this embodiment includes instructions operable to brake the optical media to slow or to stop the spin speed. Another aspect of this embodiment includes instructions operable to issue a spin event when the optical media stops spinning.
- Another aspect of this embodiment includes instructions operable to turn off a laser in the disc drive when turning spin off.
- a system for controlling focus in an optical disc drive for optical media with a premastered area that cannot be overwritten and a user-writeable area that can be overwritten comprises instructions operable to turn focus on and off; and to acquire focus on the optical media in response to a command to acquire focus.
- One aspect of this embodiment includes instructions operable to ramp an actuator arm away from the optical media to a predetermined position.
- the amount of push-away force used while positioning the actuator arm can be adjusted to avoid overshooting the position.
- the actuator arm is ramped toward the optical media until a status indicator indicates whether focus is closed.
- the actuator arm can be moved according to a sinusoidal ramp function to prevent exciting resonances in the actuator arm.
- Anotner'aspeci oi ln ⁇ i ⁇ utJs rhsxfuctronfe operd erhlO-excfninie-tne integrity of a focus error signal, and to re-attempt to acquire focus if the focus error signal indicates a bad focus status.
- Another aspect of this embodiment includes instructions operable to turn off focus when at least one of the following conditions are met: (1) current state is a ramp focus acquire state and the maximum ramp position was reached; (2) current state is a focus push retry state and best push away value is greater than or equal to a predetermined fraction of a nominal push away value; or (3) a focus problem develops while in a focus active state.
- the methods in accordance with the present invention can be embodied in the form of computer-implemented processes and apparatuses for practicing those processes.
- the methods can also be embodied in the form of computer program code embodied in tangible media, such as floppy diskettes, CD-ROMS, hard drives, or any other computer- readable storage medium where, when the computer program code is loaded into and executed by a computer, the computer becomes an apparatus for practicing the invention.
- the method can also be embodied in the form of computer program code, for example, whether stored in a storage medium, loaded into and/or executed by a computer, or transmitted over some transmission medium, such as over electrical wiring or cabling, through fiber optics, or via electromagnetic radiation, wherein, when the computer program code is loaded into and executed by a computer, the computer becomes an apparatus for practicing the invention.
- computer program code segments configure the microprocessor to create specific logic circuits.
- Figure la shows an optical drive with which various embodiments of a disc drive control system in accordance with the present invention may be utilized.
- Figure lb shows a diagram for an optical media that may be utilized in the disc drive shown in Figure 1.
- Figure 2a shows an embodiment of an optical pickup unit mounted on an actuator arm that can be utilized with the optical drive shown in Figure 1.
- Figures 2b shows an embodiment of the optical pick-up unit that can be utilized with the optical drive shown in Figure 1.
- Figure 2c illustrates the optical path through the optical head of Figure 2b.
- Figure 2d shows an embodiment of optical detector positioning of the optical pick-up of Figure 2b.
- Figure 3 is a block diagram of components for processing signals in a disc drive control system in accordance with the present invention.
- Figures 3a through 3g show examples of mailbox messages that can be communicated between components shown in Figure 3 in accordance with the present invention.
- Figure 4 is a block diagram of components included in the signal processing system shown in Figure 3.
- Figures 4a through 4p show examples of servo commands that can be implemented in the signal processing system shown in Figures 3 and 4.
- Figure 5 shows a block diagram of an embodiment of the servo thread shown in Figure 4.
- Figure 6 shows a block diagram of an embodiment of the command handler shown in Figure 5.
- Figure 7 shows a block diagram of an embodiment of the event handler shown in Figure 5.
- Figure 8 shows a block diagram of an embodiment of the performance event handler shown in Figure 5.
- Figure 8a shows a block diagram of an embodiment of the servo recahbration process as shown in Figure 8.
- FIG 9 shows a block diagram of an embodiment of the heartbeat interrupt shown in Figure 4.
- Figure 10 shows a block diagram of an embodiment of the power mode control state machine shown in Figure 9.
- Figure 11 shows a block diagram of an embodiment of the recovery manager shown in Figure 9.
- Figure 11a shows a diagram of an embodiment of a recovery state machine for the recovery manager shown in Figure 11.
- Figure 12a shows a diagram of an embodiment of an off format detection manager that is executed as part of the classify problem state 1106' in Figure 11a.
- Figure 12b shows a diagram of components utilized to perform off format detection for the off format detection manager shown in Figure 12a.
- Figure 12c shows a diagram of an embodiment of logic to perform off format detection for the off format detection manager shown in Figure 12a.
- Figures 13a, 13b, and 13c show diagrams of aspects of the tracking/seeking control state machine shown in Fig. 9.
- Figures 14a, 14b, and 14c show diagrams of aspects of the focus control state machine shown in Figure 9.
- Figure 15 shows a diagram of an embodiment of the spin control state machine shown in Figure 9.
- Figure 16 shows a diagram of an embodiment of the physical sector address state machine shown in Figure 9.
- Figure 17 shows a diagram of an embodiment of the laser control state machine shown in Figure 9.
- Figure 18 shows a diagram of an embodiment of the adjust gains state machine shown in Figure 9.
- Figure 19 shows a diagram of an embodiment of the continuous performance monitor state machine shown in Figure 9.
- Figure 20a shows a diagram of logic included in an embodiment of the DSP status mailbox interrupt handler shown in Figure 4.
- Figure 20b shows a diagram of logic included in an embodiment of a mailbox interrupt service routine that can be included in the DSP status mailbox interrupt handler shown in Fig. 20a.
- Figure 20c shows a diagram of additional logic included in an embodiment of a mailbox interrupt service routine that can be included in the DSP status mailbox interrupt handler shown in Fig. 20a.
- Fig. la shows an optical drive 100 in accordance with the present invention.
- Optical drive 100 includes a spin motor 101 (called spindle driver on figure 1) on which an optical media 102 is mounted.
- Drive 100 further includes an optical pick-up unit (OPU) 103 mechanically controlled by an actuator arm 104.
- OPU 103 includes a light source electrically controlled by laser driver 105.
- OPU 103 further includes optical detectors providing signals for controller 106. Controller 106 can control the rotational speed of optical media 102 by controlling spin motor 101, the position and orientation of OPU 103 through actuator arm 104, and the optical power of the light source in OPU 103 by controlling laser driver 105.
- Controller 106 includes R/W processing 110, servo system 120, and interface 130.
- R/W processing 110 controls the reading of data from optical media 102 and the writing of data to optical media 102.
- R/W processing 110 outputs data to a host (not shown) through interface 130.
- Servo system 120 controls the speed of spin motor 101, the position of OPU 103, and the laser power in response to signals from R/W processing 110. Further, servo system 120 insures that the operating parameters (e.g., focus, tracking, and spin motor speed) are controlled in order that data can be read from or written to optical media 102.
- Optical media 102 can include pre-mastered portions and writeable portions.
- Premastered portions for example, can be written at the time of manufacture to include content provided by a content provider.
- the content for example, can include audio data, video data, text data, or any other data that can be provided with optical media 102.
- the writeable portion of optical media 102 can be written onto by drive 100 to provide data for future utilization of optical media 102.
- the user for example, may write notes or other information on the disk.
- Drive 100 for example, may write calibration data or other operating data to the disk for future operation of drive 100 with optical media 102.
- An example of optical media suitable for use in drive 100 is available from Dataplay, Inc., Boulder, Colorado, USA.
- Drive 100 can be included in any host, for example personal audio and electronic devices.
- drive 100 can have a relatively small form factor such as about 10.5 mm height, 50 mm width and 40 mm depth.
- Optical media 106 can include any combinations of pre-mastered portions 150 and writeable portions 151.
- Premastered portions 150 for example, can be written at the time of manufacture to include content provided by a content provider.
- the content for example, can include audio data, video data, text data, or any other data that can be provided with optical media 102.
- Writeable portion 151 of optical media 102 can be written onto by drive 100 to provide, data for future utilization of optical media 102.
- the user for example, may write notes, keep interactive status (e.g. for games or interactive books) or other information on the disk.
- Drive 100 for example, may write calibration data or other operating data to the disk for future operations of drive 100 with optical media 102.
- optical " media 1 " 2 includes an inner region 153 dose ' to spmdle access 151.
- ' ⁇ K bar code can be written on a portion of an inner region 153.
- the readable portion of optical media 102 starts at the boundary of region 151 in Fig. lb.
- writeable portion 151 may be at the outer diameter rather than the inner diameter.
- an unusable outer region 154 can also be included.
- the pre-mastered portions 150 of the optical media 102 can have a different data density compared to the writeable portions 151. Data processors in disc drive 100 can therefore use different clock rates depending on whether the pre-mastered portions 150 or the writeable portions 151 are being accessed.
- Disc drive 100 must also be able to read and write data at variable density. Further, each time a new cartridge containing the optical media 102 is inserted, drive 100 must determine if different densities are included on the optical media 102, and adjust drive parameters if the data densities are different from the optical media 102 previously used.
- Figure 2a shows an embodiment of actuator arm 104 with OPU 103 mounted on one end.
- Actuator arm 104 in Figure 2a includes a pin 200 which provides a rotational pivot about axis 203 for actuator arm 104.
- Actuator 201 which in some embodiments can be a magnetic coil positioned over a permanent magnet, can be provided with a current to provide a rotational motion about axis 203.
- Actuator arm 104 further includes a flex axis 204.
- a motion of OPU 103 substantially perpendicular to the rotational motion about axis 203 can be provided by activating actuator coil 206.
- actuators 206 and 201 can be voice coils.
- FIGS 2b and 2c show an embodiment of OPU 103.
- OPU 103 of Figure 2b includes a periscope 210 having reflecting surfaces 211, 212, and 213.
- Periscope 210 is mounted on a transparent optical block 214.
- Object lens 223 is positioned on spacers 221 and mounted onto quarter wave plate (QWP) 222 which is mounted on periscope 210.
- Periscope 210 is, in turn, mounted onto turning mirror 216 and spacer 224, which are mounted on a silicon submount 215.
- a laser 218 is mounted on a laser mount 217 and positioned on silicon submount 215.
- detectors 225 and 226 are positioned and mounted on silicon substrate 215.
- a high frequency oscillator (HFO) 219 can be mounted next to laser 218 on silicon submount 215 to provide modulation for the laser beam output of laser 218.
- HFO high frequency oscillator
- Laser 218 produces an optical beam 224 which is reflected into transparent block 210 by turning mirror 216. Beam 224 is then reflected by reflection surfaces 212 and 213 into lens 223 and onto optical medium 102 (see Figure 1).
- retlecf ⁇ on surtaces A 1 Xax ⁇ 113 ⁇ cah be p ' ola ⁇ zation dependent " and can be tuned to reflect substantially all of the light from laser 218.
- QWP 222 rotates the polarization of laser beam 224.
- the reflected beam 230 from optical medium 102 is collected by lens 223 and focused into periscope 210.
- a portion (in some embodiments about 50%) of reflected beam 230 passes through reflecting surface 213 and is directed onto optical detector 226.
- a portion of reflected beam 230 passes through reflecting surface 212 and is reflected onto detector 225 by reflecting surface 211. Because of the difference in path distance between the positions of detectors 225 and 226, detector 226 is positioned before the focal point of lens 223 and detector 225 is positioned after the focal point of lens 223, as is shown in the optical ray diagram of Figure 2c.
- Figure 2d shows an embodiment of detectors 225 and 226 in accordance with the present invention.
- Detector 225 includes an array of optical detectors 231, 232, and 233 positioned on a mount 215. Each individual detector, detectors 231, 232, and 233, is electrically coupled to provide signals A, E and C to controller 1 6.
- Detector 226 also includes an array of detectors, detectors 234, 235 and 236, which provide signals B, F, and D, respectively, to controller 106.
- center detectors 232 and 235, providing signals E and F, respectively, are arranged to approximately optically align with the tracks of optical media 102 as actuator arm 104 is rotated across optical media 102.
- the degree of focus can be determined by measuring the difference between the sum of signals A and C and the center signal E of detector 225 and the difference between the sum of signals B and D and the center signal F of detector 226.
- a tracking monitor can be provided by monitoring the difference between signals A and C of detector 225 and the difference between signals B and D of detector 226.
- OPUs 103 suitable for use in drive 100 are available from Dataplay, Inc., Boulder, Colorado, USA. Embodiments of drive 100 ( Figure 1) present a multitude of control system challenges over conventional optical disk drive systems.
- a conventional optical disk drive system performs a two-stage tracking operation by moving the optics and focusing lens radially across the disk on a track and performs a two-stage focusing operation by moving a focusing lens relative to the disk.
- Actuators 201 and 206 of actuator arm 104 provide a single stage of operation which, nonetheless in some embodiments, performs with the same performance as conventional drives with conventional optical media.
- conventional optical disk drive systems are much larger tnari'some emoo ⁇ lme ts o ⁇ ⁇ ve i ⁇ .
- actuator arm 104 which operates in a rotary fashion around spindle 200 for tracking and with a flexure action around axis 204 for focus. Further, the speed of rotation of spindle driver 101 is dependent on the track position of actuator arm 104. Additionally, the characteristics of signals AR, BR, CR, DR, ER, and FR received from OPU 103 differ with respect to whether OPU 103 is positioned over a pre-mastered portion of optical media 102 or a writeable portion of optical media 102. Finally, signals AR 1 , BR, CR, DR, ER, and FR may differ between a read operation and a write operation.
- actuator arm 104 It may generally be expected that moving to a light-weight structural design from the heavier and bulkier conventional designs, such as is illustrated with actuator arm 104, for example, may reduce many problems involving structural resonances. Typically, mechanical resonances scale with size so that the resonant frequency increases when the size is decreased. Further, focus actuation and tracking actuation in actuator arm 104 are more strongly cross-coupled in actuator arm 104, whereas in conventional designs the actuator and tracking actuation is more orthogonal and therefore more decoupled.
- servo system 120 has to push the bandwidth of the servo system as hard as possible so that no mechanical resonances in actuator arm 104 are excited while not responding erroneously to mechanical and optical cross couplings. Furthermore, due to the lowered bandwidth available in drive 100, non-linearities in system response can be more severe. Further, since drive 100 and optical media 102 are smaller and less structurally exact, variations in operation between drives and between various different optical media can complicate control operations on drive 100.
- servo system 120 of control system 106 One of the major challenges faced by servo system 120 of control system 106, then, include operating at lower bandwidth with large amounts of cross coupling and nonlinear system responses from operating closer to the bandwidth, and significant variation between optical media and between different optical drives. Additionally, the performance of drive 100 should match or exceed that of conventional CD or DVD drives in terms of track densities and data densities. Additionally, drive 100 needs to maintain compatibility with other similar drives so that optical media 102 can be removed from drive 100 and read or written to by another similar drive. " " " " Most 'conventional servo systems are analog servos. In ah analog environment, the servo system is limited with the constraints of analog calculations. Control system 106, however, can include substantially a digital servo system.
- a digital servo system such as servo system 120, has a higher capability in executing solutions to problems of system control.
- a full digital servo system is limited only by the designer's ability to write code and in the memory storage available in which to store data and code.
- Embodiments of servo system 120 can operate in the harsher control environment presented by disk drive 100 and are capable of higher versatility towards upgrading servo system 120 and for refinement of servo system 120 compared to conventional systems. Further requirements for drive 100 include error recovery procedures. Embodiments of drive 100 which have a small form factor can be utilized in portable packages.
- FIG. 3 a block diagram of components included in an embodiment of a system for processing signals in a disc drive control system is shown including processor 302, digital signal processor (DSP) 304, and mailbox 306.
- processor 302 performs diagnostic and other non-time critical functions, while DSP 304 performs functions that are time critical.
- Processor 302 and DSP 304 can be co-located on the same chip and, in some embodiments, can communicate via mailbox 306.
- processor 302 and DSP 304 can communicate via other suitable means such as a data bus, serial interface, or shared, dual-ported memory.
- ST Microelectronics model number 34-00003-03 available from ST Microelectronics Company, Geneva, Switzerland, is an example of a microprocessor chip that is suitable for use as processor 302 and DSP 304.
- DSP 304 can be slaved to processor 302, which performs overall control functions along with calibration and error recovery functions.
- DSP 304 includes instructions for controlling the focus and tracking at a very high sample speed, and it also generates high order compensation signals.
- Processor 302 takes over control when errors are detected and components in the servo system 120 (Fig. la) need to be adjusted or operation is to be discontinued.
- Processor 302 issues commands to DSP 304 via mailbox 306, and DSP 304 uses mailbox 306 to provide information to processor 302 regarding how well it is performing the requested functions.
- Processor 302 also outputs reset signal 320 to reinitialize DSP 304.
- DSP 304 receives angular spin speed signal 312, laser power signal 322, optical signals 324, mirror signal 326, track crossing signal 328, and defect signal 308.
- Output signals from DSP 304 include focus control signal 328, diagnostic signal 330, track control signal 332, and write abort signal 334.
- mailbox 306 utilizes interrupts to interface with DSP 304 and processor 302.
- a fixed number of mailbox interrupts are available, and each mail box interrupt can be assigned to communicate a certain message.
- the message communicated by a mailbox interrupt can vary, and a variable number of mailbox interrupts can be available.
- an interrupt can be generated by the DSP 304 whenever it writes to one of its mailbox registers.
- Figs. 3a through 3g show examples of mailbox messages that can be communicated between processor 302 and DSP 304 via mailbox 306.
- Fig. 3a shows examples of messages in processor write/DSP read mailbox 340 with sixteen slots for outgoing messages from processor 302 to DSP 304.
- the first three mailbox messages are DSP control registers, as defined in Figs. 3b through 3d.
- Each of the three control registers include sixteen bits that can be set or cleared to control focus, track, and seek functions, to provide signal and trace addresses, compensation parameters, and on/off switches for read/write components such as the laser.
- Examples of other messages in mailbox 340 include acceleration parameters, offset and shift values for focus and track gain parameters, sensor threshold detection values, and crosstalk compensation.
- Fig. 3e shows examples of messages in processor read/DSP write mailbox 342 with sixteen slots for messages from DSP 304 to processor 302. The messages are used to convey information regarding focus, track, and seek errors.
- these registers can be read or written by the DSP 304 but they can only be read by the processor 302.
- Write mailbox 342 includes one or more status registers with bits that can be set to convey the status of focus, track, and seek operations as shown, for example, in Figs. 3f and 3g.
- the components can include servo thread 404, real-time operating system (RTOS) 406, heartbeat interrupt 408, DSP status mailbox interrupt handler 410, spin control interrupts 412, and utility threads 414 that include read/write thread 416, asynchronous input/output (async I/O) thread 418, diagnostic thread 420, timer thread 422, interface thread 424, and file system manager 426.
- RTOS real-time operating system
- heartbeat interrupt 408 DSP status mailbox interrupt handler 410
- spin control interrupts 412 and utility threads 414 that include read/write thread 416, asynchronous input/output (async I/O) thread 418, diagnostic thread 420, timer thread 422, interface thread 424, and file system manager 426.
- Heartbeat interrupt 408 executes periodically at a variable rate, for example, a rate of 20 Hz during sleep mode to a rate of 0.5 KHz during exercise mode.
- the rates to be used for different modes can be determined based on the processing load, the frequencies associated with the servo, and the processing capacity of processor 302.
- the heartbeat interrupt 408 includes: a focus state machine to control the performance of the focus servo such as closing and opening focus; a tracking state machine to control the performance of the tracking servo such as turning tracking on/off and seeking; a spin state machine to control the performance of the spin servo such as turning spin on and off; a physical sector addresses (PSA) state machine to manage the reading of physical sector addresses; a performance monitoring state machine to request a performance event or adjust drive parameters if poor performance is detected; a power management state machine to transition between the various power states of the drive; a momtor laser state machine to coordinate the laser power with drive mode of operation; an adjust gains state machine to load the best focus and tracking gains based on the position of the actuator arm 104; and a load/eject state machine to manage the loading and unloading of a cartridge containing optical media 102.
- a focus state machine to control the performance of the focus servo such as closing and opening focus
- a tracking state machine to control the performance of the tracking servo such as turning tracking
- DSP 304 issues messages that can include data and/or DSP status information to mailbox 306.
- DSP status mailbox interrupt handler 410 receives DSP status information and can request a notify event or a tracking event to RTOS 406, as required.
- the data and status information from mailbox 306 can be accessed by servo thread 404 and heartbeat interrupt 408.
- the command handler in servo thread 404 initiates actions for performing different types of commands, including data transfer commands associated with reading from and writing to media 102 (Fig. la), and diagnostic commands for verifying the functionality of drive 100 (Fig.
- ri i-T idroirgn •H ⁇ i'ro " ex ⁇ a ⁇ rp ⁇ es ⁇ ⁇ Oafd ⁇ i in terer "Java, tnig ios ⁇ c ⁇ * : ' commands that can be implemented in servo system 120 (Fig. la). Diagnostic commands can be included to control spin speed, test and calibrate various components, open and close track and focus, turn various components on and off, set gain, offset, and compensation parameters, and error recovery. Data transfer commands can be included to seek, spin up, spin down, load/eject a media cartridge, and calibrate servo system 120. The data transfer and diagnostic commands can include one or more parameters, as shown in Figs. 4a through 4p. Note that other commands can be included in addition, or instead of, the commands shown in Figs. 4a through 4p.
- the event handler in servo thread 404 facilitates communication between code components in processor 302.
- real-time operating system
- RTOS 406 issues servo events to the event handler.
- One servo event is the notify event which can be issued to RTOS 406 by a servo periodic heart beat interrupt 408 or the DSP status mailbox interrupt handler 410.
- a notify event issued by the DSP status mailbox interrupt handler 410 indicates that although no command is currently active, an error has been detected that requires attention.
- a notify event can be issued by the heartbeat interrupt 408 to indicate whether a command could be completed.
- notify event requests issued by DSP status mailbox interrupt handler 410 can be handled, assume drive 100 (Fig. la) is tracking and focus is closed when a shock, such as knocking drive 100, causes loss of focus.
- the DSP 304 includes code to compensate for tracking and focus errors, and to determine whether focus or tracking have been lost.
- one or more DSP status registers such as Bit 5 in the DSP status register shown in Fig. 3f, in mailbox 306 are set accordingly.
- the mailbox 306 sends the DSP status message to DSP status mailbox interrupt handler 410, which issues a request for a notify event to RTOS 406.
- the RTOS 406 issues a notify event to alert the servo thread 404.
- the event handler in servo thread 404 then issues one or more commands to heartbeat interrupt 408 and mailbox 306 to take appropriate action, such as attempting to re-close focus.
- RTOS 406 can issue a command waiting event to indicate that a command has been issued to servo thread 404 to perform a drive function, such as spinning up the drive 100 (Fig. 1 a). Another event is a switches event to indicate that the cartridge containing optical media 102 (Fig. la) is being inserted or ejected from drive 100.
- RTOS 406 can also issue spin, focus, and tracking events to servo thread 404 in response to requests for spin, focus, and tracking events issued by their respective state machines in heartbeat interrupt component 408. Such event requests are typically issued in response to completing, or failing to complete, a command.
- a spin, focus or tracking event can be handled.
- one of the utility threads 414 issues a servo command message to the RTOS 406, and the RTOS 406 issues a command waiting event to the servo thread 404.
- the command handler in servo thread 404 subsequently issues a control command to the heartbeat interrupt 408.
- the heartbeat interrupt 408 completes the command, it requests an event corresponding to the command, such as a spin, focus, or tracking event, from RTOS 406.
- the RTOS 406 generates the requested event and sends it to the servo thread 404.
- a servo command status is then sent from servo thread 404 to the corresponding utility thread 414.
- Heartbeat interrupt 408 also includes a recovery state machine.
- the recovery state machine advantageously enables commands to be resumed where they left off after a problem has been detected and corrected. For example, if a problem with closing focus is detected while a read command is being processed, the recovery state machine saves the current state of the drive 100 (Fig. la), co ⁇ ects the focus problem, clears error indications, and restores the state of drive 100 to resume the read command where it left off.
- the functions performed by utility threads 414 include the following: Spin Control Interrupts 412 measure the current spindle speed, determine the correct spindle speed based on current track position, and calculate the control signals to maintain a constant speed or to change spindle speeds; Read/Write Thread 416 manages the reading of data from the disk and the writing of data to the disk; Async I/O Thread 418 is utilized primarily in engineering testing to manage the transfer of data from a user data input device, such as a keyboard, over an interface to the drive 100; Diagnostic Thread 420 executes diagnostic commands, which are used primarily during engineering testing; Timer Thread 422 provides timing utilities used by the other threads; Interface Thread 424 manages the communication and data transfer between the drive and the host; and File System 426 manages the organization of data on the optical disc 102 (Fig. la).
- Servo Threads 412 measure the current spindle speed, determine the correct spindle speed based on current track position, and calculate the control signals to maintain a constant speed or to change spindle speeds;
- Initialization path 502 includes process 506 to initialize servo random access memory ⁇ iVi) variables', ana process ou ⁇ tOlrimaiize Yne ffa ⁇ fe rare of u ⁇ f rfeai'toeaf- "' ⁇ interrupt 408 based on a clock (not shown) in processor 302.
- Processor 302 can include different power modes such as sleep mode (low power consumption), high power mode, and operating mode. In some embodiments, processor 302 loads program code into DSP 304 every time power is turned on in process 510 and then enters high power mode in process 512. In other embodiments, program code in DSP 304 can be preloaded, and/or implemented in firmware or in hardware circuitry, eliminating the need for process 510.
- Initialization path 502 can also include process 514 to initialize processing components associated with a spin motor driver for spin motor 101 in servo system 120 (Fig. la) as further described in The Spin Motor Servo System disclosures.
- Initialization path 502 can also include processes 516, 518, and 520 to retrieve and load calibration values. Two or more different sets of calibration values may be available, including values that were set during manufacture, values that were in use before the last power down, as well as updated values that are generated during power up.
- the calibration values can, for example, include initial values for controlling power supplies or for calibrating motor servo parameters.
- Initial default values for tracking and focus servo system parameters can also be initialized during initial drive calibration. For example, offset and gain values from detector offset calibration, detector gain calibration, and notch filter calibrations can be set at this time. In operation, default values for each of the calibration parameters can be loaded and adjusted for the particular characteristics of drive 100 operating with a standardized optical media 102.
- factory calibration values can be stored in drive 100.
- media specific calibration parameters which can, for example, include detector input parameters to determine detector offsets and gains, FES offset and gain; TES offset and gain; focus loop gain parameters; tracking loop gain parameters; and notch filter parameters can be written onto optical media 102 so that, when drive 100 "wakes up" with a particular optical media, the best operating parameters for optical media 102 can be read and utilized.
- the best average operating parameters can be stored in memory and drive 100 can start with those parameters.
- the average parameters stored in program memory can be updated each time drive 100 is calibrated. Initial calibration can also be repeated during a rework or repair calibration.
- Parameters for drive 100 can be calibrated, for example, whenever a new optical media 102 is loaded, when drive 100 is started, and during error recovery.
- detaiilf values ' for calibration parameters are loaded from memory.
- media specific calibration parameters can be read from optical media 102.
- default values for drive specific and media specific parameters can be stored in memory and loaded when drive 100 is powered.
- temporary media specific parameters can be stored in memory so that, when drive 100 is re-started, the preceding parameters can be utilized. Since drive 100 may often be started with the same optical media as when it was shut down, stored parameters can save time in "waking-up" drive 100.
- default parameters may be changed over time. As drive 100 ages, many of the default parameters can become very different from the initial calibration parameters required to operate drive 100. Therefore, in some embodiments of drive 100, the actual drive parameters may be re-stored as default parameters. In some embodiments, an average of the actual drive parameters with the default parameters may be re-stored as default parameters. However, if drive 100 is operated in extreme environments or if optical media 102 is particularly problematic (e.g., if optical media 102 is severely not flat due to exposure to heat or other warping environments), then the actual parameters required to operate under those conditions should not replace or alter the current default parameters. Therefore, in some embodiments if the current parameters vary beyond threshold values from the default parameters, the default parameters are not replaced or altered by these parameters.
- optical media 102 can have a pre-mastered portion (which is read only) and a writable portion (which is read write).
- operating parameters are calibrated for operation of drive 100 under all of these conditions, i.e. read operation over the writable portion of optical disk 102, write operation over the writable portion of optical disk 102, and read operation over the premastered portion of optical disk 102.
- Initialization path 502 can also include processes 524 and 526 to initialize the actuator arm 104 (Fig. la) to the center of the optical media 102 (Fig. la) and move the OPU 103 (Fig. la) to a position away from media 102.
- Process 528 places servo system 120 (Fig. la) in a minimum power mode to conserve power while drive 100 is in idle mode.
- Process 530 enables heartbeat interrupt 408 and transfers control to continuous path 504. in s ⁇ me emoo ⁇ lmdhts event is received, such as a command event, a notify event due to an error that has been detected, or a performance event due to a problem with performing a command.
- process 532 can release processor 302 for use by other processing tasks until an event is received.
- process 534 can increase the heartbeat rate. For example, if process 532 was waiting with a slow "resting" heartbeat rate of 20 Hz, the "exercise" heartbeat rate can be increased to .5 KHz.
- the RTOS 406 can issue the event to servo thread 404 (Fig. 4), which subsequently invokes the corresponding handler, i.e., command handler 536, event handler 538, or performance event handler 540.
- process 544 reduces the heartbeat rate and suspends execution of main loop 504 by returning control to process 532 until another event is received.
- Servo thread 404 can release processor 302 when it is waiting for a command or event, thereby preserving bandwidth of processor 302 for use by other components in drive 100 (Fig. la).
- Command Handler
- Fig. 6 shows examples of processes that can be included in some embodiments of command handler 536.
- a command status and servo system status message is sent to utility threads 414.
- the utility threads 414 determine the actions to be performed, and transmit servo command messages to RTOS 406 as required, as indicated by process 602.
- RTOS 406 issues a command waiting event to servo thread 404, which waits for the event in process 604.
- process 606 sets a servo command active and a servo error state flag to indicate that a command is being processed.
- process 608 begins executing the command in servo thread 404 by issuing a state machine control message to the state machines in heartbeat interrupt 408.
- Heartbeat interrupt 408 issues an event request to RTOS 406, and servo thread 404 waits for the event from RTOS 406.
- Command handler 536 determines which event was received in process 610. If the event was a spin, focus, or tracking event, process 612 checks the command status. If the command was completed with no e ⁇ ors, processes 614 and 616 clear the servo error state flag and me servo command active ilagfrespectively, and a command done " event is requested from RTOS 406.
- RTOS 406 issues the command done event to the utility thread 414 that issued the command message.
- process 620 initiates recovery for the notify event by transfe ⁇ ing control to the recovery state machine in heartbeat interrupt 408.
- the functions performed by the recovery state machine are described hereinbelow.
- the recovery state machine issues event requests to communicate whether the recovery attempt is complete, or whether it failed to RTOS 406.
- RTOS 406 issues a recovery event indicating whether recovery completed or failed to servo thread 404.
- Servo thread 404 waits for either a recovery complete or recovery failed event and then transfers control to process 622. If recovery completed, process 622 transmits the recovery complete message to process 612. If the command was not completed after recovery, process 612 transfers control to process 624, which continues executing the command that was being processed when the notify event was received. Referring back to process 622, if the recovery process failed, process 628 sets the servo error state to indicate that the command failed, and process 616 clears the servo command active flag before control is transferred out of command handler 536.
- process 626 replaces the command currently being processed with an abort command, and transfers control to process 624.
- the abort command executes in the servo thread 404.
- One of the first actions performed is to turn the tracking servo off.
- Servo thread 404 changes the state of the tracking state machine executing in the heartbeat interrupt 408 and then waits for a tracking event.
- the tracking state machine completes a sequence of operations to open the tracking servo loop, as further discussed hereinbelow. When the tracking servo loop opens, the tracking state machine requests the RTOS 406 to issue a tracking event.
- the RTOS generates the tracking event, which is received by the abort command executing in the servo thread 404.
- the servo thread 404, heartbeat interrupt 408 and RTOS 406 coordinate efforts, in a fashion similar to that used to open the tracking loop, to open the focus loop.
- the laser 218 (Fig. 2) is shut off.
- the servo thread 404, heartbeat interrupt 408, and RTOS 406 again coordinate efforts to open the spin loop.
- Event Handler Fig. 7 shows an embodiment of event handler 538 that is executed by servo thread 404 when a notify event is received in process 702.
- requests for notify events are issued by heartbeat interrupt 408 and mailbox interrupt 306 when a problem or error is detected.
- RTOS 406 then issues the notify event to servo thread 404.
- process 704 monitors the time between the notify events and the number of notify events in order to avoid excessive recovery.
- the parameters for determining when a recovery attempts become excessive can be set based on a number of different criteria, such as number of recovery attempts within a predetermined time period. For example, five recovery attempts within five seconds can be considered excessive in some embodiments, while other parameters and values can be used in other embodiments.
- process 706 initiates recovery for the notify event by transferring control to the recovery state machine in heartbeat interrupt 408.
- the functions performed by the recovery state machine are described hereinbelow.
- the recovery state machine issues event requests to communicate whether the recovery attempt is complete, or whether it failed, to RTOS 406.
- RTOS 406 issues a notify event indicating whether recovery completed or failed to servo thread 404.
- Process 708 directs control based on which event is received. If recovery completed, the event handler is finished, and process 708 returns control to servo thread 404. If the recovery attempt failed, process 708 transfers control to servo thread 404, which processes an abort command. Note that the abort command in servo thread 404 can also be executed if additional recovery would be excessive.
- servo thread 404 issues a state machine control message to heartbeat interrupt 408.
- Heartbeat interrupt 408 requests the first of a series events, such as a notify event, to RTOS 406.
- RTOS 406 issues the requested event to servo thread 404, and process 710 determines whether the abort command processing is complete.
- processing an abort command includes heartbeat interrupt 408 issuing a series of event requests including the notify event request described above, a spin event request, a focus event request, and a tracking event request.
- the event requests are issued by the state machines in heartbeat interrupt 408 when they finish tasks associated with the abort command, such as turning off track, focus, and spin.
- the event requests can also be issued by DSP status mailbox interrupt handler 410 when the DSP 304 detects a problem with the operation of drive 100.
- Other event requests such as turning off power to the laser 218 (Fig. 2b), can also be implemented.
- event requests can oe issue ⁇ se ⁇ uenuaIly Ur ⁇ re ⁇ l ⁇ r ⁇ l ⁇ e eIIK ⁇ ⁇ rl • ⁇ rIfes ⁇ eu • ' , "' l simultaneously, depending on the capability of RTOS 406 to process event requests in parallel or as a batch.
- RTOS 406 issues a corresponding event to servo thread 404.
- process 710 determines whether the abort command processing is complete, or whether the time allowed to process the abort command has been exceeded. When the abort command processing is complete, or the abort command times out before it is complete, the event handler 538 is finished, and control returns to servo thread 404.
- Performance Event Handler Fig. 8 shows an embodiment of performance event handler 540 which is invoked when a performance event is sent to servo thread 404 (Fig. 4).
- a performance event occurs when one of the state machines in heartbeat interrupt 408 (Fig. 4) detect a problem or error that may be corrected by recalibrating drive 100 (Fig. la). For example, if drive 100 (Fig. la) was initially powered on and calibrated indoors in an environment with a warm ambient temperature, and then used outside in a cold ambient temperature, the calibration values being used may not be optimal for the colder environment.
- Several different levels of recahbration processes can be performed depending on the severity of the error, ranging from relatively low level of effort, to more complex processes requiring greater effort.
- Fig. 8a shows an embodiment of servo recahbration process 802 that includes 6 different recahbration levels. Increased effort is undertaken to correct the detected error at each increasing recahbration level.
- Switch 804 branches to the current recahbration level.
- Level 0 performs servo engine and media calibration processes 806. If the error was not sufficiently corrected at level 0, level 1 performs notch calibration process 808 and then performs servo engine and media calibration processes 806 using the new values for the notch filter.
- Update flash process 810 is performed at the end of both level 0 and level 1 recahbration to update current calibration values, or add another set of calibrations values that may be factored in with another set of calibration values.
- Level 2 recahbration includes performing focus offset jitter calibration process 812 to correct focus problems, followed by servo engine and media calibration processes 806.
- Level 3 performs tracking offset jitter calibration process 814 to correct tracking errors, followed by servo engine and media calibration processes 806.
- Level 4 performs adjust focus loop gain process 816, and level 5 performs adjust tracking loop gain process 818.
- Levels 4 and 5 can include adjusting the gain to achieve a particular crossover frequency.
- the loop gain is measured by injecting a fixed frequency and amplitude input signal into the closed loop and measuring the amplitude of the loop's response at the same frequency. The ratio of the loop's response over the injected amplitude is the loop gain. This technique of adjusting loop gain can affect the stability margins of drive 100 (Fig.
- the servo engine calibration values include all values required to calibrate drive 100.
- the media calibration values are a subset of the servo engine calibration values, which include only those parameters which vary as different pieces of media are inserted into the drive.
- the calibrated values include: OPU 103 (Fig. la) offsets and gains, focus closed threshold, focus sensor gain and offset, tracking sensor gain and offset, focus loop gain, tracking loop gain, notch locations, sensor crosstalk gain, focus sensor linearization, and tracking sensor linearization.
- the media calibrations include: focus sensor gain and offset, and tracking sensor gain and offset.
- the loop gain is measured by injecting a fixed frequency and amplitude input signal into the closed loop and measuring the amplitude of the loop's response at the same frequency.
- a digital summer is created in the DSP 304 to sum the input sinewave signal with the output of a compensator.
- the output of the digital summer is converted from a digital to an analog signal.
- the ratio of the output of the compensator over the output of the digital summer is the total open loop gain. In some embodiments, the ratio is 1.0 if the frequency of the disturbance is at the desired crossover frequency and the gains are correct.
- process 824 checks the value of a status indicator returned by servo recahbration process 802. If the calibration was successful, then process 826 monitors whether focus misregistration (FMR), track misregistration (TMR), and read jitter are within predetermined limits. If FMR, TMR, and read jitter are within limits, then a status variable is set to indicate "no errors" in process 828 and control is returned to servo thread 404 (Fig. 4). If FMR, TMR, and read jitter are not within limits, or if process 824 returns a failed status, then process 830 adjusts the recahbration level to increase the effort to correct the problem.
- FMR focus misregistration
- TMR track misregistration
- read jitter are within limits
- a status variable is set to indicate "no errors" in process 828 and control is returned to servo thread 404 (Fig. 4). If FMR, TMR, and read jitter are not within limits, or if process 824 returns a failed status,
- the time between heartbeat interrupts 408 is a variable that can be set and passed to heartbeat interrupt 408 according to a particular application or embodiment of drive 100 (Fig. 1 a). In other embodiments, the time allowed can be fixed to a particular value.
- Process 902 disables further interrupts so that the interrupt last received from servo thread 404 (Fig. 4) can be processed.
- the interrupt counter is updated by a delta time value to create a timing clock used by the state machines that are implemented in the heartbeat interrupt 408.
- the delta time value can be set to any increment desired, such as a value that corresponds to the rate of the heartbeat, in process 903.
- Process 904 reads the DSP status register, such as shown in Fig. 3f, to determine the status of the DSP 304 (Fig. 3).
- heartbeat interrupt 408 invokes a set of state machines that manage various time-critical functions in heartbeat interrupt 408.
- the embodiment shown in Fig. 9 includes power mode state machine 910, recovery manager 912, tracking/seeking control state machine 914, focus control state machine 916, spin control state machine 918, monitor PSA state machine 920, laser control state machine 922, adjust gains state machine 924, performance monitor state machine 926, and monitor load/eject process 928. These processes are executed once every pass through heartbeat interrupt 408.
- Process 930 exits the current interrupt and re-enables interrupts once the processes in the heartbeat interrupt 408 are complete.
- Monitor Power Mode Processor 302 can function in different power modes such as sleep mode
- Fig. 10 shows one example of a state machine representing processes performed by power mode state machine 910 that includes a request digital signal processor (DSP) only mode 1032, a request minimum power mode 1034, a request idle power mode 1036, and a request full power mode 1038.
- DSP digital signal processor
- process 1040 determines whether any loops are open or closed.
- a request to change power modes can originate from the servo thread 404, the heartbeat interrupt 408 or any ot the " u ' t ⁇ hty ' threa ' ds 4l4. ' deally, a power mode other than ' high power mode would not be requested while the servo tracking, focus or spindle loops are closed.
- Process 1040 determines whether any servo loops are closed and coordinates opening the loops before continuing to the requested power mode. Once all loops are open, process 1042 disables the mailbox interrupt service routine, which is further described hereinbelow in the discussion of Fig. 21.
- the power mode is then set to DSP only in the request DSP only mode 1032, and to minimum power in the request minimum power mode 1034. Note that process 1044 continues to monitor load/eject switches in the minimum power mode 1034.
- Process 1048 function which is called at the end of any interrupt. When the power mode reaches DSP_ONLY, MINJPOWER or IDLE_POWER, there is no need to execute all the state machines in the heartbeat interrupt 408. To bypass the execution of these state machines, we use the K_OS_Intrp_Exit function to end the heartbeat interrupt after executing the Monitor Power Mode state machine.
- the power state can transition to the idle mode.
- the drive 100 detects if a cartridge is present to be loaded or if a cartridge eject has been requested..
- the power mode transitions to the idle mode to perform the load or eject operation.
- the monitor load/eject process 928 initiates the REQUEST IDLE process 1036.
- Process 1046 continues to monitor load/eject switches in the idle power mode.
- the request full power mode 1038 re-enables the mailbox interrupt routine and sets the power to full on.
- Fig. 11 shows an overview flow diagram of functions performed by some embodiments of recovery manager 912 that can be implemented to recover from problems with focus, tracking, or spin.
- the cu ⁇ ent drive state is stored in process 1104 based on parameters supplied by servo thread 404, heartbeat interrupt 408, and DSP status mailbox interrupt handler 410. This allows the state of the drive 100 (Fig. la) to be restored to resume processing any commands at the point where they were interrupted when the problem was detected.
- Process 1106 classifies the problem as a spin, focus, or tracking problem based on e ⁇ or status information supplied by servo thread 404, heartbeat interrupt 408, and DSP status mailbox interrupt handler 410.
- process 1108 finalizes the state to be restored, which may include determining the command that was m ⁇ err ⁇ p ⁇ eu, * arf ⁇ sxdrr ⁇ gine fi ⁇ ro ⁇ Ta ⁇ n"wr ⁇ erd"n""ca ⁇ f ⁇ 1 r ⁇ -ir ⁇ ifrrecr + "' ;
- Process 11 10 performs clean up before attempting to recover from the problem or e ⁇ or detected in process 1114.
- the steps performed during the cleanup process can vary depending on the state of the drive 100 (Fig. la) when the e ⁇ or was detected.
- Such clean up can include, for example, managing laser power so that data is not written in an unintended location on the optical media 102 (Fig. la).
- process 1112 biases the tracking actuator arm 104 (Fig. la) back on to the optical media 102. If the actuator arm 104 does move back on to the optical media 102, then process 1114 restores the previous drive state that was interrupted when the error was detected.
- process 1114 cannot recover from the tracking, focus or spin error, then failed recovery cleanup process 1116 is invoked to perform "cleanup" tasks, such as turning track and/or focus off, depending on the problem.
- Process 1118 requests a RECONERY_FAILED event from the RTOS 406 (Fig. 4) to indicate that recovery was attempted, but not achieved.
- process 1114 issues a notice that the drive state was restored to process 1120, which then clears e ⁇ or bits in mailboxes 306 (Fig. 4) and requests a RECONERY_COMPLETE event from the RTOS 406.
- Fig. 11a shows a recovery state machine 912' that co ⁇ esponds to recovery manager 912.
- Fig. 11a shows states 1104'-1120' that co ⁇ espond to processes 1104-1120 in Fig. 11.
- the criteria shown above dashed lines in Fig. 11a indicate the conditions required to transition to the next state, and the information below the dashed lines indicate the action taken upon transition.
- the following servo e ⁇ or states can be indicated by track, focus, and spin control processes: Off Disk
- the following recovery restore states can be saved:
- RRO Run-Out
- CLV Constant Linear Velocity
- Optical media 102 for drive 100 can be very small and it can be difficult to prevent the OPU 103 from moving off the formatted area of the optical media 102, such as at the innermost or outermost diameter, where there are no tracks.
- Figs. 12a-12c show an example of an off disk detection process 1200 for detecting an off disk condition.
- Figure 12a shows a diagram of an embodiment of an off format detection manager that is executed as part of the classify problem state 1106' in Figure 11a.
- process 1202 includes detecting track crossings when attempting to close tracking. If the DSP 304 (Fig. 3) does not detect tracking good or tracking bad within a predetermined time period, for example, 500 milliseconds, in process 1204, an off-disk indication is set in process 1206. If the DSP 304 does detect a tracking good condition, process 1210 monitors the tracking control effort (TCE) to determine whether an off disk condition exists.
- TCE tracking control effort
- Figure 12b shows a diagram of components utilized to perform off format detection for the off format detection manager shown in Figure 12a.
- Fig. 12b shows the relationship between the TCE signal and other components in drive 100, specifically,
- DSP tracking servo 1220 outputs the TCE signal as a feedback signal to tracking/seeking state machine 914, as well as to off disk detection process 1224.
- the TCE signal is based on me xfacf- error sig ⁇ ai: t ⁇ r ⁇ 1 roces ⁇ .etr ⁇ oi ⁇ l ⁇ jircrit'- ⁇ e ite-fcVm- Li ⁇ f fnr * being expended to achieve tracking.
- Figure 12c shows a diagram of logic to perform off format detection for the off format detection manager shown in Figure 12a by determining whether the TCE signal indicates an off disk condition.
- Process 1230 calculates the absolute value of the TCE signal.
- Process 1232 includes inputting the absolute value of the TCE signal to a filter, such as a low pass filter, to remove high frequency noise.
- the cutoff frequency of the low pass filter is 10.6 Hertz, however other cutoff frequencies can be implemented according to the dynamics and frequencies associated with drive 100.
- Monitor Tracking/Seeking Servo Figs. 13a-13c show an embodiment of tracking/seeking control state machine 914 represented by control state diagrams 1300, 1302, 1304 for monitoring and controlling track functions for drive 100 (Fig. la).
- Fig. 13a pertains to turning track on and off
- Fig. 13b pertains to track jumps
- Fig. 13c pertains to long seeks.
- Fig. 13a when a tracking turn on servo command is received while tracking acquisition state machine 1300 is in the tracking idle state 1306, tracking acquisition state machine 1300 transitions to tracking turn on state 1308. If focus is not on, then tracking acquisition state machine 1300 enters tracking illegal state 1310. If the drive has flash memory which contains valid calibration values for operating over both premastered media and writeable media, the gain measure states 1380 and 1382 are used to determine whether the OPU 103 is currently over the premastered or the grooved areas, and to select the values appropriate for the area of the media.
- a nominal TES gain and offset are programmed and the DSP 304 (Fig. 3) is configured to measure the peak to peak amplitude of the TES signal.
- Gain measure state 1380 enables the DSP 304 to begin to measure the TES peak to peak amplitude and then transitions to gain measure state 1382.
- Gain measure state 1382 allows the DSP 304 a predetermined time period, such as 25 milliseconds, to complete the TES peak to peak amplitude measurement.
- a decision regarding media area type is made based on the resultant amplitude. A relatively small amplitude indicates that the OPU 103 is cu ⁇ ently over premastered media and the values appropriate for premastered media are loaded.
- a relatively large amplitude indicates that the OPU 103 is cu ⁇ ently over an area of writeable media and the values appropriate for writeable media are loaded.
- the WRITEABLEMEDIA bit (Fig 3d) of DSP Control Register 3 (Fig 3a) is set or cleared to tell the DSP ⁇ 3U4 ⁇ wliat type, or area, ol media the OPU 103 is over.
- the tracking acquisition state machine 1300 then transitions from state gain measure state 1382 to enable tracking state 1384.
- the tracking state machine 1300 transitions directly from track turn on state 1308 to enable tracking state 1384.
- enable tracking state 1384 a tracking acquisition process in DSP 304 is invoked, and tracking'wait acquisition state 1312 becomes active for a predetermined time delay period.
- a tracking integrator is enabled in the tracking acquisition process, and tracking wait integrator state 1314 becomes active for a predetermined delay period.
- the state transitions to the tracking wait track e ⁇ or signal (TES) integrity state 1316 for another delay period before entering the tracking status state 1318.
- TES tracking wait track e ⁇ or signal
- the state transitions to and remains in tracking active state 1320 until a problem with tracking is detected, at which point the state transitions to tracking turn off state 1322.
- the state then transitions through a series of tracking zero states 1323-1324 to reset control flags and clear variables in the DSP 304 (Fig. 3) associated with tracking before entering tracking off state 1332.
- Track jumps can be implemented in a number of different ways including jumping two or more at one time, jumping one track each revolution of the optical media 102, and jumping a specified multiple of tracks every specified number of revolutions of optical media 102.
- the jumps can be in the forward or reverse directions.
- laser power can be reduced to a low power mode from a high power mode while in the tracking active state 1320 during track seeking functions.
- the laser power mode can also be reduced to the low power mode upon transition to the tracking turn off state 1322.
- Fig. 13b shows an example of a state chart that can be implemented to control track jumps.
- the state transitions from tracking active state 1320 to begin single jumpl state 1332, where variables are set to indicate that it is not safe to read from or write to optical media 102 at this time.
- the state then transitions to begin single jump2 state 1334, which issues a single track seek control command to DSP 304.
- the state variables can be set including parameters to indicate the jump type, the number of tracks to jump, the delay between track jumps, the number of revolutions (spin edge count) between jumps, the revolution counter (spin edge counter), and that it is not safe to read from or write to optical media 102 at this time.
- sync auto jumpback state 1335 which initializes pertinent parameters and issues a single track seek control command to DSP 304 once the pertinent spindle index occurs. If the PSA state is not in PSA idle state 1602 (Fig. 16), then the PSA state is set to idle before entering the sync auto jumpback state 1335.
- An adjust bias function 1337 can be performed to provide the low frequency tracking control effort (TCE) and to allow the DSP 304 to handle the high frequency TCE.
- the state then transitions to track wait jump state 1336 after requesting the DSP 304 to start a single track seek, the reset jump indicator is cleared, the indicators JUMP_P1_TRACK (to indicate a jump toward the inside diameter of the media 102) and JUMP_M1_TRACK (to indicate a jump toward the outside diameter of the media 102) are set, the track count is set, the spin edge counter is cleared, and the spin edge count is set to the track jump count.
- the state remains in track wait jump state 1336 until the DSP 304 returns a status indicator of whether or not the seek, also refe ⁇ ed to as track jump(s), was successful.
- Some status indicators that are included in the embodiment shown in Fig. 13b include: bad track status, which causes a notify and tracking event to be issued and transitions to track turn off state 1322; bad jump, which causes a transition to track bad jump state 1340; and good track status, which causes a transition to track good jump 1342.
- bad track status which causes a notify and tracking event to be issued and transitions to track turn off state 1322
- bad jump which causes a transition to track bad jump state 1340
- good track status which causes a transition to track good jump 1342.
- a state change in the mailbox 306 can also cause a fransition to track bad jump state 1340 or track good jump state 1342, as further explained hereinbelow in the discussion of an embodiment of the mailbox interrupt service routine in Fig. 20b.
- a state machine 1304 for controlling long seeks in response to receiving a seek command is shown beginning with start long seek state 1350.
- Parameters Jximp CntJLoB, Jump_Cnt_MidB and Jump_Cnt_HiB represent the low, middle, and high bytes of the 24 bits used by the DSP 304 to determine the number of tracks to seek.
- the adjust bias seek function 1351 can be performed to generate a bias value for the tracking actuator arm to provide the low frequency tracking control effort (TCE) and to allow the DSP 304 to handle the high frequency TCE.
- TCE tracking control effort
- the bias before seek function 1353 can be performed to store the current tracking actuator arm bias value before a new value for this parameter is generated in the adjust bias seek function 1351.
- the stored value can be used when transitioning between states 1352 and 1354.
- Parameters such as a seek on flag, a track integrator on flag, a track integrator reset flag, a physical sector address (PSA) idle flag , and the laser low power mode can be initialized before transitioning to long seek gain adjust state 1358.
- the calibrated parameters appropriate for the type of media 102 expected at the end of the seek are loaded.
- the calibration parameters appropriate for writeable media are loaded in long seek gain adjust state 1358. If the OPU 103 is expected to land on premastered media at the end of the seek, the calibration parameters appropriate for premastered media are loaded in long seek adjust state 1358.
- the tracking control state machine 1304 then transitions to wait long seek state 1352. If the time allotted for a seek expires before the seek is completed, or the DSP 304 has set the BAD_SEEK bit (Fig. 3g) of the DSP Status Register, the state transitions to failed long seek state 1354. If the seek is completed, the state transitions to the long seek clear state 1356, where additional parameters can be cleared or re-initialized before transitioning to tracking wait integrator state 1314.
- Figure 13c also shows an example of a head load state machine 1390. The purpose of the head load state machine 1390 is to position the OPU 103 over the area of the optical media 102 containing tracks to acquire tracking. The head load state machine 1390 can be used when the drive 100 is in any physical orientation or in the v ⁇ ⁇ uikfn + l'cm ⁇ rci'i-5ii?""'
- OPU 103 to be positioned off the portion of the optical media 102 containing tracks.
- Head load state machine 1390 can commence in a begin head load only state 1360 or in a begin head load state 1362. If the head load state machine 1390 begins in begin head load only state 1360, then the head load state machine 1390 will complete without beginning the tracking acquisition state machine 1300. This is accomplished by setting the ffleadLoadOnly flag to TRUE in begin head load only state 1360. If head load state machine 1390 begins in the begin head load state 1362, then the head load state machine 1390 will complete and then initiate the tracking acquisition state machine 1300. If the begin head load state machine 1362 detects that the focus servo loop is not closed, or the tracking loop is closed, the state transitions track turn off state 1322 where the process of shutting tracking off is initiated.
- begin head load state 1362 if the focus servo is closed and the tracking servo is open, a bias voltage is applied to position the tracking actuator against an inside diameter (ID) crash stop in drive 100.
- the begin head load state 1362 also sets the spindle speed to a predetermined speed, such as 2930 RPM, and programs the DSP 304 to sample and report the TES signal.
- Begin head load state 1362 then transitions to headloadl state 1366.
- the headloadl state 1366 delays a predetermined time period, such as 30 milliseconds, to allow the tracking actuator time to settle against the ID crash stop and to give the DSP 304 time to complete the first measurement.
- the state then transitions to headload2 state 1368 in which more TES samples are collected.
- headload3 state 1370 in which the TES samples are used to determine if the OPU 103 is over the portion of the media 102 that includes tracks. If the OPU 103 is over the track portion, the TES has a sinusoidal shape and many of the sampled points will be away from the average value of the sine wave closer to the peak values.
- the TES signal When off the track portion of the OPU 103, the TES signal is not sinusoidal and is roughly centered about an average value except where some feature exists in the media. Consequently, if the OPU 103 is not over the track portion, most of the sampled points will be relatively close to the average value of the collected TES samples. This difference in the scatter of the TES samples is used in the headload3 state 1370 to determine whether the OPU 103 is over the media 102. If headload3 state 1370 determines that the OPU 103 is not over the media 102, the tracking bias is reduced, thus reducing the force pushing the tracking actuator against the ID crash stop and a transition is made back to headloadl state 1362.
- This process involving states lJb ⁇ , " 15b8 ⁇ ah ⁇ l -5701s repeated ⁇ niu state ' ⁇ -) / ⁇ " " determines that the OPU 103 is over the track portion or until the bias forcing the tracking actuator against the ID crash stop has been reduced past a predetermined point that determines the head load state machine 1390 has failed. If the head load state machine 1390 has failed, a transition is made from state 1370 to track turn off state 1322. If headload3 state 1370 determines that the OPU 103 has been positioned over the track portion, the tracking bias is increased one additional step, in this embodiment 0x200 counts, and the state transitions to headload4 state 1372.
- fHeadLoadOnly flag is TRUE after a predetermined delay, such as 100 milliseconds, then a tracking event is requested of the RTOS 406 and the state transitions to head load complete state 1376. If the fHeadLoadOnly flag is found to be FALSE after a predetermined time delay, for example, 100 milliseconds, then a transition is made directly to the track turn on state 1308.
- Figs. 14a-14c show an embodiment of focus control state machines 1400, 1402, 1403, represented collectively by the focus control state machine 916 shown in Fig. 9, for monitoring and controlling focus functions for drive 100 (Fig. la).
- Fig. 14a pertains to acquiring focus, and turning focus on and off
- Figs. 14b and 14c pertain to determining a focus offset for ramping the actuator arm 104 (Fig. la) away from the optical media 102 (Fig. la).
- focus control state machine 1400 transitions to begin focus state 1408. If the actuator arm 104 (Fig. la) is not ramped away from optical media 102 (Fig. la) then the state transitions through begin ramp away state 1408 to focus ramp away state 1410. Control transitions between states 1410 and 1412 until the profile to ramp the actuator away from the disk has been completed.
- begin focus acquire state 1414 if focus is to be turned on.
- the begin focus acquire state 1414 transitions to ramp focus acquire state 1416 where it provides a focus DAC value to ramp the focus actuator arm 104 towards the optical media until the
- DSP 304 returns a status indicating whether or not focus closed. If the DSP 304 closed focus, then focus control state machine 1400 transitions through focus loop closed integrity state 1422, before entering focus active state 1424.
- the state further transitions to focus active state 1428. If the DSP issues a focus_bad status and focus is not closed, then the state transitions to focus push retry state 1426 and then to begin focus state 1408 to re-attempt to acquire focus.
- Focus control state machine 1400 can transition to focus turn off state 1430 under the following conditions: (1) cu ⁇ ent state is the ramp focus acquire state 1416 and the maximum ramp position was reached; (2) cu ⁇ ent state is focus push retry state 1426 and best push away value is greater than or equal to nominal/4; or (3) a focus problem develops while in focus active state 1428.
- the focus turn off state 1430 transitions to the begin ramp away state 1408 and focus ramp away state 1410.
- the "best push away value” represents the control effort used when positioning the actuator arm 104 away from the optical media 102.
- a nominal push away value can be used except in the retry efforts managed by focus push state 1426. In some situations, the actuator arm 104 can become stuck when the push away value is too large. If attempts at closing focus are unsuccessful, focus push retry state 1426 is entered using nominal/2 as the best push away value. If attempts at closing focus are still unsuccessful, a value of nominal/4 is used as the best push away value.
- focus ramp away state 1410 if focus is to be turned off, then the state transitions through a series of zero focus states to clear focus parameters in DSP 304 before issuing a focus event and entering focus away state 1432. Otherwise, if focus is not to be turned off, the state transitions to begin focus acquire state 1414.
- Figs. 14b and 14c show embodiments of the focus control state machines 1402, 1403 which can be used during calibration and engineering testing.
- States 1450 through 1454 in Fig. 14b are used to move the actuator arm 104 towards and away from the disk in a continuous sinusoidal motion.
- States 1456 through 1460 in Fig. 14c follow a sinusoidal profile to move the actuator arm 104 from one position to another position.
- Monitor Spin Servo Fig. 15 shows an example of a spin confrol state machine 918 that can be implemented in heartbeat interrupt 408 (Fig. 4) to monitor the spin motor 101 (Fig. la) for optical media 102.
- spin control state machine 918 enters spinup initialization align state 1502 and spinup align state 1504 in which a rotor shaft in spin motor 101 is moved to a known state or position to ensure that spin motor 101 is rotated in the proper direction.
- the state transitions to spinup enable interrupts state 1506 to initialize various parameters.
- the state then transitions to spin up complete state 1508 and to spin final check state 1510 to determine if the desired speed has been attained before an allotted spinup time period expires. If the spin motor 101 is spinning at the desired speed, the state transitions to spin constant linear velocity (CLV) by track ID (also refe ⁇ ed to as track number) state 1512, where it remains until a spin problem is detected.
- CLV constant linear velocity
- spin motor 101 did not spin up to the desired speed before the spinup time period expired, a spin event is issued, and the state transitions to spin problem state 1514. Similarly, if a spin problem is detected while in the spin CLV by track ID state 1512, a notify event issues, and the state transitions to spin problem state 1514.
- the spin problem state 1514 transitions to the spin turn off state 1516, and then to spin braking state 1518, where it remains for a specified time period to stop the optical media 102 from spinning.
- a spin event is issued when the optical media 102 has stopped spinning, and the state then transitions to and remains in spin off state 1520 until a new command to spin the media is received.
- Fig. 16 shows an embodiment of a physical sector address (PSA) state machine 920 in accordance with the present invention.
- PSA physical sector address
- One unique aspect of optical media 102 is that it can include a pitted PSA master area that cannot be overwritten, and a grooved writeable area that can be overwritten.
- PSA state machine 920 therefore can determine the position of the actuator arm 104 (Fig. la) in relation to the grooved and pitted areas whenever tracking is Active. It is not possible to read PSAs during seeks or when tracking is not active.
- PSA state machine 920 If track or focus are off, PSA state machine 920 is put into the PSA idle state 1602 where no attempts to read PSAs are made. If the drive is both focused and tracking, the PSA state machine 920 will try to reach PSA locked state 1608 where PSAs are successfully read. Each time the tracking/seeking state machine 914 (Fig. 9) reaches the TRACKING ACTIVE state 1320 (Fig. 13a), it will check if the PSA state is in PSA
- IDLE state 1602. If so, the state transitions from PSA idle state 1602 to PSA enable state 1604. Upon transitioning from PSA idle state 1602 to PSA enable state 1604, the acquisition interrupts are disabled and flags are set to indicate that PSAs are not being read. acquisition is enabled. If the PSAs can be read, the PSA state machine 920 transitions to PSA locked state 1608. If the ability to read is not detected within a predete ⁇ nined time period, such as 48 milliseconds, the PSA state machine 920 transitions to PSA RETRY state 1610. PSA RETRY state 1610 toggles between settings appropriate for pits and settings appropriate for grooves. Once the settings have been changed, the PSA state machine 920 begins the acquisition process again at PSA enable state 1604.
- PSA locked state 1608 While in PSA locked state 1608, the most recently read PSA is monitored. If a new PSA is not read before the timeout period expires , the state transitions to the PSA retry state 1610. Each time a new PSA is read, the value is compared to PSA_MAX to determine if the actuator arm 104 is close to the last track on the optical media 102.
- PSA_MAX co ⁇ esponds to the last usable track on the optical media 102. If the actuator arm 104 is determined to be close to the last track, then a predetermined number of single track jumps, such as 40 single track jumps, are commanded to move the tracking actuator am 104 away from the edge of the optical media 102. Alternatively, a multi-track seek function can be used to move the tracking actuator arm 104 instead of multiple single track jumps.
- the PSA IDLE state 1602 is then commanded. Each time the PSA locked state 1608 does not have a new PSA, it predicts the cu ⁇ ent PSA. The predicted PSA is compared to PSA VIAX to determine if the actuator arm 104 is close to the last track on the optical media 102. If the actuator arm 104 is determined to be close to the last track, then a number of single track jumps are performed before transitioning to the PSA idle state 1602.
- Fig. 17 shows an embodiment of a laser control state machine 922 in accordance with the present invention.
- the state remains in laser off state 1702 when a laser control variable indicates that power to the laser in OPU 103 (Fig.l) is off.
- the state transitions to laser on state 1704 when power to the laser is turned on.
- a laser control variable is set to OFF.
- a spin override variable can be used to allow the laser to be turned off even if the optical media 102 is still spinning. Adjust Gains
- Fig. 18 shows an example of adjust gains state machine 924 in accordance with the present invention.
- Adjust gains state machine 924 begins in gains idle state 1824, and transitions to gains adjust state 1826 when tracking is active.
- the gains are adjusted based on the cu ⁇ ent zone on optical rnedia r 2 ⁇ (F ⁇ g ' . ⁇ fa) 6eirig accessed, in some embodiments, optical media 102 can include sixteen different zones, and a zone calibration tables can exist for each zone.
- the gains corresponding to the particular zone being accessed are loaded while the state remains in the gains adjust state 1826. The state remains in the gains adjust state 1826 until tracking is turned off. Monitor Performance
- Fig. 19 shows an embodiment of a continuous performance monitor state machine 926 in accordance with the present invention.
- performance monitor state machine 926 includes idle state 1902, monitor initialization (init) state 1903, monitor focus misregistration (FMR)/ track misregistration (TMR) state 1904, and monitor performance events state 1908.
- the state transitions from idle state 1902 to monitor initialize state 1903 at the start of initialization, such as when drive 100 is powered on.
- the state transitions to monitor FMR TMR state 1904.
- the track and focus error signals (TES and FES) are used to generate FMR and TMR signals. If the FMR and/or TMR signals and/or read jitter values are out of predefined limits, then the state transitions to performance event issued state 1908 to issue performance events based on whether there is a problem with FMR, TMR, and/or read jitter.
- FIG. 20a shows a flowchart of an embodiment of DSP status interrupt logic 2000 that can be included in DSP status mailbox interrupt handler 410 (Fig. 4) in accordance with the present invention.
- process 2002 disables further notification of interrupts from mailbox 306 (Fig. 4) to allow time to process the current DSP status interrupt.
- Process 2004 decodes the DSP status register to decode the message being sent by the DSP 304 (Fig. 4). Examples of messages which can be sent by the DSP 304 are shown in Figs. 3f and 3g. In some embodiments, the messages are implemented as status bit settings in one or more DSP control registers. Process 2004 determines which of the status bits in the DSP control register(s) have changed. Examples of bit settings to convey various messages in the DSP control registers) are shown in Figs. 3b, 3c, and 3d. Specific actions are taken in processes 2006 and 2008 based on which status bit the DSP 304 has set.
- process 2006 issues a request for a notify event, and a tracking, focus, or trace event, as required ' depehding ' bn the error cono ⁇ t ⁇ oh; ' to Ki OST Ub message decoded by process 2004 indicates an e ⁇ or condition, then process 2012 records the servo e ⁇ or state that is used by heartbeat i ⁇ te ⁇ upt 408.
- Process 2008 changes focus and tracking state machine variables based on the DSP status.
- process 2010 re-enables the mailbox interrupt 306 so the DSP 304 can continue to send messages to the processor 302.
- Figs. 20b and 20c show an example of logic included in processes 2004-2008, which is also refe ⁇ ed to as the mailbox interrupt service routine (ISR) 2020.
- ISR mailbox interrupt service routine
- process 2022 decodes DSP status by determining which bits in the DSP status registers have changed from the previous pass through he mailbox ISR 2020.
- Process 2024 then checks the TRACK BAD and
- TRACK_BAD_SOURCE status variables The status of the tracking jumps is then tested by determining whether GOOD JUMP or BAD JUMP indicators are set in processes 2026 and 2028. If one or both of the GOOD JUMP indicators is set, process 2030 determines if the tracking state is the track wait jump state 1336 (Fig. 13b). If the tracking state is the track wait jump state 1336, then process 2032 changes the tracking state to the track good jump state 1342 (Fig. 13b). If the BAD JUMP indicator is set, process 2034 determines if the tracking state is the track wait jump state 1336 (Fig. 13b). If the tracking state is the track wait jump state 1336, then process 2036 changes the tracking state to the track bad jump state 1340 (Fig. 13b).
- Process 2038 determines whether the FOCUS_BAD indicator is set. If so, process 2040 determines if the focus state is in the focus active state 1428 (Fig. 14a). If so, then process 2042 updates the servo e ⁇ or state indicator to indicate bad focus, process 2044 requests a notify event from RTOS 406, process 2046 sets the focus state to focus turn off state 1430, and process 2048 determines whether autojump back is enabled. If auto jump back is enabled, process 2050 update the servo error status to indicate a failure during autojump, otherwise, process 2052 determines whether the tracking state is in the track off state 1332 ( Fig. 13a).
- process 2054 determines whether the tracking state is in the wait long seek state 1352 (Fig. 13c). If so, process 2056 updates the servo e ⁇ or status to indicate a failure during long seek.
- Process 2058 sets the tracking state to the track turn off state 1322, whether or not the tracking state was the wait long seek state 1352 in process 2054.
- Process 2060 updates the servo e ⁇ or status to indicate that the tracking problerh ' was caused by ' lbss' ot focus.
- Process 2062 determines whether the focus state is in the focus loop closed state 1418 (Fig. 14a). If so, then process 2064 determines whether the DSP status indicates that ramp focus has been acquired. If so, then process 2066 sets the focus state to the focus loop closed state 1418.
- process 2064 decodes DSP status by determining which bits in the DSP status registers have changed from the previous pass through the mailbox ISR 2020.
- Process 2066 then checks the TRACK BAD status variable. If TRACKJBAD is set, process 2068 determines if the tracking state is in the process of closing tracking. If not, process 2069 determines whether tracking is active. If tracking is active, then process 2070 updates the servo error state to BADJTRACK, process 2071 requests a notify event from RTOS 406, and process 2072 sets the track state to the track turn off state.
- process 2073 determines whether a jump (seek) is in progress. If a jump is in progress, process 2074 updates the servo error state to BADJTRACK, FAILED UMP. Process 2075 then determines whether the tracking state is in the auto jump back state. If not, then process 2076 determines whether a command is active. If so, process 2077 issues a tracking event. If process 2076 determines that a command is not active, then process 2079 issues a notify event.
- process 2078 updates the servo e ⁇ or state to FAILED_AUTOJUMP, and process 2079 issues a notify event.
- process 2080 determines whether a long seek is in progress. If so, then the DSP status is set to indicate LONG_SEEK_F AILED in process 2081 and process 2077 issues a tracking event.
- Process 2072 sets the track state to the track turn off state after processes 2077 and 2079 are finished, or if process 2080 determined that the track state was not the long seek state.
- Process 2082 determines if any other bits in the DSP status registers have changed from the previous pass through the mailbox ISR 2020.
- Process 2083 checks the TRACK_BAD_SOURCE status variable is set. If TRACKJBADJSOURCE is set, process 2084 determines if the tracking state is in the process of closing tracking.
- process 2085 determines " whether tracking is active: ' lr tracking is active i ⁇ eiX — process 2086 updates the servo e ⁇ or state to BADJFOCUS CAUSED BADJTRACK, process 2087 requests a notify event from RTOS 406, and process 2088 sets the track state to the track turn off state.
- process 2089 determines whether a jump (seek) is in progress. If a jump is in progress, process 2090 updates the servo e ⁇ or state to BADJTRACK, FAILED_JUMP. Process 2091 then determines whether the tracking state is in the auto jump back state. If not, then process 2092 detenriines whether a command is active. If so, process 2093 issues a tracking event. If process 2092 determines that a command is not active, then process 2095 issues a notify event.
- process 2094 updates the servo e ⁇ or state to FAILED AUTOJUMP, and process 2095 issues a notify event.
- process 2096 determines whether a long seek is in progress. If so, then the DSP status is set to indicate LONG SEEKJF AILED in process 2097 and process 2093 issues a tracking event.
- Process 2088 sets the frack state to the track turn off state after processes 2093 and 2095 are finished, or if process 2096 determined that the track state was not the long seek state.
- the servo control system architecture includes unique methods of sharing a general purpose processor between the servo system and the other drive systems, unique methods of using a dedicated high speed processor for time critical servo functions, unique methods for communicating between the dedicated servo processor and the shared general purpose processor, unique methods of distributing the servo processing between the general purpose processor and the dedicated servo processor, and unique methods of distributing the servo processing within the general purpose processor between a main loop servo thread process and a background periodic heartbeat interrupt process.
- the architecture addresses problems with performing operations on media having a small form factor, such as the need for periodic recahbration, compensation for the flexible focus and tracking actuators, nonlinear and crosscoupled tracking and focus position sensors, dynamic crosscoupling between the multiple servo loops, need for low " power to conserve battery lite, ' removable and interchangeable media, need to handle media defects exacerbated by the first surface recording, presence of both premastered and user writeable areas on the same disk, need to operate in wide range of conditions including any physical orientation, wide range of temperatures and humidity, and the presence of shock and vibration.
- Embodiments of the present invention can be implemented to function on one or more computer processors, however those skilled in the art will appreciate that certain aspects of various embodiments can be distributed as a program product in a variety of forms, and that the present invention applies equally regardless of the particular type of signal bearing media used to actually carry out the distribution.
- Examples of signal bearing media include: writeable type media such as floppy disks and CD-ROM, transmission type media such as digital and analog commumcations links, as well as media storage and distribution systems developed in the future.
Landscapes
- Optical Recording Or Reproduction (AREA)
- Moving Of The Head For Recording And Reproducing By Optical Means (AREA)
Abstract
Description
Claims
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
AU2002241961A AU2002241961A1 (en) | 2001-01-25 | 2002-01-24 | System and method for controlling an optical disk drive |
Applications Claiming Priority (28)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US26435101P | 2001-01-25 | 2001-01-25 | |
US60/264,351 | 2001-01-25 | ||
US09/951,469 US7038988B2 (en) | 2001-01-25 | 2001-09-10 | System and method for controlling time critical operations in a control system for an optical disc drive |
US09/951,332 | 2001-09-10 | ||
US09/951,931 US7116621B2 (en) | 2001-01-25 | 2001-09-10 | System and method for handling commands in an optical disc drive |
US09/951,340 US20020131354A1 (en) | 2001-01-25 | 2001-09-10 | System and method for controlling laser power in an optical disc drive |
US09/951,156 US20020080698A1 (en) | 2000-11-07 | 2001-09-10 | System and method for controlling spin speed of media in an optical disc drive |
US09/951,940 | 2001-09-10 | ||
US09/951,329 US6958963B2 (en) | 2001-01-25 | 2001-09-10 | System and method for handling events in an optical disc drive |
US09/951,931 | 2001-09-10 | ||
US09/951,332 US7095685B2 (en) | 2001-01-25 | 2001-09-10 | System and method for detecting and recovering from an off-format state in an optical disc drive |
US09/951,850 | 2001-09-10 | ||
US09/951,340 | 2001-09-10 | ||
US09/951,469 | 2001-09-10 | ||
US09/951,339 | 2001-09-10 | ||
US09/951,329 | 2001-09-10 | ||
US09/951,156 | 2001-09-10 | ||
US09/951,337 US6885620B2 (en) | 2001-01-25 | 2001-09-10 | System and method for recovering from performance errors in an optical disc drive |
US09/951,339 US6741530B2 (en) | 2001-01-25 | 2001-09-10 | Time critical and non-time critical tasks control system for an optical disk using first and second processors |
US09/951,331 | 2001-09-10 | ||
US09/951,940 US7054242B2 (en) | 2001-01-25 | 2001-09-10 | System and method for controlling focus in an optical disc drive |
US09/951,850 US6977873B2 (en) | 2001-01-25 | 2001-09-10 | System and method to adjust the level of re-calibration effort based on disc drive performance |
US09/951,331 US7057983B2 (en) | 2001-01-25 | 2001-09-10 | System and method for controlling tracking and seeking in an optical disc drive |
US09/951,947 | 2001-09-10 | ||
US09/951,337 | 2001-09-10 | ||
US09/951,333 US20020131338A1 (en) | 2001-01-25 | 2001-09-10 | System and method for controlling operation of a disc drive for optical media with premastered and read/write sectors |
US09/951,947 US6963524B2 (en) | 2001-01-25 | 2001-09-10 | System and method for controlling interrupts in a control system for an optical disc drive |
US09/951,333 | 2001-09-10 |
Publications (3)
Publication Number | Publication Date |
---|---|
WO2002059887A2 WO2002059887A2 (en) | 2002-08-01 |
WO2002059887A3 WO2002059887A3 (en) | 2003-12-18 |
WO2002059887A9 true WO2002059887A9 (en) | 2004-02-26 |
Family
ID=27585104
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/US2002/002090 WO2002059887A2 (en) | 2001-01-25 | 2002-01-24 | System and method for controlling an optical disk drive |
Country Status (2)
Country | Link |
---|---|
AU (1) | AU2002241961A1 (en) |
WO (1) | WO2002059887A2 (en) |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0585979B1 (en) * | 1991-06-04 | 1999-10-06 | Quantum Corporation | Miniature disk drive having embedded sector servo with split data fields and automatic on-the-fly data block sequencing |
EP0600623B1 (en) * | 1992-12-03 | 1998-01-21 | Advanced Micro Devices, Inc. | Servo loop control |
-
2002
- 2002-01-24 WO PCT/US2002/002090 patent/WO2002059887A2/en not_active Application Discontinuation
- 2002-01-24 AU AU2002241961A patent/AU2002241961A1/en not_active Abandoned
Also Published As
Publication number | Publication date |
---|---|
WO2002059887A2 (en) | 2002-08-01 |
WO2002059887A3 (en) | 2003-12-18 |
AU2002241961A1 (en) | 2002-08-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20020136127A1 (en) | BEMF timing system | |
US20020080698A1 (en) | System and method for controlling spin speed of media in an optical disc drive | |
US7038988B2 (en) | System and method for controlling time critical operations in a control system for an optical disc drive | |
US6741530B2 (en) | Time critical and non-time critical tasks control system for an optical disk using first and second processors | |
US6977873B2 (en) | System and method to adjust the level of re-calibration effort based on disc drive performance | |
US7057983B2 (en) | System and method for controlling tracking and seeking in an optical disc drive | |
US6885620B2 (en) | System and method for recovering from performance errors in an optical disc drive | |
US7116621B2 (en) | System and method for handling commands in an optical disc drive | |
US7095685B2 (en) | System and method for detecting and recovering from an off-format state in an optical disc drive | |
US7054242B2 (en) | System and method for controlling focus in an optical disc drive | |
US6958963B2 (en) | System and method for handling events in an optical disc drive | |
JP2002109822A (en) | Revolution control method and storage device | |
US6963524B2 (en) | System and method for controlling interrupts in a control system for an optical disc drive | |
US6785205B2 (en) | Apparatus for controlling eccentricity in photo-record player and control method thereof | |
WO2002059887A9 (en) | System and method for controlling an optical disk drive | |
US7079459B2 (en) | System and method for performing a spin motor startup operation | |
US20020131338A1 (en) | System and method for controlling operation of a disc drive for optical media with premastered and read/write sectors | |
US20020131354A1 (en) | System and method for controlling laser power in an optical disc drive | |
JPH10302384A (en) | Disk driving device | |
US6704261B2 (en) | Spin motor control in an optical drive | |
US6901040B2 (en) | Kp and Ki lookup system and method | |
JP4016171B2 (en) | Disk drive device and skew adjustment method | |
US6898170B2 (en) | PMAD/PSA digital feedback system | |
US7065018B2 (en) | CLV system and method using PSA lookup | |
US6876609B2 (en) | System and method for controlling a spin motor |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AK | Designated states |
Kind code of ref document: A2 Designated state(s): AE AG AL AM AT AU AZ BA BB BG BR BY BZ CA CH CN CO CR CU CZ DE DK DM DZ EC EE ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX MZ NO NZ OM PH PL PT RO RU SD SE SG SI SK SL TJ TM TN TR TT TZ UA UG UZ VN YU ZA ZM ZW |
|
AL | Designated countries for regional patents |
Kind code of ref document: A2 Designated state(s): GH GM KE LS MW MZ SD SL SZ TZ UG ZM ZW AM AZ BY KG KZ MD RU TJ TM AT BE CH CY DE DK ES FI FR GB GR IE IT LU MC NL PT SE TR BF BJ CF CG CI CM GA GN GQ GW ML MR NE SN TD TG |
|
121 | Ep: the epo has been informed by wipo that ep was designated in this application | ||
DFPE | Request for preliminary examination filed prior to expiration of 19th month from priority date (pct application filed before 20040101) | ||
REG | Reference to national code |
Ref country code: DE Ref legal event code: 8642 |
|
COP | Corrected version of pamphlet |
Free format text: PAGES 1/54-54/54, DRAWINGS, REPLACED BY NEW PAGES 1/75-75/75; DUE TO LATE TRANSMITTAL BY THE RECEIVING OFFICE |
|
122 | Ep: pct application non-entry in european phase | ||
NENP | Non-entry into the national phase in: |
Ref country code: JP |
|
WWW | Wipo information: withdrawn in national office |
Country of ref document: JP |