Memory Block Usage Based on Array Edge Distance
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Memory blocks in storage devices deteriorate unevenly due to varying endurance levels based on their location within the memory array, leading to premature wear-out of low-endurance blocks and reduced overall device performance.
Innovation Solution
The storage circuitry manages memory blocks by assigning programming cycles and weights based on their distance from the array edge, ensuring that all blocks reach end-of-life simultaneously and optimizing storage configurations such as bits per cell and Error Correction Code (ECC) to maintain reliability and endurance.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If memory blocks are used uniformly regardless of location, then device complexity is reduced, but reliability deteriorates due to premature wear-out of low-endurance blocks
Solution Approach 1:
The patent applies local quality by assigning different usage weights to memory blocks based on their specific location within the array. Blocks closer to edges or corners receive lower usage weights due to their inherently lower endurance characteristics, while blocks in more favorable locations receive higher weights. This location-dependent differentiation optimizes reliability without requiring complete redesign of the memory management system.
Solution Approach 2:
The patent changes the parameter of usage allocation by introducing location-based weighting factors that modify how programming cycles are distributed across memory blocks. Instead of uniform usage, the system dynamically adjusts usage parameters based on block position, extending the operational lifespan of vulnerable blocks while maintaining overall system productivity.
2Reliability
If programming cycles are distributed evenly across all memory blocks, then productivity is maximized, but reliability worsens due to premature failure of low-endurance blocks
Solution Approach 1:
The patent modifies the programming cycle distribution parameter by introducing location-based weights that adjust the number of cycles applied to each block. This ensures that blocks with lower inherent endurance receive fewer cycles, extending device lifespan while maintaining acceptable productivity through optimized allocation rather than uniform distribution.
Solution Approach 2:
The system implements feedback mechanisms that monitor memory block status and location, using this information to dynamically adjust programming cycle allocation. This feedback loop ensures that reliability constraints are met while maintaining optimal productivity by directing more cycles to robust blocks and fewer to vulnerable ones.
3Reliability
If location-based usage management is implemented, then reliability is improved, but device complexity increases due to additional management overhead
Solution Approach 1:
The patent implements local quality by associating specific usage weights with memory blocks based on their location characteristics. This approach improves reliability by accounting for location-dependent endurance variations while keeping management complexity relatively low through systematic weighting rather than complex individual block management.
Solution Approach 2:
The system changes management parameters by introducing location-based weighting factors that simplify the management overhead. Instead of complex individual block monitoring, the system uses location-derived weights to automatically determine appropriate usage levels, reducing management complexity while maintaining reliability improvements.
Data Source
AI summary
A storage device includes storage circuitry and multiple memory blocks. The multiple memory blocks are arranged in an array, and each of the memory blocks includes multiple memory cells. A maximal number of programming cycles that a memory block of the multiple memory blocks sustains depends on a distance of the memory block from an edge of the array. The storage circuitry is configured to apply to the memory blocks programming cycles so that a number of programming cycles that can be applied to a respective memory block is based on a respective distance of the respective memory block from the edge of the array.


