# US 2020/0401751 A1 · Systems & methods for multi pf emulation using vfs in ssd controller

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

- Number: US 2020/0401751 A1
- Document ID: US20200401751A1
- Status: Published application
- Kind: A1
- Application number: 16/846,271
- Filed: 2020-04-10
- Published: 2020-12-24
- Earliest claimed: 2019-06-24
- Assignees: Samsung Electronics Co., Ltd.
- Applicants: Samsung Electronics Co., Ltd.
- Inventors: Ramdas P. KACHARE; Stephen FISCHER; Oscar P. PINTO
- Web page: https://patentgrep.com/patent/US20200401751A1

## CPC

- G06F 30/392: Floor-planning or layout, e.g. partitioning or placement
- G06F 13/105: {where the program performs an input/output emulation function}
- G06F 13/4027: {using bus bridges (G06F13/4022 takes precedence)}
- G06F 30/347: Physical level, e.g. placement or routing
- G06F 13/10: Program control for peripheral devices (G06F13/14 - G06F13/42 take precedence)
- G06F 15/17: using an input/output type connection, e.g. channel, I/O port
- Y02D 10/00: Energy efficient computing, e.g. low power processors, power management or thermal management
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)
- Y02D: CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE

## Abstract

A Lightweight Bridge (LWB) is disclosed. The LWB may be a circuit. An endpoint of the LWB that may expose a plurality of Physical Functions (PFs) to a host. A root port of the LWB may connect to a device and determine the PFs and Virtual Functions (VFs) exposed by the device. An Application Layer-Endpoint (APP-EP) and an Application Layer-Root Port (APP-RP) may translate between the PFs exposed by the endpoint and the PFs/VFs exposed by the device. The APP-EP and the APP-RP may implement a mapping between the PFs exposed by the endpoint and the PFs/VFs exposed by the device.

## Claims

### Claim 1

A lightweight bridge (LWB) circuit, comprising:
an endpoint to connect to a host, the endpoint exposing a plurality of Physical Functions (PFs),
a root port to connect to a device, the device exposing to the root port at least one PF and at least one Virtual Function (VF); and
an Application Layer-End Point (APP-EP) and an Application Layer-Root Port (APP-RP) to translate between the plurality of PFs exposed to the host and the at least one PF and the at least one VF exposed by the device,
wherein the APP-EP and the APP-RP implement a mapping between the plurality of PFs exposed by the endpoint and the at least one PF and the at least one VF exposed by the device.

### Claim 2 (depends on 1)

The LWB circuit according to claim 1, further comprising a configuration manager to configure the APP-EP and the APP-RP.

### Claim 3 (depends on 2)

The LWB circuit according to claim 2, wherein the APP-RP may include storage for a configuration table to store the mapping between the plurality of PFs exposed by the endpoint and the at least one PF and the at least one VF exposed by the device.

### Claim 4 (depends on 2)

The LWB circuit according to claim 2, wherein the configuration manager may enumerate the at least one PF and the at least one VF exposed by the device and generate the plurality of PFs exposed by the endpoint based at least in part on the at least one PF and the at least one VF exposed by the device.

### Claim 5 (depends on 2)

The LWB circuit according to claim 2, wherein the configuration manager may ensure that a first configuration of the device mirrors a second configuration of the endpoint.

### Claim 6 (depends on 2)

The LWB circuit according to claim 2, wherein the configuration manager includes a Read Only Memory (ROM) and a state machine to implement Single Root Input/Output Virtualization (SR-IOV) sequences.

### Claim 7 (depends on 1)

The LWB circuit according to claim 1, further comprising:
a second APP-EP and a second APP-RP;
a second device exposing at least one second PF and at least one second VF; and
a multiplexer/demultiplexer arranged connected to the endpoint and connected to each of the APP-EP and the second APP-EP,
wherein the second APP-EP and the APP-RP implement a second mapping between the plurality of PFs exposed by the endpoint and the at least one second PF and the at least one second VF exposed by the second device.

### Claim 8 (depends on 7)

The LWB circuit according to claim 7, wherein the LWB circuit may offer aggregate resources of the device and the second device.

### Claim 9 (depends on 1)

The LWB circuit according to claim 1, wherein the LWB circuit may implement bandwidth throttling.

### Claim 10 (depends on 9)

The LWB circuit according to claim 9, wherein the LWB circuit may implement bandwidth throttling based at least in part on a policy set the host, a policy set by the device, a temperature of the LWB circuit, a power consumption of the LWB circuit, a temperature of the SSD, or a power consumption of the SSD.

### Claim 11 (depends on 1)

The LWB circuit according to claim 1, wherein the LWB circuit may implement a QoS policy on a PF of the plurality of PFs exposed by the device.

### Claim 12

A method, comprising:
enumerating at least one Physical Function (PF) exposed by a device using a root port of a Lightweight Bridge (LWB);
enumerating at least one Virtual Function (VF) exposed by the device using the root port of the LWB;
generating a plurality of PFs at an endpoint of the LWB for exposure to a host; and
mapping the plurality of PFs at the endpoint of the LWB to the at least one PF and the at least one VF exposed by the device using an Application Layer-Endpoint (APP-EP) and an Application Layer-Root Port (APP-RP) of the LWB.

### Claim 13 (depends on 12)

The method according to claim 12, wherein
enumerating at least one Physical Function (PF) exposed by a device using a root port of a Lightweight Bridge (LWB) includes enumerating at least one second PF exposed by a second device using a second root port of the LWB;
enumerating at least one Virtual Function (VF) exposed by the device using the root port of the LWB includes enumerating at least one second VF exposed by the second device using the second root port of the LWB; and
mapping the plurality of PFs to the at least one PF and the at least one VF includes mapping the plurality of PFs to the at least one PF, the at least one VF, the at least one second PF, and the at least one second VF.

### Claim 14 (depends on 13)

The method according to claim 13, further comprising:
determining resources of the device and the second device; and
aggregating the resources of the device and the second device.

### Claim 15 (depends on 12)

The method according to claim 12, further comprising:
receiving a request from the host at a PF of the plurality of PFs exposed by the endpoint;
mapping the PF of the plurality of PFs exposed by the endpoint of the LWB to a VF of the at least one VF exposed by the device;
translating the request from the PF of the plurality of PFs exposed by the endpoint to the VF of the at least one VF exposed by the device; and
sending the request to the VF of the at least one VF exposed by the device.

### Claim 16 (depends on 15)

The method according to claim 15, further comprising:
determining credits for a data transfer involving the device; and
issuing the credits to the device.

### Claim 17 (depends on 12)

The method according to claim 12, further comprising throttling bandwidth for the device.

### Claim 18 (depends on 17)

The method according to claim 17, wherein throttling bandwidth for the device includes throttling bandwidth for the device based at least in part on one of a QoS policy set by the host, a QoS policy set by the device, a temperature of the LWB, a power consumption of the LWB, a temperature of the SSD, or a power consumption of the SSD.

### Claim 19

An article, comprising a non-transitory storage medium, the non-transitory storage medium having stored thereon instructions that, when executed by a machine, result in:
enumerating at least one Physical Function (PF) exposed by a device using a root port of a Lightweight Bridge (LWB);
enumerating at least one Virtual Function (VF) exposed by the device using the root port of the LWB;
generating a plurality of PFs at an endpoint of the LWB for exposure to a host; and
mapping the plurality of PFs at the endpoint of the LWB to the at least one PF and the at least one VF exposed by the device using an Application Layer-Endpoint (APP-EP) and an Application Layer-Root Port (APP-RP) of the LWB.

### Claim 20 (depends on 19)

The article according to claim 19, wherein
enumerating at least one Physical Function (PF) exposed by a device using a root port of a Lightweight Bridge (LWB) includes enumerating at least one second PF exposed by a second device using a second root port of the LWB;
enumerating at least one Virtual Function (VF) exposed by the device using the root port of the LWB includes enumerating at least one second VF exposed by the second device using the second root port of the LWB; and
mapping the plurality of PFs to the at least one PF and the at least one VF includes mapping the plurality of PFs to the at least one PF, the at least one VF, the at least one second PF, and the at least one second VF.
