IP Library › Granted Patent US 11,720,413
Granted Patent B2
US 11,720,413 · App. 16/896,201 · Granted Aug 8, 2023

Systems and methods for virtualizing fabric-attached storage devices

Inventor: Ronald Lee (Pleasanton, CA)
G06F9/5083H04L2101/663
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,720,413
App. No.
16/896,201
Granted
Aug 8, 2023
Kind
B2
Abstract

Disclosed are systems and methods of providing virtualized storage that may include establishing, through a load balancer, a transport connection between a device and a group of fabric-attached storage devices, and transferring data between the device and the group of fabric-attached storage devices through the transport connection using a transport protocol, wherein the group of fabric-attached storage devices comprises two or more fabric-attached storage devices and is accessed by the device as a logical storage device. A storage device may include a storage medium, a network fabric interface, and a storage controller configured to transfer data between the storage medium and a device through the network fabric interface over a transport connection, wherein the storage controller is configured to share the transport connection with another data storage device that is fabric-attached.

Claims (45)

1. A method of providing virtualized storage, the method comprising:

establishing, using a load balancer, a transport connection between a device and two or more fabric-attached storage drives; and

transferring, based on a write command, data between the device and at least two of the two or more fabric-attached storage drives using the transport connection using a transport protocol;

wherein the two or more fabric-attached storage drives are accessed by the device as a logical storage drive;

wherein a first one of the two or more fabric-attached storage drives comprises a first network adapter coupled to the device using a network fabric;

wherein a second one of the two or more fabric-attached storage drives comprises a second network adapter coupled to the device using a network fabric; and

wherein the two or more fabric-attached storage drives use a network address associated with the two or more fabric-attached storage-drives; and

wherein the method further comprises:

storing, based on the write command, using the network address and a first port identifier, a first portion of the data at the first one of the two or more fabric-attached storage drives; and

storing, based on the write command, using the network address and a second port identifier, a second portion of the data at the second one of the two or more fabric-attached storage drives.

2. The method of claim 1 , wherein the network address comprises an Internet Protocol (IP) address.

3. The method of claim 1 , wherein the transport protocol comprises Transmission Control Protocol (TCP).

4. The method of claim 1 , wherein the device and one or more of the at least two fabric-attached storage drives exchange data use a Nonvolatile Memory Express Over Fabric (NVMe-oF) protocol.

5. The method of claim 1 , wherein a receive window space of the transport connection is shared between at least two of the two or more fabric-attached storage drives.

6. The method of claim 1 , wherein at least two of the two or more fabric-attached storage drives transfer data to the device using at least a first transport protocol sequence number and a second transport protocol sequence within the transport connection in response to a read command.

7. The method of claim 1 , wherein one of the two or more fabric attached storage drives accumulates one or more acknowledgements from the device in response to the device receiving read data.

8. The method of claim 1 , wherein the load balancer transfers data from the device directly to one or more of the two or more fabric attached storage drives using the transport connection for a write operation.

9. The method of claim 1 , wherein, for a write operation:

the load balancer transfers write data from the device to a first one of the two or more fabric attached storage drives; and

the first one of the two or more fabric attached storage drives transfers at least part of the write data from the device to a second one of the two or more fabric attached storage drives.

10. The method of claim 9 , wherein the first one of the two or more fabric attached storage drives determines a distribution of the write data between the two or more fabric attached storage drives.

11. A storage system comprising:

a first fabric-attached storage drive comprising a first network interface;

a second fabric-attached storage drive comprising a second network interface; and

a load balancer connected, using a network fabric, to the first fabric-attached storage drive using the first network interface and the second fabric-attached storage drive using the second network interface;

wherein the load balancer is configured to transfer, based on a write command, data between a device and the first and second fabric-attached storage drives using a transport connection that is shared between the first and second fabric-attached storage drives;

wherein the load balancer and the first and second fabric-attached storage drives are configured to use a network address associated with the first and second fabric-attached storage drives;

wherein the first fabric-attached storage drive is configured to store, based on the write command, using the network address and a first port identifier, a first portion of the data; and

wherein the second fabric-attached storage drive is configured to store, based on the write command, using the network address and a second port identifier, a second portion of the data.

12. The storage system of claim 11 , wherein the load balancer is configured to transfer data between the device and the first and second fabric-attached storage drives using a shared window space of the transport connection.

13. The storage system of claim 11 , wherein the first and second fabric-attached storage drives are configured to operate as a logical storage drive.

14. A storage drive comprising:

a storage medium;

a network fabric interface; and

a storage controller configured to transfer data between the storage medium and a device using the network fabric interface using a transport connection;

wherein the storage controller is configured to share the transport connection with another storage drive that is fabric-attached;

wherein the storage controller is configured to use a network address associated with the other storage drive; and

wherein the storage controller comprises logic configured to determine a distribution of write data between the storage drive using the network address and a first port identifier and the other storage drive using the network address and a second port identifier.

15. The storage drive of claim 14 , wherein:

the storage controller comprises logic configured to send a message to the other storage drive in response to a read command from the device; and

the message includes information to enable the other storage drive to transfer read data to the device using the transport connection.

16. The storage drive of claim 14 , wherein:

the storage controller comprises logic configured to receive a message from the other storage drive; and

the message includes information to enable the storage drive to transfer read data to the device using the transport connection.

17. The storage drive of claim 14 , wherein the device is a first device, and the storage controller comprises logic configured to send read data to a second device in response to a read command from the first device.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 17, 2023
From: LEE, RONALD
To: SAMSUNG ELECTRONICS CO., LTD.
Reel/Frame 063981/0137 →
Continuity (1)
Related Publication 20210382663A1 · Dec 9, 2021
Cited By (2)
US 12,395,453 US 12,602,174