Non-Volatile Memory Voting Mechanism for Boot Time Reduction
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing non-volatile memory systems require significant time and processing power to verify data integrity during boot processes due to the need to re-read entire code sets upon CRC mismatches, leading to increased boot times and software processing efforts.
Innovation Solution
Integration of a majority voter within the non-volatile memory that reads multiple copies of data in parallel to select an error-free data stream, reducing the need for re-reading entire code sets and simplifying the boot process.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If traditional error detection schemes re-read entire code sets upon CRC mismatches, then data integrity can be verified, but boot time increases significantly
Solution Approach 1:
The patent segments the code set into multiple individual code words with separate CRC checks. Instead of re-reading the entire code set upon a CRC mismatch, the system only re-reads the specific corrupted code word, dramatically reducing the verification time while maintaining data integrity
Solution Approach 2:
The patent performs preliminary actions by calculating and storing CRC values for each individual code word during the initial read. This allows the system to quickly identify which specific code word is corrupted without having to re-verify the entire code set, thereby reducing boot time
2Reliability
If traditional error detection schemes re-read entire code sets upon CRC mismatches, then data integrity can be verified, but processing power requirements increase
Solution Approach 1:
The patent segments the code set into multiple individual code words with separate CRC checks. This segmentation allows the processing unit to focus computational resources only on the specific corrupted code word rather than re-processing the entire code set, thereby reducing processing power requirements while maintaining verification reliability
Solution Approach 2:
The patent applies partial action by performing CRC verification on individual code words rather than the entire code set. When a mismatch is detected, only the affected code word is re-read and re-verified, avoiding the excessive processing power consumption of re-reading and re-verifying the complete code set
3Reliability
If multiple copies of data are stored in non-volatile memory, then error-free data can be selected using voting mechanism, but device complexity increases
Solution Approach 1:
The patent uses copying by storing multiple identical copies of the code set in the non-volatile memory. The voting mechanism compares these copies to identify and select the error-free code word. This approach enhances reliability through redundancy while keeping the implementation relatively simple by using identical copies rather than complex error correction codes
Data Source
AI summary
A memory system includes a processing device (e.g., a controller implemented using a CPU, FPGA, and/or logic circuitry) and memory regions (e.g., in a flash memory or other non-volatile memory) storing data. The processing device receives an access request from a host system that is requesting to read the stored data. In one approach, the memory system is configured to: receive, from the host system over a bus, a read command to access data associated with an address in a non-volatile memory; in response to receiving the read command, access, by the processing device, multiple copies of data stored in at least one memory region of the non-volatile memory; match, by the processing device, data from the copies with each other; select, based on matching data from the copies with each other, first data from a first copy of the copies; and provide, to the host system over the bus, the first data as output data.


