System State Cache Update via Bitmap Polling
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Event-driven refreshes of system state caches can be unreliable due to hardware transport mechanisms not being 100% reliable, leading to potential missed state change reports and increased latency in reflecting correct hardware states.
Innovation Solution
Implementing a combination of event-driven refreshes and bitmap polling to ensure the system state cache is updated, where the controller periodically polls modules for state changes, using a transport mechanism like an I2C bus or InfiniBand fabric, to detect and update cache entries with current state information.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Loss of time
If event-driven refresh is used to update the cache, then the cache update latency is reduced, but the reliability of state change detection deteriorates due to hardware transport mechanisms not being 100% reliable
Solution Approach 1:
The patent applies preliminary action by having the controller periodically poll modules and check bitmap records before state changes are reliably transmitted. This proactive polling ensures that even if event-driven reports are lost, the cache will be updated during the next polling interval, thus maintaining reliability while keeping latency low.
Solution Approach 2:
The patent implements feedback through a hybrid mechanism where the controller both sends event-driven refresh requests and periodically polls modules for state changes. The polling acts as a feedback loop that verifies whether state changes have been properly detected and transmitted, compensating for unreliable hardware transport mechanisms.
2Reliability
If periodic polling is implemented to ensure reliable cache updates, then the reliability of state change detection is improved, but the system complexity and processing overhead increase
Solution Approach 1:
The patent applies partial action by implementing periodic polling only for verification purposes rather than as the primary state change detection mechanism. The system uses event-driven refresh as the main approach and adds periodic polling as a supplementary reliability check, thus improving reliability without fully committing to the complexity of continuous polling.
Solution Approach 2:
The periodic polling mechanism serves multiple functions: it detects state changes that may have been missed by event-driven reporting, verifies the reliability of hardware transport mechanisms, and provides a fallback update path. This multi-functionality justifies the added complexity by delivering multiple benefits from a single mechanism.
3Reliability
If both event-driven refresh and bitmap polling are combined, then the reliability and latency of cache updates are improved, but the processing overhead and energy consumption increase
Solution Approach 1:
The patent applies dynamics by making the polling frequency adjustable rather than fixed. The system can dynamically adapt the polling interval based on system conditions, state change frequency, and reliability requirements. This allows the system to consume less energy during stable periods while maintaining high reliability during critical state changes.
Solution Approach 2:
The patent changes parameters by allowing the polling interval and bitmap check frequency to be configured based on system requirements. By adjusting these parameters, the system can optimize the balance between reliability, latency, and energy consumption for different operating conditions, rather than being locked into a fixed high-overhead mode.
Data Source
AI summary
Methods, apparatuses and computer software products implement embodiments of the present invention that include storing, to a module memory in each of a plurality of modules having multiple sub-modules, a record containing record entries corresponding respectively to the sub-modules. Upon detecting changes in respective states of the sub-modules of a given module, the corresponding record entries are set in response to the detected changes in the states of the sub-modules of the given module. A cache containing cache entries corresponding respectively to the sub-modules in the plurality of the modules is stored to a controller memory, and the record in each of the modules is polled. Upon detecting that a given record entry of the given module has been set, from the current state information with respect to the given sub-module is requested and received, and a corresponding cache entry is updated in the cache with the current state information.


