Fractal Block Mapping for Storage Parallelism
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing storage systems face inefficiencies in mapping data blocks across multiple storage devices, as current methods either limit parallelism in I/O requests or generate too many separate requests, failing to balance the number of storage devices used with the size of the request effectively.
Innovation Solution
The use of a fractal layout, such as a Hilbert space-filling curve, to generate block numbers that progressively increase the number of storage devices accessed as the size of I/O requests grow, ensuring efficient access by laying out blocks in a self-similar pattern across multiple devices.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Speed
If consecutive blocks are mapped to the same storage device, then sequential read performance is improved, but the amount of parallelism is limited
Solution Approach 1:
The storage system is segmented into multiple storage devices, and the block mapping is segmented such that different portions of consecutive blocks can be distributed across different devices. This allows sequential reads to be performed in parallel across multiple devices while maintaining good sequential performance within each device.
Solution Approach 2:
The patent introduces a new dimension to block mapping by using fractional block addressing, where blocks are mapped not just to entire devices but to fractional portions of devices. This enables fine-grained control over parallelism while maintaining sequential access patterns.
2Productivity
If consecutive blocks are mapped to different storage devices, then parallelism is increased, but too many separate I/O requests are generated
Solution Approach 1:
The patent merges multiple small I/O requests into fewer larger requests by allowing a single I/O request to span multiple storage devices. The fractional block mapping enables the system to consolidate access to blocks that would otherwise require separate requests, reducing the total number of I/O operations.
Solution Approach 2:
The mapping system is designed to be universal, handling both small and large I/O requests efficiently. The same fractional block mapping mechanism works for requests of any size, automatically optimizing the number of devices accessed and the number of requests generated without requiring different strategies for different request sizes.
3Productivity
If the number of storage devices used increases with request size, then optimal utilization is achieved, but the scaling relationship must be carefully controlled
Solution Approach 1:
The patent changes the mapping parameters dynamically based on the I/O request size. The fractional block mapping uses different mapping strategies depending on the number of blocks requested, allowing the system to optimize device utilization for each request size while maintaining controlled scaling behavior.
Data Source
AI summary
A system, method, and computer-readable storage medium for mapping block numbers within a region to physical locations within a storage system. Block numbers are mapped within a region according to a fractal-based space-filling curve. If the region is not a 2k by 2k square, then the region is broken up into one or more 2k by 2k squares. Any remaining sub-region is centered within a 2k by 2k square, the 2k by 2k square is numbered using a fractal-based space-filling curve, and then the sub-region is renumbered by assigning numbers based on the order of the original block numbers of the sub-region.


