Heterogeneous Erase Block Allocation in Flash Storage
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing storage systems face challenges in efficiently utilizing flash storage devices with heterogeneous erase block sizes, leading to wasted memory space and difficulties in managing metadata.
Innovation Solution
The implementation of a storage system that allocates erase blocks flexibly to RAID stripes, utilizes tile patterns to optimize erase block usage, and strategically places metadata at predefined offsets to ensure efficient data management.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Quantity of substance
If flash storage devices with heterogeneous erase block sizes are used, then storage capacity is increased, but memory space is wasted due to inefficient allocation
Solution Approach 1:
The storage device is divided into multiple erase blocks with different sizes (first erase blocks and second erase blocks). RAID stripes are segmented to allocate different portions to different erase block sizes, allowing efficient utilization of heterogeneous block sizes while minimizing wasted space.
Solution Approach 2:
Different regions of the storage device have different erase block sizes optimized for specific purposes. First erase blocks with a first size are used for certain RAID stripe portions, while second erase blocks with a second size are used for other portions, allowing local optimization of space utilization.
2Adaptability or versatility
If heterogeneous erase block sizes are used, then storage flexibility is improved, but metadata management becomes more difficult
Solution Approach 1:
Metadata is segmented and placed in different locations within the storage device. First metadata is placed in first erase blocks, while second metadata is placed in second erase blocks at predefined offsets. This segmentation allows the storage system to manage different types of metadata efficiently despite the heterogeneity of erase block sizes.
Solution Approach 2:
Metadata is placed at predefined offsets within erase blocks during the initialization or allocation phase. This preliminary placement of metadata at specific locations simplifies subsequent management operations, as the storage system already knows where to find and manage metadata without needing to search through heterogeneous block structures.
Data Source
AI summary
A method of using flash storage devices with different sized erase blocks is provided. The method includes allocating a plurality of erase blocks of heterogeneous erase block sizes to a RAID stripe, to form a tile pattern having the heterogeneous erase block sizes in the RAID stripe. The method includes writing the RAID stripe across the flash storage devices in accordance with the allocating, and stopping the writing the RAID stripe, responsive to contents of the RAID stripe reaching a threshold.


