IP Library Granted Patent US 9,875,055
Granted Patent B1
US 9,875,055 · App. 14/451,115 · Granted Jan 23, 2018

Check-pointing of metadata

Inventors: Srinivas Neppalli (Irvine, CA); Raymond Yu (Westminster, CA)
Assignee: Western Digital Technologies, Inc.
G06F3/064G06F3/0604G06F3/0656G06F3/0674G06F2003/0695
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,875,055
App. No.
14/451,115
Granted
Jan 23, 2018
Kind
B1
Abstract

Managing data stored in a Data Storage Device (DSD) including a volatile memory and a non-volatile memory including a circular buffer. Metadata stored in the volatile memory is logically divided into blocks of metadata. At least one changed block of metadata is identified that has changed during operation of the DSD and the at least one changed block of metadata is stored in the circular buffer of the non-volatile memory.

Claims (41)

1. A Data Storage Device (DSD), comprising:

a volatile memory for storing metadata;

a non-volatile memory including a disk; and

a controller configured to:

logically divide the metadata into blocks of metadata;

identify at least one changed block of metadata that has changed during operation of the DSD; and

store the at least one changed block of metadata in a circular buffer in overlapping tracks on the disk.

2. The DSD of claim 1 , wherein the metadata includes a translation table associating logical block addresses for data stored in the DSD with physical block addresses identifying locations where the data is stored in the DSD.

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

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

store the at least one changed block of metadata in the circular buffer after receiving a predetermined number of write commands from the host.

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

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

store the at least one changed block of metadata in the circular buffer after a predetermined amount of time of not receiving any write commands from the host.

5. The DSD of claim 1 , wherein the non-volatile memory includes a solid-state memory.

6. The DSD of claim 1 , wherein the non-volatile memory further includes a root area for storing mapping data indicating a location of at least a portion of the metadata stored in the circular buffer.

7. The DSD of claim 6 , wherein the controller is further configured to update the mapping data in the root area based on storing the at least one changed block of metadata in the circular buffer.

8. The DSD of claim 1 , wherein the controller is further configured to ensure coherency between the at least one changed block of metadata stored in the volatile memory and the at least one changed block of metadata being stored in the circular buffer when storing the at least one changed block of metadata in the circular buffer.

9. The DSD of claim 8 , wherein the controller is further configured to block further changes to the at least one changed block of metadata stored in the volatile memory when storing the at least one changed block of metadata in the circular buffer to ensure coherency between the at least one changed block of metadata stored in the volatile memory and the at least one changed block of metadata being stored in the circular buffer.

10. The DSD of claim 1 , wherein the controller is further configured to identify the at least one changed block of metadata using at least one flag indicating a change to metadata corresponding to the at least one changed block of metadata.

11. A method for managing data stored in a Data Storage Device (DSD) comprising a volatile memory and a non-volatile memory including a disk, the method comprising:

logically dividing metadata stored in the volatile memory into blocks of metadata;

identifying at least one changed block of metadata that has changed during operation of the DSD; and

storing the at least one changed block of metadata in a circular buffer in overlapping tracks on the disk.

12. The method of claim 11 , wherein the metadata includes a translation table associating logical block addresses for data stored in the DSD with physical block addresses identifying locations where the data is stored in the DSD.

13. The method of claim 11 , further comprising:

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

storing the at least one changed block of metadata in the circular buffer after receiving a predetermined number of write commands from the host.

14. The method of claim 11 , further comprising:

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

storing the at least one changed block of metadata in the circular buffer after a predetermined amount of time of not receiving any write commands from the host.

15. The method of claim 11 , wherein the non-volatile memory includes a solid-state memory.

16. The method of claim 11 , wherein the non-volatile memory further includes a root area for storing mapping data indicating a location of at least a portion of the metadata stored in the circular buffer.

17. The method of claim 16 , further comprising updating the mapping data in the root area based on storing the at least one changed block of metadata in the circular buffer.

18. The method of claim 11 , further comprising ensuring coherency between the at least one changed block of metadata stored in the volatile memory and the at least one changed block of metadata being stored in the circular buffer when storing the at least one changed block of metadata in the circular buffer.

19. The method of claim 18 , further comprising blocking further changes to the at least one changed block of metadata stored in the volatile memory when storing the at least one changed block of metadata in the circular buffer to ensure coherency between the at least one changed block of metadata stored in the volatile memory and the at least one changed block of metadata being stored in the circular buffer.

20. The method of claim 11 , further comprising identifying the at least one changed block of metadata using at least one flag indicating a change to metadata corresponding to the at least one changed block of metadata.

21. A computer readable storage medium storing computer-executable instructions for managing data stored in a Data Storage Device (DSD) comprising a volatile memory and a non-volatile memory including a disk, wherein when the computer-executable instructions are executed by a processor or controller, the computer-executable instructions cause the processor or controller to:

logically divide metadata stored in the volatile memory into blocks of metadata;

identify at least one changed block of metadata that has changed during operation of the DSD; and

store the at least one changed block of metadata in a circular buffer in overlapping tracks on the disk.

Assignments (8)
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 038744/0481 →
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 038722/0229 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 15, 2015
From: NEPPALLI, SRINIVAS; YU, RAYMOND
To: WESTERN DIGITAL TECHNOLOGIES, INC.
Reel/Frame 035419/0061 →