Dynamic Block Allocation for Power Loss Protection

Resolve Bottlenecks,
Find Innovative Solutions
Generate 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

VSEngineering 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

Engineering Contradiction:
Improvestorage throughputVSAvoiddata preservation during power loss
Core Design Contradiction:
ProductivityVSReliability

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

Inventive Principle:
Principle #15Dynamics

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

Inventive Principle:
Principle #35Parameter changes

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

Engineering Contradiction:
Improvedata programming capacityVSAvoiddata loss risk during power failure
Core Design Contradiction:
ProductivityVSObject-affected harmful factors

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

Inventive Principle:
Principle #10Preliminary action

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

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS12204768B2Allocation of blocks based on power loss protection
Publication Date: 2025.01.21 PURE STORAGE INC
  • US12204768B2 patent drawing
  • US12204768B2 patent drawing
  • US12204768B2 patent drawing

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.