IP Library Granted Patent US 9,632,935
Granted Patent B2
US 9,632,935 · App. 14/643,681 · Granted Apr 25, 2017

Systems and methods for non-volatile cache control

Inventors: Jacob Cherian (Austin, TX); Marcelo Saraiva (Austin, TX); Shane Chiasson (Pflugerville, TX); Gary Kotzur (Austin, TX); Douglas Huang (Pflugerville, TX); Anand Nunna (Round Rock, TX); William Lynn (Round Rock, TX)
Assignee: Dell Products L.P.
G06F12/0833G06F1/30G06F1/3275G06F12/0246G06F12/0804G06F12/0868G06F2212/222G06F2212/62G06F2212/7209
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,632,935
App. No.
14/643,681
Filed
Mar 10, 2015
Granted
Apr 25, 2017
Kind
B2
Art Unit
2132
USPC
711/103
Abstract

In some embodiments, a method for controlling a cache having a volatile memory and a non-volatile memory during a power up sequence is provided. The method includes receiving, at a controller configured to control the cache and a storage device associated with the cache, a signal indicating whether the non-volatile memory includes dirty data copied from the volatile memory to the non-volatile memory during a power down sequence, the dirty data including data that has not been stored in the storage device. In response to the received signal, the dirty data is restored from the non-volatile memory to the volatile memory, and flushed from the volatile memory to the storage device.

Claims (47)

1. A method for controlling a cache, the method comprising:

detecting a power loss to the cache, the cache comprising a volatile memory, a non-volatile memory, a buffer, and a data transfer controller that controls data transfer between the volatile memory and the non-volatile memory;

in response to the power loss detection, automatically enabling a backup power supply associated only with the cache and providing, via the buffer of the cache, a first control signal that indicates the power loss detection to the data transfer controller;

detecting restoration of power to the cache;

in response to the power restoration detection, automatically providing, via the buffer of the cache, a second control signal that indicates the power restoration detection to the data transfer controller; and

upon restoration of power to the cache, receiving, at a controller configured to control the cache, a flag communicated from the non-volatile memory indicating that the non-volatile memory includes dirty data, the dirty data comprising data that has not been stored in a storage device associated with the cache.

2. A method according to claim 1 , further comprising, in response to the received flag:

restoring the dirty data from the non-volatile memory to the volatile memory; and

flushing the dirty data from the volatile memory to the storage device.

3. A method according to claim 2 , further comprising initializing the non-volatile memory for subsequent writing to the non-volatile memory.

4. A method according to claim 3 , wherein initializing the non-volatile memory comprises erasing dirty data in the non-volatile memory.

5. A method according to claim 1 , further comprising, in response to the received flag:

determining whether the non-volatile memory includes non-dirty data; and

initializing the non-volatile memory.

6. The method according to claim 5 , wherein initializing the non-volatile memory comprises erasing data in the non-volatile memory.

7. The method according to claim 1 , further comprising, in response to the power loss detection, automatically writing the dirty data from the volatile memory to the non-volatile memory.

8. The method according claim 7 , further comprising:

detecting the restoration of power to the cache prior to completing the writing step;

pausing the writing step; and

flushing the dirty data from the volatile memory to the storage device associated with the cache.

9. The method according to claim 8 , further comprising initializing the non-volatile memory in response to detecting the restoration of power to the cache.

10. The method according to claim 1 , further comprising:

detecting restoration of power to the cache; and

communicating a signal to a controller associated with the cache, the signal indicating presence of the dirty data in the non-volatile memory.

11. An information handling system, comprising:

a processor;

a cache coupled to the processor, the cache comprising a volatile memory a non-volatile memory, a buffer, and a data transfer controller that controls data transfer between the volatile memory and the non-volatile memory;

a storage device associated with the cache;

a power supply unit coupled to the cache and associated only with the cache; and

a controller associated with the cache and configured to:

detect a power loss to the cache;

automatically enable the power supply unit;

in response to the power loss detection, provide, via the buffer of the cache, a first control signal that indicates the power loss detection to the data transfer controller;

detect restoration of power to the cache;

in response to the power restoration detection, provide, via the buffer of the cache, a second control signal that indicates the power restoration detection to the data transfer controller; and

upon restoration of power to the cache, receive a flag communicated from the non-volatile memory indicating that the non-volatile memory includes dirty data, the dirty data comprising data that has not been stored in the storage device.

12. The information handling system according to claim 11 , wherein the controller is further configured to, in response to the received flag:

restore the dirty data from the non-volatile memory to the volatile memory; and

flush the dirty data from the volatile memory to the storage device.

13. The information handling system according to claim 11 , wherein the controller is further configured to initialize the non-volatile memory for subsequent writing to the non-volatile memory.

14. The information handling system according to claim 11 , wherein initializing the non-volatile memory comprises erasing dirty data in the non-volatile memory.

15. The information handling system according to claim 11 , wherein the controller is further configured to, in response to the power loss detection, automatically write dirty data from the volatile memory to the non-volatile memory.

16. The information handling system according to claim 15 , wherein the controller is further configured to:

detect the restoration of power to the cache prior to completing the writing step;

pause the writing step; and

flush the dirty data from the volatile memory to the storage device associated with the cache.

17. The information handling system according to claim 16 , wherein the controller is further configured to initialize the non-volatile memory in response to detecting the restoration of power to the cache.

Assignments (15)
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 →
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 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: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
Reel/Frame 040134/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: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 040136/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 PRODUCTS L.P.; DELL SOFTWARE INC.; 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 Mar 10, 2015
From: CHERIAN, JACOB; SARAIVA, MARCELO; CHIASSON, SHANE; KOTZUR, GARY; HUANG, DOUGLAS; NUNNA, ANAND; LYNN, WILLIAM
To: DELL PRODUCTS L.P.
Reel/Frame 035130/0175 →
Continuity (2)
Continuation 12351231 · Jan 9, 2009
Related Publication 20150186281A1 · Jul 2, 2015