Storage Device ECC Backup via Page Segmentation
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Storage devices face data integrity issues due to frequent data moving, manufacturing defects, and aging, leading to error correcting code invalidities beyond 60 bits, resulting in potential data loss.
Innovation Solution
The storage device implements a backup mechanism during data write operations, selecting and storing data without error correcting code issues or integrating data pages to form error-free data, thereby avoiding data loss.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If error correcting code is used to correct data errors, then data integrity is improved, but the correcting capability is limited to 60 bits and cannot handle larger errors
Solution Approach 1:
The data is divided into multiple data pages within a physical block. Each data page can be independently corrected by ECC, allowing the system to handle errors in individual pages without affecting the entire block. This segmentation enables the system to manage error correction more effectively within the 60-bit limitation.
Solution Approach 2:
The system performs preliminary error detection and correction by writing data to multiple locations (original location and alternative locations) before actual errors occur. When an error is detected in one location, the system can immediately switch to using the alternative location, preventing data loss before it happens.
2Productivity
If data is stored in a single location, then storage efficiency is improved, but data loss occurs when error correcting code invalidity exceeds 60 bits
Solution Approach 1:
Different locations within the same physical block are assigned different roles: the original data page location and alternative data page locations. This local differentiation allows the system to maintain high storage efficiency by using the same physical block while ensuring data validity through redundant storage at specific locations within the block.
Solution Approach 2:
The system prepares alternative data page locations in advance within the same physical block as cushioning against potential errors. When ECC correction fails at the original location, these pre-prepared alternative locations provide immediate backup, preventing data loss without requiring additional physical blocks.
3Reliability
If multiple spare blocks are used for backup storage, then data validity is improved, but device complexity and management overhead increase
Solution Approach 1:
The invention merges the backup function with the original physical block by using alternative data page locations within the same block. This combines the original data storage and backup functions into a single physical block, eliminating the need for separate spare blocks and reducing device complexity while maintaining data validity.
4Reliability
If error correction is attempted beyond 60 bits, then complete error correction is achieved, but the error correcting code becomes invalid and data is lost
Solution Approach 1:
The system performs preliminary error detection by attempting ECC correction and checking the result. When the error exceeds 60 bits and correction fails, the system has already prepared alternative data page locations, allowing it to switch to the alternative location before data loss occurs.
Solution Approach 2:
The system converts the limitation of ECC (60-bit correction capability) into a benefit by using it as an early warning mechanism. When ECC fails to correct errors beyond 60 bits, this failure signals the system to switch to alternative locations, turning the harmful limitation into a useful detection mechanism that prevents data loss.
Data Source
AI summary
A storage device includes a data storage medium and a control unit. The data storage medium includes a spare block pool including a plurality of spare blocks. Each spare block includes a plurality of data pages. The control unit is electrically coupled to the data storage medium. The control unit is configured to receive data from a host and to determine whether the data is sequential data according to a default policy. The data is written into at least two of the plurality of data pages in one of the plurality of spare blocks respectively. The control unit and a data storing method for the storage device are also provided.


