IP Library Granted Patent US 12,131,179
Granted Patent B2
US 12,131,179 · App. 18/363,324 · Granted Oct 29, 2024

Memory system and operating method thereof

Inventor: Hyeong Jae Choi (Icheon-si, KR)
Assignee: SK HYNIX INC.
G06F9/45558G06F9/44505G06F9/544G06F13/1673G06F2009/45583G06F2009/45595
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 12,131,179
App. No.
18/363,324
Granted
Oct 29, 2024
Kind
B2
Abstract

A memory system is provided to include a first virtual function controller in communication with a first virtual machine of a host and configured to receive, from the first virtual machine, a command for accessing a namespace and provide, to the first virtual machine, a response to the command; a second virtual function controller in communication with a second virtual machine of the host and configured to be coupled to the namespace and receive the command from the first virtual function controller based on status information of the first virtual function controller and the second virtual function controller; a buffer memory configured to provide an area for data corresponding to the command; and a memory controller configured to access the namespace based on the command and provide the buffer memory with the data.

Claims (32)

1. A data processing system, comprising:

one or more processors;

a host system including a plurality of virtual machines; and

a memory system including a plurality of virtual function controllers, a plurality of namespaces and a memory controller,

wherein the plurality of virtual function controllers executed by the one or more processors to communicate with the plurality of virtual machines and receive a command for accessing the plurality of namespaces, respectively,

wherein the memory controller executed by the one or more processors to communicate with the plurality of virtual function controllers and access the plurality of namespaces based on the command,

wherein the plurality of namespaces have different storage capacities based on the plurality of virtual machines,

wherein each of the plurality of namespaces are provided to one or more virtual functions,

wherein the plurality of namespaces provided to only one virtual function are a plurality of dedicated namespaces and a single namespace provided to a plurality of virtual functions is a shared namespace,

wherein the plurality of dedicated namespaces is accessible by only a corresponding virtual function controller and the shared namespace is accessible by the plurality of virtual function controllers, and

wherein a first virtual machine of the plurality of virtual machines accesses a first dedicated namespace of the plurality of dedicated namespaces only through a first virtual function controller of the plurality of virtual function controllers, a second virtual machine accesses a second dedicated namespace only through a second virtual function controller, a third virtual machine accesses a third dedicated namespace only through a third virtual function controller, and the first to third virtual machines access the shared namespace through the first to third virtual function controllers.

2. The data processing system of claim 1 , wherein each of the plurality of namespaces is an addressable logical memory space or domain associated with a physical memory space in the memory system.

3. The data processing system of claim 1 , wherein the memory controller allocates logical addresses in a predetermined range to each of the plurality of namespaces.

4. The data processing system of claim 1 , wherein when the first virtual function controller is in a busy state and at least one of the second virtual function controller and the third virtual function controller is in an idle state, the first virtual function controller provides the command to the at least one of the second virtual function controller and the third virtual function controller that is in the idle state.

5. The data processing system of claim 1 , wherein the first virtual function controller is configured to process the command without providing the command to the second virtual function controller or the third virtual function controller when the first virtual function controller is in an idle state.

6. The data processing system of claim 1 , wherein each of the plurality of namespaces has a unique namespace identifier (NSID).

7. The data processing system of claim 6 , the host system specifies the NSID and a logical address to access a storage space of each of the plurality of namespaces.

8. A data processing system, comprising:

one or more processors;

a host system including a plurality of virtual machines; and

a memory system including a plurality of virtual function controllers, a plurality of namespaces and a memory controller,

wherein the plurality of virtual function controllers executed by the one or more processors to communicate with the plurality of virtual machines and receive a command for accessing the plurality of namespaces, respectively,

wherein the memory controller executed by the one or more processors to communicate with the plurality of virtual function controllers and access the plurality of namespaces based on the command,

wherein a shared namespace of the plurality of namespaces is commonly accessible by the plurality of virtual function controllers,

wherein each of the plurality of namespaces are provided to one or more virtual functions,

wherein the plurality of namespaces which are provided to only one virtual function are a plurality of dedicated namespaces,

wherein the plurality of dedicated namespaces is accessible by only a corresponding virtual function controller, and

wherein a first virtual machine of the plurality of virtual machines accesses a first dedicated namespace of the plurality of dedicated namespaces only through a first virtual function controller of the plurality of virtual function controllers, a second virtual machine accesses a second dedicated namespace only through a second virtual function controller, a third virtual machine accesses a third dedicated namespace only through a third virtual function controller, and the first to third virtual machines access the shared namespace through the first to third virtual function controllers.

9. The data processing system of claim 8 , wherein when the first virtual function controller is in a busy state and at least one of the second virtual function controller and the third virtual function controller is in an idle state, the first virtual function controller provides the command to the at least one of the second virtual function controller and the third virtual function controller that is in the idle state.

10. The data processing system of claim 8 , wherein the first virtual function controller is configured to process the command without providing the command to the second virtual function controller or the third virtual function controller when the first virtual function controller is in an idle state.

11. The data processing system of claim 8 , wherein the shared namespace is a single namespace provided to a plurality of virtual functions.

12. The data processing system of claim 8 , wherein the host system includes a system using a network interface.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 1, 2023
From: CHOI, HYEONG JAE
To: SK HYNIX INC.
Reel/Frame 064453/0640 →
Priority Claims (1)
KR 10-2020-0081367 · Jul 2, 2020 · national
Continuity (2)
Continuation 17148301 · Jan 13, 2021
Related Publication 20230376340A1 · Nov 23, 2023