IP Library Granted Patent US 6,968,450
Granted Patent B1
US 6,968,450 · App. 10/160,682 · Granted Nov 22, 2005

Disk drive caching initial host requested data in non-volatile semiconductor memory to reduce start-up time of a host computer

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 6,968,450
App. No.
10/160,682
Granted
Nov 22, 2005
Kind
B1
Abstract

A disk drive is disclosed comprising a disk for storing initial host requested (IHR) data requested by a host computer during a start-up process of the host computer, a head actuated radially over the disk, and a non-volatile semiconductor memory (NVSM) for caching at least part of the IHR data. The disk drive transmits the cached IHR data from the NVSM to the host computer during the start-up process thereby avoiding the delay associated with initializing the mechanics of the disk drive as well as conserving battery power for mobile applications.

Claims (64)

1. A disk drive connectable to a host computer, the disk drive comprising:

(a) a disk for storing initial host requested (IHR) data requested by the host computer during a start-up process of the host computer;

(b) a head actuated radially over the disk;

(c) a non-volatile semiconductor memory (NVSM) for caching at least part of the IHR data; and

(d) a disk controller for performing a mechanical initialization process for the disk drive and for transmitting the IHR data to the host computer during the start-up process by:

enabling the disk drive to receive a read command from the host computer before completing the mechanical initialization process;

receiving the read command from the host computer to read the IHR data;

if the IHR data is cached in the NVSM, transmitting the cached IHR data from the NVSM to the host computer; and

if the IHR data is not cached in the NVSM:

waiting for the mechanical initialization process to complete;

reading the IHR data from the disk; and

transmitting the IHR data to the host computer, wherein:

the start-up process begins in connection with an operating system boot of the host computer;

the IHR data comprises operating system boot data;

the IHR data comprises a plurality of IHR data blocks requested in a sequence by the host computer during the start-up process; and

when the sequence of IHR data blocks requested by the host computer changes, the disk controller re-allocates a block of the NVSM storing a later requested IHR data block cached in the NVSM in order to cache an earlier requested IHR data block in the NVSM.

2. The disk drive as recited in claim 1 , wherein the IHR data read from the disk is stored in the NVSM.

3. The disk drive as recited in claim 1 , wherein:

(a) the host computer enters a hibernation mode;

(b) prior to entering the hibernation mode, the disk controller stores image data representing an operating state of the host computer in the NVSM in response to a write command received from the host computer;

(c) the start-up process begins in connection with the host computer waking from the hibernation mode; and

(d) the IHR data comprises the image data.

4. The disk drive as recited in claim 1 , wherein the mechanical initialization process comprises a disk spin-up process.

5. The disk drive as recited in claim 1 , wherein the mechanical initialization process calibrates a servo system for positioning the head radially over the disk.

6. The disk drive as recited in claim 1 , wherein the disk controller re-allocates a block of the NVSM if the host computer does not request the IHR data cached in the block of NVSM during the start-up process.

7. The disk drive as recited in claim 1 , wherein the disk controller re-allocates a block of the NVSM if the host computer does not request the IHR data cached in the block of NVSM after a predetermined number of start-up processes.

8. The disk drive as recited in claim 1 , wherein:

(a) the NVSM stores a cache data structure used by the disk controller to access the NVSM; and

(b) the disk controller initializes the cache data structure at the beginning of the start-up process.

9. The disk drive as recited in claim 8 , wherein the cache data structure comprises a number of entries, wherein each entry comprises:

(a) a first field storing a block identifier for identifying an IHR data block;

(b) a second field storing a memory address of the NVSM where the IHR data block is stored; and

(c) a third field indicating whether the IHR data block was requested by the host computer during the start-up process.

10. The disk drive as recited in claim 9 , wherein the disk controller initializes the cache data structure by resetting the third field in each entry to indicate that none of the IHR data blocks have been requested by the host computer at the beginning of the start-up process.

11. The disk drive as recited in claim 9 , wherein each entry further comprises a sequence number identifying the order in which the IHR data block was requested by the host computer during the start-up process.

12. A method of operating a disk drive during a start-up process for a host computer, the disk drive comprising a disk for storing initial host requested (IHR) data requested by the host computer during the start-up process, a head actuated radially over the disk, and a non-volatile semiconductor memory (NVSM) for caching at least part of the IHR data, the disk drive performing a mechanical initialization process, the method comprising the steps of:

(a) enabling the disk drive to receive a read command from the host computer before completing the mechanical initialization process;

(b) receiving the read command from the host computer to read the IHR data;

(c) if the IHR data is cached in the NVSM, transmitting the cached IHR data from the NVSM to the host computer; and

(d) if the IHR data is not cached in the NVSM:

waiting for the mechanical initialization process to complete;

reading the IHR data from the disk; and

transmitting the IHR data to the host computer wherein:

the start-up process begins in connection with an operating system boot of the host computer;

the IHR data comprises operating system boot data;

the IHR data comprises a plurality of IHR data blocks requested in a sequence by the host computer during the start-up process; and

when the sequence of IHR data blocks requested by the host computer changes, further comprising the step of re-allocating a block the NVSM storing the last IHR data block cached in the NVSM in order to cache an earlier requested IHR data block in the NVSM.

13. The method as recited in claim 12 , wherein the IHR data read from the disk is stored in the NVSM.

14. The method as recited in claim 12 , wherein the host computer enters a hibernation mode, further comprising the steps of:

(a) prior to entering the hibernation mode, storing image data representing an operating state of the host computer in the NVSM in response to a write command received from the host computer; and

(b) beginning the start-up process in connection with the host computer waking from the hibernation mode, wherein the IHR data comprises the image data.

15. The method as recited in claim 12 , wherein the mechanical initialization process comprises a disk spin-up process.

16. The method as recited in claim 12 , wherein the mechanical initialization process calibrates a servo system for positioning the head radially over the disk.

17. The method as recited in claim 12 , further comprising the step of re-allocating a block of the NVSM if the host computer does not request the IHR data cached in the block of NVSM during the start-up process.

18. The method as recited in claim 12 , further comprising the step of re-allocating a block of the NVSM if the host computer does not request the IHR data cached in the block of NVSM after a predetermined number of start-up processes.

19. The method as recited in claim 12 , further comprising the steps of:

(a) storing a cache data structure in the NVSM used to access the NVSM; and

(b) initializing the cache data structure at the beginning of the start-up process.

20. The method as recited in claim 19 , wherein the cache data structure comprises a number of entries, wherein each entry comprises:

(a) a first field storing a block identifier for identifying an IHR data block;

(b) a second field storing a memory address of the NVSM where the IHR data block is stored; and

(c) a third field indicating whether the IHR data block was requested by the host computer during the start-up process.

21. The method as recited in claim 20 , wherein the step of initializing the cache data structure comprises the step of resetting the third field in each entry to indicate that none of the IHR data blocks have been requested by the host computer at the beginning of the start-up process.

22. The method as recited in claim 20 , wherein each entry further comprises a sequence number identifying the order in which the IHR data block was requested by the host computer during the start-up process.

Assignments (7)
PATENT COLLATERAL AGREEMENT - DDTL LOAN AGREEMENT Recorded Aug 21, 2023
From: WESTERN DIGITAL TECHNOLOGIES, INC.
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 067045/0156 →
PATENT COLLATERAL AGREEMENT - A&R LOAN AGREEMENT Recorded Aug 21, 2023
From: WESTERN DIGITAL TECHNOLOGIES, INC.
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 064715/0001 →
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 →