Flash Memory File Index Table for Data Consolidation
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Large erase block flash memory systems face inefficiencies due to frequent data consolidation and garbage collection, which degrade performance, especially when storage capacity is close to the addressable data volume, leading to increased programming time and reduced operational efficiency.
Innovation Solution
The implementation of a data transfer interface that identifies files by filenames and offset addresses within the file, allowing the memory system to manage data storage without frequent consolidation, eliminating the need for a file allocation table and reducing data copy operations by using a file index table to track valid data groups.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If data consolidation and garbage collection are performed frequently to manage flash memory blocks, then valid data are maintained and storage capacity is optimized, but programming time increases and operational performance degrades
Solution Approach 1:
The system performs preliminary actions by pre-erasing blocks before they are needed and maintaining a pool of ready-to-use erased blocks. This allows immediate data writing without waiting for consolidation or garbage collection to free up blocks, thus improving programming speed while maintaining data integrity through the established block management protocol
Solution Approach 2:
The flash memory is divided into multiple blocks that are independently managed. The system segments blocks into different states (erased, programmed, valid, invalid) and maintains separate tracking for each block's status. This segmentation allows parallel processing of different blocks and reduces the need for frequent consolidation operations across the entire memory space
2Quantity of substance
If the storage capacity is close to the addressable data volume, then memory utilization is maximized, but the frequency of data consolidation increases and performance is reduced
Solution Approach 1:
The system performs preliminary actions by pre-erasing blocks before they are needed and maintaining a pool of ready-to-use erased blocks. This allows immediate data writing without waiting for consolidation or garbage collection to free up blocks, thus improving programming speed while maintaining data integrity through the established block management protocol
Solution Approach 2:
The memory system performs self-service by automatically tracking valid and invalid data groups through the file index table and autonomously managing block allocation and reclamation. This self-service mechanism reduces the need for host intervention and minimizes consolidation operations by efficiently managing storage space as it becomes available
3Ease of operation
If a file allocation table is used to manage data storage, then data location tracking is simplified, but device complexity and overhead increase
Solution Approach 1:
The patent extracts the file allocation table functionality from the host system and relocates it to the memory system itself. The file index table is implemented within the memory device, eliminating the need for the host to maintain separate allocation tables. This extraction reduces host device complexity while maintaining ease of data management through the memory system's own tracking mechanisms
Solution Approach 2:
The file index table acts as an intermediary structure within the memory system that bridges the file system interface and the physical data storage. It provides a mapping mechanism between file identifiers and data group locations without requiring complex host-side management, thus simplifying the overall interface while maintaining operational ease
Data Source
AI summary
Host system data files are written directly to a large erase block flash memory system with a unique identification of each file and offsets of data within the file but without the use of any intermediate logical addresses or a virtual address space for the memory. Directory information of where the files are stored in the memory is maintained within the memory system by its controller, rather than by the host. Each data file is uniquely identified in a file directory, which points to entries in a file index table (FIT) of data groups that make up the file and their physical storage locations in the memory.


