IP Library Granted Patent US 11,115,490
Granted Patent B2
US 11,115,490 · App. 16/050,474 · Granted Sep 7, 2021

Host based read cache for san supporting NVMEF with E2E validation

Inventors: Boris Glimcher (Bnei Brak, IL); Zvi Schneider (Tel Aviv, IL); Amitai Alkalay (Kadima, IL); Kirill Shoikhet (Raanana, IL)
Assignee: EMC IP Holding Company LLC
H04L67/2842G06F3/061G06F3/067G06F3/0659H04L9/3239
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 11,115,490
App. No.
16/050,474
Granted
Sep 7, 2021
Kind
B2
Abstract

A method for performing host based read cache for storage area networks (SANs) supporting Non-Volatile Memory Express over Fabrics (NVMeF) with validation. The method includes upon a first read operation from a client system of a storage array, receiving metadata with a read response regarding location of data subject to the read operation. The method also includes performing, by the client system, direct NVMeF reads from a namespace offset from the metadata. The direct NVMeF reads bypass a software stack of the storage array. The method further includes upon receiving a data block at the client system, using a signature from the metadata to perform validation on the data.

Claims (38)

1. A method, comprising:

providing a shared non-volatile memory express over fabric (NVMeF)/remote direct memory access over converged ethernet (RoCE) space among designated client systems;

upon a first read operation for data from one of the client systems to a storage array, receiving metadata with a read response from the storage array, the read response including the data from the storage array, the metadata including a location of the data based on a drive number associated with a drive, an offset for the data on the drive, and a signature for the data;

performing, by the one of the client systems, a second read operation for the data to the storage array, the second read operation using the metadata to perform a direct non-volatile memory express over fabric (NVMeF) read from the storage array and bypassing a software stack of the storage array; and

upon receiving the data at the one of the client systems, using the signature from the metadata to perform validation on the data;

wherein each of the client systems in the shared NVMeF/RoCE space is provided with its own copy of the metadata that enables the client systems to perform the second read operation bypassing the software stack.

2. The method of claim 1 further comprising issuing a command to access the metadata without reading the metadata.

3. The method of claim 1 , further comprising:

upon determining the data has moved, receiving an invalid response and a new location of the data.

4. The method of claim 1 , wherein the location of the data is reusable by the one of the client systems over a time period without sending additional requests for the metadata.

5. The method of claim 1 , wherein the storage array is implemented in a content addressable storage system, and the first read operation includes an address that is parsed via a routing module and translated via a control module to a hash value of the data and via a data module from the hash value to a physical location of the data on disk.

6. The method of claim 1 , wherein the client systems include third-party external providers comprising storage area networks.

7. A non-transitory computer-readable medium having a computer program product stored thereon, the computer program product including instructions that, when executed by a computer causes the computer to perform operations comprising:

providing a shared non-volatile memory express over fabric (NVMeF)/remote direct memory access over converged ethernet (RoCE) space among designated client systems;

upon a first read operation for data from one of the client systems to a storage array, receiving metadata with a read response from the storage array, the read response including the data from the storage array, the metadata including a location of the data based on a drive number associated with a drive, an offset for the data on the drive, and a signature for the data;

performing, by the one of the client systems, a second read operation for the data to the storage array, the second read operation using the metadata to perform a direct NVMeF read from the storage array and bypassing a software stack of the storage array; and

upon receiving the data at the one of the client systems, using the signature from the metadata to perform validation on the data;

wherein each of the client systems in the shared NVMeF/RoCE space is provided with its own copy of the metadata that enables the client systems to perform the second read operation bypassing the software stack.

8. The computer program product of claim 7 , wherein the operations further comprise issuing a command to access the metadata without reading the metadata.

9. The computer program product of claim 7 , wherein the operations further comprise:

upon determining the data has moved, receiving an invalid response and a new location of the data.

10. The computer program product of claim 7 , wherein the signature is one of SHA-1, SHA-2, and MURMUR.

11. The computer program product of claim 7 , wherein the location is reusable by the one of the client systems over a time period without sending additional requests for the metadata.

12. The computer program product of claim 7 , wherein the data is not subject to a split to different drives.

13. A system, comprising:

a memory comprising computer-executable instructions; and

a processor executing the computer-executable instructions, the computer-executable instructions when executed by the processor cause the processor to perform operations comprising:

providing a shared non-volatile memory express over fabric (NVMeF)/remote direct memory access over converged ethernet (RoCE) space among designated client systems;

upon a first read operation for data from one of the client systems to a storage array, receiving metadata with a read response from the storage array, the read response including the data from the storage array, the metadata including a location of the data based on a drive number associated with a drive, an offset for the data on the drive, and a signature for the data;

performing, by the one of the client systems, a second read operation for the data to the storage array, the second read operation using the metadata to perform a direct NVMeF read from the storage array and bypassing a software stack of the storage array; and

upon receiving the data at the one of the client systems, using the signature from the metadata to perform validation on the data;

wherein each of the client systems in the shared NVMeF/RoCE space is provided with its own copy of the metadata that enables the client systems to perform the second read operation bypassing the software stack.

14. The system of claim 13 further comprising issuing a command to access the metadata without reading the metadata.

15. The system of claim 13 , further comprising:

upon determining the data has moved, receiving an invalid response and a new location of the data.

16. The system of claim 13 , wherein the signature is one of SHA-1, SHA-2, and MURMUR.

17. The system of claim 13 , wherein the location of the data is reusable by the one of the client systems over a time period without sending additional requests for the metadata.

18. The system of claim 13 , wherein the data is not subject to a split to different drives.

Assignments (8)
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 (047648/0422) 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
Reel/Frame 060160/0862 →
RELEASE OF SECURITY INTEREST AT REEL 047648 FRAME 0346 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 058298/0510 →
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 →
PATENT SECURITY AGREEMENT (CREDIT) Recorded Oct 12, 2018
From: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
Reel/Frame 047648/0346 →
PATENT SECURITY AGREEMENT (NOTES) Recorded Oct 12, 2018
From: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
Reel/Frame 047648/0422 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 8, 2018
From: GLIMCHER, BORIS; SCHNEIDER, ZVI; ALKALAY, AMITAI; SHOIKHET, KIRILL
To: EMC IP HOLDING COMPANY LLC
Reel/Frame 046580/0195 →