Stable File System Using Double Linked List Clusters
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current file systems, such as FAT and NTFS, are prone to corruption and fragmentation, leading to inefficiencies in locating and loading file clusters, and they lack stability and efficient data retrieval mechanisms.
Innovation Solution
A file system utilizing a double linked list data structure with 64-bit pointers to link clusters, allowing for rapid location and loading of file clusters, and incorporating a Master Cluster Record with Priority R Tree organization for efficient file management and security features like encryption.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If traditional file allocation tables (FAT) or journaling file systems (NTFS) are used, then file location storage is achieved, but corruption and fragmentation occur leading to reduced stability and increased access time
Solution Approach 1:
The file system divides file data into fixed-size clusters, each independently managed with its own metadata structure. Each cluster contains a header with pointers to adjacent clusters, enabling independent access and reducing the propagation of corruption. This segmentation allows the system to locate and access individual clusters without loading entire files, significantly reducing access time while maintaining stability through isolated error containment.
Solution Approach 2:
The system pre-allocates fixed-size clusters for file storage and pre-structures each cluster with metadata including pointers to previous and next clusters. This preliminary organization eliminates the need for dynamic allocation and fragmentation that occurs in traditional file systems. By pre-establishing the cluster structure with embedded navigation pointers, the system enables direct access to any cluster without sequential searching, reducing access time while preventing fragmentation-related corruption.
2Productivity
If sequential cluster loading is used in traditional file systems, then file clusters are loaded, but fragmentation causes increased access time and reduced efficiency
Solution Approach 1:
Each cluster acts as an intermediary node containing metadata that directly references the locations of adjacent clusters through embedded pointers. This intermediary structure eliminates the need for the file system to maintain a separate allocation table or perform sequential searches. The cluster metadata serves as a self-contained navigation mechanism, allowing direct jumps between clusters and enabling parallel loading of multiple clusters, thereby improving productivity while eliminating fragmentation delays.
Solution Approach 2:
The system transitions from sequential one-dimensional file access to multi-dimensional cluster access by embedding pointers within each cluster that enable direct navigation to any cluster in the file. This dimensional change allows the system to access clusters in parallel and load multiple clusters simultaneously rather than sequentially, dramatically improving data retrieval efficiency while eliminating the time losses associated with fragmentation in traditional linear access models.
3Adaptability or versatility
If dynamic cluster allocation is used, then file flexibility is achieved, but fragmentation occurs reducing system stability
Solution Approach 1:
The system changes the fundamental parameter of cluster allocation from dynamic to fixed-size allocation. Each cluster is predetermined to a fixed size and contains metadata structures designed for that specific size. This parameter change eliminates fragmentation because fixed-size clusters can be uniformly allocated and managed without the size-matching problems that cause fragmentation in dynamic allocation systems. The fixed parameter maintains adaptability through the pointer-based linked structure that can accommodate files of any size while preserving stability through uniform cluster composition.
Data Source
AI summary
One or more embodiments of the present invention include a memory and a processor. The memory includes a plurality of files, a master cluster record, and an operating system. The processor is configured to execute the operating system in order to locate and load each cluster of a file. Each file includes a plurality of clusters and each cluster includes a first pointer and a second pointer. The first pointer is linked to a previous cluster of a file and second pointer is linked to a subsequent cluster of the file using a double linked list data structure.


