Flash Memory Controller Zone Reset via Valid Page Count Table
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Efficient management of flash memory modules in NVMe specifications is challenging due to the need for effective handling of zoned namespaces and zone-based data operations, particularly in resetting zones and managing spare blocks.
Innovation Solution
A flash memory controller method that configures zoned namespaces, establishes zone-block mapping tables, and updates logical to physical address mapping tables to efficiently manage data writes and resets, utilizing a valid page count table to determine if blocks can be placed in a spare block pool, ensuring efficient resource allocation and data integrity.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Ease of operation
If a zoned namespace is configured in flash memory, then zone-based data write operations can be performed with continuous logical addresses, but the complexity of managing zone resets and block allocation increases
Solution Approach 1:
The flash memory is divided into multiple zones with continuous logical addresses, where each zone can be independently managed. The zone-block mapping table segments the mapping relationships between zones and physical blocks, enabling independent zone resets and allocations without affecting other zones.
Solution Approach 2:
A zone-block mapping table is introduced as an intermediary structure to manage the relationships between zones and physical blocks. This mapping table simplifies the complexity by providing a structured way to track which blocks belong to which zones, facilitating efficient zone resets and block allocations.
2Productivity
If zone resets are performed efficiently, then host device commands can be processed quickly, but determining valid blocks for spare pool requires additional checking
Solution Approach 1:
The valid page count table provides feedback information about the number of valid pages in each block. During zone resets, this feedback mechanism allows the controller to quickly determine which blocks can be safely moved to the spare pool without performing comprehensive validity checks, thereby maintaining fast command processing.
Solution Approach 2:
The valid page count table is maintained in advance to record the number of valid pages in each block. This preliminary action enables rapid determination during zone resets whether blocks can be placed in the spare pool, eliminating the need for real-time comprehensive validity verification.
3Adaptability or versatility
If shared blocks are properly managed during zone resets, then block utilization is optimized, but determining if shared blocks have valid data adds to the management complexity
Solution Approach 1:
Shared blocks are designed to serve multiple zones simultaneously, providing versatile block utilization. The zone-block mapping table tracks which zones use which shared blocks, enabling efficient management where a single block can support multiple zones while maintaining clear ownership information for proper reset handling.
Solution Approach 2:
The zone-block mapping table acts as an intermediary that tracks the relationship between zones and shared blocks. This mapping structure simplifies shared block management by providing a structured way to determine which zones are associated with which blocks, facilitating proper data validity determination during resets.
Data Source
AI summary
The present invention provides a control method of the flash memory controller. In the control method, by establishing a valid page count table, a detailed valid page count table and/or a zone valid page count table according to deallocate command from the host device, the flash memory controller can efficiently and quickly determine if any one of the zones does not have any valid data, so that the flash memory controller can recommend the host device to send a reset command to reset the zone. In addition, after receiving the reset command from the host device, the flash memory controller can use a garbage collection operation or directly put the blocks corresponding to the erased zone into a spare block pool, for the further use.


