# US 10,771,340 B2 · Automatic ethernet storage discovery in hyperscale datacenter environment

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 10,771,340 B2
- Document ID: US10771340B2
- Status: Granted
- Kind: B2
- Application number: 15/615,508
- Filed: 2017-06-06
- Published: 2018-09-20
- Granted: 2020-09-08
- Earliest claimed: 2017-03-16
- Assignees: Samsung Electronics Co., Ltd.
- Applicants: Samsung Electronics Co., Ltd.
- Inventors: Chinnakrishnan Ballapuram
- Web page: https://patentgrep.com/patent/US10771340B2

## CPC

- H04L 67/1097: for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
- H04L 61/5014: using dynamic host configuration protocol [DHCP] or bootstrap protocol [BOOTP]
- H04L 67/51: Discovery or management thereof, e.g. service location protocol [SLP] or web services
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)

## Abstract

A storage system includes: a plurality of storage devices, each of which being configured to run a DHCP client and a discovery log updater; a host computer configured to provide I/O or compute workloads to the plurality of storage devices; and a discovery server configured to provide a discovery log page to the host computer. The DHCP client and the discovery log updater are running on each of the plurality of storage devices provides a discovery log entry of the corresponding storage device to the discovery server. The discovery log page contains discovery information of the plurality of storage devices including one or more discovery log entries, and each of the one or more discovery log entries includes an address of the corresponding storage device that is assigned to establish communication between the host computer and the corresponding storage device. The host computer establishes a connection with a target storage device using the discovery log entry of the target storage device contained in the discovery log page and provides I/O or compute workloads to the target storage device.

## Claims

### Claim 1

A storage system comprising:
a plurality of storage devices, at least one storage device of the plurality of storage devices being configured to run a dynamic host configuration protocol (DHCP) client; and
a discovery server configured to provide a discovery log page to a host computer,
wherein the at least one storage device of the plurality of storage devices runs a discovery log updater that automatically provides a discovery log entry of a corresponding storage device to the discovery server based on an update of an Internet Protocol (IP) address of the corresponding storage device that is obtained at a request of the DHCP client,
wherein the discovery log page contains discovery information of the plurality of storage devices including one or more discovery log entries, and
wherein the host computer establishes a connection with a target storage device among the plurality of storage devices using an IP address of the target storage device with reference to the discovery log entry of the target storage device that is contained in the discovery log page and provides input/output (I/O) or compute workloads to the target storage device.

### Claim 2 (depends on 1)

The storage system of claim 1, wherein a DHCP server assigns the IP address for the at least one storage device of the plurality of storage devices, and the discovery log updater of the at least one storage device of the plurality of storage devices uses the assigned IP address to automatically send its respective discovery log entry including the assigned IP address to the discovery server.

### Claim 3 (depends on 2)

The storage system of claim 2, wherein the discovery server and the DHCP server are collocated in a same server of the storage system.

### Claim 4 (depends on 2)

The storage system of claim 2, wherein the discovery log entry further includes a port address of a storage device controller.

### Claim 5 (depends on 4)

The storage system of claim 4, wherein the port address is assigned according to the NVMeoF specification.

### Claim 6 (depends on 1)

The storage system of claim 1, wherein the discovery server sends the discovery log page to the host computer using a RESTful application programming interface (API) or a GraphQL request.

### Claim 7 (depends on 1)

The storage system of claim 1, wherein at least one of the plurality of storage devices is a non-volatile memory express over fabrics (NVMeoF) device, and the host computer sends a get log command to the discovery server to receive the discovery log page.

### Claim 8 (depends on 1)

The storage system of claim 1, wherein the plurality of storage devices is attached to a rack, and the discovery server in the rack collects rack-level discovery information that is specific to the rack.

### Claim 9 (depends on 8)

The storage system of claim 8, wherein the plurality of storage devices is distributed among a plurality of racks in a POD, and the discovery server responsible for a POD collects POD-level discovery information that is specific to the POD.

### Claim 10 (depends on 9)

The storage system of claim 9, wherein a POD manager of the POD schedules workloads among the plurality of storage devices based on the POD-level discovery information.

### Claim 11 (depends on 10)

The storage system of claim 10, wherein the POD manager exchanges the POD-level discovery information with another POD manager of the storage system.

### Claim 12

A method comprising:
running a dynamic host configuration protocol (DHCP) client in a storage device;
automatically providing a discovery log entry of the storage device to a discovery server based on an update of an Internet Protocol (IP) address of the storage device that is obtained at a request of the DHCP client;
providing a discovery log page from the discovery server to a host computer, wherein the discovery log page contains discovery information of a plurality of storage devices including one or more discovery log entries;
establishing a connection between the host computer and a target storage device using an IP address of the target storage device with reference to the discovery log entry of the target storage device that is contained in the discovery log page; and
providing input/output (I/O) or compute workloads from the host computer to the target storage device.

### Claim 13 (depends on 12)

The method of claim 12, wherein a DHCP server assigns the network address for at least one storage device of the plurality of storage devices, and a discovery log updater of the at least one storage device of the plurality of storage devices uses the assigned network address to automatically send its respective discovery log entry including the assigned network address to the discovery server.

### Claim 14 (depends on 13)

The method of claim 13, wherein the discovery server and the DHCP server are collocated in a same server of the storage system.

### Claim 15 (depends on 13)

The method of claim 13, wherein the discovery log entry further includes a port address of a storage device controller.

### Claim 16 (depends on 15)

The method of claim 15, wherein the port address is assigned according to the NVMeoF specification.

### Claim 17 (depends on 12)

The method of claim 12, wherein the discovery server sends the discovery log page to the host computer using a RESTful application programming interface (API) or a GraphQL request.

### Claim 18 (depends on 12)

The method of claim 12, wherein at least one of the plurality of storage devices is a non-volatile memory express over fabrics (NVMeoF) device, and the host computer sends a get log command to the discovery server to receive the discovery log page.

### Claim 19 (depends on 12)

The method of claim 12, wherein the plurality of storage devices is attached to a rack, and the discovery server in the rack collects rack-level discovery information that is specific to the rack.

### Claim 20 (depends on 19)

The method of claim 19, wherein the plurality of storage devices is distributed among a plurality of racks in a POD, and the discovery server responsible for a POD collects POD-level discovery information that is specific to the POD.

### Claim 21 (depends on 20)

The method of claim 20, wherein a POD manager of the POD schedules workloads among the plurality of storage devices based on the POD-level discovery information.

### Claim 22 (depends on 21)

The method of claim 21, wherein the POD manager exchanges the POD-level discovery information with another POD manager of the storage system.
