Flash Memory Block Management via Descriptor Lists
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current flash memory systems face challenges in efficiently managing and reclaiming storage capacity due to the complexity of maintaining up-to-date information on individual blocks containing a mixture of valid data, obsolete data, and erased space, which hinders efficient memory operations such as reclaiming unused space.
Innovation Solution
The implementation of lists of blocks within flash memory, where blocks are classified and ordered by descriptor values such as valid data capacity, allowing for efficient selection and reclaim of blocks with the least amount of valid data, and the use of content-addressable searches to quickly access specific block entries, facilitating efficient memory management and storage capacity reclamation.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If traditional flash memory block management is used, then the system can store data in blocks, but it becomes difficult to efficiently identify and reclaim blocks with obsolete data mixed with valid data
Solution Approach 1:
The patent segments block management by introducing separate metadata structures (FAT tables, inode structures) that independently track the status of each block. This allows the system to manage block states without complex analysis of actual data content, improving reclamation efficiency while keeping management organized and tractable.
Solution Approach 2:
The patent introduces metadata structures as intermediaries between the physical blocks and the file system. These metadata structures (FAT entries, inode block pointers) serve as mediators that track block usage status, enabling efficient identification of reclaimable blocks without directly analyzing data content or maintaining complex management logic.
2Measurement precision
If the system maintains detailed tracking of all block contents, then it can identify obsolete data accurately, but the overhead for maintaining this information increases significantly
Solution Approach 1:
The patent extracts block status information from the actual data content and stores it separately in metadata structures. The FAT table extracts and stores allocation status, while inode structures extract and store validity information. This separation allows accurate block status identification without the overhead of continuously analyzing and maintaining detailed content information.
Solution Approach 2:
The patent uses metadata copies (FAT entries, inode structures) that represent block status without duplicating actual data content. These lightweight metadata structures copy only the essential status information (allocated/free, valid/obsolete), providing accurate tracking with minimal overhead compared to maintaining full content information.
3Quantity of substance
If flash memory blocks are made larger to increase storage capacity, then the storage density improves, but the time required to erase and manage individual blocks increases
Solution Approach 1:
The patent segments large blocks into smaller logical units (pages, sectors) that can be individually managed and tracked through metadata structures. This allows the physical block to remain large for high storage capacity, while logical operations work on smaller segments, reducing the effective time for data management operations even though the physical erase time remains unchanged.
Solution Approach 2:
The patent performs preliminary actions by maintaining metadata (FAT tables, inodes) that pre-track the status and organization of data within large blocks. This preliminary organization allows the system to quickly identify which portions of large blocks contain valid data versus obsolete data, enabling more efficient selective erasure and reducing the time lost in analyzing and managing large block contents.
Data Source
AI summary
In a nonvolatile memory system that includes a block-erasable memory array, records are individually maintained for certain classifications of blocks. One or more lists may be maintained for the blocks, an individual list ordered according to a descriptor value. Such ordered lists allow rapid identification of a block by descriptor value.


