Storage System Fragmentation Stride for Heterogeneous Erase Blocks
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Storage systems with heterogeneous erase block sizes face challenges in managing data across varying block sizes, leading to inefficiencies in memory allocation, increased access times, and difficulties in metadata lookup during boot processes, especially when dealing with evolving flash memory technologies and mixed vendor environments.
Innovation Solution
The implementation of a storage system that allocates erase blocks and metadata efficiently across heterogeneous erase block sizes, using a fragmentation stride to manage data segments and RAID stripes, allowing for flexible allocation and rebuilding of data across different block sizes, and optimizing metadata placement for quick access during boot processes.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Ease of manufacture
If the smallest erase block size is used as a least common denominator for physical memory allocation, then memory allocation becomes simpler, but wasted memory space occurs in larger erase blocks
Solution Approach 1:
The patent divides the storage system into multiple independent allocation units, each corresponding to a specific erase block size. Each allocation unit maintains its own mapping structures and metadata, allowing different portions of storage to be managed with their native block sizes rather than forcing a uniform smallest block size across the entire system.
Solution Approach 2:
The system dynamically selects appropriate allocation units based on the size and requirements of incoming data. When data arrives, the system determines the appropriate erase block size allocation unit to use, allowing flexible adaptation to varying data sizes and erase block configurations without waste or oversimplification.
2Device complexity
If a very large erase block size is used, then fewer blocks are needed for storage, but access times and latencies increase
Solution Approach 1:
The patent segments the storage space into multiple allocation units with different erase block sizes. Small data operations can be directed to allocation units with smaller block sizes for faster access, while large data operations can utilize allocation units with larger block sizes to reduce the total number of blocks needed.
Solution Approach 2:
Different regions of the storage system are assigned different erase block size characteristics based on local requirements. Frequently accessed or small data workloads are placed in allocation units optimized for fast access, while bulk storage requirements are met by allocation units with larger block sizes.
3Adaptability or versatility
If metadata is fragmented into multiple pieces and written at known offsets, then metadata can be distributed across fragments, but finding these fragments during boot massively increases system load
Solution Approach 1:
The patent establishes predetermined, known offset positions for metadata within each allocation unit before the system operates. During boot, the system can directly jump to these pre-specified locations to retrieve metadata without needing to search or fragment-assembly processes, significantly reducing boot time overhead.
Solution Approach 2:
The patent introduces allocation unit metadata structures that act as intermediaries between the fragmented data blocks and the system boot process. These metadata structures contain consolidated information about data locations and can be retrieved efficiently at boot time, eliminating the need to search through multiple fragmented metadata pieces.
4Adaptability or versatility
If heterogeneous flash memory from multiple vendors is supported, then storage system adaptability increases, but managing varying erase block sizes becomes more complex
Solution Approach 1:
The patent creates a universal allocation unit framework that can accommodate multiple vendor-specific erase block sizes through a common interface. The system presents a unified view of storage management to higher-level software while handling the heterogeneity of underlying flash memories through the allocation unit abstraction layer.
Solution Approach 2:
The system dynamically adapts its management approach based on the detected erase block sizes of installed flash memory. When new hardware is added or detected, the system automatically creates appropriate allocation units with matching characteristics, allowing seamless support for heterogeneous vendors without requiring manual reconfiguration or complex hard-coded vendor-specific logic.
Data Source
Figure 1A
Figure 1B
Figure 1C
AI summary
A method of using boot-time metadata in a storage system is provided. The method includes writing a fragmentation stride to a solid-state storage device of the storage system, the fragmentation stride defining a granularity on which fragmentation of erase blocks of the solid-state storage device occurs. The method includes allocating portions of erase blocks for at least one process in the storage system, in accordance with the fragmentation stride and writing boot up metadata at offsets that are based on the fragmentation stride, in the solid-state storage device.