Volatile Memory Buffer Parity Compression for SSD Storage
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional redundancy-based protection methods for solid-state drives (SSDs) result in data loss when a single die fails, often due to the intermingling of data and parity information, leading to unrecoverable scenarios, and typically require significant performance and storage space sacrifices.
Innovation Solution
The technique involves using volatile memory buffers to manage parity information by successively reducing its size through step-based verifications as data is written to the SSD, converting first parity information into smaller forms (RMX, SPBX, and VPMX) to minimize storage space consumption while maintaining redundancy protection.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If conventional redundancy-based protection methods are used to protect data on SSD, then data reliability is improved, but storage space is significantly consumed by parity information
Solution Approach 1:
The patent segments the storage device into multiple dies, with each die containing a portion of the data and a reduced amount of parity information. This segmentation allows the system to maintain redundancy protection across dies while reducing the parity information burden on each individual die, thereby improving storage space efficiency while preserving data reliability.
Solution Approach 2:
The patent changes the parameter of parity information distribution by allocating reduced parity information to each die rather than requiring full parity information on every die. This parameter change enables the system to maintain overall redundancy protection while significantly reducing the total parity information storage requirements.
2Quantity of substance
If data and parity information are interleaved across different dies, then storage space efficiency is improved, but data recoverability deteriorates when a single die fails
Solution Approach 1:
The patent applies preliminary action by performing read verification of data and parity information before finalizing the write operation. This preliminary verification ensures data integrity and enables the system to detect and correct errors before they propagate, thereby maintaining data recoverability even with reduced parity information per die.
Solution Approach 2:
The patent implements feedback through read verification operations that check the integrity of written data and parity information. This feedback mechanism allows the system to detect errors and trigger appropriate recovery procedures, ensuring data recoverability while using reduced parity information across distributed dies.
3Reliability
If full parity information is stored on each die for redundancy protection, then data recoverability is improved, but storage space consumption increases significantly
Solution Approach 1:
The patent segments the redundancy protection scheme by distributing reduced parity information across multiple dies rather than storing full parity information on each die. This segmentation allows the system to maintain data recoverability through distributed redundancy while reducing the parity information storage burden on each individual die.
Solution Approach 2:
The patent changes the parameter of parity information quantity by using reduced parity information per die compared to conventional full parity information storage. This parameter change, combined with distributed allocation across dies, enables the system to maintain data recoverability while significantly reducing total storage space consumption.
Data Source
AI summary
Disclosed are techniques for managing parity information for data stored on a storage device. A method can be implemented at a computing device communicably coupled to the storage device, and include (1) receiving a request to write data into a data band of the storage device, (2) writing the data into stripes of the data band, comprising, for each stripe of the data band: (i) calculating first parity information for the data written into the stripe, (ii) writing the first parity information into a volatile memory, and (iii) in response to determining that a threshold number of stripes have been written: converting the first parity information into smaller second parity information, and (3) in response to determining that the data band is read-verified: (i) converting the second parity information into smaller third parity information, and (ii) storing the smaller third parity information into a parity band of the storage device.


