IP Library Granted Patent US 10,521,137
Granted Patent B1
US 10,521,137 · App. 15/798,775 · Granted Dec 31, 2019

Storage device array integration of dual-port NVMe device with DRAM cache and hostside portion of software stack system and method

Inventors: Xinlei Xu (Beijing, CN); Jian Gao (Beijing, CN); Lifeng Yang (Beijing, CN); Michael P. Wahl (Bulverde, TX)
Assignee: EMC IP Holding Company LLC
G06F3/0619G06F3/065G06F3/0665G06F3/0688G06F3/0689G06F12/0868G06F13/4282G06F2212/604G06F2213/0026
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,521,137
App. No.
15/798,775
Granted
Dec 31, 2019
Kind
B1
Abstract

A method, computer program product, and computer system for receiving, by a computing device, a write I/O to a storage device array coupled to a cache, wherein the write I/O may be received from a host. A cache miss in the cache may be determined for the write I/O. One or more free pages may be allocated at an address in the cache to store data for the write I/O. The address in the cache to store the data may be sent to a hostside portion of a software stack in the storage device array. The data may be written directly from the hostside portion to the cache at the address.

Claims (35)

1. A computer-implemented method comprising:

receiving, by a computing device, a write I/O to a storage device array coupled to a cache, wherein the write I/O is received from a host;

determining a cache miss in the cache for the write I/O;

allocating one or more free pages at an address in the cache to store data for the write I/O;

sending, to a hostside portion of a software stack in the storage device array, the address in the cache to store the data;

writing the data directly from the hostside portion to the cache at the address;

writing the data to at least two different NVMe devices on a first storage processor; and

syncing cache page metadata associated with the one or more free pages from the first storage processor to a second storage processor.

2. The computer-implemented method of claim 1 wherein the software stack includes a miniport adapter in the storage device array.

3. The computer-implemented method of claim 1 further comprising combining the at least two NVMe devices into a RAID group.

4. The computer-implemented method of claim 3 further comprising generating at least two logical unit numbers for the RAID group.

5. The computer-implemented method of claim 4 wherein a first logical unit number of the least two logical unit numbers includes cache page metadata associated with the one or more free pages and wherein a second logical unit number of the least two logical unit numbers includes the data for the write I/O.

6. A computer program product residing on a non-transitory computer readable storage medium having a plurality of instructions stored thereon which, when executed across one or more processors, causes at least a portion of the one or more processors to perform operations comprising:

receiving a write I/O to a storage device array coupled to a cache, wherein the write I/O is received from a host;

determining a cache miss in the cache for the write I/O;

allocating one or more free pages at an address in the cache to store data for the write I/O;

sending, to a hostside portion of a software stack in the storage device array, the address in the cache to store the data;

writing the data directly from the hostside portion to the cache at the address;

writing the data to at least two different NVMe devices on a first storage processor; and

syncing cache page metadata associated with the one or more free pages from the first storage processor to a second storage processor.

7. The computer program product of claim 6 wherein the software stack includes a miniport adapter in the storage device array.

8. The computer program product of claim 6 wherein the operations further comprise combining the at least two NVMe devices into a RAID group.

9. The computer program product of claim 8 wherein the operations further comprise generating at least two logical unit numbers for the RAID group.

10. The computer program product of claim 9 wherein a first logical unit number of the least two logical unit numbers includes cache page metadata associated with the one or more free pages and wherein a second logical unit number of the least two logical unit numbers includes the data for the write I/O.

11. A computing system including one or more processors and one or more memories configured to perform operations comprising:

receiving a write I/O to a storage device array coupled to a cache, wherein the write I/O is received from a host;

determining a cache miss in the cache for the write I/O;

allocating one or more free pages at an address in the cache to store data for the write I/O;

sending, to a hostside portion of a software stack in the storage device array, the address in the cache to store the data;

writing the data directly from the hostside portion to the cache at the address;

writing the data to at least two different NVMe devices on a first storage processor; and

syncing cache page metadata associated with the one or more free pages from the first storage processor to a second storage processor.

12. The computing system of claim 11 wherein the software stack includes a miniport adapter in the storage device array.

13. The computing system of claim 11 wherein the operations further comprise combining the at least two NVMe devices into a RAID group.

14. The computing system of claim 13 wherein the operations further comprise generating at least two logical unit numbers for the RAID group, wherein a first logical unit number of the least two logical unit numbers includes the cache page metadata associated with the one or more free pages and wherein a second logical unit number of the least two logical unit numbers includes the data for the write I/O.

Assignments (6)
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (044535/0109) Recorded May 20, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO WYSE TECHNOLOGY L.L.C.)
Reel/Frame 060753/0414 →
RELEASE OF SECURITY INTEREST AT REEL 044535 FRAME 0001 Recorded Nov 2, 2021
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; WYSE TECHNOLOGY L.L.C.
Reel/Frame 058298/0475 →
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 →
PATENT SECURITY AGREEMENT (CREDIT) Recorded Nov 29, 2017
From: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; WYSE TECHNOLOGY L.L.C.
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
Reel/Frame 044535/0001 →
PATENT SECURITY AGREEMENT (NOTES) Recorded Nov 29, 2017
From: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; WYSE TECHNOLOGY L.L.C.
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
Reel/Frame 044535/0109 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 22, 2017
From: XU, XINLEI; GAO, JIAN; YANG, LIFENG; WAHL, MICHAEL P
To: EMC IP HOLDING COMPANY, LLC
Reel/Frame 044197/0379 →
Cited By (2)
US 12,321,602 US 12,353,747