Dynamic Virtual Function Resource Mapping in Storage Controllers
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing solid-state drives (SSDs) waste resources when virtual functions are assigned in a fixed manner, as they do not align with the usage patterns of computer systems, leading to underutilization of resources.
Innovation Solution
A data storage device with a controller featuring a virtual function mapping unit that dynamically associates virtual functions with shared resources, allowing for flexible allocation based on programmable values and transaction identifiers, enabling efficient resource utilization.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If virtual functions are assigned to fixed portions of shared resources, then resource allocation is simple and deterministic, but resource utilization efficiency deteriorates when the number of active virtual machines is less than the number of virtual functions
Solution Approach 1:
The patent implements dynamic resource allocation by allowing the host system to programmatically configure the mapping between virtual functions and shared resources. The controller receives configuration commands that dynamically adjust which virtual functions are active and how they map to physical resources, enabling the system to adapt to varying numbers of active virtual machines and optimize resource utilization accordingly
Solution Approach 2:
The patent changes the mapping parameters between virtual functions and shared resources based on host system configuration. The controller modifies the function mapping table entries to reassign virtual functions to different portions of shared resources or to deactivate certain virtual functions, thereby optimizing resource utilization efficiency according to actual usage patterns
2Loss of energy
If virtual functions are assigned to fixed portions of shared resources, then resource allocation is straightforward, but resources assigned to non-used virtual functions are wasted
Solution Approach 1:
The patent implements a feedback mechanism where the host system monitors the actual usage of virtual functions and provides configuration commands to the controller to adjust resource allocation. The controller responds to host commands by modifying the virtual function mappings, ensuring that resources are allocated according to actual demand and minimizing waste from unused virtual functions
Solution Approach 2:
The patent makes the shared resources universally accessible to multiple virtual functions through dynamic mapping. The same physical shared resources can be reassigned to different virtual functions based on host system needs, allowing one set of physical resources to serve multiple purposes and reducing waste
Data Source
AI summary
A technique for sharing resources in a data storage device. The data storage device receives a command associated with a non-volatile semiconductor memory device from a host system, the command including a virtual function identifier and a transaction identifier. The data storage device identifies, via a virtual function mapping unit that is included within a controller and that maintains a function mapping table which stores programmable values that associate virtual functions with portions of shared resources of the controller, a portion of a shared resource of the controller based on the virtual function identifier and the transaction identifier. The data storage device accesses the identified portion of the shared resource based on the received command.


