Parity Page Management for SSD Data Reliability
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional methods for establishing redundancy-based protection in SSDs often result in data loss when a single die fails, and existing solutions compromise performance or storage space.
Innovation Solution
The technique involves managing parity information by storing data and parity across multiple dies within the same band, using primary and secondary parity pages, and maintaining a cohesive unity between data and parity information, allowing for efficient recovery without significant performance or storage sacrifices.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Quantity of substance
If parity information is interleaved within data across different dies, then storage space utilization is improved, but data reliability deteriorates when a single die fails
Solution Approach 1:
The patent segments parity information into separate dedicated parity pages distinct from data pages. Each stripe contains dedicated primary parity pages and secondary parity pages that are physically separated from data pages, ensuring that parity information is not lost when a data page's die fails. This segmentation resolves the contradiction by maintaining storage efficiency while improving reliability through isolated parity storage.
Solution Approach 2:
The patent introduces secondary parity pages as an intermediary layer that protects primary parity information. When primary parity pages are stored on the same die as data pages, secondary parity pages provide a backup mechanism that mediates the reliability risk. This intermediary structure allows the system to maintain high storage utilization while protecting against die failures through hierarchical parity protection.
2Reliability
If redundancy-based protection is established by writing data across different dies with interleaved parity, then fault tolerance is improved, but performance deteriorates due to increased complexity
Solution Approach 1:
The patent performs preliminary organization of data and parity information into structured stripes with dedicated parity pages before writing to dies. By pre-establishing the relationship between data pages and their corresponding primary and secondary parity pages, the system enables faster recovery operations without requiring complex real-time calculations during failure events. This preliminary structuring maintains performance while achieving fault tolerance.
Solution Approach 2:
The patent changes the organizational parameters of parity storage from interleaved positioning to dedicated parity page positioning within stripes. By modifying how parity information is structured and positioned relative to data pages, the system achieves both fault tolerance and performance efficiency. The deterministic location of parity pages simplifies recovery operations while maintaining high storage utilization.
3Loss of time
If parity information is stored in deterministic locations within the same band, then data recovery speed is improved, but storage flexibility is reduced
Solution Approach 1:
The patent creates a universal stripe structure that can accommodate variable amounts of data while maintaining consistent parity organization. Each stripe is designed to hold a fixed number of data pages and corresponding parity pages, but the number of complete stripes can vary based on total data size. This universal structure provides deterministic parity locations for fast recovery while maintaining storage flexibility through adaptive stripe allocation.
Data Source
AI summary
Disclosed herein are techniques for managing parity information for data stored on a storage device. A method includes (1) receiving a request to store data into the storage device, (2) storing portions of the data in data pages included in stripes in a band of the storage device, where a respective data page is stored on a respective different die of a respective stripe, (3) determining primary parity information for a first stripe including a subset of the data pages, (4) storing the primary parity information in a primary parity page included in a second stripe in the stripes in the band, where the primary parity page is disposed on a next available die relative to dies storing the data pages, (5) determining secondary parity information for the second stripe, and (6) storing the secondary parity information in a secondary parity page included in the stripes in the band.


