Memory Data Versioning via Address Translation
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Maintaining multiple versions of data in memory systems increases complexity in control logic for tracking and selecting the appropriate version for use, particularly in scenarios involving transaction requests and error recovery.
Innovation Solution
A memory management unit with an address translator that maps control information from transaction requests to physical resource addresses, allowing selective access to different data versions within the memory, and enabling efficient creation and management of new data versions to support parallel transactions and error recovery.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If multiple versions of data are maintained in memory, then error recovery capability and transaction parallelism are improved, but control logic complexity increases
Solution Approach 1:
The patent introduces version metadata as an intermediary structure that mediates between the memory controller and multiple data versions. This metadata contains version identifiers and mapping information that automatically directs access to the correct version, eliminating the need for complex control logic to track and manage multiple data versions manually.
Solution Approach 2:
The patent segments the memory space into multiple versioned data regions, each associated with specific version metadata. This segmentation allows independent management of different data versions without requiring the entire memory control logic to handle all versions uniformly, reducing overall control complexity.
2Productivity
If multiple versions of data are maintained in memory, then transaction parallelism is improved, but memory management complexity increases
Solution Approach 1:
The version metadata structure serves multiple functions simultaneously: it tracks version identifiers, maps logical addresses to physical versioned locations, and provides access control information. This multi-functionality eliminates the need for separate management mechanisms for each version, reducing memory management complexity while supporting parallel transactions.
3Reliability
If selective access to different data versions is enabled, then error recovery efficiency is improved, but access control complexity increases
Solution Approach 1:
The version metadata is designed to be self-descriptive, containing all necessary information for the memory controller to automatically determine which data version to access based on transaction requirements. This self-service approach allows the system to automatically select appropriate data versions for error recovery without requiring complex external access control logic.
Data Source
AI summary
A memory management unit receives a transaction request to perform an operation with respect to data in memory, the transaction request including control information. The memory management unit identifies, based on the control information, one of a plurality of versions of a given memory data, where the plurality of versions of the given memory data include a first version of the given memory data and a second version of the given memory data that is modified from the first version. The memory management unit accesses the identified version of the given memory data in response to the transaction request.


