IP Library Granted Patent US 10,782,891
Granted Patent B1
US 10,782,891 · App. 15/393,405 · Granted Sep 22, 2020

Aggregated host-array performance tiering

Inventors: Owen Martin (Hopedale, MA); Adnan Sahin (Needham Heights, MA); Gabriel Benhanokh (Tel-Aviv, IL); Arieh Don (Newton, MA)
Assignee: EMC IP HOLDING COMPANY LLC
G06F3/0619G06F3/0665G06F3/0689
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,782,891
App. No.
15/393,405
Granted
Sep 22, 2020
Kind
B1
Abstract

Non-volatile cache in a host computer provides a storage tier in a system that includes at least one other tier of storage in a storage array. Selected data of a host device that represents a storage array production volume is stored in non-volatile cache. An MPIO driver in the host computer accesses the non-volatile cache or the storage array in response to an IO from a host application to the host device. A tiering engine in either the host computer or the storage array uses data access statistics to calculate which data should be promoted or demoted to non-volatile cache. Data access statistics indicative of access to non-volatile cache may be provided to the storage array by the host computer. Data changes may be aggregated by the host computer and asynchronously destaged to the storage array. Data changes or dirty data discard messages may be exchanged by peer host computer synchronously with a write operation.

Claims (26)

1. An apparatus comprising:

a computing device comprising a processor, a non-volatile cache, a host application, and a tiering engine that causes a first extent of host application data to be demoted to a storage array and causes a second extent of host application data to be promoted to the non-volatile cache, the promotion and demotion based on likelihood of future access of the first and second extents of host application data.

2. The apparatus of claim 1 comprising a multi-path input-output driver that is responsive to an IO (input-output) request from the host application to determine whether the IO request maps to a storage array address or a non-volatile cache address, and service the request from the address to which the request maps.

3. The apparatus of claim 2 wherein the computing device is a first host computer that maintains a first host device that is a representation of a production volume maintained by a storage array, wherein some of the host application data of the host device is stored on the non-volatile cache, and wherein a second host computer maintains a second host device that is a representation of the production volume.

4. The apparatus of claim 3 wherein in response to a data change associated with the IO the first host computer synchronously sends the data change to the second host computer.

5. The apparatus of claim 3 wherein in response to a data change associated with the IO the first host computer synchronously sends a message to the second host computer to prompt discard of a stale copy of data associated with the IO from the second host device.

6. The apparatus of claim 5 wherein the first host computer aggregates data changes and asynchronously sends the aggregated data changes to the storage array.

7. The apparatus of claim 2 wherein in response to a data change associated with the IO the computing device updates data access statistics maintained by the computing device.

8. The apparatus of claim 7 wherein the likelihood of future access is calculated by the computing device based on the data access statistics.

9. An apparatus comprising:

a storage array comprising a plurality of computing nodes, managed drives, and a tiering engine that causes a first extent of host application data to be demoted from non-volatile caches of a plurality of host computers to the managed drives and causes a second extent of host application data to be promoted to the non-volatile caches of the plurality of host computers based on likelihood of future access of the first and second extents of host application data.

10. The apparatus of claim 9 wherein the tiering engine calculates the likelihood of future access based in part on data access statistics provided to the storage array by the plurality of computing nodes and generates hints.

11. A method comprising:

in a network comprising a plurality of host computers and a storage array, wherein the host computers run instances of a host application that share a data set that is maintained on production volume that is presented by the storage array:

storing at least a first extent of host application data in non-volatile caches of the host computers, wherein the non-volatile caches represent a first tier of storage;

storing at least a second extent of host application data in a managed drive of the storage array, wherein the managed drive represents a second tier of storage; and

demoting the first extent of host application data to the storage array and promoting the second extent of host application data to the non-volatile caches based on likelihoods of future access of the first and second extents of host application data.

12. The method of claim 11 comprising responding to an IO (input-output) request from one of the instances of the host application by determining whether the IO request maps to a storage array address or a non-volatile cache address.

13. The method of claim 12 comprising servicing the request from the address to which the request maps.

14. The method of claim 13 comprising a first one of the host computers maintaining a first host device that is a representation of the production volume, wherein at least some host device data is stored on the non-volatile cache, and a second one of the host computers maintaining a second host device that is a representation of the production volume.

15. The method of claim 14 comprising, responsive to a data change associated with the IO, the first host computer synchronously sending the data change to the second host computer.

16. The method of claim 14 comprising, responsive to a data change associated with the IO, the first host computer synchronously sending a message to the second host computer to prompt discard of a stale copy of data associated with the IO from the second host device.

17. The method of claim 16 comprising the first host computer aggregating data changes and asynchronously sending the aggregated data changes to the storage array.

18. The method of claim 11 comprising the first and second computing devices updating data access statistics maintained locally by the first and second computing devices, and the computing devices calculating the likelihood of future access based on the data access statistics.

19. The method of claim 11 comprising a tiering engine in the storage array generating a first hint to cause the first extent of host application data to be demoted to the storage array and generating a second hint to cause the second extent of host application data to be promoted to the non-volatile host caches.

20. The method of claim 19 comprising the tiering engine calculating the likelihood of future access based in part on data access statistics provided to the storage array by the plurality of computing nodes.

Assignments (4)
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 →
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 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 1, 2017
From: MARTIN, OWEN; SAHIN, ADNAN; BENHANOKH, GABRIEL; DON, ARIEH
To: EMC IP HOLDING COMPANY LLC
Reel/Frame 041418/0931 →
Cited By (2)
US 12,563,748 US 12,690,397