Shared function for multi-port memory device
Implementations described herein relate to a shared function for a multi-port memory device. In some implementations, a memory device may include a first port, a second port, and one or more components configured to manage a shared function of the memory device. The shared function of the memory device may enable a host device that is connected to the first port of the memory device to identify and enumerate the second port of the memory device. In some implementations, the shared function of the memory device may establish a virtual connection between the first port and the second port, and may enable the host device that is connected to the first port of the memory device to share a resource or a function with another host device that is connected to the second port of the memory device.
1 . A memory device, comprising:
a first port;
a second port; and
one or more components configured to manage a shared function of the memory device,
wherein the shared function of the memory device is configured to enable a host device, that is directly connected to the first port, to share data with another host device, that is directly connected to the second port, via a virtual connection between the first port and the second port, wherein a shared function manager is configured to enable the host device to manage access to the first port and the second port by the other host device.
2 . The memory device of claim 1 ,
wherein the shared function enables the host device to identify and enumerate the second port.
3 . The memory device of claim 1 ,
wherein the shared function is configured to enable the host device that is connected to the first port of the memory device to share a resource or a function of the host device with the other host device.
4 . The memory device of claim 1 ,
wherein the host device is associated with a first identifier that includes an indication of the first port, a first bus, the host device, and a first function associated with the host device, and the other host device is associated with a second identifier that includes an indication of the second port, a second bus, the other host device, and a second function associated with the other host device, and wherein the shared function is configured to enable the host device to perform an address mapping and to identify the other host device that is connected to the second port of the memory device using the second identifier.
5 . The memory device of claim 1 ,
wherein the host device is physically connected to the first port but is not physically connected to the second port, and wherein the other host device is physically connected to the second port but is not physically connected to the first port.
6 . The memory device of claim 1 ,
wherein the shared function is associated with a shared function identifier, and wherein the one or more components are configured to report the shared function identifier via a configuration space.
7 . The memory device of claim 1 ,
wherein the shared function comprises a liveness detection function that is configured to enable the host device to determine whether the other host device is in an online state or an offline state.
8 . The memory device of claim 1 ,
wherein the shared function includes a resource sharing function that identifies one or more physical resources of the first port and the second port and reports an availability of the one or more physical resources via a configuration space.
9 . A system, comprising:
a memory device, wherein the memory device comprises:
a first port;
a second port; and
a configuration register that is configured to manage a shared function of the memory device; and
a host device, wherein the host device is configured to:
connect directly to the first port of the memory device, and
identify whether another host device is in an online state or an offline state; and
share data with the other host device, that is directly connected to the second port of the memory device, via a virtual connection between the first port of the memory device and the second port of the memory device.
10 . The system of claim 9 ,
wherein the shared function of the memory device is configured to enable the host device to identify and enumerate the second port of the memory device.
11 . The system of claim 9 ,
wherein the host device is further configured to:
manage a bandwidth associated with the first port and the second port for performing read operations or write operations; or
identify a command queue depth associated with the first port and the second port.
12 . The system of claim 9 ,
wherein the shared function is associated with a shared function identifier, and wherein the configuration register is configured to report the shared function identifier via a configuration space.
13 . The system of claim 9 ,
wherein the shared function comprises a liveness detection function that is configured to enable the host device to determine whether the other host device is in an online state or an offline state.
14 . The system of claim 9 ,
wherein a shared function manager is configured to enable the host device to manage access to the first port and the second port by the other host device.
15 . The system of claim 9 ,
wherein the shared function includes a resource sharing function that identifies one or more physical resources of the first port and the second port and reports an availability of the one or more physical resources via a configuration space.
16 . The system of claim 9 ,
wherein the host device is associated with a first identifier that includes an indication of the first port, a first bus, the host device, and a first function associated with the host device, and the other host device is associated with a second identifier that includes an indication of the second port, a second bus, the other host device, and a second function associated with the other host device, and wherein the shared function is configured to enable the host device to perform an address mapping and to identify the other host device that is connected to the second port of the memory device using the second identifier.
17 . An apparatus, comprising:
means for identifying a first port of a memory device;
means for identifying a second port of the memory device;
means for managing a shared function of the memory device,
wherein the shared function of the memory device is configured to enable a host device, that is directly connected to the first port, to share data with another host device, that is directly connected to the second port, via a virtual connection between the first port and the second port; and
means for enabling the host device to manage access to the first port and the second port by the other host device.
18 . The apparatus of claim 17 , further comprising
means for enabling the host device to determine whether the other host device is in an online state or an offline state.
19 . The apparatus of claim 17 , further comprising:
means for identifying one or more physical resources of the first port and the second port; and
means for reporting an availability of the one or more physical resources via a configuration space.
20 . The apparatus of claim 17 , further comprising:
means for enabling the host device to manage access to the first port and the second port by the other host device.