NVMe Sensor Query Rate Coordination for Bus Contention

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In systems with a large number of sensors, frequent bus contention leads to high latency and delayed reporting of urgent sensor readings, existing solutions either limit the number of queried sensors, cap the number of sensors, or increase system complexity and cost, failing to prioritize urgent data effectively.

Innovation Solution

A query rate coordinator dynamically adjusts the query frequency for each sensor based on its readings, prioritizing sensors with urgent data, thereby ensuring timely reporting of critical information without additional device buses or increased CPU usage.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If the number of sensors queried during each query cycle is limited, then bus contention is reduced, but information from sensors that are not queried is delayed

Engineering Contradiction:
Improvebus contention reductionVSAvoidsensor information delay
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The system dynamically adjusts the query cycle parameters and sensor selection based on current system conditions and data urgency levels. The query rate coordinator modifies querying behavior in real-time, transitioning from static round-robin to adaptive prioritized querying, resolving the contradiction between reducing bus contention and minimizing information delay

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

Different sensors receive different query frequencies and priorities based on their specific needs and the urgency of their data. Critical sensors are queried more frequently while less critical ones are queried less often, allowing the system to reduce overall bus contention while ensuring urgent information is not delayed

Inventive Principle:
Principle #3Local quality

2Device complexity

If the number of sensors in the system is capped, then system complexity is reduced, but the effectiveness of detecting events of interest is compromised

Engineering Contradiction:
Improvesystem complexityVSAvoidevent detection effectiveness
Core Design Contradiction:
Device complexityVSReliability

Solution Approach 1:

The system automatically manages and prioritizes sensors without requiring manual configuration or capping. The query rate coordinator autonomously determines which sensors to query and at what frequency based on observed data patterns and urgency, eliminating the need for artificial limits while maintaining system effectiveness

Inventive Principle:
Principle #25Self-service

3Device complexity

If safety features such as watchdog timers and bus timeouts are deactivated, then system vulnerability is reduced, but the system becomes vulnerable to problems those features were designed to prevent

Engineering Contradiction:
Improvesystem vulnerability reductionVSAvoidprotection against bus failures
Core Design Contradiction:
Device complexityVSReliability

Solution Approach 1:

The query rate coordinator acts as an intermediary layer between sensors and the querying system, managing bus access and timing to prevent contention issues before they occur. This intermediary mechanism reduces the need for aggressive timeout mechanisms while maintaining system reliability

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS10521379B1Systems and methods for I/O prioritization in nvme-compliant storage devices
Publication Date: 2019.12.31 HEWLETT PACKARD ENTERPRISE DEV LP
  • US10521379B1 patent drawing
  • US10521379B1 patent drawing
  • US10521379B1 patent drawing

AI summary

Systems and methods described herein reduce contention on shared buses through which multiple sensors send sensor readings to a computing destination by allowing different query rates for each sensor and dynamically adjusting the query rate for each sensor based on the readings that sensor reports. A first query is sent to a sensor via a bus to request a current sensor reading from the sensor. In response to the first query, the sensor sends the current sensor reading via a bus. A function of the current sensor reading, a predefined time range, and a predefined reading-value range is evaluated to determine a time interval between the first query and a second query to be sent to the sensor. When the amount of time elapsed since the first query was sent matches the time interval, the second query is sent to the sensor via the bus to request an updated sensor reading.