Memory Controller Super-Block Mapping for Bad Block Replacement
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Non-volatile memory devices face yield and performance limitations due to manufacturing defects and growing defects over time, leading to fail dies where block replacement is not possible beyond a certain threshold, limiting the number of reserved blocks available for replacement.
Innovation Solution
A memory controller groups memory blocks into super blocks comprising multiple planes operating in parallel, allowing bad blocks to be replaced with replacement blocks within the same plane, and manages these blocks through a block information storage, super block manager, and bad block manager to optimize allocation and release processes.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If the number of reserved blocks is increased to replace bad blocks, then the yield and performance of memory device are improved, but the device complexity and management overhead increase
Solution Approach 1:
The patent segments memory blocks into super blocks that span multiple planes, allowing independent management of bad blocks within each super block. This segmentation enables localized replacement operations without affecting the entire memory device, reducing management complexity while maintaining reliability.
Solution Approach 2:
The patent introduces a controller as an intermediary that manages the mapping between logical addresses and physical blocks. The controller handles bad block replacement transparently by updating mapping information, shielding the complexity of bad block management from the memory device structure itself.
2Speed
If block replacement is performed within the same die, then the replacement speed is fast, but the number of available replacement blocks is limited
Solution Approach 1:
The patent extends block replacement from a single-die dimension to a multi-die dimension by forming super blocks that include memory blocks from multiple dies. This allows replacement blocks to be selected from any die within the device, dramatically increasing the pool of available replacement blocks while maintaining fast replacement speeds through parallel access to multiple planes.
3Adaptability or versatility
If the number of bad blocks exceeds the reference number, then block replacement becomes impossible, but increasing reserved blocks increases device complexity
Solution Approach 1:
The patent makes memory blocks universal by allowing any block from any plane or die to serve as a replacement block for bad blocks in super blocks. This multi-functionality enables the system to handle an unlimited number of bad blocks by drawing replacement blocks from the entire memory device rather than being constrained to local reserved blocks within a single die.
4Productivity
If super blocks include memory blocks from multiple planes, then parallel operations are enabled improving performance, but the management of bad blocks becomes more complex
Solution Approach 1:
The patent applies local quality by managing bad blocks at the super block level rather than individually for each plane. The controller maintains mapping information organized by super blocks, allowing parallel operations across multiple planes while consolidating bad block management logic at a higher level, thus reducing the complexity of tracking bad blocks across multiple planes.
Data Source
AI summary
A storage device includes a memory device including a plurality of planes each including a plurality of memory blocks, and a controller configured to group the memory blocks into a plurality of super blocks, each including memory blocks belonging to two or more planes operating in parallel, change mapping information so that a bad block included in a super block to be allocated during super block allocation is replaced with a replacement block of the same plane as the bad block, and delete the mapping information corresponding to the replacement block when an allocated super block is released. The memory blocks are divided into user memory blocks grouped into the super blocks and reserved memory blocks that are not grouped into the super blocks, and the replacement block is selected from memory blocks included in free super blocks of an empty status and the reserved memory blocks.


