System Host Driver Pre-Sleep State Storage for Reliable Wake-Up
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In data transfer systems, the system host faces challenges in transmitting and receiving data from local devices or adaptors after returning from a sleep state, especially when the insertion and removal states of local devices change while the system host is in a sleep state, leading to delayed access or incorrect driver states.
Innovation Solution
Incorporating a pre-sleep state storage mechanism in the system host's device driver to store and reload the insertion and removal states of local devices, ensuring accurate driver initialization upon waking from the sleep state, thereby enabling timely and correct data transfer.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Use of energy by moving object
If the system host enters sleep state to save energy, then energy consumption is reduced, but the insertion and removal state of local devices cannot be tracked, causing delayed or incorrect driver initialization upon wake-up
Solution Approach 1:
The device driver stores the insertion and removal state of the local device in a pre-sleep state storage area before the system enters sleep mode. This preliminary action ensures that when the system wakes up, the driver already has the necessary state information to correctly initialize itself, eliminating the need for complex state detection upon wake-up and ensuring reliable driver initialization while maintaining energy savings.
2Use of energy by stationary object
If the system host enters sleep state, then power saving is achieved, but data transfer capability is compromised due to inability to detect local device state changes
Solution Approach 1:
The device driver performs the action of storing local device state information before sleep. When the system wakes up, this pre-stored information is immediately available, allowing the driver to quickly restore correct data transfer capability without delay, thus maintaining productivity while achieving power saving.
3Speed
If the system host wakes up from sleep state without state storage, then wake-up speed is maintained, but incorrect driver state leads to data access errors
Solution Approach 1:
The device driver stores state information in a pre-sleep state storage area before entering sleep mode. This preliminary action does not significantly delay wake-up speed because the storage operation occurs during the sleep transition, not during wake-up. However, it ensures that when the driver initializes upon wake-up, it has the correct state information to accurately access data, preventing data access errors.
Solution Approach 2:
The device driver creates a copy of the local device state information and stores it in the pre-sleep state storage area. This copy is then used during driver initialization upon wake-up, allowing the system to quickly restore the correct driver state without re-detecting the actual device state, thus maintaining both wake-up speed and data access correctness.
Data Source
Figure 1
Figure 2
Figure 3
AI summary
A data transfer system, which comprises a system host and an adaptor including a local host, is provided. The adaptor is connectable to a local device inserted into the adaptor and includes a switch unit configured to perform address translation and Requestor (Req) ID translation for data transfers between the local device and the system host. The system host checks, when the local device is inserted or removed while the system host is in operation, a type of a protocol applied to the local device and reloads a device driver based on a result of the check. The device driver includes a pre-sleep state storage configured to store an insertion and removal state of the local device immediately before the system host and the adaptor enter a sleep state.