Compressed Cluster Allocation Across ECC Frames for Faster Reads
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing memory systems face inefficiencies in reading compressed clusters due to the need to decode and transfer data across multiple ECC frames, leading to deteriorated read process efficiency, especially in cases where clusters extend beyond a single ECC frame.
Innovation Solution
The memory system employs a controller to segment data into clusters, compress them, and allocate them to ECC frames based on predetermined rules, adjusting their positions to minimize the number of clusters spanning multiple frames, thereby optimizing the trade-off between performance penalties and capacity waste.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Quantity of substance
If clusters are compressed and written into ECC frames, then storage capacity is improved, but read process efficiency deteriorates when clusters span multiple frames
Solution Approach 1:
The patent segments the ECC frame allocation strategy into different types: first ECC frames that can accommodate entire clusters after compression, and second ECC frames used when clusters span multiple frames. This segmentation allows the system to optimize for both capacity (by using compression) and read efficiency (by minimizing cross-frame reads) through differentiated frame management.
Solution Approach 2:
The controller performs preliminary actions by pre-calculating the compressed cluster size and determining in advance whether a cluster will fit into a single ECC frame or span multiple frames. This preliminary determination allows the system to pre-allocate appropriate frames and prepare read operations, reducing the overhead of handling cross-frame clusters during actual read operations.
2Device complexity
If clusters are allocated to ECC frames without considering compression results, then allocation simplicity is maintained, but read efficiency deteriorates due to unnecessary decoding and transfer
Solution Approach 1:
The patent implements dynamic ECC frame allocation where the controller adapts its allocation strategy based on the compression results of each cluster. After compression, the controller determines whether the compressed cluster fits into a single ECC frame or requires multiple frames, and dynamically adjusts the allocation accordingly. This dynamic approach maintains simplicity for single-frame cases while optimizing for multi-frame scenarios.
Solution Approach 2:
The system changes the allocation parameter from fixed (ignoring compression) to variable (based on compressed size). The controller uses the compressed cluster size as a key parameter to determine the appropriate ECC frame allocation strategy, thereby optimizing read efficiency without significantly increasing allocation complexity.
3Productivity
If the number of clusters spanning multiple ECC frames is reduced, then read efficiency is improved, but allocation rule complexity increases
Solution Approach 1:
The patent applies local quality by treating different ECC frame allocation scenarios differently based on their specific characteristics. Single-frame allocations follow simple rules, while multi-frame allocations follow optimized rules that consider compression ratios and cluster sizes. This localized differentiation allows the system to improve read efficiency for complex cases without overcomplicating the overall allocation strategy.
Data Source
AI summary
A memory system includes a nonvolatile memory and a controller. The controller is configured to segment data into clusters, perform a compression with respect to each of the clusters, allocate the clusters subjected to the compression to encoding frames in accordance with a predetermined rule. According to the predetermined rule, at least a part of a cluster is allocated to a vacant space of an encoding frame in a first state, when a predetermined condition is met, and an entirety of a cluster is allocated to an encoding frame in a second state, when no encoding frame in the first state exists or when the predetermined condition is not met. The controller is further configured to encode data in each of the encoding frames and write the encoded data into the nonvolatile memory.


