IP Library Granted Patent US 9,280,477
Granted Patent B2
US 9,280,477 · App. 13/292,169 · Granted Mar 8, 2016

Data storage management in a memory 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 9,280,477
App. No.
13/292,169
Granted
Mar 8, 2016
Kind
B2
Abstract

The disclosure is related to systems and methods of managing data storage in a memory device. In a particular embodiment, a method is disclosed that includes receiving, in a data storage device, at least one data packet that has a size that is different from an allocated storage capacity of at least one physical destination location on a data storage medium in the data storage device for the at least one data packet. The method also includes storing the at least one received data packet in a non-volatile cache memory prior to transferring the at least one received data packet to the at least one physical destination location.

Claims (47)

1. A disc drive comprising:

a first cache memory, wherein the first cache memory is a media cache that is a portion of non-volatile data storage media that include final physical destination locations for data packets received in the disc drive, wherein the non-volatile data storage media comprise one or more non-volatile data storage discs, and wherein the first cache memory is a portion of the one or more non-volatile data storage discs;

a volatile cache memory;

a non-volatile cache memory of a different type than the first cache memory, the non-volatile cache memory being physically separate from the data storage media; and

a controller configured to:

temporarily store at least some of the received data packets in the non-volatile cache memory;

when the at least some of the received data packets reach a predetermined number of data packets in the non-volatile cache memory, transfer the predetermined number of data packets from the non-volatile cache memory to the first cache memory prior to storing the predetermined number of data packets in at least some of the final physical destination locations in the disc drive;

group the predetermined number of data packets transferred to the first cache memory into different subsets based on proximity of logical block addresses of different one of the predetermined number of data packets, wherein the first cache memory is the portion of the one or more non-volatile data storage discs;

transfer any one of the subsets of data packets from said first cache memory, which is the portion of the one or more non-volatile data storage discs, to the volatile cache memory, and transfer any existing data in the final physical destination locations for the subset to the volatile cache memory;

update the transferred existing data with the data packets of the subset in the volatile cache memory to obtain modified data; and

commit the modified data to the final physical destination locations for the subset.

2. The disc drive of claim 1 and wherein each of the at least some of the received data packets has a size that is different from an allocated storage capacity of each of the at least some of the final physical destination locations.

3. The disc drive of claim 2 and wherein received data packets other than the at least some of the received data packets each have a size that corresponds to the allocated storage capacity of each of the final physical destination locations.

4. The disc drive of claim 3 and wherein the controller is further configured to:

temporarily store each received data packet, which has the size that corresponds to the allocated storage capacity of the final physical destination location, in the volatile cache memory; and

directly transfer the temporarily stored received data packets, which each has the size that corresponds to the allocated storage capacity of the final physical destination location, form the volatile cache memory to the intended final physical destination locations.

5. The disc drive of claim 3 and wherein the controller is further configured to:

temporarily store each received data packet, which has the size that corresponds to the allocated storage capacity of the final physical destination location, in the non-volatile cache memory; and

directly transfer the temporarily stored received data packets, which each has the size that corresponds to the allocated storage capacity of the final physical destination location, from the non-volatile cache memory to the intended final physical destination locations.

6. The disc drive of claim 1 and wherein the non-volatile cache memory is a solid state memory.

7. The disc drive of claim 6 and wherein the non-volatile cache memory has a substantially lower capacity than the volatile cache memory.

8. The disc drive of claim 1 and wherein the data storage media are one of magnetic storage media or optical storage media.

9. The disc drive of claim 1 and wherein the data packets are addressed by logical block addresses (LBAs).

10. The disc drive of claim 1 and wherein the non-volatile cache memory is as rewritable as the data storage media.

11. A method implemented in a disc drive, the method comprising:

providing a first cache memory, wherein the first cache memory is a media cache that is a portion of non-volatile data storage media that include final physical destination locations for data packets received in the disc drive, wherein the non-volatile data storage media comprises one or more non-volatile data storage discs, and wherein the first cache memory is a portion of the one or more non-volatile data storage discs;

providing a volatile cache memory;

providing a non-volatile cache memory of a different type than the first cache memory, the non-volatile cache memory being physically separate from the data storage media;

temporarily storing at least some of the received data packets in the non-volatile cache memory;

when the at least some of the received data packets reach a predetermined number of data packets in the non-volatile cache memory, transferring the predetermined number of data packets from the non-volatile cache memory to the first cache memory prior to storing the predetermined number of data packets in at least some of the final physical destination locations in the disc drive;

grouping the predetermined number of data packets transferred to the first cache memory into different subsets based on proximity of logical block addresses of different ones of the predetermined number of data packets, wherein the first cache memory is the portion of the one or more non-volatile data storage discs;

transferring any one of the subsets of data packets from said first cache memory, which is the portion of the one or more non-volatile data storage discs, to the volatile cache memory, and transferring any existing data in the final physical destination locations for the subset to the volatile cache memory;

updating the transferred existing data with the data packets of the subset in the volatile cache memory to obtain modified data; and

committing the modified data to the final physical destination locations for the subset.

12. The method of claim 11 and wherein each of the at least some of the received data packets has a size that is different from an allocated storage capacity of each of the at least some of the final physical destination locations.

13. The method of claim 12 and wherein received data packets other than the at least some of the received data packets each have a size that corresponds to the allocated storage capacity of each of the final physical destination locations.

14. The method of claim 13 and further comprising:

temporarily storing each received data packet, which has the size that corresponds to the allocated storage capacity of the final physical destination location, in the volatile cache memory; and

directly transferring the temporarily stored received data packets, which each has the size the corresponds to the allocated storage capacity of the final physical destination location, from the volatile cache memory to the intended final physical destination locations.

15. The method of claim 13 and further comprising:

temporarily storing each received data packet, which has the size that corresponds to the allocated storage capacity of the final physical destination location, in the non-volatile cache memory; and

directly transferring the temporarily stored received data packets, which each has the size that correspond to the allocated storage capacity of the final physical destination location, from the non-volatile cache memory to the intended final physical destination location.

16. The method of claim 11 and wherein providing the non-volatile cache memory includes providing a non-volatile solid state cache memory.

17. The method of claim 16 and wherein the non-volatile cache memory has a substantially lower capacity than the volatile cache memory.

18. The method of claim 11 and wherein the data storage media are one of magnetic storage media or optical storage media.

19. The method of claim 11 and further comprising addressing the data packets by logical block addresses (LBAs).

20. The method of claim 11 and wherein the non-volatile cache memory is as rewritable as the data storage media.

Assignments (5)
RELEASE OF SECURITY INTEREST Recorded Feb 28, 2025
From: THE BANK OF NOVA SCOTIA
To: SEAGATE TECHNOLOGY US HOLDINGS, INC.; EVAULT, INC. (F/K/A I365 INC.); SEAGATE TECHNOLOGY LLC
Reel/Frame 070363/0903 →
RELEASE OF SECURITY INTEREST Recorded Jul 23, 2024
From: WELLS FARGO BANK, NATIONAL ASSOCIATION, AS COLLATERAL AGENT
To: SEAGATE TECHNOLOGY LLC; EVAULT INC
Reel/Frame 068457/0076 →
SECURITY AGREEMENT Recorded Oct 15, 2012
From: SEAGATE TECHNOLOGY LLC; EVAULT, INC. (F/K/A I365 INC.); SEAGATE TECHNOLOGY US HOLDINGS, INC.
To: THE BANK OF NOVA SCOTIA, AS ADMINISTRATIVE AGENT
Reel/Frame 029127/0527 →
SECOND LIEN PATENT SECURITY AGREEMENT Recorded Oct 15, 2012
From: SEAGATE TECHNOLOGY LLC; EVAULT, INC. (F/K/A I365 INC.); SEAGATE TECHNOLOGY US HOLDINGS, INC.
To: WELLS FARGO BANK, NATIONAL ASSOCIATION, AS COLLATERAL AGENT
Reel/Frame 029253/0585 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 9, 2011
From: FRIENDSHUH, LUKE W.; EDGAR, BRIAN T.; GAERTNER, MARK A.
To: SEAGATE TECHNOLOGY LLC
Reel/Frame 027198/0236 →