IP Library Granted Patent US 10,496,539
Granted Patent B1
US 10,496,539 · App. 15/282,247 · Granted Dec 3, 2019

Using storage class memory as a persistent operating system file/block cache

Inventors: Arieh Don (Newton, MA); Adnan Sahin (Needham Heights, MA); Owen Martin (Hopedale, MA); Peter Blok (Zoetermeer, NL); Philip Derbeko (Modiin, IL)
Assignee: EMC IP HOLDING COMPANY LLC
G06F12/0828G06F12/084G06F12/0813G06F2212/154G06F2212/60G06F2212/621
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,496,539
App. No.
15/282,247
Granted
Dec 3, 2019
Kind
B1
Abstract

A host server in a server cluster has a memory allocator that creates a dedicated host application data cache in storage class memory. A background routine destages host application data from the dedicated cache in accordance with a destaging plan. For example, a newly written extent may be destaged based on aging. All extents may be flushed from the dedicated cache following host server reboot. All extents associated with a particular production volume may be flushed from the dedicated cache in response to a sync message from a storage array.

Claims (25)

1. An apparatus comprising:

a computing device comprising a processor that runs a host application, a non-volatile cache that is directly accessed by the processor, a memory allocator that allocates a portion of the non-volatile cache as a dedicated host application data cache, and a destaging program stored on non-transitory memory that destages host application data from the host application data cache in accordance with a destaging plan, wherein the destaging program sends a dirty page message to another computing device in response to a newly written host data extent being written into the dedicated host application data cache.

2. The apparatus of claim 1 wherein the dedicated host application data cache is accessed at a file or block size level.

3. The apparatus of claim 1 wherein the host is responsive to a dirty page message from another computing device to refrain from accessing corresponding host application data.

4. The apparatus of claim 1 wherein the destaging program is responsive to a newly written host data extent being written into the dedicated host application data cache to start an aging timer associated with that newly written host data extent.

5. The apparatus of claim 4 wherein the destaging program destages the newly written host data extent from the dedicated host application data cache when the associated aging timer expires.

6. The apparatus of claim 1 wherein the destaging program destages all extents of host application data from the dedicated host application data cache in response to reboot of the computing device.

7. The apparatus of claim 1 wherein the destaging program destages all extents of host application data from the dedicated host application data cache in response to a first agreed upon value in a first message received from a storage array in which the host application data is stored.

8. The apparatus of claim 7 wherein the destaging program halts caching of the host application data in response to a second agreed upon value in a second message received from the storage array.

9. A method comprising:

in a computing device comprising a processor that runs a host application, and a non-volatile cache that is directly accessed by the processor:

allocating a portion of the non-volatile cache as a dedicated host application data cache;

sending a dirty page message to another computing device in response to a newly written host data extent being written into the dedicated host application data cache; and

destaging host application data from the host application data cache in accordance with a destaging plan.

10. The method of claim 9 comprising accessing the dedicated host application data cache at a file or block size level.

11. The method of claim 9 comprising responding to a dirty page message from another computing device by refraining from accessing corresponding host application data.

12. The method of claim 9 comprising responding to a newly written host data extent being written into the dedicated host application data cache by starting an aging timer associated with that newly written host data extent.

13. The method of claim 12 comprising destaging the newly written host data extent from the dedicated host application data cache when the associated aging timer expires.

14. The method of claim 9 comprising destaging all extents of host application data from the dedicated host application data cache in response to reboot of the computing device.

15. The method of claim 9 comprising destaging all extents of host application data from the dedicated host application data cache in response to a first agreed upon value in a first message received from a storage array in which the host application data is stored.

16. The method of claim 15 comprising halting caching of the host application data in response to a second agreed upon value in a second message received from the storage array.

17. A system comprising:

a storage array that stores host application data, the storage array presenting a production volume associated with the host application data; and

a plurality of host computers that each run at least one instance of a host application that accesses the production volume, each host computer having a processor and a non-volatile cache into which files or blocks of the host application data may be written, each host computer comprising logic that sends a dirty page message to other ones of the plurality of host computers in response to newly written host application data being written into the non-volatile cache, logic that destages host application data from the non-volatile cache of the host computer when an aging timer associated with the newly written host application data expires, logic that destages all extents of host application data from the non-volatile cache after the host computer is rebooted, and logic that halts caching of the host application data and halts caching of the host application data in response to a first value in a first message from the storage array.

18. The system of claim 17 wherein each host computer comprises logic that resumes caching of the host application data in response to a second value in a second message from the storage array.

Assignments (8)
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 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 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 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 6, 2016
From: DERBEKO, PHILIP
To: EMC IP HOLDING COMPANY LLC
Reel/Frame 039953/0676 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 30, 2016
From: DON, ARIEH; SAHIN, ADNAN; MARTIN, OWEN; BLOK, PETER
To: EMC IP HOLDING COMPANY LLC
Reel/Frame 039912/0092 →