Storage device, a host system including the storage device, and a map table updating method of the host system
First Claim
Patent Images
1. A storage device that communicates with an external host device, the storage device comprising:
- a nonvolatile memory device that includes memory blocks; and
a memory controller, the memory controller comprising;
a processor that processes at least one command from the external host device;
a physical function controller that controls a first input/output operation using the processor;
a virtual function controller that controls a second input/output operation using a core of the external host device, the second input/output operation corresponding to a virtualization operation;
an address translation unit that sets a first physical address indicative of a host buffer memory of the external host device and that differs from a second physical address of the nonvolatile memory device;
a write direct memory access (DMA) circuit that writes a first map table used for a first address translation of the first input/output operation and a second map table used for a second address translation of the second input/output operation to the host buffer memory of the external host device, based on the first physical address set by the address translation unit;
a read DMA circuit that reads the first map table and the second map table of the host buffer memory, which are updated according to the at least one command, based on the first physical address set by the address translation unit; and
a nonvolatile memory interface that stores the first map table and the second map table read by the read DMA circuit to the nonvolatile memory device.
1 Assignment
0 Petitions
Accused Products
Abstract
A host system includes a host device, a host buffer memory, and storage device. The host device includes a plurality of cores. The host buffer memory is configured to store a first command queue and a first map table, wherein each of the first command queue and the first map table corresponds to a first core of the cores. The storage device is configured to perform an input/output virtualization operation using the first core as a virtual core. The storage device uses the first command queue and the first map table during the input/output virtualization operation using the first core.
37 Citations
20 Claims
-
1. A storage device that communicates with an external host device, the storage device comprising:
-
a nonvolatile memory device that includes memory blocks; and a memory controller, the memory controller comprising; a processor that processes at least one command from the external host device; a physical function controller that controls a first input/output operation using the processor; a virtual function controller that controls a second input/output operation using a core of the external host device, the second input/output operation corresponding to a virtualization operation; an address translation unit that sets a first physical address indicative of a host buffer memory of the external host device and that differs from a second physical address of the nonvolatile memory device; a write direct memory access (DMA) circuit that writes a first map table used for a first address translation of the first input/output operation and a second map table used for a second address translation of the second input/output operation to the host buffer memory of the external host device, based on the first physical address set by the address translation unit; a read DMA circuit that reads the first map table and the second map table of the host buffer memory, which are updated according to the at least one command, based on the first physical address set by the address translation unit; and a nonvolatile memory interface that stores the first map table and the second map table read by the read DMA circuit to the nonvolatile memory device. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12)
-
-
13. A storage device that communicates with an external host device, comprising:
-
a nonvolatile memory device; and a memory controller that includes a processor, wherein the memory controller controls a first input/output operation using the processor; controls a second input/output operation using a first core of the external host device, the second input/output operation corresponding to a virtualization operation; controls a third input/output operation using a second core of the external host device, the third input/output operation corresponding to the virtualization operation; set a first physical address which indicates a host buffer memory of the external host device and is different from a second physical address of the nonvolatile memory device; writes a first map table used for a first address translation of the first input/output operation, a second map table used for a second address translation of the second input/output operation, and a third map table used for a third address translation of the third input/output operation to the host buffer memory of the external host device, based on the first physical address; reads the first map table, the second map table, and the third map table of the host buffer memory which are updated according to at least one command of the external host device, based on the first physical address; and stores the first map table, the second map table, and the third map table read from the host buffer memory to the nonvolatile memory device. - View Dependent Claims (14, 15)
-
-
16. A method of operating a storage device that communicates with an external host device, the method comprising:
-
performing a first input/output operation and a second input/output operation, the second input/output operation corresponding to a virtualization operation; setting a first physical address which indicates a host buffer memory of the external host device and is different from a second physical address of a nonvolatile memory device of the storage device; writing a first map table used for a first address translation of the first input/output operation and a second map table used for a second address translation of the second input/output operation to the host buffer memory of the external host device, based on the first physical address; determining whether the first map table and the second map table stored in the host buffer memory need to be updated; in response to determining that the first map table and the second map table need to be updated, reading the first map table and the second map table of the host buffer memory which are updated according to at least one command of the external host device, based on the first physical address; and storing the first map table and the second map table read from the host buffer memory to the nonvolatile memory device. - View Dependent Claims (17, 18, 19, 20)
-
Specification