File System Contiguous Allocation for Flash Memory Performance
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing file systems do not allow for optimal performance characteristics, such as read and write performance, due to uniform storage space allocation for all files, which is inefficient, especially in flash memory devices where sequential allocation can significantly improve reading and writing times.
Innovation Solution
A file system that supports explicit commands to store files in a manner that enhances specific performance characteristics, such as physically contiguous allocation, allowing for enhanced read and write performance by pre-allocating space and optimizing storage based on the file's requirements.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If uniform storage space allocation is used for all files, then device complexity is reduced and ease of operation is improved, but read and write performance deteriorate due to lack of optimization for specific file requirements
Solution Approach 1:
The patent applies local quality by implementing different storage allocation strategies for different files based on their specific performance requirements. The file system allows applications to specify performance characteristics (such as sequential access, random access, high throughput) for individual files, and then allocates storage space accordingly - using contiguous allocation for sequential access files, scattered allocation for random access files, and optimizing block sizes based on file size and access patterns. This resolves the contradiction by providing high performance where needed while maintaining simple default allocation for files without special requirements.
2Loss of time
If sequential allocation is used in flash memory devices, then read and write times are significantly improved, but storage space management becomes less efficient due to fragmentation and recycling requirements
Solution Approach 1:
The patent applies dynamics by making the storage allocation strategy adaptive rather than static. The file system dynamically selects between sequential and non-sequential allocation methods based on file characteristics and current storage conditions. For new files, it may use sequential allocation to minimize write time. For existing files being extended, it evaluates whether contiguous space is available - if yes, it extends sequentially; if no, it allows scattering with proper metadata tracking. This dynamic approach resolves the contradiction by achieving fast sequential access when possible while efficiently utilizing fragmented space when necessary.
Solution Approach 2:
The patent applies preliminary action by pre-allocating storage space for files that are expected to grow, particularly for files with predictable size requirements. The system can reserve contiguous blocks in advance based on file type, expected size, or application requests, thereby ensuring that subsequent writes can proceed sequentially without interruption for space search or recycling operations. This pre-allocation strategy reduces write time while maintaining good space utilization by allocating only the predicted necessary space upfront.
3Quantity of substance
If recycling operations are performed in flash memory to reclaim space, then storage capacity is maintained, but time-consuming operations reduce overall system performance
Solution Approach 1:
The patent applies preliminary action by performing space reclamation proactively before it becomes critical. Instead of waiting until storage is full and then performing large-scale recycling, the system periodically performs background consolidation operations that gradually reclaim scattered space. It also pre-allocates space for anticipated file growth, reducing the frequency and magnitude of emergency recycling operations. This resolves the contradiction by maintaining storage capacity through gradual, low-impact recycling rather than time-consuming bulk operations.
4Productivity
If all files are stored with the same allocation method, then ease of operation is improved and device complexity is reduced, but performance cannot be optimized for different file types and access patterns
Solution Approach 1:
The patent applies local quality by implementing performance optimization only where needed rather than universally. The file system provides optional performance hints from applications (such as desired access patterns, expected file sizes, or performance priorities) and applies specialized allocation strategies only to files with such specifications. Files without performance requirements use the simple default allocation method. This resolves the contradiction by providing optimized performance for specific files while maintaining operational simplicity for the majority of files through the default path.
Data Source
AI summary
A method of storing a file in a memory. An explicit command is issued to a file system to store the file in accordance with a desired performance characteristic of the file such as enhanced write performance, enhanced read performance or enhanced latency performance. The file system stores the file in the memory in accordance with the desired performance characteristic. Preferably the desired performance characteristic is achieved by storing the file in a physically contiguous portion of the memory or in a logically contiguous portion of the memory. After the explicit command has been issued for each of a plurality of files, the files may be stored concurrently.


