Dynamic PCIe Resource Allocation in SSD Virtual Functions
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing storage systems, such as solid-state drives (SSDs), face inefficiencies in resource allocation due to fixed numbers of virtual functions, leading to under or over provisioning of resources, which limits scalability and utilization of memory resources.
Innovation Solution
Implementing a dynamic allocation of resources for virtual functions during SSD initialization and reset, allowing redistribution based on the number of desired virtual functions, and optimizing resource distribution by abstracting and reallocating queue management and command processing resources.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Ease of manufacture
If a fixed number of virtual functions are allocated in SSD, then device complexity is reduced and ease of manufacture is improved, but resource utilization efficiency deteriorates and adaptability worsens
Solution Approach 1:
The patent implements dynamic allocation of virtual functions in SSD by allowing the number of virtual functions to be changed during runtime through reset operations. The controller can reallocate resources among virtual functions based on current system needs, transforming the static fixed allocation into a dynamic adjustable configuration. This resolves the contradiction by enabling adaptability while maintaining manufacturing simplicity through standardized reset procedures.
Solution Approach 2:
The patent changes the parameter of virtual function allocation from a fixed value to a variable that can be adjusted through reset operations. By allowing the number of virtual functions and their resource allocations to be modified based on desired configurations, the system achieves better adaptability without complicating the manufacturing process, as the changes are implemented through software-controlled reset sequences.
2Device complexity
If a fixed number of virtual functions are allocated in SSD, then device complexity is reduced, but resource utilization efficiency and productivity worsen
Solution Approach 1:
The patent introduces dynamic resource allocation among virtual functions through controlled reset operations. The controller can adjust the number and configuration of virtual functions based on workload demands, enabling the system to optimize productivity without permanently increasing device complexity. The complexity is temporarily managed during reset but resolved through standardized allocation procedures.
Solution Approach 2:
The patent performs preliminary allocation of resources during reset operations before normal operation begins. By pre-configuring the number and resource distribution of virtual functions based on anticipated needs, the system optimizes productivity from the start of each operational cycle without requiring complex runtime management structures, thus maintaining relatively simple device architecture.
3Ease of operation
If resources are statically allocated to virtual functions, then ease of operation is improved, but resource utilization efficiency and adaptability worsen
Solution Approach 1:
The patent enables dynamic resource allocation among virtual functions through reset operations, allowing the system to adapt resource distribution to changing operational requirements. While the allocation changes require a reset operation, this provides a balance between ease of operation (simple reset trigger) and adaptability (flexible resource configuration), resolving the contradiction by making adaptation accessible through a straightforward operational sequence.
4Device complexity
If resources are statically allocated to virtual functions, then device complexity is reduced, but resource utilization efficiency worsens
Solution Approach 1:
The patent modifies the allocation parameters of virtual functions dynamically through reset operations, allowing the system to adjust resource distribution to match actual usage patterns. This prevents resource waste by enabling reallocation when virtual functions are not fully utilizing their assigned resources, improving efficiency without requiring complex continuous monitoring and adjustment mechanisms that would increase device complexity.
Data Source
AI summary
A peripheral component interconnect express (PCIe) physical function is coupled to a controller. The controller is configured to allocate a first portion of resources for use by the PCIe physical function. A PCIe virtual function is coupled to the controller. The is configured to allocate a second portion of resources for use by the PCIe virtual function based, at least in part, on a total number of PCIe physical functions and a total number of PCIe virtual functions associated with the apparatus.


