Storage Controller Bad Block Management for Nonvolatile Memory
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In storage devices with nonvolatile memory, reaching a maximum bad block state where the number of bad blocks exceeds the maximum allowable limit forces the device into a read-only mode, preventing data updates and posing a critical issue for applications like autonomous vehicles that require continuous data updates.
Innovation Solution
The storage device includes a nonvolatile memory with multiple memory blocks distributed across user, reserved, and over-provisioning areas, and a storage controller that manages bad blocks by detecting when a memory block in the user area becomes bad. If the number of bad blocks exceeds the maximum, the controller decreases the user area capacity based on its use ratio and maintains the over-provisioning capacity, thereby postponing the transition to read-only mode.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If the storage device enters read-only mode when the number of bad blocks exceeds the maximum, then data reliability is protected, but data update capability is lost
Solution Approach 1:
The patent changes the parameter of storage area allocation by decreasing the user area capacity and maintaining the over-provisioning area capacity when bad blocks exceed the maximum. This parameter change allows the system to continue operating in write mode by reallocating available space, thus maintaining data update capability while managing bad blocks effectively
Solution Approach 2:
The patent implements a dynamic bad block management strategy where the storage device adapts its operational mode based on the number of bad blocks. Instead of a static read-only transition, the system dynamically adjusts user area capacity and maintains over-provisioning area capacity, allowing continuous adaptation to growing bad block counts while preserving write capability
2Device complexity
If the storage device enters read-only mode when the number of bad blocks exceeds the maximum, then bad block management is simplified, but operational continuity is compromised
Solution Approach 1:
The patent performs preliminary action by maintaining over-provisioning area capacity in advance to accommodate future bad blocks. This proactive allocation of spare capacity allows the system to absorb bad blocks without immediate read-only mode transitions, ensuring operational continuity while managing bad blocks systematically
Solution Approach 2:
The over-provisioning area acts as an intermediary buffer between user data and bad blocks. By maintaining its capacity and using it to absorb bad blocks, the system creates a buffer zone that prevents direct impact on user data and operational status, thereby simplifying management while ensuring continuity
3Productivity
If the user area capacity is decreased when bad blocks exceed the maximum, then the storage device can continue writing data, but the available storage space is reduced
Solution Approach 1:
The patent extracts the over-provisioning area capacity from the total storage capacity calculation, maintaining it separately to absorb bad blocks. This extraction allows the user area to be decreased only when necessary while preserving a dedicated buffer zone, thereby maintaining data writing capability without unnecessarily reducing available storage space for user data
Data Source
Figure 1
Figure 2
Figure 3
AI summary
A storage device includes nonvolatile memory (210) including a plurality of memory blocks (BLK1 to BLKn) in any one of a user area, a reserved area, and an over-provisioning (OP) area; and a storage controller (220) configured to perform a bad block management operation on the plurality of memory blocks (BLK1 to BLKn), wherein the storage controller (220) is further configured to: based on a memory block in the user area being detected as a bad block, determine whether a number of bad blocks is greater than a maximum number of bad blocks, and based on the number of bad blocks being greater than the maximum number of bad blocks, decrease a capacity of the user area based on a use ratio of the user area and maintain an OP capacity of the OP area as it is.