Volatile Cache Parity Storage for SSD Reliability
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Traditional solid-state storage devices face inefficiencies in storing parity information, leading to reduced available storage space for user data and performance degradation due to insufficient error correction and increased bit errors.
Innovation Solution
The method involves temporarily storing parity information in a volatile storage device until data is successfully written to an associated region in a non-volatile storage device, allowing for efficient use of storage space and error correction, with control circuitry managing the storage and retrieval of parity information across regions.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If parity information is stored permanently in the non-volatile storage device, then data reliability is improved through error correction, but available storage space for user data is reduced
Solution Approach 1:
The patent computes and stores parity information in advance in a volatile cache memory before data is written to the non-volatile storage device. This preliminary action allows the parity data to be ready for error correction without permanently occupying storage space in the non-volatile device, thus maintaining data reliability while preserving user data capacity.
Solution Approach 2:
The patent introduces a volatile cache memory as an intermediary storage medium between the host and the non-volatile storage device. This intermediary holds the parity information temporarily, acting as a buffer that enables error correction functionality without permanently reducing the storage capacity of the non-volatile device for user data.
2Reliability
If parity information is stored in each stripe to protect user data, then error correction capability is improved, but user performance degrades due to reduced parallel transfer capacity
Solution Approach 1:
By using volatile cache memory as an intermediary to store parity information, the patent enables faster access and management of parity data during write operations. This intermediary approach allows for improved error correction capability without the performance penalty of reduced parallel transfer capacity, as the volatile cache does not consume non-volatile storage bandwidth.
Solution Approach 2:
The patent changes the storage medium parameter from non-volatile to volatile for parity information, exploiting the faster write and read speeds of volatile memory. This parameter change enables efficient error correction while maintaining high user performance, as the volatile cache can be rapidly updated without affecting the parallel transfer capacity of the non-volatile storage device.
3Reliability
If ECC fields are increased in size to correct more bit errors, then data protection is improved, but storage efficiency and performance are reduced
Solution Approach 1:
The patent uses volatile cache memory as an intermediary to store and manage ECC fields, allowing for larger and more comprehensive error correction codes without permanently reducing storage efficiency. The volatile cache enables rapid processing of larger ECC fields during write operations without the performance penalty of increased overhead in the non-volatile storage device.
Solution Approach 2:
The patent performs preliminary computation and storage of extended ECC fields in the volatile cache before data is committed to the non-volatile storage device. This preliminary action allows for more robust data protection through larger ECC fields while maintaining storage efficiency, as the extended error correction capability exists temporarily in the cache rather than permanently in the storage device.
Data Source
AI summary
Methods and apparatus for temporarily storing parity information for data stored in a storage device are provided. A first data block and parity information associated with the first data block are received. The first data block is stored in a first region of the storage device. The parity information is stored until a second data block is successfully stored in a second region of the storage device. The first region of the storage device is associated with the second region of the storage device.


