IP Library Granted Patent US 9,547,460
Granted Patent B2
US 9,547,460 · App. 14/572,096 · Granted Jan 17, 2017

Method and system for improving cache performance of a redundant disk array controller

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,547,460
App. No.
14/572,096
Filed
Dec 16, 2014
Granted
Jan 17, 2017
Kind
B2
Examiner
GU, SHAWN X
Art Unit
2138
USPC
711/114
Abstract

An information handling system includes a method, information handling system, and redundant array of independent disks (RAID) controller. When a write request is received, data are written to a non-volatile memory write cache. When a read request is received, it is determined whether the data are available from a volatile memory read cache. When the data are available from the volatile memory read cache, the data are obtained from the volatile memory read cache and provided in response to the read request. When the data are not available from the volatile memory read cache, the data are obtained from a RAID virtual disk coupled to the RAID controller, the data are stored in the volatile memory read cache, and the data are provided in response to the read request.

Claims (51)

1. A method comprising:

receiving a data transfer request pertaining to data;

determining whether the data transfer request is a read request or a write request;

when the data transfer request is the write request, writing the data to a non-volatile memory write cache;

when the data transfer request is the read request, determining whether the data are available from the volatile memory read cache;

when the data are available from the volatile memory read cache, obtaining the data from the volatile memory read cache and providing the data in response to the read request; when the data transfer request is the read request, determining whether the data are available from the non-volatile memory write cache; and when the data are available from the non-volatile memory write cache, obtaining the data from the non-volatile memory write cache and providing the data in response to the read request; and

when the data are not available from either the volatile memory read cache or the non-volatile memory write cache, obtaining the data from a redundant array of independent disks (RAID) virtual disk, storing the data in the volatile memory read cache, and providing the data in response to the read request.

2. The method of claim 1 further comprising:

when the data transfer request is the write request, writing the data to the non-volatile memory write cache and writing the data to the RAID virtual disk.

3. The method of claim 2 further comprising: when the data transfer request is the write request, copying the data to the volatile memory read cache.

4. The method of claim 1 further comprising:

detecting when a system power failure has occurred; and

when the system power failure has occurred, performing a flush of the volatile memory read cache to reset the volatile memory read cache to an empty state and restoring the non-volatile memory write cache to a previous write cache state as existed before the system power failure based on a retained state of non-volatile memory of the non-volatile write cache.

5. The method of claim 1 wherein the volatile memory read cache provides a volatile memory read cache capacity of two to six times a non-volatile memory write cache capacity of the non-volatile memory write cache.

6. The method of claim 1 wherein the volatile memory read cache provides a volatile memory read cache capacity of two to four times a non-volatile memory write cache capacity of the non-volatile memory write cache.

7. An information handling system comprising:

a redundant array of independent disks (RAID) storage subsystem, the RAID subsystem comprising:

a RAID virtual disk implemented using a plurality of RAID physical disks; and

a RAID controller, the RAID controller comprising:

a non-volatile memory write cache;

a volatile memory read cache; and

RAID control circuits, the RAID control circuits configured to:

receive a data transfer request pertaining to data;

determine whether the data transfer request is a read request or a write request;

when the data transfer request is the write request, write the data to the non-volatile memory write cache;

when the data transfer request is the read request, determine whether the data are available from the volatile memory read cache;

when the data are available from the volatile memory read cache, obtain the data from the volatile memory read cache and provide the data in response to the read request;

when the data transfer request is the read request, determine whether the data are available from the non-volatile memory write cache; and

when the data are available from the non-volatile memory write cache, obtain the data from the non-volatile memory write cache and provide the data in response to the read request; and

when the data are not available from either the volatile memory read cache or the non-volatile memory write cache, obtain the data from the RAID virtual disk, store the data in the volatile memory read cache, and provide the data in response to the read request.

8. The information handling system of claim 7 wherein the RAID control circuits are further configured, when the data transfer request is the write request, to write the data to the non-volatile memory write cache and to write the data to the RAID virtual disk.

9. The information handling system of claim 7 wherein the RAID control circuits are further configured, when the data transfer request is the write request, to copy the data to the volatile memory read cache.

10. The information handling system of claim 7 wherein the RAID control circuits are further configured to:

detect when a system power failure has occurred; and

when the system power failure has occurred, perform a flush of the volatile memory read cache to reset the volatile memory read cache to an empty state and restoring the non-volatile memory write cache to a previous write cache state as existed before the system power failure based on a retained state of non-volatile memory of the non-volatile write cache.

11. The information handling system of claim 7 wherein the volatile memory read cache provides a volatile memory read cache capacity of two to six times a non-volatile memory write cache capacity of the non-volatile memory write cache.

12. The information handling system of claim 7 wherein the volatile memory read cache provides a volatile memory read cache capacity of two to four times a non-volatile memory write cache capacity of the non-volatile memory write cache.

13. A redundant array of independent disks (RAID) controller comprising:

a non-volatile memory write cache;

a volatile memory read cache; and

RAID control circuits, the RAID control circuits configured to:

receive a data transfer request pertaining to data;

determine whether the data transfer request is a read request or a write request;

when the data transfer request is the write request, write the data to the non-volatile memory write cache;

when the data transfer request is the read request, determine whether the data are available from the volatile memory read cache;

when the data are available from the volatile memory read cache, obtain the data from the volatile memory read cache and provide the data in response to the read request; when the data transfer request is the read request, determining whether the data are available from the non-volatile memory write cache; and when the data are available from the non-volatile memory write cache, obtaining the data from the non-volatile memory write cache and providing the data in response to the read request; and

when the data are not available from either the volatile memory read cache or the non-volatile memory write cache, obtain the data from a RAID virtual disk coupled to the RAID controller, store the data in the volatile memory read cache, and provide the data in response to the read request.

14. The RAID controller of claim 13 wherein the RAID control circuits are further configured, when the data transfer request is the write request, to write the data to the non-volatile memory write cache and to write the data to the RAID virtual disk.

15. The RAID controller of claim 13 wherein the RAID control circuits are further configured, when the data transfer request is the write request, to copy the data to the volatile memory read cache.

16. The RAID controller of claim 13 wherein the volatile memory read cache provides a volatile memory read cache capacity of two to four times a non-volatile memory write cache capacity of the non-volatile memory write cache.

17. The RAID controller of claim 13 wherein the RAID control circuits are further configured to: detect when a system power failure has occurred, and when the system power failure has occurred, perform a flush of the volatile memory read cache to reset the volatile memory read cache to an empty state and restore the non-volatile memory write cache to a previous write cache state as existed before the system power failure based on a retained state of non-volatile memory of the non-volatile write 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 035103 FRAME 0809 (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.
Reel/Frame 040027/0934 →
RELEASE OF REEL 035104 FRAME 0043 (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.
Reel/Frame 040027/0123 →
RELEASE OF REEL 035103 FRAME 0536 (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.
Reel/Frame 040016/0864 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 18, 2015
From: CHAKKRAVARTHY, KAVI K.; JOSHI, NEERAJ; KARROTU, VISHNU M.
To: DELL PRODUCTS, LP
Reel/Frame 035189/0728 →
SUPPLEMENT TO PATENT SECURITY AGREEMENT (TERM LOAN) Recorded Feb 26, 2015
From: DELL PRODUCTS L.P.; DELL SOFTWARE INC.; COMPELLENT TECHNOLOGIES, INC.
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 035103/0809 →
SUPPLEMENT TO PATENT SECURITY AGREEMENT (NOTES) Recorded Feb 26, 2015
From: DELL PRODUCTS L.P.; DELL SOFTWARE INC.; COMPELLENT TECHNOLOGIES, INC.
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 035104/0043 →
SUPPLEMENT TO PATENT SECURITY AGREEMENT (ABL) Recorded Feb 26, 2015
From: DELL PRODUCTS L.P.; DELL SOFTWARE INC.; COMPELLENT TECHNOLOGIES, INC.
To: BANK OF AMERICA, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 035103/0536 →