USB Host Detection of Asynchronous Notification Capability

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Legacy USB devices inaccurately report removable media, leading to unnecessary polling that wastes power and cannot be safely eliminated due to the inability to distinguish them from devices with true removable media, which is not addressed by newer asynchronous notification mechanisms.

Innovation Solution

Implement a system that periodically polls storage devices, updates a database with metadata on removable media status, and uses heuristic testing and telemetry to accurately identify devices with or without removable media, enabling the disabling of unnecessary polling and power savings.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If periodic polling is implemented to detect removable media status, then device readiness can be detected, but power consumption increases due to unnecessary polling of devices without removable media

Engineering Contradiction:
Improvedevice readiness detectionVSAvoidhost system power consumption
Core Design Contradiction:
ReliabilityVSUse of energy by moving object

Solution Approach 1:

The host system performs preliminary action by sending an inquiry command during device initialization to detect whether the storage device has removable media capability. This preliminary detection allows the system to establish the removable media status early in the device lifecycle, avoiding the need for continuous periodic polling throughout operation. The inquiry command is sent once during connection establishment, and the detected status is used to determine subsequent polling behavior, thereby eliminating unnecessary repeated queries while maintaining reliable readiness detection.

Inventive Principle:
Principle #10Preliminary action

2Use of energy by moving object

If periodic polling is eliminated to save power, then energy consumption decreases, but the ability to detect media state changes is lost

Engineering Contradiction:
Improvehost system power consumptionVSAvoidmedia state change detection
Core Design Contradiction:
Use of energy by moving objectVSReliability

Solution Approach 1:

The storage device performs self-service by autonomously detecting media insertion or removal events and generating interrupt signals to notify the host system. Instead of relying on the host to continuously poll for media state changes, the device monitors its own state and actively communicates changes when they occur. This self-monitoring mechanism ensures reliable media state change detection while eliminating the need for power-consuming periodic polling from the host system.

Inventive Principle:
Principle #25Self-service

3Loss of information

If inquiry command is sent during initialization, then removable media status can be determined, but device initialization time increases

Engineering Contradiction:
Improveremovable media status informationVSAvoiddevice initialization time
Core Design Contradiction:
Loss of informationVSLoss of time

Solution Approach 1:

The inquiry command is executed as a periodic action during the device initialization sequence, integrated into the existing connection establishment process. Rather than adding a separate time-consuming detection phase, the status detection is performed as part of the standard initialization handshake, utilizing the already-established communication channel. This approach minimizes additional initialization time while ensuring the removable media status information is captured during the natural device connection workflow.

Inventive Principle:
Principle #19Periodic action

Data Source

PatentUS10366077B2Systems and methods for host detection of USB asynchronous notification capability
Publication Date: 2019.07.30 MICROSOFT TECHNOLOGY LICENSING LLC
  • US10366077B2 patent drawing
  • US10366077B2 patent drawing
  • US10366077B2 patent drawing

AI summary

Systems and methods for detecting legacy storage devices that may falsely and/or incorrectly report to host systems that they have removable media. Such false or incorrect reporting may cause the host system to periodically poll the storage device as to whether the device is ready for I/O processing. Such polling would be unnecessary and represent a waste of power expended by the host system. In one embodiment, the present system may implement processes that periodically poll storage media and update a database. The database would be a listing of storage devices indicating whether they truly have removable media or falsely report that they have removable media. In another embodiment, the present system may apply some heuristically testing to determine whether a storage device so falsely indicates removable media. In another embodiment, telemetry service may be used by a group of hosts to share data regarding such storage devices.