IP Library Granted Patent US 9,323,467
Granted Patent B2
US 9,323,467 · App. 14/105,696 · Granted Apr 26, 2016

Data storage device startup

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 9,323,467
App. No.
14/105,696
Granted
Apr 26, 2016
Kind
B2
Abstract

When a read command is received from a host requesting data stored on a disk of a Data Storage Device (DSD), it is determined whether the DSD is in a startup period and whether the requested data is stored in a solid state memory of the DSD. The requested data is designated for storage in the solid state memory if it is determined that the DSD is in the startup period and the requested data is not stored in the solid state memory.

Claims (49)

1. A data storage device (DSD), comprising:

a disk for storing data;

a solid state memory including a non-volatile cache for storing data; and

a controller configured to:

receive a write command from a host to store data in the DSD;

determine whether the DSD is in a startup period of the DSD, wherein the host accesses boot up data from the DSD during the startup period; and

if it is determined that the DSD is in a startup period:

store the data for the write command in the non-volatile cache of the solid state memory;

update a list to include an entry for the data for the write command, the list including entries indicating data written during a plurality of startup periods of the DSD; and

use the list to determine whether to invalidate or delete the data for the write command in the non-volatile cache.

2. The DSD of claim 1 , wherein the controller is further configured to

designate the data for the write command for later storage on the disk.

3. The DSD of claim 1 , wherein the controller is further configured to determine whether the DSD is in the startup period based on an indication received from the host.

4. The DSD of claim 3 , wherein the indication received from the host indicates that an operating system executing on the host has finished booting.

5. The DSD of claim 1 , wherein the controller is further configured to determine whether the DSD is in the startup period based on at least one of an amount of time since a startup of the DSD and an amount of data transferred between the DSD and the host since the startup of the DSD.

6. The DSD of claim 1 , wherein the list includes entries indicating data read during the plurality of startup periods.

7. The DSD of claim 6 , wherein the controller is further configured to move an entry to a beginning of the list when a read command or a write command is received from the host during a startup period.

8. The DSD of claim 6 , wherein the controller is further configured to:

remove an entry from the list associated with least recently used data over the plurality of startup periods; and

delete the least recently used data from the solid state memory or mark the least recently used data as invalid in the solid state memory.

9. The DSD of claim 6 , wherein an entry in the list includes at least one of a logical address, a block size, and a physical address for data read or written during a startup period of the plurality of startup periods.

10. The DSD of claim 6 , wherein an entry in the list includes data state information indicating whether the data associated with the entry is stored only on the disk, only in the solid state memory, or stored in both the disk and the solid state memory.

11. The DSD of claim 6 , wherein the controller is further configured to:

receive a command to evict data from the solid state memory;

determine whether the data to be evicted is referenced in the list; and

override the command to evict the data if it is determined that the data is referenced in the list.

12. A method for operating a data storage device (DSD) including a solid state memory, the method comprising:

receiving a write command from a host to store data in the DSD;

determining whether the DSD is in a startup period, wherein the host accesses boot up data from the DSD during the startup period; and

if it is determined that the DSD is in a startup period:

storing the data for the write command in a non-volatile cache of the solid state memory;

updating a list to include an entry for the data for the write command, the list including entries indicating data written during a plurality of startup periods of the DSD; and

using the list to determine whether to invalidate or delete the data for the write command in the non-volatile cache.

13. The method of claim 12 , further comprising

designating the data for the write command for later storage on a disk of the DSD.

14. The method of claim 12 , further comprising determining whether the DSD is in the startup period based on an indication received from the host.

15. The method of claim 14 , wherein the indication received from the host indicates that an operating system executing on the host has finished booting.

16. The method of claim 12 , further comprising determining whether the DSD is in the startup period based on at least one of an amount of time since a startup of the DSD and an amount of data transferred between the DSD and the host since the startup of the DSD.

17. The method of claim 12 , wherein the list includes entries associated with data read during the plurality of startup periods.

18. The method of claim 17 , further comprising moving an entry to a beginning of the list when a read command or a write command is received from the host during a startup period.

19. The method of claim 17 , further comprising:

removing an entry from the list associated with least recently used data over the plurality of startup periods; and

deleting the least recently used data from the solid state memory or marking the least recently used data as invalid in the solid state memory.

20. The method of claim 17 , wherein an entry in the list includes at least one of a logical address, a block size, and a physical address for data read or written during a startup period of the plurality of startup periods.

21. The method of claim 17 , wherein an entry in the list includes data state information indicating whether the data associated with the entry is stored only on a disk of the DSD, only in the solid state memory, or stored in both the disk and the solid state memory.

22. The method of claim 17 , further comprising:

receiving a command to evict data from the solid state memory;

determining whether the data to be evicted is referenced in the list; and

overriding the command to evict the data if it is determined that the data is referenced in the list.

Assignments (9)
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 →
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 →
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 Sep 22, 2014
From: HASFAR, ZAIHAS AMRI FAHDZAN; ONG, CHOO-BHIN
To: WESTERN DIGITAL TECHNOLOGIES, INC.
Reel/Frame 033792/0574 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 17, 2014
From: HASFAR, ZAIHAS AMRI FAHDZAN; ONG, CHOO-BHIN
To: WESTERN DIGITAL TECHNOLOGIES, INC.
Reel/Frame 033332/0260 →