Dynamic Block Allocation for Power Loss Protection
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
As storage systems scale to handle larger amounts of data, managing partially programmed blocks of data or metadata versus closed blocks becomes problematic, particularly under power constraints where data preservation during power loss is a concern.
Innovation Solution
A storage system dynamically allocates a set of data blocks, referred to as a frontier set, based on power requirements of the storage device, ensuring that the number of partially programmed blocks in the cache does not exceed the budget for power loss protection, thereby preventing data loss in case of power failure.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If the number of partially programmed blocks in cache is increased to improve storage throughput, then productivity is improved, but data reliability deteriorates due to higher risk of data loss during power loss
Solution Approach 1:
The patent implements dynamic adjustment of the frontier set size based on real-time power loss protection budget. The storage system continuously monitors the number of partially programmed blocks and adjusts the allocation of data blocks to maintain the difference between partially programmed blocks and power loss protection budget within a threshold, optimizing both throughput and reliability dynamically
Solution Approach 2:
The system changes the parameter of frontier set size (number of data blocks allocated for programming) based on the power loss protection budget. By adjusting this parameter dynamically, the system ensures that the number of partially programmed blocks remains within safe boundaries while maximizing storage throughput under different power conditions
2Productivity
If the frontier set size is increased to handle more data programming, then productivity is improved, but the risk of data loss during power failure increases
Solution Approach 1:
The patent applies preliminary action by calculating and maintaining the power loss protection budget before actual power loss events occur. The system proactively tracks the number of partially programmed blocks and adjusts the frontier set size in advance to ensure that even if power is lost, the number of affected blocks remains within acceptable limits
Solution Approach 2:
The system implements feedback control by continuously monitoring the difference between the number of partially programmed blocks and the power loss protection budget. When this difference exceeds a threshold, the system reduces the frontier set size; when it is within the threshold, the system can increase the frontier set size, creating a closed-loop control mechanism that balances productivity and data safety
Data Source
AI summary
A set of blocks of a storage device are allocated for storage of data, wherein the set of blocks of the storage device is selected based on a power requirement that is based on a number of partially programmed blocks stored in the cache. Subsequent data to be stored at the storage device is assigned to the set of blocks for storage at the storage device.


