IP Library Granted Patent US 8,090,906
Granted Patent B1
US 8,090,906 · App. 12/482,220 · Granted Jan 3, 2012

Dynamic processor bandwidth allocation in response to environmental conditions

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 8,090,906
App. No.
12/482,220
Granted
Jan 3, 2012
Kind
B1
Abstract

Servo-related tasks are performed at a first processor in a disk drive. A signal indicative of an environmental condition is received at the first processor, and code associated with the environmental condition is identified based at least in part on the signal. A second processor in the disk drive is caused to execute the code associated with the environmental condition, and a responsive task is performed at the first processor based at least in part on the executed code associated with the environmental condition.

Claims (49)

1. A method of operating a disk drive having a first processor and a second processor, the method comprising:

performing servo-related tasks at the first processor;

receiving a signal indicative of an environmental condition at the first processor;

identifying code associated with the environmental condition based at least in part on the signal;

causing the second processor to execute the code associated with the environmental condition; and

performing a responsive task at the first processor based at least in part on the executed code associated with the environmental condition.

2. The method of claim 1 , wherein the servo-related tasks include at least one of decoding servo fields, maintaining spindle speed, managing disk drive sensors, track seeking and track following.

3. The method of claim 1 , wherein receiving the signal indicative of the environmental condition includes receiving a signal indicative of rotational vibration from at least one accelerometer.

4. The method of claim 3 , wherein causing the second processor to execute the code associated with the environmental condition includes causing the second processor to process the signal indicative of the rotational vibration in accordance with a rotary acceleration feed forward algorithm to generate a rotary control signal.

5. The method of claim 4 , wherein performing the responsive task at the first processor based at least in part on the executed code includes controlling a voice coil motor based at least in part on a position error signal and the rotary control signal.

6. The method of claim 1 , wherein receiving the signal indicative of the environmental condition includes receiving a signal indicative of at least one of an external shock, air pressure and temperature.

7. The method of claim 6 , wherein performing the responsive task at the first processor based at least in part on the executed code includes adjusting a dynamic fly-height of a head of the disk drive based at least in part on the executed code.

8. The method of claim 1 , wherein the first processor is configured to identify the code associated with the environmental condition.

9. The method of claim 8 , wherein, after identifying the code associated with the environmental condition, the first processor issues a command to the second processor causing the second processor to execute the code associated with the environmental condition.

10. The method of claim 9 , wherein the first processor sets a dedicated interrupt causing the second processor to execute the code associated with the environmental condition.

11. The method of claim 1 , further comprising:

determining an available bandwidth of the first processor; and

determining whether or not to cause the second processor to execute the code associated with the environmental condition based at least in part on the available bandwidth of the first processor.

12. The method of claim 1 , wherein identifying the code associated with the environmental condition includes pre-processing the signal indicative of the environmental condition at the first processor, and identifying the code associated with the environmental condition based at least in part on the pre-processing.

13. The method of claim 1 , further comprising executing a disk drive operating system on the second processor.

14. A disk drive comprising:

a disk having a disk surface;

a head actuatable over the disk surface and operable to write to and read from the disk surface;

a sensor configured to generate a signal indicative of an environmental condition;

a first processor operable to perform servo-related tasks and execute instructions, the first processor coupled to and configured to receive the signal from the sensor;

a second processor coupled to the first processor; and

a computer-readable memory having instructions stored thereon that are executable by the first processor in order to cause the first processor to respond to the environmental condition by:

identifying code associated with the environmental condition based at least in part on the signal;

causing the second processor to execute the code associated with the environmental condition; and

performing a responsive task based at least in part on the executed code associated with the environmental condition.

15. The disk drive of claim 14 , wherein the servo-related tasks include at least one of decoding servo fields, maintaining spindle speed, managing disk drive sensors, track seeking and track following.

16. The disk drive of claim 14 , wherein the sensor comprises at least one accelerometer configured to generate a signal indicative of rotational vibration.

17. The disk drive of claim 16 , wherein causing the second processor to execute the code associated with the environmental condition includes causing the second processor to process the signal indicative of the rotational vibration in accordance with a rotary acceleration feed forward algorithm to generate a rotary control signal.

18. The disk drive of claim 17 , wherein performing the responsive task based at least in part on the executed code includes controlling a voice coil motor based at least in part on a position error signal and the rotary control signal.

19. The disk drive of claim 14 , wherein the sensor is configured to generate a signal indicative of at least one of an external shock, air pressure and temperature.

20. The disk drive of claim 19 , wherein performing the responsive task based at least in part on the executed code includes adjusting a dynamic fly-height of the head based at least in part on the executed code.

21. The disk drive of claim 14 , wherein causing the second processor to execute the code includes sending a command from the first processor to the second processor to cause the second processor to execute the code associated with the environmental condition.

22. The disk drive of claim 21 , wherein causing the second processor to execute the code includes setting a dedicated interrupt to cause the second processor to execute the code associated with the environmental condition.

23. The disk drive of claim 14 , wherein the computer-readable memory has additional instructions stored thereon that are executable by the first processor in order to cause the first processor to:

determine an available bandwidth of the first processor; and

determine whether or not to cause the second processor to execute the code associated with the environmental condition based at least in part on the available bandwidth of the first processor.

24. The disk drive of claim 14 , wherein identifying the code associated with the environmental condition includes pre-processing the signal indicative of the environmental condition, and identifying the code associated with the environmental condition based at least in part on the pre-processing.

25. The disk drive of claim 14 , wherein the second processor is further configured to execute a disk drive operating system.

26. A disk drive having a first processor and a second processor, the disk drive comprising:

means for performing servo-related tasks at the first processor;

means for receiving a signal indicative of an environmental condition at the first processor;

means for identifying code associated with the environmental condition based at least in part on the signal;

means for causing the second processor to execute the code associated with the environmental condition; and

means for performing a responsive task at the first processor based at least in part on the executed code associated with the environmental condition.

Assignments (6)
RELEASE OF SECURITY INTEREST AT REEL 038744 FRAME 0481 Recorded Feb 8, 2022
From: JPMORGAN CHASE BANK, N.A.
To: WESTERN DIGITAL TECHNOLOGIES, INC.
Reel/Frame 058982/0556 →
RELEASE OF SECURITY INTEREST Recorded Mar 5, 2018
From: U.S. BANK NATIONAL ASSOCIATION, AS COLLATERAL AGENT
To: WESTERN DIGITAL TECHNOLOGIES, INC.
Reel/Frame 045501/0714 →
SECURITY AGREEMENT Recorded May 17, 2016
From: WESTERN DIGITAL TECHNOLOGIES, INC.
To: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
Reel/Frame 038722/0229 →
SECURITY AGREEMENT Recorded May 17, 2016
From: WESTERN DIGITAL TECHNOLOGIES, INC.
To: U.S. BANK NATIONAL ASSOCIATION, AS COLLATERAL AGENT
Reel/Frame 038744/0281 →
SECURITY AGREEMENT Recorded May 17, 2016
From: WESTERN DIGITAL TECHNOLOGIES, INC.
To: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
Reel/Frame 038744/0481 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 10, 2009
From: BLAHA, GREG A.; COKER, KENNY T.; MEYER, ALAN T.
To: WESTERN DIGITAL TECHNOLOGIES, INC.
Reel/Frame 022808/0709 →