Virtual Function Controller Namespace Load Distribution
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
The existing memory systems face limitations in access efficiency when handling multiple virtual machines due to bottlenecks in data input/output operations, particularly when a single virtual function controller is overwhelmed with commands, leading to delayed responses and reduced throughput.
Innovation Solution
The proposed memory system employs first and second virtual function controllers, a shared namespace, and a memory controller to distribute command processing across virtual function controllers, allowing a busy controller to offload tasks to an idle controller sharing the namespace, thereby improving access performance by ensuring that commands are processed efficiently even when a single controller is in a busy state.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Device complexity
If a single virtual function controller handles all commands from multiple virtual machines, then device complexity is reduced, but access performance and throughput deteriorate due to controller bottlenecks
Solution Approach 1:
The patent segments the single virtual function controller into multiple virtual function controllers (first VF controller and second VF controller), each capable of independently handling commands from different virtual machines. This segmentation distributes the command processing load, eliminating the bottleneck that occurred with a single controller while maintaining manageable system complexity through modular architecture.
Solution Approach 2:
The patent implements a shared namespace that can be accessed by multiple virtual function controllers simultaneously. This universal access mechanism allows different VF controllers to operate on the same namespace resources without requiring separate dedicated namespaces for each controller, thereby improving throughput while controlling device complexity through resource sharing.
2Productivity
If multiple virtual function controllers share a namespace, then access performance improves through distributed processing, but device complexity increases due to coordination requirements
Solution Approach 1:
The patent introduces a namespace manager as an intermediary component that coordinates access between multiple virtual function controllers and the shared namespace. This mediator handles command routing, controller status monitoring, and data consistency management, thereby enabling multiple controllers to operate efficiently on shared resources without creating unmanageable coordination complexity.
Solution Approach 2:
The system performs preliminary actions by pre-establishing the shared namespace structure and configuring access permissions before multiple virtual function controllers begin operations. This advance preparation reduces the coordination overhead during runtime, as the basic framework for multi-controller interaction is already in place, allowing controllers to focus on data processing rather than negotiation.
3Reliability
If a virtual function controller is in a busy state, then processing accuracy is maintained, but access time increases due to command queuing delays
Solution Approach 1:
The patent merges the processing capabilities of multiple virtual function controllers to handle commands that would otherwise queue behind a busy single controller. When the first VF controller is busy, the second VF controller can simultaneously process commands on the shared namespace, effectively combining processing power to maintain throughput while preserving data accuracy through coordinated operation.
Solution Approach 2:
The system ensures continuity of useful action by allowing multiple virtual function controllers to operate simultaneously on the shared namespace. This parallel operation eliminates idle time and queuing delays, as at least one controller is always available to process commands, thereby reducing overall processing time while maintaining processing accuracy through consistent namespace management.
Data Source
AI summary
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.


