USRE49117EActiveUtility
Switch module and storage system
Est. expiryMar 10, 2036(~9.7 yrs left)· nominal 20-yr term from priority
G06F 13/4068G06F 13/4022G06F 2212/657G06F 13/4282G06F 12/1009G06F 2212/152G06F 2213/0026G06F 2212/1008
64
PatentIndex Score
0
Cited by
5
References
29
Claims
Abstract
According to one embodiment, a switch module includes a first port with PCIe/NVMe standard being connectable to a host, second ports with PCIe/NVMe standard being connectable to storage devices respectively, and a controller to make the host recognize the storage devices as a virtual storage device.
Claims
exact text as granted — not AI-modifiedWhat is claimed is:
1. A switch module comprising:
a first port being connectable to a host in accordance with Peripheral Component Interconnect Express/Non-Volatile Memory Express (PCIe/NVMe) standard;
second ports being connectable to storage devices in accordance with the PCIe/NVMe standard respectively; and
a controller configured to make the host recognize the storage devices as a single virtual storage device by
allocating a physical function of each of the storage devices to one of virtual functions of the single virtual storage device,
allocating a virtual function of each of the storage devices to one of the virtual functions of the single virtual storage device, and
showing, to the host,
a physical function of the single virtual storage device, and
the virtual functions of the single virtual storage device.
2. The switch module of claim 1 , further comprising
a memory storing a mapping table which associates the physical and virtual functions of the storage devices with the virtual functions of the virtual storage device.
3. The switch module of claim 1 , wherein
the controller defines the physical function and the virtual functions of the virtual storage device and the physical and virtual functions of the storage devices based on Single root I/O virtualization (SRIOV) standard or Multi-root I/O virtualization (MRIOV) standard.
4. The switch module of claim 1 , further comprising
a memory buffering a data transfer between the host and the storage devices.
5. The switch module of claim 1 , wherein
the storage devices are accessible to a memory in the host.
6. The switch module of claim 1 , further comprising
a CPU managing electric powers of the storage devices.
7. The switch module of claim 1 , wherein
the controller indicates an initialization to the storage devices in series after receiving a request of the initialization of the virtual storage device from the host, and transfers a completion response to the host after completing the initialization of all of the storage devices.
8. The switch module of claim 1 , wherein
the controller selects one storage device as a target of a request from the storage devices after receiving the request from the host to the virtual storage device, and transfers a completion response to the host after completing the request in the one storage device as the target of the request.
9. The switch module of claim 1 , wherein
the controller indicates a request to the host after receiving the request from one of the storage devices to the host, and transfers a completion response to one of the storage device after completing the request in the host.
10. The switch module of claim 1 , wherein
the storage devices are solid state drives (SSDs).
11. A storage system comprising:
a host;
storage devices; and
a switch module connected between the host and the storage devices,
the switch module comprises:
a first port being connectable to the host in accordance with Peripheral Component Interconnect Express/Non-Volatile Memory Express (PCIe/NVMe) standard;
second ports being connectable to the storage devices in accordance with the PCIe/NVMe standard respectively; and
a controller configured to make the host recognize the storage devices as a single virtual storage device by
allocating a physical function of each of the storage devices to one of virtual functions of the single virtual storage device,
allocating a virtual function of each of the storage devices to one of the virtual functions of the single virtual storage device, and
showing, to the host,
a physical function of the single virtual storage device, and
the virtual functions of the single virtual storage device.
12. The storage system of claim 11 , wherein
the switch module further comprises a memory storing a mapping table which associates the physical and virtual functions of the storage devices with the virtual functions of the virtual storage device.
13. The storage system of claim 11 , wherein
the controller defines the physical function and the virtual functions of the virtual storage device and the physical and virtual functions of the storage devices based on Single root I/O virtualization (SRIOV) standard or Multi-root I/O virtualization (MRIOV) standard.
14. The storage system of claim 11 , wherein
the switch module further comprises a memory buffering a data transfer between the host and the storage devices.
15. The storage system of claim 11 , wherein
the host comprises a memory to which the storage devices are accessible.
16. The storage system of claim 11 , wherein
the switch module further comprises a CPU managing electric powers of the storage devices.
17. A method of controlling a plurality of storage devices, each of the plurality of storage devices conforming to Non-Volatile Memory Express (NVMe) standard, said method comprising:
in order for a host conforming to the NVMe standard to recognize the plurality of storage devices as a single storage device,
showing, to the host, a physical function of the single storage device,
showing, to the host, first virtual functions of the single storage device, and
showing, to the host, second virtual functions of the single storage device, the first virtual functions being based on a physical function of each of the plurality of storage devices, the second virtual functions being based on a virtual function of each of the plurality of storage devices.
18. The method of claim 17, wherein
each of the plurality of storage devices is a solid state drive (SSD).
19. The method of claim 17, further comprising:
allocating (A) the first virtual functions of the sine storage, device with the physical function of each of the plurality of storage devices, and (B) the second virtual functions of the single storage device with the virtual function of each of the plurality of storage devices.
20. The method of claim 17, further comprising:
associating by using a mapping table, the second virtual functions of the single storage device and the virtual function of each of the plurality of storage devices.
21. The method of claim 17, wherein
at least one of the host and the plurality of storage devices further conforms to Peripheral Component Interconnect Express (PCIe) standard.
22. The method of claim 17, further comprising:
in response to receiving, from the host a request to access the single storage device, selecting one of the plurality of storage devices as a target of the access; and transmitting, to the host, a completion response after the access to the selected one of the plurality of storage devices is completed.
23. The method of claim 22, wherein
the one of the plurality of storage devices is selected by using a mapping table that associates the second virtual functions of the single storage device and the virtual function of each of the plurality of storage devices.
24. The method of claim 17, further comprising:
in response to receiving, from one of the plurality of storage devices, a request for the host, transmitting the request to the host; and transmitting, to the one of the plurality of storage devices, a completion response after the request is completed by the host.
25. The method of claim 24, further comprising:
selecting, by using a mapping table that associates the second virtual functions of the single storage device and the virtual function of each of the plurality of storage devices, the one of the plurality of storage devices to transmit the completion response.
26. The method of claim 17, wherein
a throughput of a first interface is higher than a throughput of each of a plurality of second interfaces, the first interface being an interface to communicate with the host, the plurality of second interfaces being interfaces to communicate with the plurality of storage devices respectively.
27. The method of claim 17, wherein
when a first storage device is added to the plurality of storage devices, a capacity shown to the host as a capacity of the single storage device is increased by a capacity of the first storage device, and when a second storage device is removed from the plurality of storage devices, the capacity shown to the host as the capacity of the single storage device is decreased by a capacity of the second storage device.
28. The method of claim 27, further comprising:
supporting a hot-plug function to add the first storage device or to remove the second storage device.
29. The method of claim 17, further comprising:
communicating with a second host, the second host being different from the host.Cited by (0)
No later patents cite this yet.
References (0)
No backward citations on record.