IP Library Granted Patent US 10,474,579
Granted Patent B2
US 10,474,579 · App. 14/699,968 · Granted Nov 12, 2019

Dynamic media cache for a data storage drive in an information handling system

Inventors: Wen Hua Li (Tampines, SG); Munif Farhan (Round Rock, TX); Ching Kang Lee (Tampines, SG)
Assignee: Dell Products L.P.
G06F12/0866G06F12/0804G06F12/0868G06F12/0871G06F2212/1041G06F2212/283G06F2212/313G06F2212/601G06F2212/604
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 10,474,579
App. No.
14/699,968
Granted
Nov 12, 2019
Kind
B2
Abstract

A drive controller associated with a data storage medium may receive a command from a host to write a set of data to a storage space of the data storage medium. The drive controller may determine that insufficient space is available in a cache space of the data storage medium to write the set of data to the cache space and may dynamically convert an available portion of the storage space into a dynamic cache space associated with the cache space. The dynamic cache space may remain visible to the host as the available portion of the storage space. The drive controller may then write the set of data to the cache space and report to the host that the set of data is written to the storage space of the data storage medium.

Claims (68)

1. A method comprising:

receiving, by a drive controller, a command from a host to write a set of data to a storage space of a data storage medium, that includes at least one disk platter, associated with the drive controller;

determining, by the drive controller, that insufficient space is available in a cache space of the data storage medium to write the set of data to the cache space;

in response to determining that insufficient space is available in the cache space of the data storage medium to write the set of data to the cache space, determining, by the drive controller, that an available portion of the storage space is available, the available portion of the storage space previously formatted in a first format that includes track sections of the at least one platter such that at least one particular track section overlaps with at least one neighboring track section;

in response to determining that the available portion of the storage space is available, reformatting, by the drive controller, the available portion of the storage space to convert the available portion of the storage space into a dynamic cache space formatted in a second format that includes track sections of the at least one platter such that the least one particular track section does not overlap with any neighboring track sections, wherein the dynamic cache space remains visible to the host as the available portion of the storage space and wherein the available portion of the storage space converted into the dynamic cache space is unavailable for long-term storage of data designated for storage by the host; and

after reformatting the available portion of the storage space into the dynamic cache space formatted in the second format, writing, by the drive controller, the set of data to the dynamic cache space.

2. The method of claim 1 , further comprising:

reporting to the host, by the drive controller in response to writing the set of data to the dynamic cache space, that the set of data is written to the storage space of the data storage medium; and

flushing, by the drive controller, the set of data from the dynamic cache space to the storage space after reporting to the host that the set of data was written to the storage space.

3. The method of claim 1 , wherein the cache space comprises:

the dynamic cache space converted from the available portion of the storage space and visible to the host as the available portion of the storage space; and

a static cache space formatted in the second format and having a fixed size, the static cache space unavailable to be used by the host as part of the storage space.

4. The method of claim 3 , further comprising:

flushing, by the drive controller, contents of the cache space to the storage space starting with contents of the dynamic cache space; and

reformatting, by the drive controller in response to flushing the contents of the dynamic cache space, the dynamic cache space formatted in the second format to convert back into the available portion of the storage space formatted in the first format visible to the host.

5. The method of claim 1 , wherein:

the data storage medium is a hard disk that includes the at least one disk platter;

the first format includes a shingled magnetic recording (SMR) format; and

the second format includes a perpendicular magnetic recording (PMR) format.

6. The method of claim 1 , wherein:

the data storage medium is a hard disk having an annular writeable portion with an inner diameter and an outer diameter;

the storage space of the data storage medium is written beginning proximate the inner diameter of the writeable portion and progressing substantially outward toward the outer diameter of the writeable portion; and

the cache space of the data storage medium is written beginning proximate the outer diameter of the writeable portion and progressing substantially inward toward the inner diameter of the writeable portion.

7. An information handling system comprising:

a data storage medium including at least one disk platter, a storage space, and a cache space;

a processor; and

a non-transitory computer-readable medium comprising instructions that, when read and executed by the processor, are configured to cause the processor to:

receive a command from a host to write a set of data to the storage space of the data storage medium;

determine that insufficient space is available in the cache space of the data storage medium to write the set of data to the cache space;

in response to determining that insufficient space is available in the cache space of the data storage medium to write the set of data to the cache space, determine that an available portion of the storage space is available, the available portion of the storage space previously formatted in a first format that includes track sections of the at least one platter such that at least one particular track section overlaps with at least one neighboring track section;

in response to determining that the available portion of the storage space is available, reformat the available portion of the storage space to convert the available portion of the storage space into a dynamic cache space formatted in a second format that includes track sections of the at least one platter such that the least one particular track section does not overlap with any neighboring track sections, wherein the dynamic cache space remains visible to the host as the available portion of the storage space; and

after reformatting the available portion of the storage space into the dynamic cache space formatted in the second format, write the set of data to the dynamic cache space.

8. The information handling system of claim 7 , wherein the instructions are configured to further cause the processor to:

report to the host, in response to writing the set of data to the dynamic cache space, that the set of data is written to the storage space of the data storage medium; and

flush the set of data from the dynamic cache space to the storage space after reporting to the host that the set of data was written to the storage space.

9. The information handling system of claim 7 , wherein the cache space comprises:

the dynamic cache space converted from the available portion of the storage space and visible to the host as the available portion of the storage space; and

a static cache space formatted in the second format and having a fixed size, the static cache space unavailable to be used by the host as part of the storage space.

10. The information handling system of claim 9 , wherein the instructions are configured to further cause the processor to:

flush contents of the cache space to the storage space starting with contents of the dynamic cache space; and

reformat, in response to flushing the contents of the dynamic cache space, the dynamic cache space formatted in the second format to convert back into the available portion of the storage space formatted in the first format visible to the host.

11. The information handling system of claim 7 , wherein:

the data storage medium is a hard disk that includes the at least one disk platter;

the first format includes a shingled magnetic recording (SMR) format; and

the second format includes a perpendicular magnetic recording (PMR) format.

12. The information handling system of claim 7 , wherein:

the data storage medium is a hard disk having an annular writeable portion with an inner diameter and an outer diameter;

the storage space of the data storage medium is written beginning proximate the inner diameter of the writeable portion and progressing substantially outward toward the outer diameter of the writeable portion; and

the cache space of the data storage medium is written beginning proximate the outer diameter of the writeable portion and progressing substantially inward toward the inner diameter of the writeable portion.

13. An article of manufacture comprising:

a non-transitory machine-readable medium; and

instructions on the non-transitory machine-readable medium that, when read and executed by a processor, are configured to cause the processor to:

receive a command from a host to write a set of data to a storage space of a data storage medium, that includes at least one disk platter, associated with a drive controller;

determine that insufficient space is available in a cache space of the data storage medium to write the set of data to the cache space;

in response to determining that insufficient space is available in the cache space of the data storage medium to write the set of data to the cache space, determine that an available portion of the storage space is available, the available portion of the storage space previously formatted in a first format that includes track sections of the at least one platter such that at least one particular track section overlaps with at least one neighboring track section;

in response to determining that the available portion of the storage space is available, reformat the available portion of the storage space to convert the available portion of the storage space into a dynamic cache space formatted in a second format that includes track sections of the at least one platter such that the least one particular track section does not overlap with any neighboring track sections, wherein the dynamic cache space remains visible to the host as the available portion of the storage space; and

after reformatting the available portion of the storage space into the dynamic cache space formatted in the second format, write the set of data to the dynamic cache space.

14. The article of claim 13 , wherein the instructions are configured to further cause the processor to:

report to the host, in response to writing the set of data to the dynamic cache space, that the set of data is written to the storage space of the data storage medium; and

flush the set of data from the dynamic cache space to the storage space after reporting to the host that the set of data was written to the storage space.

15. The article of claim 13 , wherein the instructions are configured to further cause the processor to:

flush contents of the dynamic cache space to the storage space; and

reformat, in response to flushing the contents of the dynamic cache space, the dynamic cache space formatted in the second format back into the available portion of the storage space formatted in the first format visible to the host.

16. The article of claim 13 , wherein:

the data storage medium is a hard disk that includes the at least one disk platter;

the first format includes a shingled magnetic recording (SMR) format; and

the second format includes a perpendicular magnetic recording (PMR) format.

17. The article of claim 13 , wherein the available portion of the storage space converted into the dynamic cache space is unavailable for long-term storage of data designated for storage by the host.

Assignments (19)
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (052216/0758) Recorded Jun 23, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
Reel/Frame 060438/0680 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (053546/0001) Recorded Jun 23, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL MARKETING L.P. (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO CREDANT TECHNOLOGIES, INC.); DELL INTERNATIONAL L.L.C.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO FORCE10 NETWORKS, INC. AND WYSE TECHNOLOGY L.L.C.); EMC IP HOLDING COMPANY LLC
Reel/Frame 071642/0001 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (045455/0001) Recorded May 20, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO ASAP SOFTWARE EXPRESS, INC.); DELL MARKETING L.P. (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO CREDANT TECHNOLOGIES, INC.); DELL USA L.P.; DELL INTERNATIONAL L.L.C.; DELL PRODUCTS L.P.; DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO FORCE10 NETWORKS, INC. AND WYSE TECHNOLOGY L.L.C.); EMC CORPORATION (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO MAGINATICS LLC); EMC IP HOLDING COMPANY LLC (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO MOZY, INC.); SCALEIO LLC
Reel/Frame 061753/0001 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (040136/0001) Recorded Apr 26, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO ASAP SOFTWARE EXPRESS, INC.); DELL MARKETING L.P. (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO CREDANT TECHNOLOGIES, INC.); DELL USA L.P.; DELL INTERNATIONAL L.L.C.; DELL PRODUCTS L.P.; DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO FORCE10 NETWORKS, INC. AND WYSE TECHNOLOGY L.L.C.); EMC CORPORATION (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO MAGINATICS LLC); EMC IP HOLDING COMPANY LLC (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO MOZY, INC.); SCALEIO LLC
Reel/Frame 061324/0001 →
RELEASE OF SECURITY INTEREST Recorded Nov 3, 2021
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: ASAP SOFTWARE EXPRESS, INC.; AVENTAIL LLC; CREDANT TECHNOLOGIES, INC.; DELL USA L.P.; DELL INTERNATIONAL, L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL SOFTWARE INC.; DELL SYSTEMS CORPORATION; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; FORCE10 NETWORKS, INC.; MAGINATICS LLC; MOZY, INC.; SCALEIO LLC; WYSE TECHNOLOGY L.L.C.
Reel/Frame 058216/0001 →
RELEASE OF SECURITY INTEREST AF REEL 052243 FRAME 0773 Recorded Nov 2, 2021
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
Reel/Frame 058001/0152 →
SECURITY AGREEMENT Recorded Apr 22, 2020
From: CREDANT TECHNOLOGIES INC.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; FORCE10 NETWORKS, INC.; WYSE TECHNOLOGY L.L.C.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A.
Reel/Frame 053546/0001 →
SECURITY AGREEMENT Recorded Mar 26, 2020
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
Reel/Frame 052243/0773 →
PATENT SECURITY AGREEMENT (NOTES) Recorded Mar 24, 2020
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
Reel/Frame 052216/0758 →
SECURITY AGREEMENT Recorded Mar 21, 2019
From: CREDANT TECHNOLOGIES, INC.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; FORCE10 NETWORKS, INC.; WYSE TECHNOLOGY L.L.C.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A.
Reel/Frame 049452/0223 →
SECURITY AGREEMENT Recorded Sep 21, 2016
From: ASAP SOFTWARE EXPRESS, INC.; AVENTAIL LLC; CREDANT TECHNOLOGIES, INC.; DELL USA L.P.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL SOFTWARE INC.; DELL SYSTEMS CORPORATION; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; FORCE10 NETWORKS, INC.; MAGINATICS LLC; MOZY, INC.; SCALEIO LLC; SPANNING CLOUD APPS LLC; WYSE TECHNOLOGY L.L.C.
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 040136/0001 →
SECURITY AGREEMENT Recorded Sep 21, 2016
From: ASAP SOFTWARE EXPRESS, INC.; AVENTAIL LLC; CREDANT TECHNOLOGIES, INC.; DELL USA L.P.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL SOFTWARE INC.; DELL SYSTEMS CORPORATION; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; FORCE10 NETWORKS, INC.; MAGINATICS LLC; MOZY, INC.; SCALEIO LLC; SPANNING CLOUD APPS LLC; WYSE TECHNOLOGY L.L.C.
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
Reel/Frame 040134/0001 →
RELEASE OF REEL 035860 FRAME 0878 (NOTE) Recorded Sep 14, 2016
From: BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
To: DELL SOFTWARE INC.; DELL PRODUCTS L.P.; COMPELLENT TECHNOLOGIES, INC.; SECUREWORKS, INC.; STATSOFT, INC.
Reel/Frame 040027/0158 →
RELEASE OF REEL 035860 FRAME 0797 (TL) Recorded Sep 14, 2016
From: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
To: DELL SOFTWARE INC.; DELL PRODUCTS L.P.; COMPELLENT TECHNOLOGIES, INC.; SECUREWORKS, INC.; STATSOFT, INC.
Reel/Frame 040028/0551 →
RELEASE OF REEL 035858 FRAME 0612 (ABL) Recorded Sep 13, 2016
From: BANK OF AMERICA, N.A., AS ADMINISTRATIVE AGENT
To: DELL SOFTWARE INC.; DELL PRODUCTS L.P.; COMPELLENT TECHNOLOGIES, INC.; SECUREWORKS, INC.; STATSOFT, INC.
Reel/Frame 040017/0067 →
SUPPLEMENT TO PATENT SECURITY AGREEMENT (ABL) Recorded Jun 9, 2015
From: DELL PRODUCTS L.P.; DELL SOFTWARE INC.; COMPELLENT TECHNOLOGIES, INC.; SECUREWORKS, INC.; STATSOFT, INC.
To: BANK OF AMERICA, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 035858/0612 →
SUPPLEMENT TO PATENT SECURITY AGREEMENT (NOTES) Recorded Jun 9, 2015
From: DELL PRODUCTS L.P.; DELL SOFTWARE INC.; COMPELLENT TECHNOLOGIES, INC; SECUREWORKS, INC.; STATSOFT, INC.
To: BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 035860/0878 →
SUPPLEMENT TO PATENT SECURITY AGREEMENT (TERM LOAN) Recorded Jun 9, 2015
From: DELL PRODUCTS L.P.; DELL SOFTWARE INC.; COMPELLENT TECHNOLOGIES, INC.; SECUREWORKS, INC.; STATSOFT, INC.
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 035860/0797 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 29, 2015
From: LI, WEN HUA; FARHAN, MUNIF M.; LEE, CHING KANG
To: DELL PRODUCTS L.P.
Reel/Frame 035530/0585 →
Continuity (1)
Related Publication 20160321174A1 · Nov 3, 2016