Storage Block Allocation via Cylinder Group Segmentation
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional data block allocation methods in storage systems lead to data block fragmentation, inefficient allocation of data blocks, and decreased I/O performance due to interleaving of data blocks from multiple files, especially when handling small and large files concurrently, resulting in increased seek time and resource consumption.
Innovation Solution
The method allocates data blocks in an order similar to their logical mapping in the file system hierarchy, using a counter to select cylinder groups for indirect and data blocks, and performs look-behind or look-ahead operations to reserve contiguous blocks, reducing fragmentation and improving I/O performance by maintaining data block locality.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If conventional data block allocation methods are used, then file systems can store and retrieve data, but data block fragmentation occurs and I/O performance decreases
Solution Approach 1:
The storage device is divided into multiple cylinder groups, each managing its own data blocks independently. This segmentation allows the file system to allocate blocks within specific cylinder groups, reducing fragmentation and improving I/O performance by keeping related blocks together.
Solution Approach 2:
The system performs preliminary allocation of data blocks to cylinder groups based on file type and size before actual data storage. This preliminary organization of blocks into appropriate cylinder groups prevents fragmentation and optimizes the physical layout for better I/O performance.
2Quantity of substance
If data blocks from multiple files are allocated concurrently, then storage utilization increases, but seek time increases due to interleaving
Solution Approach 1:
Different cylinder groups are assigned to different files or file types, creating local quality differentiation. This ensures that data blocks for specific files are concentrated in particular cylinder groups rather than being interleaved across all groups, reducing seek time while maintaining high storage utilization.
3Device complexity
If indirect blocks are allocated without cylinder group selection, then allocation is simplified, but data block locality is lost
Solution Approach 1:
The allocation system dynamically selects cylinder groups based on the file type and current allocation state. This dynamic selection maintains data block locality by choosing appropriate cylinder groups while adapting to different allocation scenarios, balancing complexity and performance requirements.
Data Source
AI summary
A method is used in allocating blocks in storage systems. A block allocation request is received for a file of a file system. The block allocation request includes a data block allocation request and an indirect block allocation request. A type of the file is determined. A cylinder group is selected from a set of cylinder groups for allocating an indirect block based on the block allocation request. A set of data blocks is reserved for allocating a data block based on the type of the file.


