BMC Sensor Data Buffer Locking for Consistent Shared Memory Access
Find Innovative SolutionsGenerate 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
Engineering 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
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.
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.
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
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.
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
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.
Data Source
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.


