Data storage device sorting access commands based on performance and off-track mitigation optimization - Patents.com
The RPO system in data storage devices addresses OTW events by selecting seek time models that balance I/O performance and OTW risk, effectively reducing OTW occurrences and maintaining performance.
Patent Information
- Application Number
- JP2024077720
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Priority Date
- 2023-10-06
- Filing Date
- 2024-05-13
- Publication Date
- 2025-11-14
- Estimated Expiration
- 2044-05-13
AI Technical Summary
Existing data storage devices face challenges in minimizing off-track write events (OTW) while maintaining I/O performance, as conventional methods to prevent OTW significantly degrade performance under vibration conditions.
Implementing a rotational positioning optimization (RPO) system that selects seek time models based on both I/O performance and the risk of OTW events, using a slow seek time model for off-track sensitive access patterns to delay commands and account for potential OTW risks, thereby reducing OTW events while minimizing performance loss.
The RPO system effectively reduces the risk of OTW events by strategically delaying commands with off-track sensitive seek access patterns, ensuring data integrity and maintaining optimal I/O performance.
Smart Images

Figure 0007770466000001 
Figure 0007770466000002 
Figure 0007770466000003
Abstract
Description
[Background technology]
[0001] A data storage device such as a disk drive includes a disk and a head connected to the distal end of an actuator arm that is rotated about a pivot by a voice coil motor (VCM) to position the head radially over the disk. The disk includes a plurality of radially spaced concentric tracks for recording user data sectors and servo wedges or servo sectors. The servo sectors include head positioning information (e.g., track addresses), which is read by the head and processed by a servo control system to control the actuator arm as it seeks from track to track.
[0002] Figure 1 shows the servo wedges 60-6 recorded around the circumference of each servo track. N 1 shows a prior art disk format 2 with multiple radially spaced concentric servo tracks 4 defined by a servo wedge 6. A plurality of concentric data tracks are defined about the servo track 4, and the data tracks may have the same or a different radial density (e.g., tracks per inch (TPI)) as the servo track 4. Each servo wedge 6 i The servo wedge 60 includes a preamble 8 for storing a periodic pattern that allows proper gain adjustment and timing synchronization of the read signal, and a synchronization mark 10 for storing a special pattern used for symbol synchronization to the servo data fields 12. The servo data fields 12 store coarse head positioning information, such as a servo track address, that is used to position the head over a target data track during seek operations. Each servo wedge (e.g., servo wedge 64) further includes a group of phase-based servo bursts 14 (e.g., N and Q servo bursts), which are recorded at a predetermined phase relative to each other and to the servo track centerline.
[0003] The coarse head positioning information is processed to position the head over a target data track during seek operations, and the servo bursts 14 provide fine head positioning information used for centerline tracking while accessing data tracks during write / read operations. A position error signal (PES) is generated by reading the servo bursts 14, and the PES represents the measured position of the head relative to the centerline of the target servo track. A servo controller processes the PES to generate control signals that are applied to one or more head actuators to actuate the head radially over the disk in a direction that reduces the PES. In some examples, the one or more head actuators may include a voice coil motor and one or more fine-control actuators, such as a milliactuator or microactuator. Summary of the Invention
[0004] Various examples disclosed herein provide a data storage device, such as a hard disk drive, having control circuitry configured to implement novel and inventive next command selection using rotational positioning optimization (RPO) that does not focus solely on I / O performance. In various examples, the disclosed control circuitry is inventively configured to select a seek time model for determining access times for access commands based on a seek access pattern associated with the access command. In embodiments, a slow seek time model is selected for one or more commands within an off-track sensitive seek access pattern. The additional seek time resulting from using the slow seek time model acts as a penalty for the risk of an off-track situation, such as an off-track write (OTW) event. In this manner, the RPO system may select the best next access command based on both I / O performance and the risk of an OTW event, depending on the seek access pattern. In embodiments, if the selected next command is associated with an off-track sensitive seek access pattern, the actual seek may be delayed by the additional seek time to dampen oscillations in the seek arrival PES. In this manner, the OTW event risk may be reduced while minimizing performance loss, because the additional seek time has already been accounted for in command scheduling.
[0005] Various exemplary aspects are directed to a data storage device comprising one or more disks, an actuator mechanism configured to position a selected head of the one or more heads proximate a corresponding disk surface of a corresponding disk of the one or more disks, and one or more processing devices, wherein the one or more processing devices are configured to: select a seek time model from a plurality of seek time models based at least in part on operating characteristics of the access command, the operating characteristics relating to off-track susceptibility of executing the access command, determine an access time for the access command using the selected seek time model, and select a next access command for execution based on the determined access time for the access command and determined access times for other access commands of the plurality of access commands.
[0006] Various example aspects are directed to a method including selecting, by one or more processing devices, a seek time model from a plurality of seek time models based at least in part on operating characteristics of an access command, the operating characteristics relating to off-track susceptibility of executing the access command; determining, by the one or more processing devices, an access time for the access command using the selected seek time model; and selecting, by the one or more processing devices, a next access command for execution based on the determined access time for the access command and determined access times for other access commands of the plurality of access commands.
[0007] Various example aspects are directed to one or more processing devices comprising: means for selecting a seek time model from a plurality of seek time models based at least in part on operating characteristics of the access command, the operating characteristics related to off-track susceptibility of executing the access command; means for determining an access time for the access command using the selected seek time model; and means for selecting a next access command for execution based on the determined access time for the access command and determined access times for other access commands of the plurality of access commands.
[0008] Various additional aspects are illustrated in and will become more apparent from the accompanying drawings and the description that follows. [Brief explanation of the drawings]
[0009] Various features and advantages of the techniques of the present disclosure will become apparent from the following description of specific examples of those techniques and as illustrated in the accompanying drawings. The drawings are not necessarily to scale, emphasis instead being placed upon illustrating the principles of the technical concepts. In the drawings, like reference characters may refer to the same parts throughout the different views. The drawings depict only illustrative examples of the present disclosure and are not intended to limit the scope. [Figure 1] 1 illustrates a prior art disk format having multiple radially spaced concentric servo tracks defined by servo wedges recorded around the circumference of each servo track. [Figure 2A] 1A-1C illustrate conceptual block diagrams of top and side views of a data storage device in the form of a disk drive, according to aspects of the present disclosure. [Figure 2B] 1A-1C illustrate conceptual block diagrams of top and side views of a data storage device in the form of a disk drive, according to aspects of the present disclosure. [Figure 2C]1 illustrates a flowchart of an exemplary method that a read / write channel circuit of a control circuit of a disk drive may implement or perform in controlling the operation of the disk drive, according to aspects of the present disclosure. [Figure 3] 1 illustrates an example of an off-track write (OTW) event, according to an aspect of the present disclosure. [Figure 4] 1 illustrates one embodiment of an original seek time model and a slow seek time model in accordance with aspects of the present disclosure. [Figure 5] 1 illustrates one embodiment of an original seek time model, a first slow seek time model, and a second slow seek time model in accordance with aspects of the present disclosure. [Figure 6] 1 illustrates an example of selecting a seek time model for an access command and selecting a next access command for execution according to an aspect of the present disclosure. [Figure 7] 10 illustrates another example of selecting a seek time model for an access command and selecting a next access command for execution according to aspects of the present disclosure. [Figure 8] 10 illustrates another example of selecting a seek time model for an access command and selecting a next access command for execution according to aspects of the present disclosure. [Figure 9] 10 illustrates another example of selecting a seek time model for an access command and selecting a next access command for execution according to aspects of the present disclosure. [Figure 10] 1 illustrates an example of adjusting a seek time model according to aspects of the present disclosure. [Figure 11] 1 illustrates an example of voice coil motor current for a long read seek, track following to read data, a short write seek, and track following to write data, according to aspects of the present disclosure. [Figure 12] 1 illustrates an example of a large piezoelectric actuator stroke preceding a short write seek, according to aspects of the present disclosure. DETAILED DESCRIPTION OF THE INVENTION
[0010] 2A and 2B illustrate conceptual block diagrams of a top and side view of a data storage device in the form of a disk drive 15 according to aspects of the present disclosure. The disk drive 15 includes a control circuit 22, an actuator arm assembly 19, and a plurality of hard disks 16A, 16B, 16C, and 16D (“hard disks 16”). The control circuit 22 includes a rotational positioning optimization circuit 30 (“RPO circuit 30”). In one embodiment, the control circuit 22 maintains a command queue for storing access commands (e.g., read commands and write commands) received from a host 44, and the RPO circuit 30 determines the order in which the commands in the queue are executed. FIG. 2C illustrates a flowchart of an exemplary method 80 that the RPO circuit 30 of the control circuit 22 may implement or execute in controlling the operation of the disk drive 15 according to aspects of the present disclosure, including determining an access time for the access command using a seek time model selected from a plurality of different seek time models based on operating characteristics associated with the access command. In one embodiment, the operating characteristics include a seek access pattern of the access command. In another embodiment, the actuation characteristic includes a piezoelectric (PZT) actuator stroke.
[0011] The actuator arm assembly 19 includes a primary actuator 20 (e.g., a voice coil motor (“VCM”)) and multiple actuator arms 40 (e.g., a top actuator arm 40A as seen in the perspective views of FIGS. 2A and 2B). Each of the actuator arms 40 includes a suspension assembly 42 at its distal end (e.g., a top suspension assembly 42A included in the top actuator arm 40A in the views of FIGS. 2A and 2B). Each suspension assembly 42 may, in some examples, include one or more additional fine actuators, such as PZT actuators, configured to actuate the suspension relative to the actuator arm 40A and / or to actuate the head relative to the suspension. Each suspension assembly 42 suspends a slider at its distal end, and one of the read / write heads 18 (“head 18”) is mounted on the slider.
[0012] Thus, each of the actuator arms 40 is configured to suspend one of the heads 18 (e.g., head 18A suspended over the uppermost corresponding disk surface 17A by actuator arm 40A, and head 18H suspended over the lowermost corresponding disk surface 17H by lowermost actuator arm 40H) proximate to the corresponding disk surface 17. Other examples may include any of a wide variety of other numbers of hard disks and disk surfaces, and other numbers of actuator arm assemblies, primary actuators, and fine actuators, other than, for example, one actuator arm assembly 19 and one primary actuator 20 in the examples of Figures 2A and 2B.
[0013] In various examples, disk drive 15 may be considered to perform or execute functions, tasks, processes, methods, and / or techniques, including aspects of exemplary method 80, in terms of its control circuitry 22 performing or executing such functions, tasks, processes, methods, and / or techniques. Control circuitry 22 may comprise and / or take the form of one or more driver devices and / or one or more other processing devices of any type, and in various examples may implement or execute functions, tasks, processes, methods, or techniques by executing computer-readable instructions of software or firmware code on hardware structure configured to execute such software or firmware code. Control circuitry 22 may also, in various embodiments, implement or execute functions, tasks, processes, methods, or techniques by hardware circuitry that implements or executes such functions, tasks, processes, methods, or techniques by the hardware structure itself, without any operation of software. The control circuitry 22 may be in operative communication and / or control connection or coupling with a host 44, which, in various examples, may include any external processing, computing, and / or data management entity, such as a computing device, a storage area network, a data center, any type of cloud computing resource, and / or any other type of host.
[0014] Control circuitry 22 may include one or more processing devices and one or more modules that constitute device drivers specifically configured to drive and operate particular devices. Such device drivers may include one or more head drivers configured to drive and operate heads 18. Device drivers may, in various examples, be configured as one or more integrated components of one or more large-scale circuits, such as one or more power large-scale integrated (PLSI) chips or circuits, and / or as part of control circuitry 22. Device drivers may also be configured as one or more components within other large-scale integrated circuits, such as system-on-chip (SoC) circuits, or as more or less standalone circuits that may be operably coupled to other components of control circuitry 22 in various examples.
[0015] Primary actuator 20 may perform macro primary actuation of multiple actuator arms 40, each of which may suspend one of heads 18 above and in proximity to a corresponding disk surface 17 of disk 16. Although the positions of heads 18, e.g., heads 18A and 18H, are shown in Figure 2A, heads 18 are typically positioned very close to the disk surface and are too small to be seen when drawn to scale in Figures 2A and 2B.
[0016] The exemplary disk drive 15 of FIGS. 2A and 2B includes four hard disks 16. Other examples may include any number of disks, such as only one disk, two disks, three disks, or five or more disks, or ten or more disks. The hard disks 16 are also known as platters, and their disk surfaces may also be referred to as media or media surfaces. The four hard disks 16 include eight disk surfaces 17A, 17B, 17C, 17D, 17E, 17F, 17G, and 17H (“disk surfaces 17”), with one disk surface 17 on each side of each hard disk 16 in this illustrative example. The actuator assembly 19 suspends the heads 18 of each actuator arm 40 over and adjacent to a corresponding disk surface 17, enabling each of the heads 18 to write control features and data to and read control features and data from a respective adjacent disk surface 17. In this sense, each head 18 of each actuator arm 40 interacts with a corresponding disk surface 17. As used herein, heads 18 may be said to operate “above” their corresponding disk surfaces 17 in terms of defining a local frame of reference according to the corresponding disk surfaces 17 .
[0017] The term "disk surface" may be understood to have the ordinary meaning given to those skilled in the art. The term "disk surface" may be understood to include both the very outer surface layer of the disk and the volume of disk material below the outer surface layer, which may be considered in terms of atomic depth, or (in a simplified model) the number of atoms deep from the surface layer of atoms at which the material is susceptible to physical interaction with the head. The term "disk surface" may also include the portion of the disk material susceptible to interaction with a read / write head in disk drive operations, such as, for example, control write operations, control read operations, data write operations, and data read operations.
[0018] 2A and 2B, each disk surface, for example disk surface 17A as shown in FIG. 2A, includes a plurality of control features. The control features are servo wedges 321-32 that define a plurality of servo tracks 34. N The data tracks are defined relative to the servo tracks 34 and may be of the same or different radial density. The control circuit 22 processes the read signal 36 emanating from each head, e.g., head 18A, to read from the disk surface 17A and servo wedges 321-32. N The servo wedge demodulates the PES signal to generate a position error signal (PES) representative of the error between the actual position of the head and the target position relative to the target track. A servo control system within control circuitry 22 filters the PES from the servo wedge using an appropriate compensation filter to generate control signals 38 that are applied to actuator arm assembly 19, including controlling actuator 20, which acts as a primary actuator and rotates actuator arm assembly 19 about an axial pivot to perform primary actuation of head 18 radially corresponding to disk surface 17 in a direction that reduces the PES, and in various examples to control any fine actuators. Control circuitry 22 may also apply control signals to, and receive sensor signals from, any of various components of head 18 and / or disk drive 15, in various examples.
[0019] In the examples of FIGS. 2A and 2B , actuator arm assembly 19 rotates actuator arm 40 about a common pivot. In other examples, the first actuator arm assembly and / or VCM and the second actuator arm assembly and / or VCM, or other types of primary actuators, may each be configured to actuate a respective actuator arm assembly or set of multiple actuator arms, for example, about separate pivots mounted at different circumferential positions around the disk. In some examples, each of the two actuator arm assemblies may control half of the heads, write to half of the disk surface, and read from half of the disk surface. In some examples, each of the actuator arm assemblies may be addressable by host 44 as a separate logical data storage unit. In other examples, three or more actuator arm assemblies or primary actuators or multiple actuators may be used, which may actuate about a common pivot or may be included in multiple multiple actuators mounted at different circumferential positions around the disk. Thus, actuator arm assembly 19 and / or any of these other examples may constitute and / or comprise an actuator mechanism in various examples. Thus, an actuator mechanism such as an actuator arm assembly 19 may be configured to position a head 18, including a selected head from among one or more heads 18, in proximity to a corresponding disk surface 17 among one or more disks 16.
[0020] 2C (aspects of which are further described below with reference to additional figures), control circuitry 22 may perform one or more internal operations, such as issuing one or more commands to other components of disk drive 15, receiving information from one or more other components of disk drive 15, and / or generating one or more driver currents for output to system components of disk drive 15. In a particular example, RPO circuitry 30 of control circuitry 22 may select a seek time model from multiple seek time models based on operational characteristics of the access command (82). RPO circuitry 30 may further determine an access time for the access command using the selected seek time model (84). RPO circuitry 30 may further select a next access command for execution based on the determined access time for the access command and determined access times for other access commands of the multiple access commands (86). Control circuitry 22, including RPO circuitry 30, may further perform additional operations, methods, and techniques according to various aspects, including those further described herein.
[0021] As used herein, the term "RPO circuitry 30" may refer to any hardware, firmware, software, and / or combination thereof included in control circuitry 22 of disk drive 15 that implements, embodies, or participates in any of the structure or functionality attributed herein to RPO circuitry 30 or any other of the novel and inventive aspects of this disclosure. RPO circuitry 30 may configure any hardware, firmware, software, and / or any other element of control circuitry 22 to select the next access command for execution and to implement other techniques and methods as described herein.
[0022] FIG. 3 illustrates an example of an OTW event according to aspects of the present disclosure. The OTW event 305 may occur when a short write seek 310 is performed after the completion of a long read seek 315. In this example, the read seek 315 causes a large random transient vibration (RTV) that affects the seek arrival PES 320 of the subsequent write seek 310. In this example, the RTV causes a large overrun in the seek arrival PES 320. The large overrun causes the PES 320 to fall outside the write-inhibit limit 325 during track following 330, resulting in the OTW event 305. OTW events such as the OTW event 305 are undesirable because they threaten data integrity by, for example, damaging data in adjacent tracks.
[0023] Approaches to reducing large overruns in seek arrival PES include extending the seek qualification count for write seeks, delaying the start time of qualification, and slowing down write seeks. However, each of these techniques significantly degrades both random and sequential I / O performance under vibration conditions, and therefore these approaches are considered impractical.
[0024] According to aspects of the present disclosure, the RPO circuit 30 addresses the problem of large overruns in the seek arrival PES by selecting the next command for execution based on I / O performance and the risk of an OTW event based on the seek access pattern of the access command. In various examples, the RPO circuit 30 stores or otherwise determines multiple seek time models that can be used to determine each access time for each access command in the command queue. In embodiments, the RPO circuit 30 selects one of the multiple seek time models for use with a particular access command based on the seek access pattern associated with the particular access command. In one embodiment, the multiple seek time models include an original seek time model and a slow seek time model. In this embodiment, for an access command associated with an off-track-sensitive seek access pattern (e.g., a seek access pattern associated with a large overrun in the seek arrival PES), the RPO circuit 30 determines the access time of the access command using the slow seek time model. Determining the access time using the slow seek time model may result in an access time for this access command that is greater than the access time that would result from using the original seek time model. A larger access time determined using the slow seek time model penalizes the access command in the context of next command selection, which may be prioritized based at least in part on the smallest to largest access time of multiple access commands in the command queue. For example, the RPO circuit 30 may select the next command having a slower seek access pattern instead of the access command with the best I / O performance. As described herein, previous seeks may influence command selection. In this manner, the RPO circuit 30 selects the next command for execution to reduce the risk of an off-track event, such as an OTW event.For purposes of explanation, various embodiments are described using OTW events as a teaching example, and it should be noted that such disclosed embodiments are not limited to only OTW mitigation, but may also be applied to off-track events other than OTW.
[0025] FIG. 4 illustrates one embodiment of an original seek time model 405 and a slow seek time model 410 according to aspects of the present disclosure. The original seek time model 405 comprises a model that can be used to predict access times for access commands in a command queue of a disk drive 15. The original seek time model 405 may be determined empirically, for example, and may comprise a curve derived by averaging multiple measurements of seek time versus seek length in one or more disk drives. In this embodiment, the slow seek time model 410 comprises the original seek time model 405 combined (e.g., summed) with a delay time model 415. In one example, the delay time model 415 comprises a step function having a magnitude M1 and a length L1. The magnitude M1 may be defined in terms of a seek time delay count, which may be based on an empirically determined time for vibrations (e.g., RTV) to settle from a PES for commands associated with an off-track sensitive seek access pattern (e.g., a long read seek followed by a short write seek). The length L1 may be defined in terms of the seek length threshold at which such a command triggers the application of the latency model. For example, in the case of a write seek followed by a long read seek, L1 defines what qualifies as a "short" seek that requires this latency model to mitigate off-track intrusion risk.
[0026] 4 , the access time determined using the slow seek time model 410 is greater than the access time determined using the original seek time model 405 for the first region R1 of the write seek length, and the access time determined using the slow seek time model 410 is equal to the access time determined using the original seek time model 410 for the second region R2 of the write seek length. Thus, for a “short” write seek access command having a write seek length in the first region R1, using the slow seek time model 410 to determine the access time for this command results in a greater access time than using the original seek time model 405. A “long” write seek access command having a long write seek length in the second region R2 uses the original seek time model 405.
[0027] According to aspects of the present disclosure, RPO circuit 30 uses a slow seek time model (e.g., slow seek time model 410) to determine access times for commands that form or are otherwise part of an off-track-sensitive seek access pattern, and RPO circuit 30 uses an original seek time model (e.g., original seek time model 405) to determine access times for commands that do not form or are otherwise part of an off-track-sensitive seek access pattern. In this manner, commands associated with an off-track-sensitive seek access pattern are less likely to be selected as the next command for execution due to the increased access time provided by the slow seek time model in the first region (e.g., first region R1). In an embodiment, an off-track-sensitive seek access pattern is defined with respect to a seek access pattern that is most likely to have a large overrun in the seek arrival PES that may be due to an off-track event, such as an OTW event. In one example, such an off-track-sensitive seek access pattern includes a short write seek following the completion of a long read seek. In various examples, a long read seek may include a read seek longer than 2000 servo tracks on one of the disks 16 of the disk drive 15, and a short write seek may include a write seek less than 200 servo tracks on one of the disks 16 of the disk drive 15. Implementations are not limited to these example values, and other criteria may be used to define long read seeks and short write seeks. In other embodiments, other combinations of long / short and / or read / write seeks may be considered off-track sensitive.
[0028] 5 illustrates one embodiment of an original seek time model 505, a first slow seek time model 510, and a second slow seek time model 520 according to aspects of the present disclosure. In this embodiment, the first slow seek time model 510 includes the original seek time model 505 combined with a first delay time model 515, and the second slow seek time model 520 includes the original seek time model 505 combined with a second delay time model 525. The original seek time model 505, the first slow seek time model 510, and the first delay time model 515 may correspond to the original seek time model 405, the first slow seek time model 410, and the first delay time model 415, respectively, of FIG.
[0029] 5, the second delay time model 525 has a different shape than the first delay time model 515. For example, the second delay time model 525 may have a first plateau at a magnitude M1 and a second plateau at a magnitude M2. As a result, the second slow seek time model 520 has a different shape than the first slow seek time model 510 in the first region R1.
[0030] In the embodiment of FIG. 5, for an access command that is part of an off-track sensitive seek access pattern, RPO circuit 30 selects one of first slow seek time model 510 and second slow seek time model 520 to determine the access time of this command, where the selection is based on the tilt distance learning status of disk drive 15. Tilt distance is a component of the seek length when the seek command involves a head switch. Short seeks due to a head switch may be sensitive to tilt distance. Control circuit 22 may learn the tilt distance after a power-on reset of disk drive 15, and control circuit 22 may re-learn the tilt distance after the drive temperature exceeds a predetermined threshold. However, the tilt distance value estimated by control circuit 22 may not be accurate during the tilt distance learning process. In one embodiment, RPO circuit 30 accounts for this potential inaccuracy by using a more conservative slow seek time model (e.g., first slow seek time model 510) when tilt distance learning has a first status (e.g., tilt distance has not been learned) and by using a more aggressive slow seek time model (e.g., second slow seek time model 520) when tilt distance learning has a second status (e.g., tilt distance has been learned).
[0031] FIG. 6 illustrates an example of selecting a seek time model for an access command and selecting a next access command for execution according to an embodiment of the present disclosure. In this example, an original seek time model 605 and a slow seek time model 610 may correspond to the original seek time model 405 and the slow seek time model 410 of FIG. 4, respectively. A first access command 620-1, a second access command 620-2, and a third access command 620-3 represent access commands in the command queue. In this example, the first access command 620-1 is a write seek or a write seek preceded by a short read seek, which is not an off-track sensitive seek access pattern. Because the first access command 620-1 is not part of an off-track sensitive seek access pattern (e.g., a long read seek followed by a short write seek), the RPO circuit 30 selects the original seek time model 605 to determine the access time of the first access command 620-1. In this example, the RPO circuit 30 also uses the original seek time model 605 to determine the access time of the second access command 620-2 and the access time of the third access command 620-3. To optimize I / O performance based on the respective access times, the RPO circuit 30 selects, for example, the first access command 620-1 as the next command for execution because the first access command 620-1 has the lowest access time among the three access commands 620-1, 620-2, and 620-3.
[0032] Continuing with reference to FIG. 6, the access time of an access command may include a first component based on the seek time determined using the seek time model and a second component representing the latency (e.g., wait time) associated with the access command. For example, the access time of the third access command 620-3 includes a first component 631 based on the time determined using the original seek time model 605 and a second component 632 representing the latency. In an embodiment, the latency of an access command may be defined as the difference between (1) the radial distance from the current command to the access command in sector ID (SID) counts and (2) the seek time of the access command, also in SID counts. Still referring to FIG. 6, time D represents the time associated with one revolution of the disk associated with the first access command 620-1.
[0033] FIG. 7 illustrates another example of selecting a seek time model for an access command and selecting a next access command for execution according to an embodiment of the present disclosure. In this example, the original seek time model 605 and the slow seek time model 610 may correspond to the original seek time model 405 and the slow seek time model 410 of FIG. 4, respectively. A first access command 720-1, a second access command 720-2, and a third access command 720-3 represent access commands in the command queue. In this example, the first access command 720-1 is a short write seek preceded by a long read seek, which is an off-track sensitive seek access pattern. Because the first access command 720-1 is part of an off-track sensitive seek access pattern (e.g., a long read seek followed by a short write seek), the RPO circuit 30 selects the slow seek time model 610 to determine the access time of the first access command 720-1. In this example, the RPO circuit 30 uses the original seek time model 605 to determine the access time of the second access command 720-2 and the access time of the third access command 720-3. To optimize I / O performance based on the respective access times, the RPO circuit 30 selects, for example, the second access command 720-2 as the next command for execution because the second access command 720-2 has the lowest access time among the three access commands 720-1, 720-2, and 720-3.
[0034] FIG. 8 illustrates another example of selecting a seek time model for an access command and selecting a next access command for execution according to an embodiment of the present disclosure. In this example, an original seek time model 605 and a slow seek time model 610 may correspond to the original seek time model 405 and the slow seek time model 410 of FIG. 4, respectively. A first access command 820-1a, a second access command 820-2, and a third access command 820-3 represent access commands in the command queue. In this example, the first access command 820-1a is a short write seek preceded by a long read seek, which is an off-track sensitive seek access pattern. Because the first access command 820-1a is part of an off-track sensitive seek access pattern (e.g., a long read seek followed by a short write seek), the RPO circuit 30 selects the slow seek time model 610 to determine the access time of the first access command 820-1a. In this example, the RPO circuit 30 uses the slow seek time model 610 to determine that the rotational distance of the first command 820-1a (e.g., the rotational distance in sector count from the ending data sector of the current seek command to the starting data sector of the next seek command) is less than the seek time. In this embodiment, based on this determination using the slow seek time model 610 that the rotational distance is less than the seek time, the RPO circuit 30 determines the actual access time of the first command 820-1a by summing the access time determined using the first command 820-1a and the time D for one rotation of the disk, as shown by the first command 820-1b. In this example, the RPO circuit 30 uses the original seek time model 605 to determine the access time of the second access command 820-2 and the access time of the third access command 820-3, each of which may be offset from the original seek time model 605 due to latency, e.g., in a manner similar to the latency 632 of FIG. 6 .Based on the respective access times, the RPO circuit 30 selects, for example, the second access command 820-2 as the next command for execution because the second access command 820-2 has the lowest access time among the three access commands 820-1b, 820-2, and 820-3.
[0035] FIG. 9 illustrates another example of selecting a seek time model for an access command and selecting a next access command for execution according to an embodiment of the present disclosure. In this example, the original seek time model 605 and the slow seek time model 610 may correspond to the original seek time model 405 and the slow seek time model 410 of FIG. 4, respectively. A first access command 920-1, a second access command 920-2, and a third access command 920-3 represent access commands in the command queue. In this example, the first access command 920-1 is a short write seek preceded by a long read seek, which is an off-track sensitive seek access pattern. Because the first access command 920-1 is part of an off-track sensitive seek access pattern (e.g., a long read seek followed by a short write seek), the RPO circuit 30 selects the slow seek time model 610 to determine the access time of the first access command 920-1. In this example, the RPO circuit 30 uses the original seek time model 605 to determine the access time of the second access command 920-2 and the access time of the third access command 920-3, each of which may be offset from the original seek time model 605 due to latency, for example, in a manner similar to the latency 632 in Figure 6. In this example, the first access command 920-1 (i.e., a command in the off-track sensitive seek access pattern) has the slowest access time of the three access commands 920-1, 920-2, and 920-3, even though the slow seek time model 610 is used for the first access command 920-1. In an embodiment, in response to an access command that is part of an off-track sensitive seek access pattern being the next command selected for execution, RPO circuit 30 schedules to derate the actual seek time (e.g., the actual seek time is derated from the seek time on the original seek time model 605 to the seek time on the slower seek time model 610) to reduce the risk of an OTW event occurring with this command.In this example, the first access command 920-1 may complete as scheduled by the system because the derated seek time has been taken into account by the RPO circuit 30.
[0036] In embodiments, a seek qualification delay feature may be used to dilate the seek. In various examples, the seek qualification delay feature delays the timing of the start of seek qualification to complete the seek, which may be used to precisely dilate the seek time as planned by a delay time model, such as delay time model 415 of FIG. 4.
[0037] FIG. 10 illustrates an example of adjusting a seek time model according to aspects of the present disclosure. In this example, original seek time model 1005 and slow seek time model 1010 may correspond to original seek time model 405 and slow seek time model 410, respectively, of FIG. 4. Seek time may vary based on factors such as drive temperature and drive voltage. In an embodiment, RPO circuit 30 adjusts the access time determined using original seek time model 1005 based on drive temperature or drive voltage. Such adjustments may be made using an adjustment data structure (e.g., a table) that defines adjustment values for original seek time model 1005 based on different conditions of drive temperature and / or different conditions of drive voltage. For example, original seek time model 1005 may be based on a drive temperature of 30° C., and RPO circuit 30 may adjust the determined access time by an amount A (e.g., defined in the adjustment data structure) based on an actual drive temperature of 55° C. In this embodiment, because the slow seek time model 1010 is based on the original seek time model 1005, the RPO circuit 30 may use the same adjustment data structure to adjust the access times of both the original seek time model 1005 and the slow seek time model 1010. Although not shown, a similar adjustment may be made based on the drive voltage, for example, in response to the drive voltage being 11 volts and the original seek time model 1005 being based on a drive voltage of 12 volts.
[0038] 11 shows example VCM current 1105 for a long read seek 1110, a track following 1115 to read data, a short write seek 1120, and a track following 1125 to write data. In an embodiment, in response to the track following 1115 being sufficiently long, the RPO circuit 30 selects the original seek time model for the short write seek 1120, even though the short write seek 1120 is part of an off-track sensitive seek access pattern. This is because a sufficiently long track following between the long read seek and the short write seek provides sufficient time for vibrations (e.g., RTV) to decay. In various examples, the RPO circuit 30 may determine that the track following is sufficiently long based on the track following time exceeding a threshold. For example, RPO circuitry 30 may determine that track following 1115 includes a "long track following" based on the track following time being greater than a threshold, and RPO circuitry 30 may determine that track following 1115 includes a "short track following" based on the track following time being less than a threshold. Thus, RPO circuitry 30 may select the slow seek time model in response to a seek access pattern that includes a short write seek followed by a long read seek followed by a short track between the write seek and the long read seek, and RPO circuitry 30 may select the original seek time model in response to a seek access pattern that includes a short write seek followed by a long read seek followed by a long track between the short write seek and the long read seek.
[0039] FIG. 12 illustrates an example of a large PZT actuator stroke preceding a short write seek, according to aspects of the present disclosure. In this example, FIG. 12 illustrates a VCM current 1205, a read seek 1210, track following to read data 1215, a short write seek 1220, and track following to write data 1225. In response to an unexpectedly large PZT actuator stroke at the start of a write seek (or the end of a read seek), the system may set the seek qualification delay count to a longer value to minimize the risk of an OTW event. This may be done, for example, because the read seek may not have stopped yet. In various examples, this extra delay time may not be accounted for in command scheduling, which may result in a rotational miss. However, because this is very rare and the impact on I / O performance is small, the system may prioritize avoiding an OTW event over I / O performance. In various examples, because the delay is intentional, the RPO circuit 30 may skip the seek time adaptation process in the seek time model to avoid inaccurate learning.
[0040] In another embodiment, the RPO circuit 30 may be configured to select a slow seek time model to determine the access time of an access command based on the PZT actuator stroke before the access command exceeds a threshold. In various examples, the RPO circuit 30 may be configured to collect seek access patterns in large PZT actuator stroke use cases and optimize PZT actuator stroke usage based on these patterns. In one example, the RPO circuit 30 uses a delay time model (e.g., delay time model 415 in FIG. 4 ) as a penalty for large PZT actuator stroke usage to avoid large PZT actuator stroke usage events. In an embodiment, a command preceded by a large PZT actuator stroke is less likely to be selected as the next command for execution due to the increased access time provided by the slow seek time model. In this way, the RPO circuit 30 may optimize PZT actuator stroke usage by reducing the risk of PZT actuator stroke saturation by lowering the likelihood of large PZT actuator stroke events.
[0041] Any suitable control circuitry, such as any suitable integrated circuit(s), may be used to implement the flow diagrams in the above examples. For example, the control circuitry may be implemented within a read channel integrated circuit, or may be implemented within a component separate from the read channel, such as a data storage controller, or certain operations described above may be performed by the read channel and other operations by the data storage controller. In some examples, the read channel and data storage controller may be implemented as separate integrated circuits, or in some examples, the read channel and data storage controller may be fabricated in a single integrated circuit or system-on-chip (SoC). In some examples, the control circuitry may include appropriate preamplifier circuitry implemented as a separate integrated circuit, integrated into the read channel or data storage controller circuitry, or integrated into the SoC.
[0042] In some examples, the control circuitry may include a microprocessor that executes instructions operable to cause the microprocessor to perform one or more aspects of the methods, processes, or techniques illustrated in the flow diagrams and described with reference thereto herein. The executable instructions of the present disclosure may be stored on any computer-readable medium. In some examples, the executable instructions of the present disclosure may be stored on a non-volatile semiconductor memory device, component, or system external to the microprocessor, or may be integrated with the microprocessor in an SoC. In some examples, the executable instructions of the present disclosure may be stored on one or more disks and loaded into volatile semiconductor memory when the disk drive is powered on. In some examples, the control circuitry may include logic circuitry, such as a state machine circuit. In some examples, at least some of the flow diagram blocks may be implemented using analog circuitry (e.g., analog comparators, timers, etc.). In some examples, at least some of the flow diagram blocks may be implemented using digital circuitry or a combination of analog and digital circuitry.
[0043] In various examples, one or more processing devices may comprise or configure control circuitry as described herein and / or perform one or more of the functions of the control circuitry as described herein. In various examples, the control circuitry, or one or more other processing devices performing one or more of the functions of the control circuitry as described herein, may be abstracted away from physical proximity to disks and disk surfaces. The control circuitry, and / or its one or more device drivers, and / or one or more processing devices of any other type performing one or more of the functions of the control circuitry as described herein, may, in various embodiments, be part of or adjacent to a rack of multiple data storage devices or a stand-alone product comprising multiple data storage devices, part of or adjacent to one or more physical or virtual servers, part of or adjacent to one or more local area networks or one or more storage area networks, part of or adjacent to a data center, or hosted on one or more cloud services.
[0044] In various examples, the disk drive may include a magnetic disk drive, an optical disk drive, a hybrid disk drive, or other types of disk drives. Some examples may include electronic devices such as computing devices, data server devices, media content storage devices, or other devices, components, or systems that may include storage media and / or control circuitry as described above.
[0045] The various features and processes described above may be used independently of one another or may be combined in various ways. All possible combinations and subcombinations are within the scope of the present disclosure. In some implementations, some method, event, or process blocks may be omitted. The methods and processes described herein are not limited to any particular order, and the associated blocks or states may be performed in other orders. For example, the described tasks or events may be performed in an order other than that specifically disclosed, or multiple may be combined into a single block or state. Example tasks or events may be performed serially, in parallel, or in another manner. Tasks or events may be added to or removed from the disclosed examples. The example systems and components described herein may be configured differently from those described. For example, elements may be added, removed, or rearranged compared to the disclosed examples.
[0046] While certain exemplary embodiments are described herein, these embodiments are presented by way of example only and do not limit the scope of the inventions disclosed herein. Accordingly, nothing in the above description should be construed as implying that any particular feature, characteristic, step, module, or block is necessary or essential. Indeed, the novel methods and systems described herein may be embodied in a variety of other forms. Various omissions, substitutions, and changes may be made to the form of the methods and systems described herein without departing from the spirit and scope of the present disclosure.
[0047] Method 80 and other methods of the present disclosure may include other steps or variations in various other embodiments. Part or all of method 80 and any of the other methods of the present disclosure may be performed or embodied in hardware and / or performed or executed by a controller, CPU, FPGA, SoC, measurement and control multi-processor system on chip (MPSoC), which may include both a CPU and FPGA and other elements together in one integrated SoC, or other processing or computing device that processes executable instructions in controlling other related hardware, devices, systems, or products in performing, implementing, or embodying various subject matter of the methods.
[0048] Thus, data storage systems, devices, and methods that implement and embody the novel advantages of the present disclosure are shown and described herein in various fundamental aspects and various selected exemplary applications, architectures, techniques, and methods for implementing and embodying the novel advantages of the present disclosure. Those skilled in the relevant art will be sufficiently equipped by this disclosure to understand and be informed of a wide range of additional applications, architectures, techniques, and methods for the novel advantages, techniques, methods, processes, devices, and systems encompassed by the present disclosure and the claims that follow.
[0049] As used herein, the phrase "at least one of A, B, and C" is intended to mean "either A, B, C, or any combination of A, B, and C." The description of the disclosed examples is provided to enable those skilled in the relevant art to understand how to make or use the subject matter of the present disclosure. Various modifications to these embodiments will be readily apparent to those skilled in the art based on this disclosure, and the general principles defined herein may be applied to other examples without departing from the spirit or scope of the present disclosure. Thus, the present disclosure is not limited to the embodiments shown herein but is to be accorded the widest scope consistent with the principles and novel features disclosed herein.
[0050] The present disclosure and many of its attendant advantages will be understood from the foregoing description, and various changes may be made in the form, construction, and arrangement of elements without departing from the disclosed subject matter or sacrificing all or any of its material advantages. The described forms are merely illustrative, and the following claims encompass and include a wide range of embodiments, including a wide range of examples encompassing any such changes in form, construction, and arrangement of elements as described herein.
[0051] While the present disclosure has been described with reference to various examples, it will be understood that these examples are illustrative and that the scope of the present disclosure is not limited thereto. All subject matter described herein is presented in the form of illustrative, non-limiting examples, and not as an exclusive implementation, whether or not explicitly called out as an example for purposes of illustration. Many variations, modifications, and additions are possible within the scope of the examples of the present disclosure. More generally, examples according to the present disclosure are described in the context of specific implementations. Functions may be separated or combined in separate blocks, or described in different terms, in various examples of the present disclosure without departing from the spirit and scope of the present disclosure and the following claims. These and other variations, modifications, additions, and improvements may be included within the scope of the present disclosure, as defined in the following claims.
Claims
1. 1. A data storage device comprising: one or more disks; an actuator mechanism configured to position a selected head of the one or more heads adjacent to a corresponding disk surface of a corresponding disk of the one or more disks; one or more processing devices, selecting a seek time model from a plurality of seek time models based at least in part on operational characteristics of the access command; determining an access time for the access command using the selected seek time model; selecting a next access command for execution based on the determined access time for the access command and determined access times for other access commands of the plurality of access commands; The plurality of seek time models are: The original seek time model and at least one slow seek time model based on the original seek time model and at least one delay time model; the operational characteristics include an off-track susceptibility of a seek access pattern including the access command and an access command preceding the access command; selecting the seek time model selecting the at least one slow seek time model in response to the access command being a write seek having a seek length less than a first threshold preceded by a read seek having a seek length greater than a second threshold; selecting the original seek time model in response to the access command being neither (1) a write seek having a seek length shorter than the first threshold nor (2) a command preceded by a read seek having a seek length longer than the second threshold.
2. 1. A data storage device comprising: one or more disks; an actuator mechanism configured to position a selected head of the one or more heads adjacent to a corresponding disk surface of a corresponding disk of the one or more disks; one or more processing devices, selecting a seek time model from a plurality of seek time models based at least in part on operational characteristics of the access command; determining an access time for the access command using the selected seek time model; selecting a next access command for execution based on the determined access time for the access command and determined access times for other access commands of the plurality of access commands; The plurality of seek time models are: The original seek time model and at least one slow seek time model based on the original seek time model and at least one delay time model; the operational characteristics include an off-track susceptibility of a seek access pattern including the access command and an access command preceding the access command; selecting the seek time model selecting the at least one slow seek time model in response to the access command being a write seek having a seek length less than a first threshold, preceded by a track follow having a follow time less than a second threshold, and preceded by a read seek having a seek length greater than a third threshold; selecting the original seek time model in response to the access command being a write seek having a seek length shorter than the first threshold, preceded by a track follow having a follow time longer than the second threshold, and preceded by a read seek having a seek length longer than the third threshold.
3. 1. A data storage device comprising: one or more disks; an actuator mechanism configured to position a selected head of the one or more heads adjacent to a corresponding disk surface of a corresponding disk of the one or more disks; one or more processing devices, selecting a seek time model from a plurality of seek time models based at least in part on operational characteristics of the access command; determining an access time for the access command using the selected seek time model; selecting a next access command for execution based on the determined access time for the access command and determined access times for other access commands of the plurality of access commands; The plurality of seek time models are: The original seek time model and at least one slow seek time model based on the original seek time model and at least one delay time model; the at least one slow seek time model: a first slow seek time model including the original seek time model combined with a first delay time model; a second slow seek time model that includes the original seek time model combined with a second delay time model that is different from the first delay time model.
4. 10. The data storage device of claim 1, wherein said selecting said at least one slow seek time model reduces the likelihood of an off-track write event due to said access command.
5. the first delay time model is based on a first status of tilt distance learning; 4. The data storage device of claim 3, wherein the second delay time model is based on a second status of tilt distance learning that is different from the first status of tilt distance learning.
6. the operating characteristics include a piezoelectric (PZT) actuator stroke; 2. The data storage device of claim 1, wherein said selecting said seek time model comprises selecting said slow seek time model in response to said PZT actuator stroke exceeding a threshold.
7. 7. The data storage device of claim 6, wherein said selecting said at least one slow seek time model optimizes utilization of said PZT actuator stroke.
8. 2. The data storage device of claim 1, wherein said determining said access time for said access command using said selected seek time model comprises adjusting said selected seek time model based on a drive temperature.
9. 2. The data storage device of claim 1, wherein said determining said access time for said access command using said selected seek time model comprises adjusting said selected seek time model based on a drive voltage.
10. 2. The data storage device of claim 1, wherein a rotational positioning optimization circuit performs the selecting of the seek time model, the determining of the access time, and the selecting of the next access command.
11. 1. A method comprising: selecting, by one or more processing devices, a seek time model from a plurality of seek time models based at least in part on an operating characteristic of an access command, the operating characteristic relating to an off-track susceptibility of executing the access command; determining, by the one or more processing devices, an access time for the access command using the selected seek time model; and selecting, by the one or more processing devices, a next access command for execution based on the determined access time for the access command and determined access times for other access commands of the plurality of access commands; The plurality of seek time models are: The original seek time model and at least one slow seek time model based on the original seek time model and at least one delay time model; the operational characteristics include an off-track susceptibility of a seek access pattern including the access command and an access command preceding the access command; selecting the seek time model selecting the at least one slow seek time model in response to the access command being a write seek having a seek length less than a first threshold preceded by a read seek having a seek length greater than a second threshold; selecting the original seek time model in response to the access command not being (1) a write seek having a seek length less than the first threshold or (2) a command preceded by a read seek having a seek length greater than the second threshold.
12. 1. A method comprising: selecting, by one or more processing devices, a seek time model from a plurality of seek time models based at least in part on an operating characteristic of an access command, the operating characteristic relating to an off-track susceptibility of executing the access command; determining, by the one or more processing devices, an access time for the access command using the selected seek time model; and selecting, by the one or more processing devices, a next access command for execution based on the determined access time for the access command and determined access times for other access commands of the plurality of access commands; The plurality of seek time models are: The original seek time model and at least one slow seek time model based on the original seek time model and at least one delay time model; the operational characteristics include an off-track susceptibility of a seek access pattern including the access command and an access command preceding the access command; selecting the seek time model selecting the at least one slow seek time model in response to the access command being a write seek having a seek length less than a first threshold, preceded by a track follow having a follow time less than a second threshold, and preceded by a read seek having a seek length greater than a third threshold; selecting the original seek time model in response to the access command being a write seek having a seek length shorter than the first threshold, preceded by a track follow having a follow time longer than the second threshold, and preceded by a read seek having a seek length longer than the third threshold.
13. 1. A method comprising: selecting, by one or more processing devices, a seek time model from a plurality of seek time models based at least in part on an operating characteristic of an access command, the operating characteristic relating to an off-track susceptibility of executing the access command; determining, by the one or more processing devices, an access time for the access command using the selected seek time model; and selecting, by the one or more processing devices, a next access command for execution based on the determined access time for the access command and determined access times for other access commands of the plurality of access commands; The plurality of seek time models are: The original seek time model and at least one slow seek time model based on the original seek time model and at least one delay time model; the at least one slow seek time model: a first slow seek time model including the original seek time model combined with a first delay time model; a second slow seek time model comprising the original seek time model combined with a second delay time model different from the first delay time model.
14. 12. The method of claim 11, wherein the plurality of seek time models includes an original seek time model and at least one slow seek time model that is based on the original seek time model and at least one delay time model.
15. 12. The method of claim 11, wherein determining the access time for the access command using the selected seek time model comprises adjusting the selected seek time model based on a drive temperature or a drive voltage.
16. one or more processing devices, means for selecting a seek time model from a plurality of seek time models based at least in part on an operating characteristic of an access command, the operating characteristic relating to an off-track susceptibility of executing the access command; and means for determining an access time for the access command using the selected seek time model; means for selecting a next access command for execution based on the determined access time for the access command and determined access times for other access commands of the plurality of access commands; The plurality of seek time models are: The original seek time model and at least one slow seek time model based on the original seek time model and at least one delay time model; the operational characteristics include an off-track susceptibility of a seek access pattern including the access command and an access command preceding the access command; selecting the seek time model selecting the at least one slow seek time model in response to the access command being a write seek having a seek length less than a first threshold preceded by a read seek having a seek length greater than a second threshold; selecting the original seek time model in response to the access command being neither (1) a write seek having a seek length shorter than the first threshold nor (2) a command preceded by a read seek having a seek length longer than the second threshold.
17. one or more processing devices, means for selecting a seek time model from a plurality of seek time models based at least in part on an operating characteristic of an access command, the operating characteristic relating to an off-track susceptibility of executing the access command; and means for determining an access time for the access command using the selected seek time model; means for selecting a next access command for execution based on the determined access time for the access command and determined access times for other access commands of the plurality of access commands; The plurality of seek time models are: The original seek time model and at least one slow seek time model based on the original seek time model and at least one delay time model; the operational characteristics include an off-track susceptibility of a seek access pattern including the access command and an access command preceding the access command; selecting the seek time model selecting the at least one slow seek time model in response to the access command being a write seek having a seek length less than a first threshold, preceded by a track follow having a follow time less than a second threshold, and preceded by a read seek having a seek length greater than a third threshold; selecting the original seek time model in response to the access command being a write seek having a seek length shorter than the first threshold, preceded by a track follow having a follow time longer than the second threshold, and preceded by a read seek having a seek length longer than the third threshold.
18. one or more processing devices, means for selecting a seek time model from a plurality of seek time models based at least in part on an operating characteristic of an access command, the operating characteristic relating to an off-track susceptibility of executing the access command; and means for determining an access time for the access command using the selected seek time model; means for selecting a next access command for execution based on the determined access time for the access command and determined access times for other access commands of the plurality of access commands; The plurality of seek time models are: The original seek time model and at least one slow seek time model based on the original seek time model and at least one delay time model; the at least one slow seek time model: a first slow seek time model including the original seek time model combined with a first delay time model; a second slow seek time model comprising the original seek time model combined with a second delay time model different from the first delay time model.
19. 20. The one or more processing devices of claim 17, wherein the plurality of seek time models comprises an original seek time model and at least one slow seek time model that is based on the original seek time model and at least one delay time model.
20. the plurality of seek time models include an original seek time model and at least one slow seek time model based on the original seek time model and at least one delay time model; 20. The one or more processing devices of claim 17, wherein the selecting the at least one slow seek time model optimizes use of a piezoelectric (PZT) actuator stroke.
Citation Information
Patent Citations
Method for shortening of rotation latency in disk drive
JP1996329589A
Seek adaptation system in hard disk drives
US20080100956A1
Disk drive modifying estimated seek times for a rotational position optimization algorithm based on change in estimated seek time parameter
US7061714B1