Memory Controller CRC Segmentation for Data Accuracy
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current memory systems face challenges in accurately reading data due to errors in address conversion and data management, particularly in NAND flash memory systems, where incorrect physical addresses can lead to erroneous data retrieval.
Innovation Solution
The implementation of a memory system with a memory controller that includes a pre-CRC circuit and a post-CRC circuit, which generates and writes CRC values in a way that reflects the pre-CRC value in the post-CRC operation, ensuring accurate data writing and reading by comparing CRC values during data operations.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Measurement precision
If CRC values are generated and compared to ensure data accuracy, then data reading accuracy is improved, but device complexity increases
Solution Approach 1:
The CRC calculation process is segmented into two independent stages: pre-CRC calculation performed by a pre-CRC circuit before data writing, and post-CRC calculation performed by a post-CRC circuit after data reading. This segmentation allows each circuit to perform a specific function independently, improving data accuracy verification while keeping the complexity of individual circuits manageable.
Solution Approach 2:
The patent introduces CRC values as an intermediary element between the host device and memory device. These CRC values act as a mediator that carries error detection information without being part of the actual data, enabling accurate data verification through comparison of pre-calculated and post-calculated CRC values.
2Reliability
If pre-CRC and post-CRC circuits are implemented to verify data integrity, then error detection capability is improved, but manufacturing complexity increases
Solution Approach 1:
The error detection function is segmented into two separate circuits: a pre-CRC circuit that operates during the data writing process and a post-CRC circuit that operates during data reading. Each circuit is designed with a specific, limited function, which simplifies the manufacturing process compared to a single complex error detection system.
Solution Approach 2:
The pre-CRC circuit performs preliminary CRC calculation on data before it is written to memory, preparing error detection information in advance. This preliminary action ensures that when data is later read, the post-CRC circuit can quickly compare results without needing to perform the entire verification process from scratch, simplifying the overall system design.
3Measurement precision
If CRC values are calculated and stored with data, then data accuracy is improved, but storage capacity is reduced
Solution Approach 1:
The CRC verification process is segmented into calculation-based verification rather than storage-based verification. The pre-CRC and post-CRC circuits perform mathematical calculations on data to generate and compare CRC values, eliminating the need to store additional CRC data with each memory entry and thus preserving storage capacity.
Solution Approach 2:
The patent replaces the mechanical approach of storing CRC values alongside data with a computational approach where CRC values are calculated dynamically by circuits. This substitution of storage-based error detection with calculation-based error detection maintains data accuracy while preserving full storage capacity for actual data.
Data Source
AI summary
In general, according to one embodiment, a memory system includes: a memory; and a memory controller including an error detection code circuit configured to generate a first error detection code from first data and generate a second error detection code from second data containing the first error detection code. The memory controller is configured to: convert the first data and the second error detection code by a first method and generate third data; and write the third data into the memory.


