IP Library Granted Patent US 9,940,293
Granted Patent B1
US 9,940,293 · App. 14/978,877 · Granted Apr 10, 2018

Method for efficient storage and backup of data via SCSI transport

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,940,293
App. No.
14/978,877
Granted
Apr 10, 2018
Kind
B1
Abstract

Systems and methods are disclosed that advertise and expose a SCSI disk device type to a client computer or virtual machine, the disk device type acting as a transport for SCSI commands to/from a storage appliance over a Fiber Channel network. Each SCSI command is transported in one or more Fiber Channel frames. A virtual machine can write data to the storage appliance using through a disk opened with the disk device type. Data written through the disk can be deduplicated and/or compressed before storage on the storage appliance. The SCSI disk device type can support SCSI pass-through mode, virtual RDM, or physical RDM.

Claims (62)

1. A computer-implemented method comprising:

establishing a virtual connection between a virtual machine on a host computing device and a primary storage device, the virtual connection established over a Fibre Channel (FC) network, the host computing device comprising an FC adapter that comprises hardware configured to transmit and receive FC frames over the FC network, the virtual connection having virtual connection identification information;

receiving, by the virtual machine, from the primary storage device, a SCSI disk device type advertised by the primary storage device over the FC network, wherein a disk opened with the SCSI disk device type is configured to read and write SCSI commands, each SCSI command packaged within one or more FC frames;

opening, by the virtual machine, a disk device having the advertised SCSI disk device type;

writing, by the virtual machine, a SCSI command to the disk device;

in response to determining that the SCSI command is one of READ, WRITE, or INQUIRY:

packaging, by the FC adapter in the host computing device, the SCSI command within one or more FC frames, in response to the writing;

transmitting, by the FC adapter, the one or more FC frames over FC network on the virtual connection, to the primary storage device;

in response to the SCSI command having the virtual connection identification information in a SCSI logical block address field of a SCSI command block of the SCSI command, receiving a SCSI response to the SCSI command via one or more FC frames from the primary storage device, otherwise receiving an error from the primary storage device that the host computing device is not using the advertised SCSI device for transporting a SCSI command in one or more FC frames.

2. The method of claim 1 , wherein the SCSI disk device type comprises a plurality of disk device characteristics, including a disk capacity and a disk device mode.

3. The method of claim 2 , wherein the disk device mode comprises one of: SCSI pass-through mode, virtual raw device mode (RDM), or physical RDM.

4. The method of claim 2 , wherein the disk device characteristics further include an indication that the SCSI disk device type comprises a generic SCSI disk device type supported by a guest operating system of the virtual machine.

5. The method of claim 1 , wherein the SCSI command comprises a SCSI INQUIRY command, the method further comprising:

analyzing a received response to the SCSI INQUIRY command to determine whether the SCSI disk device type supports communication between the host computing device and primary storage device over the virtual connection using SCSI commands packaged within one or more FC frames;

writing, by the process, a next SCSI command to the disk device, in response to determining that the SCSI disk device type supports communication between the host computing device and the primary storage device over the virtual connection using SCSI commands packaged within one or more FC frames.

6. The method of claim 1 further comprising:

in response to determining that the SCSI command is not one of READ, WRITE, or INQUIRY:

packaging, by the FC adapter in the host computing device, the SCSI command within one or more FC frames;

transmitting, by the FC adapter, the one or more FC frames over FC network on the virtual connection, to the primary storage device; and

receiving, by the virtual machine, from the primary storage device, a false success status response.

7. A non-transitory computer readable medium, programmed with executable instructions that, when executed by a processing system, perform operations comprising:

establishing a virtual connection between a virtual machine on a host computing device and a primary storage device, the virtual connection established over a Fibre Channel (FC) network, the host computing device comprising an FC adapter that comprises hardware configured to transmit and receive FC frames over the FC network, the virtual connection having virtual connection identification information;

receiving, by the virtual machine, from the primary storage device, a SCSI disk device type advertised by the primary storage device over the FC network, wherein a disk opened with the SCSI disk device type is configured to read and write SCSI commands, each SCSI command packaged within one or more FC frames;

opening, by the virtual machine, a disk device having the advertised SCSI disk device type;

writing, by the virtual machine, a SCSI command to the disk device;

in response to determining that the SCSI command is one of READ, WRITE, or INQUIRY:

packaging, by the FC adapter in the host computing device, the SCSI command within one or more FC frames, in response to the writing;

transmitting, by the FC adapter, the one or more FC frames over FC network on the virtual connection, to the primary storage device;

in response to the SCSI command having the virtual connection identification information in a SCSI logical block address field of a SCSI command block of the SCSI command, receiving a SCSI response to the SCSI command via one or more FC frames from the primary storage device, otherwise receiving an error from the primary storage device that the host computing device is not using the advertised SCSI device for transporting a SCSI command in one or more FC frames.

8. The medium of claim 7 , wherein the SCSI disk device type comprises a plurality of disk device characteristics, including a disk capacity and a disk device mode.

9. The medium of claim 8 , wherein the disk device mode comprises one of: SCSI pass-through mode, virtual raw device mode (RDM), or physical RDM.

10. The medium of claim 8 , wherein the disk device characteristics further include an indication that the SCSI disk device type comprises a generic SCSI disk device type supported by a guest operating system of the virtual machine.

11. The medium of claim 7 , wherein the SCSI command comprises a SCSI INQUIRY command, the operations further comprising:

analyzing a received response to the SCSI INQUIRY command to determine whether the SCSI disk device type supports communication between the host computing device and primary storage device over the virtual connection using SCSI commands packaged within one or more FC frames;

writing, by the process, a next SCSI command to the disk device, in response to determining that the SCSI disk device type supports communication between the host computing device and the primary storage device over the virtual connection using SCSI commands packaged within one or more FC frames.

12. The medium of claim 7 , the operations further comprising:

in response to determining that the SCSI command is not one of READ, WRITE, or INQUIRY:

packaging, by the FC adapter in the host computing device, the SCSI command within one or more FC frames;

transmitting, by the FC adapter, the one or more FC frames over FC network on the virtual connection, to the primary storage device; and

receiving, by the virtual machine, from the primary storage, a false success status response.

13. A processing system, comprising a hardware processor coupled to a memory programmed with executable instructions, that when executed by the processing system, perform operations comprising:

establishing a virtual connection between a virtual machine on a host computing device and a primary storage device, the virtual connection established over a Fibre Channel (FC) network, the host computing device comprising an FC adapter that comprises hardware configured to transmit and receive FC frames over the FC network, the virtual connection having virtual connection identification information;

receiving, by the virtual machine, from the primary storage device, a SCSI disk device type advertised by the primary storage device over the FC network, wherein a disk opened with the SCSI disk device type is configured to read and write SCSI commands, each SCSI command packaged within one or more FC frames;

opening, by the virtual machine, a disk device having the advertised SCSI disk device type;

writing, by the virtual machine, a SCSI command to the disk device;

in response to determining that the SCSI command is one of READ, WRITE, or INQUIRY:

packaging, by the FC adapter in the host computing device, the SCSI command within one or more FC frames, in response to the writing;

transmitting, by the FC adapter, the one or more FC frames over FC network on the virtual connection, to the primary storage device;

in response to the SCSI command having the virtual connection identification information in a SCSI logical block address field of a SCSI command block of the SCSI command, receiving a SCSI response to the SCSI command via one or more FC frames from the primary storage device, otherwise receiving an error from the primary storage device that the host computing device is not using the advertised SCSI device for transporting a SCSI command in one or more FC frames.

14. The system of claim 13 , wherein the SCSI disk device type comprises a plurality of disk device characteristics, including a disk capacity and a disk device mode.

15. The system of claim 14 , wherein the disk device mode comprises one of: SCSI pass-through mode, virtual raw device mode (RDM), or physical RDM.

16. The system of claim 14 , wherein the disk device characteristics further include an indication that the SCSI disk device type comprises a generic SCSI disk device type supported by a guest operating system of the virtual machine.

17. The system of claim 13 , wherein the SCSI command comprises a SCSI INQUIRY command, the operations further comprising:

analyzing a received response to the SCSI INQUIRY command to determine whether the SCSI disk device type supports communication between the host computing device and primary storage device over the virtual connection using SCSI commands packaged within one or more FC frames;

writing, by the process, a next SCSI command to the disk device, in response to determining that the SCSI disk device type supports communication between the host computing device and the primary storage device over the virtual connection using SCSI commands packaged within one or more FC frames.

18. The system of claim 13 , the operations further comprising:

in response to determining that the SCSI command is not one of READ, WRITE, or INQUIRY:

packaging, by the FC adapter in the host computing device, the SCSI command within one or more FC frames;

transmitting, by the FC adapter, the one or more FC frames over FC network on the virtual connection, to the primary storage device; and

receiving, by the virtual machine, a false success status response.

19. The method of claim 1 , wherein the virtual connection identification information comprises a tuple having a virtual connection identifier and one or more of: a generation number, or a verifier.

20. The method of claim 19 , wherein the generation number tracks multiple generations of a virtual connection and the verifier is a unique identifier of a particular instance of a virtual connection.

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 IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (046366/0014) 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 060450/0306 →
RELEASE OF SECURITY INTEREST AT REEL 046286 FRAME 0653 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/0093 →
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 (NOTES) Recorded Jun 1, 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 046366/0014 →
PATENT SECURITY AGREEMENT (CREDIT) Recorded Jun 1, 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 046286/0653 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 22, 2015
From: DESAI, KEYUR; CHINNAM, SHOBHAN; HEYMAN, JERROLD
To: EMC CORPORATION
Reel/Frame 037355/0817 →