BMC Sensor Data Buffer Locking for Consistent Shared Memory Access

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional board management controllers face errors when devices other than the BMC access shared memory during sensor data storage, leading to potential data inconsistencies and timeout issues.

Innovation Solution

Implement a storage module with a storage area and buffer area, where sensor data is updated in the storage area and then copied to the buffer area, locking the buffer during updates to prevent concurrent access, and unlocking it for data retrieval.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If the BMC stores sensor data in shared memory while allowing other devices to access it concurrently, then the system maintains high adaptability and ease of operation, but data access errors and inconsistencies occur

Engineering Contradiction:
Improveconcurrent access capabilityVSAvoiddata consistency
Core Design Contradiction:
Adaptability or versatilityVSReliability

Solution Approach 1:

The shared memory is segmented into a storage area and a buffer area. The storage area is used for writing sensor data by the BMC, while the buffer area is used for reading data by other devices. This segmentation allows concurrent access without data conflicts, resolving the contradiction between adaptability and reliability.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The BMC performs preliminary action by copying data from the storage area to the buffer area before other devices access the data. This preliminary copying ensures that reading devices obtain consistent data without interfering with the BMC's data writing process, thereby maintaining both concurrent access capability and data consistency.

Inventive Principle:
Principle #10Preliminary action

2Reliability

If the BMC waits for shared memory access before storing sensor data, then data consistency is maintained, but timeout errors occur due to delayed data storage

Engineering Contradiction:
Improvedata consistencyVSAvoiddata storage delay
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

By segmenting the shared memory into storage and buffer areas, the BMC can write to the storage area immediately without waiting for reading operations to complete. This eliminates data storage delay while maintaining consistency through the dedicated buffer area for concurrent reading operations.

Inventive Principle:
Principle #1Segmentation

3Device complexity

If the BMC uses a single storage area for sensor data, then the device complexity is low, but data access errors occur during concurrent updates

Engineering Contradiction:
Improvememory structureVSAvoidconcurrent access safety
Core Design Contradiction:
Device complexityVSReliability

Solution Approach 1:

The shared memory is divided into two distinct areas: storage area for BMC writing and buffer area for device reading. This simple segmentation structure prevents concurrent access conflicts without introducing complex locking mechanisms or synchronization protocols, thus maintaining low device complexity while improving concurrent access safety.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS12487774B2Board management controller and method for storing sensor data in board management controller
Publication Date: 2025.12.02 JABIL CIRCUIT (SINGAPORE) PTE LTD
  • US12487774B2 patent drawing
  • US12487774B2 patent drawing
  • US12487774B2 patent drawing

AI summary

A method includes steps of: storing an entry of sensing data in a storage area of a storage module of a board management controller as sensor data; assigning a buffer area of the storage module with a locked state; copying the sensor data from the storage area to the buffer area; and assigning the buffer area with an unlocked state. A processing module of the board management controller does not respond to a request to access the sensor data when the buffer area is assigned with the locked state, and responds to the request to access the sensor data when the buffer area is assigned with the unlocked state.