Memory Controller Flags for Reliable Nonvolatile Reads
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Memory systems face issues with erroneous data transmission due to incorrect reading of nonvolatile memory, leading to wrong data being sent to the host.
Innovation Solution
A memory system with a controller that manages mapping information using a first management table and flags to ensure valid data is transmitted, employing methods to determine the integrity of data by checking flags and additional information like check codes to prevent erroneous reads.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Speed
If data is read from nonvolatile memory without verification, then read operation speed is improved, but data reliability deteriorates due to erroneous reads
Solution Approach 1:
The patent applies preliminary action by setting flags in the management table when data is written to nonvolatile memory. These flags serve as pre-computed verification markers that are checked during subsequent read operations, allowing the system to quickly identify invalid data without performing complex verification algorithms during the read process itself.
Solution Approach 2:
The patent introduces an intermediary mechanism using flags stored in the management table to mediate between the read operation and data verification. Instead of directly verifying data integrity through complex checks, the flag acts as an intermediary indicator that signals whether the data at a given physical address is valid, enabling fast rejection of erroneous reads.
2Reliability
If flag verification is performed for every read operation, then data reliability is improved, but processing time increases
Solution Approach 1:
The patent segments the data management system into distinct functional components: the management table stores flags for individual physical addresses, while the L2P table maintains mapping between logical and physical addresses. This segmentation allows the flag verification to be performed independently and quickly without affecting the entire read operation pipeline.
Solution Approach 2:
The patent changes the verification parameter from complex data integrity checks to simple flag value comparisons. By transforming the verification mechanism into a parameter change approach where only the flag state (valid/invalid) matters rather than the actual data content, the system achieves fast verification with minimal processing time overhead.
3Reliability
If multiple verification methods (flags and check codes) are used, then data reliability is improved, but device complexity increases
Solution Approach 1:
The patent applies preliminary action by pre-storing both flags and check codes during the write operation. This allows the verification process to simply retrieve and compare these pre-computed values during read operations, avoiding the need for complex real-time verification algorithms and reducing overall system complexity.
Solution Approach 2:
The patent uses copying by storing redundant verification information (flags and check codes) in the management table alongside the actual data. This copying approach creates multiple copies of verification data that can be independently checked, providing enhanced reliability without requiring complex verification logic since the verification data itself is replicated for easy access.
Data Source
AI summary
According to one embodiment, a memory system includes a controller. The controller manages a plurality of flags corresponding to a plurality of physical addresses. In response to receiving a read command from a host, the controller acquires from a first management table a physical address mapped to a logical address specified by the read command, and reads data from a nonvolatile memory based on the acquired physical address. The controller determines whether or not to transmit the read data to the host based on whether a current status of the flag corresponding to the acquired physical address is set to a first value indicating valid data or to a second value indicating invalid data.


