IP Library Granted Patent US 7,965,465
Granted Patent B2
US 7,965,465 · App. 12/402,415 · Granted Jun 21, 2011

Techniques for storing shingle blocks in a cache memory using a data storage device

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 7,965,465
App. No.
12/402,415
Granted
Jun 21, 2011
Kind
B2
Abstract

A data storage apparatus includes a data storage medium, a write element, a non-volatile cache memory circuit, and a controller circuit. The controller circuit is configured to record data on the data storage medium in groups of overlapping tracks using the write element. The controller circuit is configured to store a shingle block of data from a subset of the overlapping tracks in the non-volatile cache memory circuit, while at least a portion of the data in the shingle block of data is updated.

Claims (27)

1. A data storage apparatus comprising:

at least one data storage medium;

at least one write element;

at least one non-volatile cache memory circuit; and

at least one controller circuit configured to record data on the data storage medium in groups of overlapping tracks using the write element,

wherein a shingle block of data only includes data stored in a portion of each track in a set of overlapping tracks on the data storage medium, and wherein the controller circuit is configured to store the shingle block of data from the portion of each track in the set of the overlapping tracks in the non-volatile cache memory circuit while at least a portion of the data is updated.

2. The data storage apparatus defined in claim 1 wherein the data storage apparatus updates the shingle block of data in the non-volatile cache memory circuit to generate updated data stored in the non-volatile cache memory circuit.

3. The data storage apparatus defined in claim 1 wherein the controller circuit is configured to store multiple shingle blocks of data from a subset of the overlapping tracks in the non-volatile cache memory circuit at the same time while at least a portion of the data in the shingle blocks is updated.

4. The data storage apparatus defined in claim 1 wherein the controller circuit treats data stored in a group of the overlapping tracks on the data storage medium as a shingle block of data, and the controller circuit is configured to store the shingle block of data from the group of the overlapping tracks in the non-volatile cache memory circuit every time that a portion of the shingle block of data is updated.

5. The data storage apparatus defined in claim 1 wherein the controller circuit is configured to record data on the data storage medium in groups of overlapping tracks such that the overlapping tracks in each of the groups do not overlap tracks in any of the other groups of overlapping tracks on the data storage medium.

6. The data storage apparatus defined in claim 1 wherein the non-volatile cache memory circuit is a non-volatile flash memory circuit.

7. The data storage apparatus defined in claim 1 wherein the data storage device is a hard disk drive apparatus.

8. A data storage apparatus comprising a data storage medium, a control circuit, a non-volatile cache memory circuit, and code stored on a computer readable medium, wherein the code comprises:

code for writing data on the data storage medium in groups of overlapping tracks using a write element;

code for storing a shingle block of data from a subset of the overlapping tracks in the non-volatile cache memory circuit while at least a portion of the data in the shingle block of data is updated to generate updated data stored in the non-volatile cache memory circuit; and

code for writing the updated data in the subset of the overlapping tracks on the data storage medium.

9. The data storage apparatus defined in claim 8 wherein the shingle block of data only includes data stored in a portion of each track in a set of overlapping tracks on the data storage medium, and wherein the code for storing the shingle block of data further comprises code for storing the data from the portion of each track in the set of overlapping tracks in the non-volatile cache memory circuit while at least a portion of the data is updated to generate the updated data.

10. The data storage apparatus defined in claim 8 wherein the code for storing the shingle block of data further comprises code for storing multiple shingle blocks of data from a subset of the overlapping tracks in the non-volatile cache memory circuit at the same time while at least a portion of the data in the multiple shingle blocks is updated to generate the updated data.

11. The data storage apparatus defined in claim 8 wherein the code for storing the shingle block of data further comprises code for storing at least three shingle blocks of data from a subset of the overlapping tracks in the non-volatile cache memory circuit at the same time while at least a portion of the data in the three shingle blocks is updated to generate the updated data.

12. The data storage apparatus defined in claim 8 wherein the code for storing the shingle block of data further comprises code for storing a shingle block of data from a subset of the overlapping tracks in the non-volatile cache memory circuit while at least a portion of the data in the shingle block of data is updated such that the shingle block of data comprises data from at least three overlapping tracks.

13. The data storage apparatus defined in claim 8 wherein the code for writing data on the data storage medium in groups of overlapping tracks using the write element further comprises code for writing data on the data storage medium in groups of overlapping tracks such that the overlapping tracks in each of the groups do not overlap tracks in any of the other groups of overlapping tracks on the data storage medium.

14. The data storage apparatus defined in claim 8 wherein the code for storing the shingle block of data further comprises code for storing data from first overlapping tracks that are being updated in the non-volatile cache memory circuit and storing data from second overlapping tracks that was recorded after the data from the first overlapping tracks was recorded in the non-volatile cache memory circuit.

15. A method for storing data on a data storage medium using a data storage device that comprises a non-volatile cache memory circuit, wherein the method comprises:

writing data on the data storage medium in groups of overlapping tracks using a write element;

storing a shingle block of data from a subset of the overlapping tracks in the non-volatile cache memory circuit while at least a portion of the data in the shingle block of data is updated to generate updated data stored in the non-volatile cache memory circuit; and

writing the updated data in the subset of the overlapping tracks on the data storage medium.

16. The method defined in claim 15 wherein storing the shingle block of data further comprises storing multiple shingle blocks of data from a subset of the overlapping tracks in the non-volatile cache memory circuit at the same time while at least a portion of the data in the multiple shingle blocks is updated to generate the updated data.

Assignments (7)
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 052915 FRAME 0566 Recorded Feb 8, 2022
From: JPMORGAN CHASE BANK, N.A.
To: WESTERN DIGITAL TECHNOLOGIES, INC.
Reel/Frame 059127/0001 →
SECURITY INTEREST Recorded Feb 6, 2020
From: WESTERN DIGITAL TECHNOLOGIES, INC.
To: JPMORGAN CHASE BANK, N.A., AS AGENT
Reel/Frame 052915/0566 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 6, 2016
From: HGST NETHERLANDS B.V.
To: WESTERN DIGITAL TECHNOLOGIES, INC.
Reel/Frame 040826/0821 →
CHANGE OF NAME Recorded Oct 25, 2012
From: HITACHI GLOBAL STORAGE TECHNOLOGIES NETHERLANDS B.V.
To: HGST NETHERLANDS B.V.
Reel/Frame 029341/0777 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 11, 2009
From: SANVIDO, MARCO; GUYOT, CYRIL; KULKARNI, ANAND KRISHNAMURTHI; BANDIC, ZVONIMIR; CHEN, MARTIN
To: HITACHI GLOBAL STORAGE TECHNOLOGIES NETHERLANDS, B.V.
Reel/Frame 022381/0165 →