NVMe Root Port Function Number Mapping for Stable Hot Plugging
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
The existing method for assigning function numbers to NVME interface root ports by UEFI is complex and inaccurate, leading to instability in the hot plugging function of the NVME interface.
Innovation Solution
A method involving a first firmware management module, such as UEFI, assigns communication channels to target hardware interfaces and sends parameters to a second system management module, like SMU, to ensure the output function numbers match those assigned by SMU, thereby stabilizing the hot plugging function.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Extent of automation
If UEFI calculates and generates function numbers according to the complex rule provided by AMD SMU, then the assignment process can be automated, but the accuracy and reliability of function number assignment cannot be ensured
Solution Approach 1:
The patent introduces a communication channel assignment parameter as an intermediary between UEFI and SMU. Instead of UEFI directly calculating function numbers using complex AMD SMU rules, the system uses communication channel assignment parameters as a mediator to convey interface identification information to SMU, which then generates the function numbers. This intermediary mechanism simplifies the interaction between UEFI and SMU while ensuring accurate function number assignment.
2Ease of manufacture
If UEFI independently calculates function numbers using complex rules, then the process can be self-contained, but the function numbers may not match those assigned by SMU, causing hot plugging instability
Solution Approach 1:
The patent establishes a feedback mechanism where UEFI sends communication channel assignment parameters to SMU, and SMU returns the generated function numbers to UEFI. This feedback loop ensures that the function numbers generated by UEFI (based on communication channel assignment) match the function numbers generated by SMU, thereby ensuring the stability of hot plugging function while maintaining UEFI's self-contained operation.
3Device complexity
If the function number assignment process is simplified, then the implementation is easier, but the function numbers may not be unique or accurate for each hardware interface
Solution Approach 1:
The patent changes the parameter used for function number generation from direct hardware interface identifiers to communication channel assignment parameters. These parameters are derived from the communication channel assignment process, which assigns unique identifiers to each hardware interface. By using these transformed parameters, the system maintains simple and easy-to-implement function number assignment while ensuring uniqueness and accuracy for each hardware interface.
Data Source
AI summary
A processing method includes performing, by a first firmware management module, a target operation for assigning communication channels to target hardware interfaces of an electronic device, respectively, to obtain a communication channel assignment parameter generated for each of the target hardware interfaces, sending, by the first firmware management module, the communication channel assignment parameter generated for each of the target hardware interfaces to a second system management module of the electronic device, so that the second system management module outputs corresponding function numbers for the target hardware interfaces based on corresponding communication channel assignment parameters, respectively, and obtaining, by the first firmware management module, the function numbers output by the second system management module for the target hardware interfaces, each function number corresponding to a target hardware interface.


