Shared Memory Snapshots for Fabric-Attached Data Consistency
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In computing environments with fabric-attached memory (FAM) devices, maintaining consistency of data objects across multiple processing threads and systems is challenging due to inconsistencies between producer and consumer caches, leading to resource-intensive synchronization and potential stale data views for consumers.
Innovation Solution
A memory sub-system manages shared snapshots of data objects by isolating producer modifications and accesses from consumer accesses, using snapshot identifiers to ensure consistency without creating duplicate copies, allowing consumers to access consistent data through virtual address mapping and handling read requests differently based on producer or consumer requests.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If traditional synchronization protocols are used to maintain data consistency across producer and consumer caches, then data consistency is improved, but resource consumption and system complexity increase
Solution Approach 1:
The patent extracts the consistency guarantee mechanism from traditional synchronization protocols and implements it through snapshot identifiers. Instead of using complex inter-process synchronization, the system creates point-in-time snapshots of data objects and assigns unique identifiers to each snapshot, allowing consumers to access consistent data states without requiring active synchronization with producers.
Solution Approach 2:
The system performs preliminary actions by creating data snapshots before consumers access the data. These snapshots capture the state of data objects at specific points in time, and consumers can then access these pre-prepared consistent states without needing to coordinate with producers during data access operations.
2Reliability
If duplicate copies of data objects are created for each consumer to ensure consistency, then data consistency is improved, but memory resource consumption increases
Solution Approach 1:
The patent uses a selective copying approach where instead of creating full duplicate copies of data objects for each consumer, the system creates snapshots that reference the original data object at a specific point in time. Multiple consumers can share the same snapshot reference without requiring separate physical copies, thus maintaining consistency while reducing memory consumption.
3Reliability
If snapshot identifiers are used to manage data versions, then access consistency is improved, but overhead for tracking snapshots increases
Solution Approach 1:
The patent introduces snapshot identifiers as intermediary elements that mediate between data objects and consumers. These identifiers act as lightweight references that consumers use to access specific versions of data objects without requiring the system to track complex version relationships. The intermediary simplifies the tracking overhead by using simple identifier comparison rather than complex version management.
Data Source
AI summary
A system can include a memory device and a processing device operatively coupled with the memory device, to perform operations including recording, in a change log associated with a snapshot of a data object, an entry reflecting a change made by a first host application to the data object, wherein the entry contains information reflecting a current state of a part of the data object; receiving a request to read the part of the data object; determining whether the request is received from the first host application; and responsive to determining that the request is received from the first host application, retrieving the part from the entry of the change log.


