IP Library Granted Patent US 10,101,940
Granted Patent B1
US 10,101,940 · App. 14/871,974 · Granted Oct 16, 2018

Data retrieval system and method

Inventor: Michael Trachtman (Arlington, MA)
Assignee: EMC IP Holding Company LLC
G06F3/0647G06F3/0613G06F3/0683G06F12/0868G06F2212/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,101,940
App. No.
14/871,974
Granted
Oct 16, 2018
Kind
B1
Abstract

A method, computer program product, and computing system for identifying a data portion for relocation from a first storage device to a second storage device. The data portion is migrated from the first storage device to the second storage device. A read request is received on the second storage device for specific data included within the data portion. The specific data is not present in a backend cache system associated with the second storage device. The specific data is requested from the second storage device and a backend cache system associated with the first storage device.

Claims (48)

1. A computer-implemented method comprising:

receiving a write request with write data at a storage processor, wherein the storage processor is coupled to a first storage device and a second storage device using a network infrastructure;

storing the write data initially to a front end cache of the storage processor;

subsequently storing the write data to the first storage device; wherein the write data is stored in a backend cache of the first storage device prior to storing the write data in the first storage device;

identifying a data portion for relocation from the first storage device to the second storage device;

migrating the data portion from the first storage device to the second storage device;

receiving a read request on the second storage device for specific data included within the data portion after the data portion is migrated from the first storage device to the second storage device, wherein the specific data is not present in a backend cache system associated with the second storage device;

determining a threshold of time that more than half of cache data in the backend cache system associated with the first storage reach their caching life time;

requesting the specific data from the second storage device and the backend cache system associated with the first storage device, wherein requesting the specific data from the second storage device and the backend cache system associated with the first storage device includes requesting the specific data from the backend cache system associated with the first storage device for a defined period of time, wherein the defined period of time is determined in response to the age of the specific data stored in the backend cache system of the first storage device being less than the threshold.

2. The computer-implemented method of claim 1 further comprising:

if the specific data is first provided by the backend cache system associated with the first storage device, satisfying the read request with the specific data provided by the backend cache system associated with the first storage device.

3. The computer-implemented method of claim 1 further comprising:

if the specific data is first provided by the second storage device, satisfying the read request with the specific data provided by the second storage device.

4. The computer-implemented method of claim 1 wherein requesting the specific data from the second storage device and the backend cache system associated with the first storage device includes: after expiry of the defined period of time, requesting the specific data only from the second storage device.

5. The computer-implemented method of claim 1 wherein the data portion is a LUN.

6. The computer-implemented method of claim 1 wherein the first storage device and the second storage device are data arrays.

7. A computer program product residing on a non-transitory computer readable medium having a plurality of instructions stored thereon which, when executed by a processor, cause the processor to perform operations comprising:

receiving a write request with write data at a storage processor, wherein the storage processor is coupled to a first storage device and a second storage device using a network infrastructure;

storing the write data initially to a front end cache of the storage processor;

subsequently storing the write data to the first storage device; wherein the write data is stored in a backend cache of the first storage device prior to storing the write data in the first storage device;

identifying a data portion for relocation from the first storage device to the second storage device;

migrating the data portion from the first storage device to the second storage device;

receiving a read request on the second storage device for specific data included within the data portion after the data portion is migrated from the first storage device to the second storage device, wherein the specific data is not present in a backend cache system associated with the second storage device;

determining a threshold of time that more than half of cache data in the backend cache system associated with the first storage reach their caching life time;

requesting the specific data from the second storage device and the backend cache system associated with the first storage device, wherein requesting the specific data from the second storage device and the backend cache system associated with the first storage device includes requesting the specific data from the backend cache system associated with the first storage device for a defined period of time, wherein the defined period of time is determined in response to the age of the specific data stored in the backend cache system of the first storage device being less than the threshold.

8. The computer program product of claim 7 further comprising:

if the specific data is first provided by the backend cache system associated with the first storage device, satisfying the read request with the specific data provided by the backend cache system associated with the first storage device.

9. The computer program product of claim 7 further comprising;

if the specific data is first provided by the second storage device, satisfying the read request with the specific data provided by the second storage device.

10. The computer program product of claim 7 wherein requesting the specific data from the second storage device and the backend cache system associated with the first storage device includes: after expiry of the defined period of time, requesting the specific data only from the second storage device.

11. The computer program product of claim 7 wherein the data portion is a LUN.

12. The computer program product of claim 7 wherein the first storage device and the second storage device are data arrays.

13. A computing system including a processor and memory configured to perform operations comprising:

receiving a write request with write data at a storage processor, wherein the storage processor is coupled to a first storage device and a second storage device using a network infrastructure;

storing the write data initially to a front end cache of the storage processor;

subsequently storing the write data to the first storage device; wherein the write data is stored in a backend cache of the first storage device prior to storing the write data in the first storage device;

identifying a data portion for relocation from the first storage device to the second storage device;

migrating the data portion from the first storage device to the second storage device;

receiving a read request on the second storage device for specific data included within the data portion after the data portion is migrated from the first storage device to the second storage device, wherein the specific data is not present in a backend cache system associated with the second storage device;

determining a threshold of time that more than half of cache data in the backend cache system associated with the first storage reach their caching life time;

requesting the specific data from the second storage device and the backend cache system associated with the first storage device, wherein requesting the specific data from the second storage device and the backend cache system associated with the first storage device includes requesting the specific data from the backend cache system associated with the first storage device for a defined period of time, wherein the defined period of time is determined in response to the age of the specific data stored in the backend cache system of the first storage device being less than the threshold.

14. The computing system of claim 13 further comprising:

if the specific data is first provided by the backend cache system associated with the first storage device, satisfying the read request with the specific data provided by the backend cache system associated with the first storage device.

15. The computing system of claim 13 further comprising;

if the specific data is first provided by the second storage device, satisfying the read request with the specific data provided by the second storage device.

16. The computing system of claim 13 wherein requesting the specific data from the second storage device and the backend cache system associated with the first storage device includes: after expiry of the defined period of time, requesting the specific data only from the second storage device.

17. The computing system of claim 13 wherein the data portion is a LUN.

18. The computing system of claim 13 wherein the first storage device and the second storage device are data arrays.

Assignments (7)
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 AT REEL 048825 FRAME 0489 Recorded Nov 2, 2021
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC
Reel/Frame 058000/0916 →
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 Apr 8, 2019
From: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
Reel/Frame 048825/0489 →
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 Jun 19, 2018
From: EMC CORPORATION
To: EMC IP HOLDING COMPANY LLC
Reel/Frame 046365/0566 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 31, 2015
From: TRACHTMAN, MICHAEL
To: EMC CORPORATION
Reel/Frame 037391/0352 →
Cited By (1)
US 12,291,904