Memory Controller Bad Block Management via Shared Signal Propagation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Storage devices face challenges in preventing read failures due to bad blocks, where data cannot be reliably stored or retrieved, especially as memory blocks deteriorate over time, leading to operational failures and data loss.

Innovation Solution

A storage device with a memory controller that manages bad blocks and shared blocks, where the shared block shares control signals with the fail block, allowing for proactive identification and management of failing memory blocks to prevent read failures by relocating valid data and updating metadata accordingly.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If memory blocks are managed individually without considering shared control signals, then device complexity is reduced, but read reliability deteriorates due to undetected bad blocks affecting shared blocks

Engineering Contradiction:
Improveread reliabilityVSAvoidblock management complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The system performs preliminary identification and management of shared blocks associated with fail blocks before read operations occur. The memory controller proactively marks shared blocks as bad blocks based on the failure status of their associated fail blocks, preventing potential read failures before they happen. This preliminary action ensures that when a fail block is detected, its shared blocks are preemptively protected from being used for data storage or retrieval.

Inventive Principle:
Principle #10Preliminary action

2Reliability

If all memory blocks are monitored for failures, then data integrity is improved, but the use of energy increases due to continuous monitoring and data relocation operations

Engineering Contradiction:
Improvedata integrityVSAvoidenergy consumption
Core Design Contradiction:
ReliabilityVSUse of energy by moving object

Solution Approach 1:

Instead of uniformly monitoring and managing all memory blocks with the same level of scrutiny, the system applies differential management based on local conditions. When a fail block is detected, only its associated shared blocks are marked as bad blocks and subjected to relocation operations. This localized approach ensures that energy-intensive monitoring and data relocation operations are performed only where necessary, rather than across the entire memory array, thus reducing overall energy consumption while maintaining data integrity.

Inventive Principle:
Principle #3Local quality

3Loss of information

If shared blocks are not managed as bad blocks when their associated fail blocks are detected, then device complexity is reduced, but loss of information occurs due to read failures in shared blocks

Engineering Contradiction:
Improvedata loss preventionVSAvoidbad block management complexity
Core Design Contradiction:
Loss of informationVSDevice complexity

Solution Approach 1:

The memory controller implements a feedback mechanism where the failure status of a fail block automatically triggers the marking of its associated shared blocks as bad blocks. This feedback loop ensures that when a fail block is detected through monitoring or operation, the system responds by updating the status of shared blocks, preventing potential data loss. The feedback mechanism automates the protection process, reducing the need for complex manual management while ensuring data integrity through systematic bad block propagation.

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS11474721B2Storage device managing bad block information of memory blocks and operating method thereof
Publication Date: 2022.10.18 SK HYNIX INC
  • US11474721B2 patent drawing
  • US11474721B2 patent drawing
  • US11474721B2 patent drawing

AI summary

A storage device for preventing occurrence of a read fail has a reduced overhead. The storage device includes a memory device with a plurality of memory blocks; and a memory controller for managing a fail block and a shared block as bad blocks. The fail block is determined to be a bad block among the plurality of memory blocks. The shared block is a memory block that shares a control signal for selecting the fail block in the memory device.