Memory system and control method
AssigneeKioxia Corporation
InventorTatsuya Sasaki
Life of this patent
Estimating the term…
Abstract
According to one embodiment, a controller creates a virtual controller based on an attached state of the namespace with respect to the storage area of the nonvolatile memory based on reception of a first command requesting connection from a first host. The controller executes processing related to an operation of the namespace requested by a second command related to the operation of the namespace based on an attached state of the namespace in the virtual controller when the second command is received from the first host.
Claims20
A memory system comprising:
- a nonvolatile memory including a storage area;
- and
- a controller capable of communicating with a plurality of hosts including a first host and a second host via a network and capable of creating a namespace by logically dividing the storage area of the nonvolatile memory,
- wherein the controller is configured to
- create a virtual controller based on an attached state of the namespace with respect to the storage area of the nonvolatile memory based on reception of a first command requesting connection from the first host, the virtual controller being configured to enable a request for an operation including creation, deletion, attachment, or detachment of the namespace to be received from the first host via the network and configured to enable the first host to independently attach or detach the namespace regardless of attachment or detachment of the namespace by the second host,
- execute processing related to an operation of the namespace requested by a second command related to the operation of the namespace based on an attached state of the namespace in the virtual controller when the second command is received from the first host,
- create a first virtual controller for the first host when the first command is received from the first host,
- create a second virtual controller for the second host when the first command is received from the second host,
- attach or detach the namespace designated by the second command in the first virtual controller when the second command requesting attachment or detachment as the operation of the namespace is received from the first host,
- attach or detach the namespace designated by the second command in the second virtual controller when the second command requesting attachment or detachment as the operation of the namespace is received from the second host,
- manage a correspondence between a first identifier of the namespace created in the nonvolatile memory and a second identifier of the namespace in a state of being attached to the first virtual controller, and manage a correspondence between the first identifier and a third identifier of the namespace in a state of being attached to the second virtual controller,
- convert the second identifier into the first identifier, and execute a processing relating to access requested by a third command with respect to the namespace indicated by the first identifier when the third command is received from the first host, the third command being a command in which the namespace is designated by the second identifier and requesting the access to the namespace, and
- convert the third identifier into the first identifier, and execute a processing related to the access requested by a fourth command with respect to the namespace indicated by the first identifier when the fourth command is received from the second host, the fourth command being a command in which the namespace is designated by the third identifier and requesting the access to the namespace.
A control method for a memory system comprising a nonvolatile memory that includes a storage area and capable of communicating with a plurality of hosts including a first host and a second host via a network and capable of creating a namespace by logically dividing the storage area, the control method comprising:
- creating a virtual controller based on an attached state of the namespace with respect to the storage area of the nonvolatile memory based on reception of a first command requesting connection from the first host, the virtual controller being configured to enable a request for an operation including creation, deletion, attachment, or detachment of the namespace to be received from the first host via the network and configured to enable the first host to independently attach or detach the namespace regardless of attachment or detachment of the namespace by the second host;
- executing processing related to an operation of the namespace requested by a second command related to the operation of the namespace based on an attached state of the namespace in the virtual controller when the second command is received from the first host;
- creating a first virtual controller for the first host when the first command is received from the first host;
- creating a second virtual controller for the second host when the first command is received from the second host;
- attaching or detaching the namespace designated by the second command in the first virtual controller when the second command requesting attachment or detachment as the operation of the namespace is received from the first host;
- attaching or detaching the namespace designated by the second command in the second virtual controller when the second command requesting attachment or detachment as the operation of the namespace is received from the second host;
- managing a correspondence between a first identifier of the namespace created in the nonvolatile memory and a second identifier of the namespace in a state of being attached to the first virtual controller, and managing a correspondence between the first identifier and a third identifier of the namespace in a state of being attached to the second virtual controller;
- converting the second identifier into the first identifier, and executing a processing relating to access requested by a third command with respect to the namespace indicated by the first identifier when the third command is received from the first host, the third command being a command in which the namespace is designated by the second identifier and requesting the access to the namespace;
- and
- converting the third identifier into the first identifier, and executing a processing related to the access requested by a fourth command with respect to the namespace indicated by the first identifier when the fourth command is received from the second host, the fourth command being a command in which the namespace is designated by the third identifier and requesting the access to the namespace.
Dependencies are inferred from the claim text.