Weighted Aging Algorithm for Global Memory Slot Destage Prioritization

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing computing systems face challenges in efficiently prioritizing back-end write destage operations due to the lack of effective methods to manage global memory destage pressure and front-end track slot size allocations.

Innovation Solution

A method and apparatus that utilize a weighted aging algorithm to prioritize back-end write destage operations. This algorithm incorporates both global memory destage pressure and front-end track slot size allocations, using a weighted bucket table to determine the aging time for each slice based on the number of pending write operations and slot sizes.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Device complexity

If a simple aging algorithm is used to manage back-end slice destage operations, then the system complexity is reduced, but the ability to prioritize based on slot size allocation is lost

Engineering Contradiction:
Improvedestage management complexityVSAvoidstorage system efficiency
Core Design Contradiction:
Device complexityVSProductivity

Solution Approach 1:

The patent introduces a weighted aging algorithm that changes the parameter of aging time based on slot size allocation. Different weights are assigned to different slot sizes (e.g., weight=1 for 64KB slots, weight=2 for 128KB slots), causing slices with larger slot sizes to have reduced aging times and be prioritized for destaging. This resolves the contradiction by adding parameter differentiation without fundamentally changing the aging mechanism.

Inventive Principle:
Principle #35Parameter changes

Solution Approach 2:

The aging time for slices is made dynamic rather than static. The system continuously monitors destage pressure and adjusts aging times based on current conditions. When destage pressure is high, slices with larger slot sizes receive shorter aging times, creating a dynamic prioritization mechanism that adapts to system state without requiring complex reconfiguration.

Inventive Principle:
Principle #15Dynamics

2Ease of manufacture

If all slices are treated equally in the aging process, then the implementation is simplified, but larger slot sizes cannot be preferentially released

Engineering Contradiction:
Improveimplementation simplicityVSAvoidslot size prioritization capability
Core Design Contradiction:
Ease of manufactureVSAdaptability or versatility

Solution Approach 1:

The patent applies local quality by treating different slice types differently based on their slot size characteristics. Instead of uniform treatment, the system assigns different weights to slices based on their allocated slot sizes, allowing larger slots to be prioritized for release. This maintains implementation simplicity while introducing differentiated behavior where needed.

Inventive Principle:
Principle #3Local quality

Solution Approach 2:

The system changes the aging time parameter based on the local characteristics of each slice (its slot size). By introducing weight factors that multiply the base aging time, the system achieves selective prioritization without complex control logic. The parameter change is applied locally to each slice based on its properties.

Inventive Principle:
Principle #35Parameter changes

3Productivity

If larger slot sizes are always preferred, then global memory availability is improved, but the ability to respond to varying destage pressure is reduced

Engineering Contradiction:
Improveglobal memory slot availabilityVSAvoidresponse to destage pressure
Core Design Contradiction:
ProductivityVSAdaptability or versatility

Solution Approach 1:

The aging algorithm is made dynamic by incorporating current destage pressure as a factor in weight calculation. When destage pressure is high, the system increases the weight factor for larger slot sizes, causing them to be prioritized for destaging. When pressure is low, the differentiation is reduced. This dynamic response allows the system to adapt to varying conditions while maintaining the ability to preferentially release larger slots when needed.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system implements feedback by monitoring destage pressure and using this information to adjust the aging algorithm's behavior. The pressure measurement feeds back into the weight calculation, creating a closed-loop system that automatically adapts to system conditions. This feedback mechanism ensures the system responds appropriately to varying destage pressure while maintaining slot size prioritization capabilities.

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS12314609B1Global memory slot size based destage prioritization
Publication Date: 2025.05.27 DELL PROD LP
  • US12314609B1 patent drawing
  • US12314609B1 patent drawing
  • US12314609B1 patent drawing

AI summary

As front-end write IO operations occur, the front-end write IO operations are allocated slots of global memory and mapped to slices of back-end tracks. A back-end write destage manager allocates back-end slices to aging buckets based on the number of write operations pending destage for the given back-end slice. As global memory destage pressure increases, the back-end write destage manager uses a weighted bucket table to increase the weight back-end slices with larger numbers of front-end tracks that are occupying the larger slots of global memory. This results in back-end slices that are owed data from front-end tracks occupying larger front-end slot sizes to be placed in aging buckets with shorter aging times. These back-end slices are thus more quickly selected to be destaged, thus causing a larger percentage global memory slots of the largest slot size to be made available to be allocated to subsequent host IO write operations.