CPLD-Based NVMe SSD Hot Plugging Signal Control
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current hot plugging methods in server systems, whether manual or automatic, face issues with accuracy and cost, particularly when dealing with unfinished I/O activities during the addition or removal of NVME SSDs using the PCIe protocol, which can lead to interruptions and inefficiencies.
Innovation Solution
A server system incorporating a Complex Programmable Logic Device (CPLD) to monitor and control NVME SSD connections, utilizing a signal processing module, hot plug control module, and logic selecting module to improve signal strength and accuracy, and a counter to limit the number of hot plugs, thereby enhancing the reliability and reducing costs.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Ease of operation
If manual hot plugging is used, then operation flexibility is maintained, but accuracy and reliability deteriorate due to false operations and inability to cover thousands of cyclic pluggings
Solution Approach 1:
The system uses the SSD's own presence/absence to automatically trigger hot plugging operations. The SSD itself serves as the trigger mechanism through its detection by the CPLD, eliminating the need for external manual intervention while ensuring accurate execution of hot plugging operations.
Solution Approach 2:
The CPLD acts as an intermediary between the SSD and the host system. It detects SSD presence/absence and automatically generates control signals for hot plugging operations, bridging the gap between manual operation flexibility and automated reliability.
2Reliability
If automatic hot plugging is used, then reliability and accuracy improve, but system cost increases
Solution Approach 1:
The CPLD serves as a cost-effective intermediary device that provides automated detection and control functionality. It monitors SSD presence/absence and manages hot plugging signals without requiring expensive dedicated hot plugging controller hardware, thus improving reliability while controlling costs.
Solution Approach 2:
The CPLD performs multiple functions including SSD presence detection, signal monitoring, hot plugging control, and cyclic operation management. This multi-functionality consolidates what would otherwise require multiple separate components, reducing overall system cost while maintaining high reliability.
3Speed
If SSD is falsely plugged or unplugged during unfinished I/O activity, then operation speed is maintained, but system reliability deteriorates due to I/O interruption
Solution Approach 1:
The CPLD monitors I/O activity status before allowing hot plugging operations to proceed. It detects whether I/O operations are complete before triggering plug/unplug actions, preventing interruptions to unfinished transfers and ensuring system reliability while maintaining operational speed.
Solution Approach 2:
The system implements feedback monitoring of I/O activity status through the CPLD. The CPLD continuously checks the state of I/O operations and uses this feedback to determine the appropriate timing for hot plugging actions, ensuring that plugs only occur when safe to maintain both speed and reliability.
Data Source
AI summary
A server system, a method, and a non-transitory computer readable medium for hot plugging includes a CPLD detecting an existence of a NVME SDD in the server system, the CPLD transmitting a first signal to the NVME SDD, the NVME SDD starting to run; a BMC controlling a hot plug control module to run, the hot plug control module continuously outputting second signals and third signals; a logic selecting module receiving the first signal, the second signal, and the third signal, and selecting corresponding signals for outputting to the NVME SDD according to the third signal; and when the logic selecting module selecting the first signal and outputting the first signal to the NVME SDD, the NVME SDD keeping running; when the logic selecting module selecting the second signal and outputting the second signal to the NVME SDD, the NVME SDD executing hot plugging.


