Space-Leveling Storage Block Container Assignment
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In storage architectures with host data streams assigned to storage blocks from a subset of storage block containers, the issue of 'space leveling' arises when only a subset of storage block containers is active, leading to suboptimal write performance due to inadequate write parallelism and high utilization, causing degradation in storage system performance.
Innovation Solution
A space-leveling scheme is implemented using a data storage device with a controller and a block container assignment queue (BCAQ), where the controller randomly selects a storage block container for assigning host data streams, introducing a delay by storing them in the queue until a next storage block container switching event occurs, allowing for randomized assignment across multiple containers.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Device complexity
If host data streams are assigned to storage blocks from a subset of storage block containers, then the storage system can operate with simplified management, but only a subset of storage block containers remains active leading to degradation of write performance
Solution Approach 1:
The patent implements dynamic selection of storage block containers by randomly selecting active containers from the plurality of storage block containers. This dynamic approach allows the system to adaptively utilize more storage block containers based on availability, thereby improving write performance while maintaining manageable complexity through randomized assignment rather than complex deterministic scheduling
Solution Approach 2:
The system changes the parameter of container selection from static/deterministic to dynamic/random. By randomly selecting which storage block containers to activate and assign host data streams to, the system can utilize a larger portion of available containers, improving parallelism and write performance without requiring complex management logic
2Quantity of substance
If storage system operates with high utilization, then capacity efficiency is improved, but only a subset of storage block containers remains active in host data write path causing performance degradation
Solution Approach 1:
Under high utilization conditions, the system dynamically selects from all available storage block containers including those that would otherwise be inactive. The random selection mechanism ensures that even when capacity is highly utilized, the system can activate additional containers for write operations, maintaining both high capacity utilization and good write performance through increased parallelism
3Ease of operation
If deterministic mapping is used for host data stream to storage block container assignment, then assignment is simple and predictable, but subset invalidation occurs leading to performance degradation
Solution Approach 1:
The patent inverts the traditional deterministic mapping approach by using random selection to assign host data streams to storage block containers. Instead of following a predictable pattern that can lead to subset invalidation, the random assignment disperses host data streams across different containers in a non-deterministic manner, preventing the formation of invalidatable subsets while maintaining assignment simplicity
Solution Approach 2:
The system changes the assignment parameter from deterministic to random. This parameter change transforms the assignment behavior from predictable patterns that cause subset invalidation to random distribution that prevents such invalidation, thereby improving write performance while keeping the assignment mechanism simple and easy to operate
Data Source
AI summary
Host data stream assignment with space-leveling across storage block containers. In one example, a data storage device including an electronic processor that, when executing a space-leveling scheme, is configured to receive a first host data stream, store the first host data stream in a block container assignment queue (BCAQ), detect a next storage block container switching event, responsive to detecting the next storage block container switching event, randomly select a location of the BCAQ, responsive to randomly selecting the location of the BCAQ, assign a second host data stream located at the location of the BCAQ that is selected to a storage block container of a memory, and control the memory to store the second host data stream in the storage block container that is assigned.


