Volatile Memory First Read Trustworthiness via Controller Initialization
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional systems face uncertainty in the data value retrieved from a first read of volatile memory, making it untrustworthy, and require an extra instruction to write data to make it trustworthy.
Innovation Solution
A memory controller returns either a random data value or all zeros upon a first read, with the option to configure which value to return, using a first read data structure and random number generator to manage this process.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If conventional volatile memory is read on first access, then the read operation is simple and fast, but the data value is uncertain and untrustworthy
Solution Approach 1:
The patent applies preliminary action by pre-initializing volatile memory locations with known values (zeros or random data) before they are accessed. The memory controller proactively sets these initial values when memory is allocated or before first access, ensuring that any first read operation retrieves a trustworthy value without requiring an additional write instruction. This preliminary initialization resolves the contradiction by making data trustworthy in advance while maintaining read efficiency.
2Reliability
If an extra write instruction is added to make first read data trustworthy, then data reliability is improved, but the number of instructions and execution time increases
Solution Approach 1:
The patent merges the initialization function with the memory allocation or first access operation. Instead of requiring separate write and read instructions, the system combines these operations so that the memory is pre-initialized as part of the allocation process or the first access itself retrieves the pre-set trustworthy value. This merging eliminates the need for additional instructions and reduces execution time while maintaining data reliability.
Solution Approach 2:
The memory controller performs self-service by automatically initializing memory locations with trustworthy values without requiring explicit programmer intervention or additional instructions. The system manages its own initialization state, tracking which memory locations have been initialized and ensuring they contain reliable data, thereby reducing the instruction overhead while maintaining reliability.
3Device complexity
If volatile memory returns uncertain data on first read, then no additional control logic is needed, but data reliability deteriorates
Solution Approach 1:
The patent introduces an intermediary mechanism in the form of a memory controller that mediates between the volatile memory and the processor. The controller tracks initialization states and intercepts first read operations, providing pre-initialized trustworthy data without requiring complex changes to the memory hardware itself. This intermediary approach maintains relative simplicity while dramatically improving data reliability.
Solution Approach 2:
The memory controller is designed with multi-functionality, handling both the traditional memory management tasks and the additional initialization tracking and first-read interception functions. By making the controller universal and capable of multiple functions, the system improves data reliability without adding separate dedicated hardware components, thereby maintaining acceptable complexity levels.
Data Source
AI summary
Techniques for writing a zero value or a random value upon a first read to memory are described. An example includes interacting with non-volatile memory and to determining, in response to the executed instruction utilizing a memory address, whether the memory address is accessed for a first time and when the memory address is accessed for the first time, to return one of a random value or a zero value, and when the memory address is not accessed for the first time, to return a value stored at the memory address.


