ECC Codeword Packing for Compressed Pages Without Straddling
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional data storage systems face inefficiencies in packing compressed logical pages into error correction code (ECC) codewords due to fixed payload sizes that are not well-aligned with varying compressed page lengths, leading to straddling issues that increase read amplification and latency.
Innovation Solution
A method that dynamically packs compressed logical pages into ECC codewords by identifying open codewords with sufficient space, ensuring pages do not straddle, and managing logical capacity loss to minimize inefficiencies.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Quantity of substance
If compressed logical pages are packed into ECC codewords with fixed payload size, then data compression is achieved, but misalignment occurs between variable compressed page lengths and fixed ECC payload sizes
Solution Approach 1:
The patent implements dynamic packing strategies that adapt to varying compressed page lengths. The system monitors compression ratios and dynamically adjusts packing decisions, choosing between different packing modes (e.g., packing multiple small pages vs. allowing larger pages to stand alone) based on real-time conditions, thereby resolving the misalignment between variable compressed lengths and fixed ECC payloads.
Solution Approach 2:
The system changes packing parameters based on compression characteristics. When compression produces pages that align well with ECC payload sizes, aggressive packing is used. When misalignment occurs, the system adjusts by modifying pack density or selecting different codeword assignments, effectively changing the packing parameters to maintain alignment while preserving compression benefits.
2Quantity of substance
If conventional attempts fill the entire payload of ECC codewords, then space utilization is improved, but compressed logical pages straddle between ECC codewords resulting in read amplification
Solution Approach 1:
The patent applies partial packing strategies where ECC codewords are not always filled to complete capacity. When a compressed logical page does not align with codeword boundaries, the system intentionally leaves portions of the codeword payload unused rather than forcing a straddle. This partial action prevents read amplification by avoiding the need to read entire codewords when only part is needed.
Solution Approach 2:
The system converts the potential harm of wasted space in ECC codewords into a benefit by deliberately accepting reduced space utilization in exchange for eliminating straddling. The unused payload space is treated as an acceptable cost to prevent read amplification, effectively converting a negative (wasted space) into a positive (reduced read operations and improved read performance).
3Quantity of substance
If straddling is allowed to maximize space utilization, then logical capacity is improved, but latency increases when straddling occurs across physical page boundaries
Solution Approach 1:
The patent applies different quality standards to different regions of storage. When a compressed logical page fits entirely within a single physical page boundary, aggressive packing is used to maximize capacity. However, when straddling would occur across physical page boundaries, the system switches to a more conservative packing approach that prioritizes avoiding the boundary crossing. This local differentiation in packing quality optimizes both capacity and latency based on specific conditions.
4Device complexity
If fixed payload size ECC codewords are used, then error correction is simplified, but the fixed size does not align with varying sizes of compressed logical pages
Solution Approach 1:
The patent segments the packing strategy into multiple modes or levels. Instead of using a single fixed approach, the system divides the problem into different packing scenarios (e.g., highly compressible data vs. less compressible data, pages that fit boundaries vs. those that don't) and applies appropriate segmentation strategies to each, thereby maintaining simplicity in error correction while adapting to variable page lengths through structured decision-making.
Data Source
AI summary
A method, according to one embodiment, includes repeating the following sequence at least until a page stripe of a memory cache has at least a predetermined amount of data stored therein: receiving a compressed logical page of data, finding an open codeword having an amount of available space which is greater than or equal to a size of the compressed logical page, and storing the compressed logical page in the open codeword having the amount of available space which is greater than or equal to a size of the compressed logical page. The compressed logical page does not straddle out of the open codeword. Other systems, methods, and computer program products are described in additional embodiments.


