Flash Memory Vertical ECC RAID Group Data Integrity
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Flash memory cells can malfunction due to particles or mask defects during manufacturing, leading to failures in accessing storage units, which can result in data loss and require methods to protect stored data.
Innovation Solution
The implementation of a method and apparatus that uses a processing unit to determine if a vertical ECC has been generated within a RAID group, directing a DMA controller to obtain and store the ECC in a buffer or DRAM to enable programming and decoding of data in flash memory storage units, ensuring data integrity and protection.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Quantity of substance
If flash memory storage units are used for data storage, then data storage capacity is improved, but reliability deteriorates due to particle defects and mask defects causing storage unit failures
Solution Approach 1:
The patent divides the storage system into multiple storage units organized in a RAID group, where each storage unit can be independently managed. When a storage unit fails due to particle defects or mask defects, only that specific unit is affected while other units remain operational, thus segmenting the failure impact and maintaining overall system reliability.
Solution Approach 2:
The patent implements error correction codes (ECC) and redundancy mechanisms in advance to protect against storage unit failures. The ECC data is generated and stored beforehand in the RAID group, providing a cushioning effect that enables data recovery when a storage unit malfunctions, thus preventing complete data loss.
2Reliability
If error correction codes are implemented to protect data, then reliability is improved, but device complexity increases due to additional ECC generation and management operations
Solution Approach 1:
The patent implements a processing unit that can generate and manage vertical ECC for multiple storage units within a RAID group using a unified approach. The same processing unit handles ECC generation, storage, and verification across different storage units, reducing the need for separate ECC management mechanisms for each unit and thereby reducing overall device complexity.
3Reliability
If vertical ECC is generated and stored for each RAID group, then data protection capability is improved, but loss of time increases due to additional ECC generation and verification steps
Solution Approach 1:
The patent generates and stores vertical ECC data in advance during the data writing process, rather than generating it only when reading or verifying data. The ECC is calculated and stored in the RAID group alongside the data, so that when a storage unit fails, the verification and recovery process can proceed quickly using the pre-computed ECC, thereby reducing the time loss during error correction.
Data Source
AI summary
An embodiment of a method for accessing a storage unit of a flash memory, performed by a processing unit, includes at least the following steps. After all messages within a RAID (Redundant Array of Independent Disk) group are programmed, it is determined whether a vertical ECC (Error Correction Code) within the RAID group has been generated. The processing unit directs a DMA (Direct Memory Access) controller to obtain the vertical ECC from a DRAM (Dynamic Random Access Memory) and store the vertical ECC to a buffer when the vertical ECC within the RAID group has been generated, thereby enabling the vertical ECC to be programmed to the storage unit.


