IP Library Granted Patent US 11,194,750
Granted Patent B2
US 11,194,750 · App. 16/711,337 · Granted Dec 7, 2021

Memory sub-system with multiple ports having single root virtualization

Inventors: John E. Maroney (Irvine, CA); Christopher J. Bueb (Folsom, CA)
Assignee: Micron Technology, Inc.
G06F13/4027G06F9/455G06F12/10G06F13/1668G06F13/4282G06F2212/657G06F2213/0026
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 11,194,750
App. No.
16/711,337
Granted
Dec 7, 2021
Kind
B2
Abstract

A processing device to perform operations including detecting a first host system connected to a first interface port of the plurality of interface ports of the memory device, the first host system is one of a plurality of host systems. Detecting a second host system connected to a second interface port of the plurality of interface ports, the second host system is one of the plurality of host systems. Assigning a first subset of a plurality of virtual functions (VF)s associated with the memory device to the first host system using root input/output virtualization (SR-IOV) and assigning a second subset of the plurality of VFs to the second host system using SR-IOV. Allocating a first corresponding range of logical block addresses (LBA) to each VF of the first subset of VFs and allocating a second corresponding range of LBAs to each VF of the second subset of VFs.

Claims (47)

1. A system comprising:

a memory device;

a plurality of interface ports operatively coupled with the memory device; and

a processing device, operatively coupled with the memory device, to perform operations comprising:

detecting a first host system connected to a first interface port of the plurality of interface ports of the memory device, wherein the first host system is one of a plurality of host systems;

detecting a second host system connected to a second interface port of the plurality of interface ports of the memory device, wherein the second host system is one of the plurality of host systems;

assigning a first subset of a plurality of virtual functions (VF)s associated with the memory device to the first host system using root input/output virtualization (SR-IOV);

allocating a first corresponding range of logical block addresses (LBA) of the memory device to each VF of the first subset of virtual functions;

assigning a second subset of the plurality of VFs associated with the memory device to the second host system using SR-IOV, wherein the first host system and the second host system are to access the first subset and the second subset of the plurality of VFs of the memory device concurrently; and

allocating a second corresponding range of LBAs of the memory device to each VF of the second subset of virtual functions, wherein the first host system is to access the first corresponding range of LBA of the memory device concurrently with the second host system accessing the second corresponding range of LBA of the memory device, and wherein the first corresponding range of LBAs is different than the second corresponding range of LBAs.

2. The system of claim 1 , wherein for each interface port of the plurality of interface ports, the processing device is to perform further operations comprising:

detecting a corresponding host system of the plurality of host systems connected to the respective interface port;

assigning a corresponding subset of the plurality of virtual functions (VF)s associated with the memory device to the corresponding host system using root input/output virtualization (SR-IOV); and

assigning a corresponding range of logical block addresses (LBA) of the memory device to each VF of the corresponding subset of virtual functions.

3. The system of claim 1 , wherein the plurality of interface ports comprises Peripheral Component Interconnect Express (PCIe) ports, wherein the first interface port comprises a first PCIe port, and wherein the second interface port comprises a second PCIe port.

4. The system of claim 3 , wherein each PCIe port of the plurality of PCIe ports is SR-IOV enabled.

5. The system of claim 3 , wherein the first subset of VFs corresponds to a plurality of virtual PCIe interfaces that share physical resources of the first PCIe port, and wherein the second subset of VFs corresponds to a second plurality of virtual PCIe interfaces that share physical resources of the second PCIe port.

6. The system of claim 1 , wherein for each host system of the plurality of host systems, the processing device is to perform further operations comprising:

assigning a corresponding VF of the subset of VFs assigned to the respective host system to a corresponding virtual machine of a plurality of virtual machines of the respective host system.

7. The system of claim 1 , wherein the first host system and the second host system access respective ports concurrently.

8. The system of claim 1 , wherein the plurality of host systems are provided access to the memory device without a separate switch.

9. A method comprising:

detecting a first host system connected to a first interface port of a plurality of interface ports of a memory device, wherein the first host system is one of a plurality of host systems;

detecting a second host system connected to a second interface port of the plurality of interface ports of the memory device, wherein the second host system is one of the plurality of host systems;

assigning a first subset of a plurality of virtual functions (VF)s associated with the memory device to the first host system using root input/output virtualization (SR-IOV);

allocating a first corresponding range of logical block addresses (LBA) of the memory device to each VF of the first subset of virtual functions;

assigning a second subset of the plurality of VFs associated with the memory device to the second host system using SR-IOV, wherein the first host system and the second host system are to access the first subset and the second subset of the plurality of VFs of the memory device concurrently; and

allocating a second corresponding range of LBAs of the memory device to each VF of the second subset of virtual functions, wherein the first host system is to access the first corresponding range of LBA of the memory device concurrently with the second host system accessing the second corresponding range of LBA of the memory device, and wherein the first corresponding range of LBAs is different than the second corresponding range of LBAs.

10. The method of claim 9 , wherein the plurality of interface ports comprises Peripheral Component Interconnect Express (PCIe) ports, wherein the first interface port comprises a first PCIe port, and wherein the second interface port comprises a second PCIe port.

11. The method of claim 10 , wherein each PCIe port of the plurality of PCIe ports is SR-IOV enabled.

12. The method of claim 10 , wherein the first subset of VFs corresponds to a plurality of virtual PCIe interfaces that share physical resources of the first PCIe port, and wherein the second subset of VFs corresponds to a second plurality of virtual PCIe interfaces that share physical resources of the second PCIe port.

13. The method of claim 9 , wherein for each host system of the plurality of host systems:

assigning a corresponding VF of the subset of VFs assigned to the respective host system to a corresponding virtual machine of a plurality of virtual machines of the respective host system.

14. The method of claim 9 , wherein the first host system and the second host system access respective ports concurrently.

15. The method of claim 9 , wherein the plurality of host systems are provided access to the memory device without a separate switch.

16. A system comprising:

a memory device;

a plurality of interface ports operatively coupled with the memory device; and

a processing device, operatively coupled with the memory device, to perform operations comprising:

providing access to a plurality of host systems that utilize a memory device using a plurality of interface ports of the memory device, wherein each interface port of the plurality of interface ports connects to a separate host system of the plurality of host systems; and

assigning a corresponding subset of a plurality of virtual functions (VFs) of the memory device to each host system of the plurality of host systems using single root input/output virtualization (SR-IOV), wherein a first host system and a second host system are to access the first subset and the second subset of the plurality of VFs of the memory device concurrently, wherein the first host system is to access a first corresponding range of logical block addresses LBA of the memory device concurrently with the second host system accessing a second corresponding range of LBAs of the memory device, and wherein the first corresponding range of LBAs is different than the second corresponding range of LBAs.

17. The system of claim 16 , wherein for each host system of the plurality of host systems, the processing device is to perform further operations comprising:

assigning a corresponding range of logical block addresses (LBA) of the memory device to each virtual function of the corresponding subset of virtual functions assigned to the respective host system.

18. The system of claim 16 , wherein the plurality of interface ports comprises Peripheral Component Interconnect Express (PCIe) ports.

19. The system of claim 18 , wherein the each PCIe port of the plurality of PCIe ports is SR-IOV enabled.

20. The system of claim 16 , wherein for each host system of the plurality of host systems, the processing device is to perform further operations comprising:

assigning a corresponding VF of the corresponding subset of VFs assigned to the respective host system to a corresponding virtual machine of a plurality of virtual machines of the respective host system.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 31, 2020
From: MARONEY, JOHN E.; BUEB, CHRISTOPHER J.
To: MICRON TECHNOLOGY, INC.
Reel/Frame 051690/0922 →
Continuity (2)
Provisional Application 62778515 · Dec 12, 2018
Related Publication 20200192848A1 · Jun 18, 2020
Cited By (3)
US 12,248,708 US 12,638,994 US 12,639,225