Dual-port interposer for storage drives
Techniques, equipment, and systems for enhanced storage systems and storage drive interfacing are presented herein. In one example, a storage interposer includes a storage device connector configured to couple a dual port interface selected among a first interface protocol and a second interface protocol, and a protocol unit configured to transfer storage transactions received over the dual port interface in a storage format. The storage interposer also includes a transaction unit configured to obtain the storage transactions in the storage format and process indications of which port among the dual port interface supplied each of the storage transactions against one or more criteria to order the storage transactions into a queue shared among the ports. A single port storage drive coupled to the storage interposer can be issued the storage transactions from the queue according to the order.
1 . A storage interposer, comprising:
a first storage device connector configured to couple a dual port interface;
a second storage device connector configured to couple a single port interface;
a protocol unit configured to obtain communications received over ports of the dual port interface and transfer storage transactions in a storage format; and
a transaction unit configured to obtain the storage transactions in the storage format, process indications of which port among the dual port interface supplied each of the storage transactions to order the storage transactions into a queue shared among the ports, with interleaving among the ports of the dual port interface established at least according to fairness of utilization of the single port interface by hosts communicating over the dual port interface, and issue the storage transactions from the queue according to the order for delivery over the single port interface.
2 . The storage interposer of claim 1 , wherein the first storage device connector is configured to provide connections for:
the ports of the dual port interface that carry at least one among a Peripheral Component Interconnect Express (PCIe) protocol transporting the storage transactions having a Non-Volatile Memory Express (NVMe) format, and an Ethernet protocol transporting the storage transactions encapsulated into a network packet format.
3 . The storage interposer of claim 2 , wherein the protocol unit is configured to receive the storage transactions in the Ethernet protocol and process the network packet format to produce the storage transactions having the NVMe format.
4 . The storage interposer of claim 3 , wherein the transaction unit is configured to obtain the storage transactions in the storage format comprising the NVMe format such that the storage transactions received in the Ethernet protocol and the storage transactions received in the PCIe protocol are stored in the queue in the NVMe format.
5 . The storage interposer of claim 1 , wherein the indications of which port among the dual port interface comprise one or more bits added in headers of the storage transactions by issuing hosts that indicate port identities associated with the hosts.
6 . The storage interposer of claim 1 , wherein the transaction unit includes a hardware state machine configured to process the indications to determine a sequencing among the ports that establishes the order.
7 . The storage interposer of claim 1 , wherein the fairness of utilization is established at least according to sizes of the storage transactions for each of the ports.
8 . The storage interposer of claim 1 , wherein:
the first storage device connector comprises a first U.2 or U.3 storage drive connector; and
the second storage device connector comprises a second U.2 or U.3 storage drive connector.
9 . The storage interposer of claim 2 , wherein:
the first storage device connector is configured to at least partially share electrical connections of the first storage device connector among the PCIe protocol and the Ethernet protocol; and
the protocol unit is configured to detect a presently employed one among the PCIe protocol and the Ethernet protocol.
10 . The storage interposer of claim 1 , comprising:
a carrier assembly configured to removably couple a single port storage drive over the second storage drive connector.
11 . An apparatus, comprising:
a host interface configured comprising a first storage device connector configured to couple a dual port interface selected among a first interface protocol and a second interface protocol;
a drive interface comprising a second storage device connector configured to couple a single port storage drive; and
an interposer processor configured to detect among the first interface protocol and the second interface protocol at the host interface, transfer storage transactions received over the dual port interface in a storage format, process indications of which port among the dual port interface supplied each of the storage transactions to order the storage transactions into a queue shared among the ports, with interleaving among ports of the dual port interface established at least according to fairness of utilization of the drive interface by hosts communicating over the dual port interface, and issue the storage transactions from the queue according to the order for delivery over the drive interface.
12 . The apparatus of claim 11 , wherein the first interface protocol corresponds to a Peripheral Component Interconnect Express (PCIe) protocol transporting the storage transactions having a Non-Volatile Memory Express (NVMe) format, and the second interface protocol corresponds to an Ethernet protocol transporting the storage transactions encapsulated into a network packet format.
13 . The apparatus of claim 12 , wherein the interposer processor is configured to receive the storage transactions in the Ethernet protocol and process the network packet format to produce the storage transactions having the NVMe format.
14 . The apparatus of claim 11 , wherein the indications of which port among the dual port interface comprise one or more bits added in headers of the storage transactions by the hosts that indicate port identities associated with the hosts.
15 . The apparatus of claim 11 , wherein the interposer processor includes a hardware state machine configured to process the indications to determine a sequencing among the ports that establishes the order.
16 . The apparatus of claim 11 , wherein the fairness of utilization is established at least according to sizes of the storage transactions for each of the ports of the dual port interface.
17 . The apparatus of claim 11 , wherein:
the first storage device connector comprises a first U.2 or U.3 storage drive connector; and
the second storage device connector comprises a second U.2 or U.3 storage drive connector.
18 . The apparatus of claim 11 , wherein:
the host interface is configured to at least partially share electrical connections of a storage device connector among the first interface protocol and the second interface protocol; and
the interposer processor is configured to detect a presently employed one among the first interface protocol and the second interface protocol.
19 . A method, comprising:
detecting among a first interface protocol and a second interface protocol employed for a dual port host interface comprising a first storage device connector; and
processing header indications added by hosts into storage transactions received over the dual port host interface of which port among the dual port host interface supplied each of the storage transactions to order the storage transactions into a queue shared among the ports with interleaving among the ports established at least according to fairness of utilization of a single port interface by the ports of the dual port interface for issuance of the storage transactions to a single port storage drive coupled over the single port interface from the queue according to the order.
20 . The method of claim 19 , comprising:
processing at least the indications by a hardware state machine to determine a sequencing among the ports that establishes the order;
wherein the fairness of utilization is established at least according to sizes of the storage transactions for each of the ports.
21 . A storage system, comprising:
a chassis configured to couple interposers carrying storage drives and comprising communication interfacing circuitry for storage links of the interposers;
wherein each of the interposers comprise:
a storage device connector configured to couple a dual port interface;
a protocol unit configured to obtain communications received over the dual port interface and transfer storage transactions in a storage format; and
a transaction unit configured to obtain the storage transactions in the storage format and process indications of which port among the dual port interface supplied each of the storage transactions to order the storage transactions into a queue shared among the ports, with interleaving among the ports of the dual port interface established at least according to fairness of utilization of a single port interface by the ports of the dual port interface, and issue the storage transactions from the queue according to the order for delivery over the single port interface for handling by a single port storage drive coupled to the single port interface.