IP Library Granted Patent US 10,671,286
Granted Patent B2
US 10,671,286 · App. 16/121,471 · Granted Jun 2, 2020

System and method for managing GUI of virtual NVMe entities in NVMe over fabric appliance

Inventors: Yaron Klein (Raanana, IL); Gil Buzaglo (Tel Aviv, IL)
Assignee: Toshiba Memory Corporation
G06F3/0605G06F3/0482G06F3/04847G06F3/0629G06F3/0664G06F3/0673G06F13/1668G06F13/4282G06F2213/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 10,671,286
App. No.
16/121,471
Granted
Jun 2, 2020
Kind
B2
Abstract

A method includes enabling, by a processor, a user to create indication of configuration of a virtual subsystem. The processor enables the user to create, in the indication of configuration of the virtual subsystem, indication of a namespace associated with one of storage devices, indication of a controller, indication of a host, and indication of connectivity between a controller and a namespace or between a host and a namespace. The processor enables the user to select the indicated controller and the indicated namespace, select the indicated host and the indicated controller, and create, in the indication of configuration of virtual subsystem, indication of connectivity between the controller and the namespace and indication of connectivity between the host and the controller. The processor implements the configuration of the virtual subsystem in an appliance to cause the appliance to provide the host with storage access to the namespace via the controller.

Claims (74)

1. A computer program product for providing configuration of virtual subsystems that can provide connectivity between a plurality of hosts and a plurality of storage devices, wherein the computer program product comprises a non-transitory computer readable storage medium having computer readable program code embodied therein that executes to perform operations, the operations comprising:

generating a virtual subsystem graphical user interface (GUI) rendering indication of configuration of a first virtual subsystem configuring connectivity between one or more the plurality of hosts and one or more of the plurality of storage devices;

generating a namespace creation GUI rendering in the virtual subsystem GUI, in response to user selection of the namespace creation GUI, indication of a first namespace that is associated with one of the plurality of storage devices;

generating a controller creation GUI rendering in the virtual subsystem GUI, in response to user selection of the controller creation GUI, indication of a first controller;

generating a host creation GUI rendering, in response to user selection of the host creation GUI, indication of a first host;

generating a connectivity GUI rendering in the virtual subsystem GUI, indication of connectivity between a controller and a namespace or between a host and a namespace;

in response to user selection of the indicated first controller and the indicated first namespace, rendering, by the connectivity GUI in the virtual subsystem GUI, indication of connectivity between the first controller and the first namespace;

in response to user selection of the indicated first host and the indicated first controller, rendering, by the connectivity GUI in the virtual subsystem GUI, indication of connectivity between the first host and the first controller; and

implementing the configuration of the first virtual subsystem as rendered in the virtual subsystem GUI, in an appliance to cause the appliance to provide the first host with storage access to the first namespace via the first controller.

2. The computer program product of claim 1 , further comprising:

generating a storage device GUI rendering indication of the plurality of storage devices, wherein indication of each storage device includes indication of usable storage space of each storage device,

wherein the storage device GUI renders indication of total usable storage space of the plurality of storage devices.

3. The computer program product of claim 1 , further comprising:

generating a port creation GUI rendering in the virtual subsystem GUI, in response to user selection of the port creation GUI, indication of a first port of the first virtual subsystem.

4. The computer program product of claim 1 , wherein

the rendering the indication of connectivity between the first controller and the first namespace includes rendering a line between the indication of the first controller and the indication of the first namespace; and

the rendering the indication of connectivity between the first host and the first controller includes rendering a line between the indication of the first host and the first controller.

5. The computer program product of claim 4 , wherein a thickness of a first rendered line indicating connectivity having a first bandwidth or input/output per second (IOPS) is greater than a thickness of a second rendered line indicating connectivity having a second bandwidth or IOPS smaller than the first bandwidth or IOPS.

6. The computer program product of claim 1 , further comprising:

rendering in the virtual subsystem GUI, in response to user selection of the namespace creation GUI, indication of a second namespace that is associated with one of the plurality of storage devices;

rendering in the virtual subsystem GUI, in response to user selection of the controller creation GUI, indication of a second controller; and

rendering, in response to user selection of the host creation GUI, indication of a second host.

7. The computer program product of claim 1 , wherein the implementing the configuration of the first virtual subsystem includes:

creating an appliance configuration by compiling the indication of the configuration of the first virtual subsystem as rendered in the virtual subsystem GUI; and

implementing the created appliance configuration in the appliance to cause the appliance to provide the first host with storage access to the first namespace via the first controller.

8. A system for providing configuration of virtual subsystems that can provide connectivity between a plurality of hosts and a plurality of storage devices, comprising:

a processor; and

memory, wherein the processor is configured to:

generate a virtual subsystem graphical user interface (GUI) rendering indication of configuration of a first virtual subsystem configuring connectivity between one or more the plurality of hosts and one or more of the plurality of storage devices;

generate a namespace creation GUI rendering in the virtual subsystem GUI, in response to user selection of the namespace creation GUI, indication of a first namespace that is associated with one of the plurality of storage devices;

generate a controller creation GUI rendering in the virtual subsystem GUI, in response to user selection of the controller creation GUI, indication of a first controller;

generate a host creation GUI rendering, in response to user selection of the host creation GUI, indication of a first host;

generate a connectivity GUI rendering in the virtual subsystem GUI, indication of connectivity between a controller and a namespace or between a host and a namespace;

in response to user selection of the indicated first controller and the indicated first namespace, render, by the connectivity GUI in the virtual subsystem GUI, indication of connectivity between the first controller and the first namespace;

in response to user selection of the indicated first host and the indicated first controller, render, by the connectivity GUI in the virtual subsystem GUI, indication of connectivity between the first host and the first controller; and

create an appliance configuration by compiling the indication of the configuration of the first virtual subsystem as rendered in the virtual subsystem GUI so that when the appliance configuration is implemented in the appliance, the appliance can provide the first host with storage access to the first namespace via the first controller.

9. The system of claim 8 , wherein the processor is further configured to:

generate a storage device GUI rendering indication of the plurality of storage devices, wherein indication of each storage device includes indication of usable storage space of each storage device, and

render in the storage device GUI, indication of total usable storage space of the plurality of storage devices.

10. The system of claim 8 , wherein the processor is further configured to:

generate a port creation GUI rendering in the virtual subsystem GUI, in response to user selection of the port creation GUI, indication of a first port of the first virtual subsystem.

11. The system of claim 8 , wherein

in rendering the indication of connectivity between the first controller and the first namespace, the processor is further configured to render a line between the indication of the first controller and the indication of the first namespace; and

in rendering the indication of connectivity between the first host and the first controller, the processor is further configured to render a line between the indication of the first host and the first controller.

12. The system of claim 11 , wherein a thickness of a first rendered line indicating connectivity having a first bandwidth or input/output per second (IOPS) is greater than a thickness of a second rendered line indicating connectivity having a second bandwidth or IOPS smaller than the first bandwidth or IOPS.

13. The system of claim 8 , wherein the processor is further configured to:

render in the virtual subsystem GUI, in response to user selection of the namespace creation GUI, indication of a second namespace that is associated with one of the plurality of storage devices;

render in the virtual subsystem GUI, in response to user selection of the controller creation GUI, indication of a second controller; and

render, in response to user selection of the host creation GUI, indication of a second host.

14. A method for providing configuration of virtual subsystems that can provide connectivity between a plurality of hosts and a plurality of storage devices, comprising:

enabling, by a processor of a computer system, a user of the computer system to create indication of configuration of a first virtual subsystem configuring connectivity between one or more the plurality of hosts and one or more of the plurality of storage devices;

enabling, by the processor, the user to create in the indication of configuration of the first virtual subsystem, indication of a first namespace that is associated with one of the plurality of storage devices;

enabling, by the processor, the user to create indication of a first controller in the indication of configuration of the first virtual subsystem;

enabling, by the processor, the user to create indication of a first host in the indication of configuration of the first virtual subsystem;

enabling, by the processor, the user to create in the indication of configuration of the first virtual subsystem, indication of connectivity between a controller and a namespace or between a host and a namespace;

enabling, by the processor, the user to select the indicated first controller and the indicated first namespace, and create indication of connectivity between the first controller and the first namespace in the indication of configuration of the first virtual subsystem;

enabling, by the processor, the user to select the indicated first host and the indicated first controller, and create indication of connectivity between the first host and the first controller in the indication of configuration of the first virtual subsystem; and

implementing, by the processor, the configuration of the first virtual subsystem in an appliance to cause the appliance to provide the first host with storage access to the first namespace via the first controller.

15. The method of claim 14 , further comprising:

enabling, by the processor, the user to create indication of the plurality of storage devices in the indication of configuration of the first virtual subsystem, wherein indication of each storage device includes indication of usable storage space of each storage device,

wherein the indication of the plurality of storage devices includes indication of total usable storage space of the plurality of storage devices.

16. The method of claim 14 , further comprising:

enabling, by the processor, the user to create indication of a first port of the first virtual subsystem in the indication of configuration of the first virtual subsystem.

17. The method of claim 14 , wherein

the indication of connectivity between the first controller and the first namespace includes a line between the indication of the first controller and the indication of the first namespace; and

the indication of connectivity between the first host and the first controller includes a line between the indication of the first host and the first controller.

18. The method of claim 17 , wherein a thickness of a first line indicating connectivity having a first bandwidth or input/output per second (IOPS) is greater than a thickness of a second line indicating connectivity having a second bandwidth or IOPS smaller than the first bandwidth or IOPS.

19. The method of claim 14 , further comprising:

enabling, by the processor, the user to create indication of a second namespace that is associated with one of the plurality of storage devices;

enabling, by the processor, the user to create indication of a second controller; and

enabling, by the processor, the user to create indication of a second host.

20. The method of claim 14 , wherein the implementing the configuration of the first virtual subsystem includes:

creating, by the processor, an appliance configuration by compiling the indication of the configuration of the first virtual subsystem; and

implementing the created appliance configuration in the appliance to cause the appliance to provide the first host with storage access to the first namespace via the first controller.

Assignments (1)
CHANGE OF NAME AND ADDRESS Recorded Jan 22, 2021
From: TOSHIBA MEMORY CORPORATION
To: KIOXIA CORPORATION
Reel/Frame 055669/0001 →
Continuity (1)
Related Publication 20200073553A1 · Mar 5, 2020