Compressed Page Packing Across ECC Codewords With Less Straddling

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional data storage systems using Flash-based SSDs face inefficiencies due to fixed payload sizes of ECC codewords, which lead to straddling issues when packing compressed logical pages, resulting in increased read amplification and latency, especially when compressed pages have varying lengths.

Innovation Solution

A method that dynamically packs compressed logical pages into ECC codewords by identifying open codewords with sufficient space and minimizing straddling, using adaptive algorithms to manage logical capacity loss and optimize ECC container usage.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Quantity of substance

If compressed logical pages are packed into fixed-size ECC codeword payloads, then storage capacity utilization is improved, but straddling occurs causing increased read amplification and latency

Engineering Contradiction:
Improvestorage capacity utilizationVSAvoidread latency
Core Design Contradiction:
Quantity of substanceVSLoss of time

Solution Approach 1:

The patent implements dynamic packing algorithms that adaptively determine whether to pack compressed logical pages into single ECC codewords or allow straddling across multiple codewords based on current system state, compression ratios, and performance metrics. This dynamic approach resolves the contradiction by flexibly adjusting packing behavior to optimize both capacity utilization and read latency under different operating conditions

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system changes packing parameters such as threshold values for allowable straddling, codeword selection criteria, and capacity loss limits to balance between full payload utilization and minimizing read amplification. By adjusting these parameters dynamically, the system achieves optimal performance across varying workload characteristics

Inventive Principle:
Principle #35Parameter changes

2Productivity

If compressed logical pages are packed to fill entire ECC codeword payloads, then storage efficiency is improved, but logical capacity loss increases

Engineering Contradiction:
Improvestorage efficiencyVSAvoidlogical capacity loss
Core Design Contradiction:
ProductivityVSLoss of substance

Solution Approach 1:

The patent applies partial packing strategies where compressed logical pages are packed into ECC codeword payloads only to the extent necessary to achieve acceptable storage efficiency without excessive capacity loss. The system allows partial utilization of codeword payloads when full utilization would cause unacceptable capacity loss, thereby optimizing the trade-off between storage efficiency and capacity retention

Inventive Principle:
Principle #16Partial or excessive action

3Device complexity

If conventional fixed packing methods are used, then implementation simplicity is maintained, but performance degrades due to straddling across physical page boundaries

Engineering Contradiction:
Improveimplementation simplicityVSAvoidread speed
Core Design Contradiction:
Device complexityVSSpeed

Solution Approach 1:

The patent segments the packing decision-making process into distinct phases: identification of compressed logical pages, evaluation of packing options, selection of target ECC codewords, and execution of packing operations. This segmented approach maintains implementation simplicity by breaking down the complex packing problem into manageable steps while improving read speed through optimized packing strategies

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS9793929B2Data packing for compression-enabled storage systems
Publication Date: 2017.10.17 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US9793929B2 patent drawing
  • US9793929B2 patent drawing
  • US9793929B2 patent drawing

AI summary

A computer-implemented 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: finding an open codeword having an amount of available space which is greater than or equal to a size of a 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. Other systems, methods, and computer program products are described in additional embodiments.