SSD Superpage Layout With Dynamic Inactive Pages for Reed-Solomon Protection
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Non-volatile solid-state storage arrays face limitations in page-level error protection due to the fixed number of symbols in Reed-Solomon (R-S) codes, which restricts the number of pages that can be protected and managed effectively, especially when dealing with defective pages and wear leveling operations.
Innovation Solution
Dynamic assignment of inactive pages not used in the R-S code within a non-volatile solid-state storage array, where one page in each superpage is designated as inactive and moved between storage elements during operations like wear leveling and garbage collection, allowing for flexible error handling and improved memory distribution.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If a fixed number of R-S code symbols (e.g., 255) is used for error protection, then the error correction capability is standardized and reliable, but the number of pages that can be protected is limited and inflexible
Solution Approach 1:
The patent introduces dynamic allocation of R-S code symbols by allowing the number of symbols per codeword to vary based on the actual number of data pages requiring protection. Instead of using a fixed 255-symbol codeword structure, the system dynamically adjusts the codeword size to match the actual data volume, thereby improving adaptability while maintaining error correction reliability through the consistent application of R-S coding principles.
Solution Approach 2:
The patent changes the parameter of codeword size (number of R-S symbols) from a fixed value to a variable parameter that adapts to different storage scenarios. By allowing the codeword length to be adjusted according to the number of data pages, the system achieves flexibility in protecting varying numbers of pages while preserving the mathematical properties of R-S codes that ensure reliable error correction.
2Quantity of substance
If all pages in a storage element are actively managed for data storage, then the storage capacity is maximized, but wear leveling becomes more complex and defective pages are harder to manage
Solution Approach 1:
The patent segments the storage element into two distinct types of pages: active data pages and inactive pages. This segmentation allows the system to maintain a pool of inactive pages that can be used for wear leveling operations without affecting the primary data storage capacity. By separating these functions, the system simplifies wear leveling management while preserving storage capacity.
Solution Approach 2:
The patent extracts a subset of pages from the active data storage pool and designates them as inactive pages. These extracted inactive pages are specifically allocated for wear leveling and defective page management purposes. This extraction creates a dedicated resource pool that simplifies the complexity of managing wear leveling across all pages while maintaining maximum storage capacity for active data.
3Device complexity
If inactive pages are concentrated in a single storage element, then the management overhead is reduced, but the wear leveling effectiveness and error handling capability are diminished
Solution Approach 1:
The patent applies local quality by distributing inactive pages across multiple storage elements rather than concentrating them in one location. Each storage element contains a specific number of inactive pages tailored to its characteristics and requirements. This localized distribution ensures that wear leveling operations can be performed effectively within each storage element while maintaining overall system reliability and reducing the impact of localized failures.
Data Source
AI summary
A data storage device is disclosed comprising non-volatile solid-state array comprising M storage elements for storing data protected by Reed-Solomon (R-S) code, each storage element comprising multiple blocks, each block comprising multiple pages for storing data. The data storage device further comprises a controller in communication with the storage array and defining a superblock comprising logical grouping of M blocks, each located in different storage element, and multiple superpages in each superblock, each superpage comprising M pages, each located in a different storage element. The controller generates, for each superpage, at least one R-S code parity page for protecting data pages in the superpage, where number of data pages and the at least one parity page is equal to M−1. The controller assigns one page in each superpage as an inactive page not used in the R-S code, where at least two inactive pages are in different storage elements.


