Filesystem Translator for Virtual Block Storage
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Legacy file systems, such as FAT, are not optimized for modern storage media and require time-intensive rescanning and database rebuilding for file changes, limiting their functionality and efficiency in data interchange and storage operations.
Innovation Solution
A filesystem translator system that maps block-level accesses in a virtual file system to a real file system, using a virtual block mapping table to cache references and synthesize data blocks, allowing for efficient read and write operations while maintaining a virtual legacy format.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If a legacy file system (e.g., FAT) is used for storage media, then compatibility with remote clients is improved, but storage media optimization and operational efficiency deteriorate
Solution Approach 1:
The patent introduces a filesystem translator as an intermediary layer between the storage device and remote clients. This translator presents a virtual FAT filesystem interface to clients while translating operations to a modern optimized filesystem (like ext4, XFS, or ZFS) on the actual storage media. This resolves the contradiction by maintaining compatibility with legacy clients while enabling efficient storage operations through the modern filesystem.
Solution Approach 2:
The patent creates a virtual copy of the filesystem interface. Instead of actually formatting the storage media with FAT, it creates a virtual FAT filesystem representation that maps to the real optimized filesystem underneath. This virtual copy maintains the expected interface for clients while the actual data is managed by a more efficient filesystem, resolving both compatibility and efficiency requirements.
2Ease of operation
If block-level access is exposed through network protocols (USB Mass Storage, iSCSI), then remote access capability is improved, but file system operation transparency and maintenance efficiency deteriorate
Solution Approach 1:
The filesystem translator acts as an intermediary that receives block-level access requests from remote clients through standard protocols and translates them into file system operations on the optimized filesystem. This maintains remote access capability while enabling efficient maintenance operations by hiding the complexity of the underlying filesystem from both clients and administrators.
Solution Approach 2:
The patent segments the filesystem operations into two distinct layers: the virtual FAT filesystem layer that handles client compatibility and the real optimized filesystem layer that handles actual data management. This segmentation allows maintenance operations to be performed efficiently on the real filesystem without affecting client operations, reducing maintenance time while preserving remote access capability.
3Adaptability or versatility
If the storage media format is exposed to clients, then protocol compatibility is improved, but file system optimization for modern storage media deteriorates
Solution Approach 1:
The filesystem translator serves as an intermediary that presents a standardized FAT filesystem interface to clients while translating operations to a modern optimized filesystem on the storage media. This resolves the contradiction by maintaining protocol compatibility with legacy clients while ensuring storage media optimization through the use of modern filesystems like ext4, XFS, or ZFS underneath.
Solution Approach 2:
The patent creates a virtual copy of the FAT filesystem interface that maps to the actual optimized filesystem. This virtual copy maintains the expected protocol interface for client compatibility while the real filesystem provides optimized storage operations, effectively decoupling protocol requirements from storage optimization needs.
Data Source
AI summary
A system for a block storage client to work with data blocks in a virtual filesystem (VFS) where the actual data for the data blocks is stored in a real filesystem (RFS). A virtual block mapping table caches references to the actual data in files and directory structures of the RFS. A read mapper then accesses the files and directory structures based on the cached references in the virtual block mapping table, and constructs the data blocks from the files or synthesizes them from the directory structures. And a VFS interface receive read requests from the client, directs the read mapper to prepare the data blocks, and provides the data blocks to the client.


