IP Library Granted Patent US 11,762,805
Granted Patent B2
US 11,762,805 · App. 16/816,428 · Granted Sep 19, 2023

Logical paths for unified file and block data storage

Inventors: Lior Kamran (Richon LeZion, IL); Amitai Alkalay (Kadima, IL)
Assignee: EMC IP Holding Company LLC
G06F16/11G06F16/1824
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,762,805
App. No.
16/816,428
Granted
Sep 19, 2023
Kind
B2
Abstract

A file storage application that processes file operations is communicably connected with a block storage application that processes block operations by establishing multiple communication sessions between the file storage application and the block storage application. Multiple logical volumes provided by the block storage application are exposed to the file storage application over the multiple communication sessions established between the file storage application and the block storage application using a total number of logical paths to the logical volumes that is equivalent to the total number of the logical volumes provided by the block storage application to the file storage application.

Claims (39)

1. A method comprising:

connecting a file storage application that processes file operations with a block storage application that processes block operations by establishing multiple iSCSI (Internet Small Computer Systems Interface) communication sessions between the file storage application and the block storage application;

exposing multiple logical volumes provided by the block storage application to the file storage application over each one of the multiple iSCSI communication sessions established between the file storage application and the block storage application, using a total number of logical paths to the logical volumes exposed over all the iSCSI communication sessions established between the file storage application and the block storage application that is equal to a total number of the logical volumes provided by the block storage application to the file storage application, wherein each logical path corresponds to a block device defined in an operating system, and wherein exposing the logical volumes to the file storage application includes exposing each individual logical volume to the file storage application through a single corresponding one of the logical paths provided by the block storage application to the file storage application; and

wherein the file storage application executes in a first node of a data storage system and processes file operations received from client machines, and wherein the block storage application executes in a second node of the data storage system and processes block operations received from the client machines.

2. The method of claim 1 , wherein exposing the logical volumes to the file storage application further comprises:

exposing a different subset of the logical volumes to the file storage application over each one of the iSCSI communication sessions.

3. The method of claim 2 , further comprising:

balancing the logical volumes across the multiple iSCSI communication sessions between the file storage application and the block storage application such that the subsets of the logical volumes exposed to the file storage application over the iSCSI communication sessions each contain an equal number of logical volumes.

4. The method of claim 3 , wherein the number of logical volumes contained in each subset of the logical volumes exposed to the file storage application over one of the iSCSI communication sessions is equal to the total number of logical volumes provided by the block storage application to the file storage application divided by a total number of the iSCSI communication sessions established between the file storage application and the block storage application.

5. The method of claim 2 , further comprising:

in response to detecting the creation of a new logical volume provided by the block storage application to the file storage application, exposing the new logical volume to the file storage application over one of the iSCSI communication sessions currently exposing a smallest subset of the logical volumes to the file storage application.

6. The method of claim 3 , further comprising:

wherein the subsets of the logical volumes exposed to the file storage application over the iSCSI communication sessions are balanced across the communication sessions by the block storage application.

7. The method of claim 3 , further comprising:

wherein the subsets of the logical volumes exposed to the file storage application over the iSCSI communication sessions are balanced across the communication sessions by the file storage application.

8. A data storage system comprising:

at least one node including processing circuitry and a memory; and

wherein the memory has program code stored thereon, wherein the program code, when executed by the processing circuitry, causes the processing circuitry to:

connect a file storage application that processes file operations with a block storage application that processes block operations by establishing multiple iSCSI (Internet Small Computer Systems Interface) communication sessions between the file storage application and the block storage application;

expose multiple logical volumes provided by the block storage application to the file storage application over each one of the multiple iSCSI communication sessions established between the file storage application and the block storage application, using a total number of logical paths to the logical volumes exposed over all the iSCSI communication sessions established between the file storage application and the block storage application that is equal to a total number of the logical volumes provided by the block storage application to the file storage application, wherein each logical path corresponds to a block device defined in an operating system, and wherein the logical volumes are exposed to the file storage application by exposing each individual logical volume to the file storage application through a single corresponding one of the logical paths provided by the block storage application to the file storage application; and

wherein the file storage application executes in a first node of the data storage system and processes file operations received from client machines, and wherein the block storage application executes in a second node of the data storage system and processes block operations received from the client machines.

9. The data storage system of claim 8 , wherein the program code, when executed by the processing circuitry, causes the processing circuitry to expose the logical volumes to the file storage application further at least in part by causing the processing circuitry to:

expose a different subset of the logical volumes to the file storage application over each one of the iSCSI communication sessions.

10. The data storage system of claim 9 , wherein the program code, when executed by the processing circuitry, further cause the processing circuitry to:

balance the logical volumes across the multiple iSCSI communication sessions between the file storage application and the block storage application such that the subsets of the logical volumes exposed to the file storage application over the iSCSI communication sessions each contain an equal number of logical volumes.

11. The data storage system of claim 10 , wherein the number of logical volumes contained in each subset of the logical volumes exposed to the file storage application over one of the iSCSI communication sessions is equal to the total number of logical volumes provided by the block storage application to the file storage application divided by a total number of the communication sessions established between the file storage application and the block storage application.

12. The data storage system of claim 9 , wherein the program code, when executed by the processing circuitry, further causes the processing circuitry to:

in response to detecting the creation of a new logical volume provided by the block storage application to the file storage application, expose the new logical volume to the file storage application over one of the iSCSI communication sessions currently exposing a smallest subset of the logical volumes to the file storage application.

13. The data storage system of claim 10 , further comprising:

wherein the subsets of the logical volumes exposed to the file storage application over the iSCSI communication sessions are balanced across the communication sessions by the block storage application.

14. The data storage system of claim 10 , further comprising:

wherein the subsets of the logical volumes exposed to the file storage application over the iSCSI communication sessions are balanced across the communication sessions by the file storage application.

15. A computer program product including a non-transitory computer readable medium having instructions stored thereon, wherein the instructions, when executed on processing circuitry, cause the processing circuitry to perform the steps of:

connecting a file storage application that processes file operations with a block storage application that processes block operations by establishing multiple iSCSI (Internet Small Computer Systems Interface) communication sessions between the file storage application and the block storage application;

exposing multiple logical volumes provided by the block storage application to the file storage application over each one of the multiple iSCSI communication sessions established between the file storage application and the block storage application, using a total number of logical paths to the logical volumes exposed over all the iSCSI communication sessions established between the file storage application and the block storage application that is equal to a total number of the logical volumes provided by the block storage application to the file storage application, wherein each logical path corresponds to a block device defined in an operating system, and wherein exposing the logical volumes to the file storage application includes exposing each individual logical volume to the file storage application through a single corresponding one of the logical paths provided by the block storage application to the file storage application; and

wherein the file storage application executes in a first node of a data storage system and processes file operations received from client machines, and wherein the block storage application executes in a second node of the data storage system and processes block operations received from the client machines.

16. The method of claim 1 , wherein the multiple iSCSI communication sessions between the file storage application and the block storage application are established by a single iSCSI initiator in the file storage application.

17. The method of claim 1 , wherein the multiple iSCSI communication sessions between the file storage application and the block storage application are established by multiple iSCSI initiators in the file storage application, and wherein each one of the iSCSI communication sessions corresponds to and is established by a single one of the iSCSI initiators.

18. The method of claim 1 , wherein the file storage application executes in a first node of a data storage system and the block storage application executes in at least a second node of the data storage system.

Assignments (13)
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (053311/0169) Recorded Jun 23, 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 060438/0742 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (052851/0081) Recorded Jun 23, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
Reel/Frame 060436/0441 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (052851/0917) Recorded Jun 23, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
Reel/Frame 060436/0509 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (052852/0022) Recorded Jun 23, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
Reel/Frame 060436/0582 →
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 052771 FRAME 0906 Recorded Nov 2, 2021
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
Reel/Frame 058001/0298 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 10, 2020
From: KAMRAN, LIOR; ALKALAY, AMITAI
To: EMC IP HOLDING COMPANY LLC
Reel/Frame 052894/0790 →
SECURITY INTEREST Recorded Jun 5, 2020
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
Reel/Frame 052852/0022 →
SECURITY INTEREST Recorded Jun 5, 2020
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 053311/0169 →
SECURITY INTEREST Recorded Jun 5, 2020
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC; THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
Reel/Frame 052851/0081 →
SECURITY INTEREST Recorded Jun 5, 2020
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
Reel/Frame 052851/0917 →
SECURITY AGREEMENT Recorded May 28, 2020
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
Reel/Frame 052771/0906 →
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 →
Continuity (1)
Related Publication 20210286757A1 · Sep 16, 2021