Priority-Based Cache Flushing for Flash DIMM Pools

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing information handling systems face performance degradation due to incomplete cache flushing during power loss, as previous methods like WPQ flush commands may not ensure timely data transfer from critical applications to flash pools, leading to data loss.

Innovation Solution

The implementation of a priority-based cache flushing mechanism using flash dual in-line memory modules, where a memory controller detects flush hint registers and prioritizes data flush operations based on calculated priority values stored in an affinity table, ensuring critical data is flushed efficiently.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If traditional cache flushing methods (e.g., WPQ flush commands) are used, then the system can perform basic data transfer, but data loss occurs during power loss and critical application data is not flushed timely

Engineering Contradiction:
Improvedata persistence during power lossVSAvoidcache flushing completeness
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent implements preliminary action by pre-establishing priority levels and flush hint registers before power loss occurs. The system proactively identifies critical data and assigns it higher priority in the affinity table, ensuring that when a flush command is issued, the memory controller can immediately identify and flush critical data first without waiting for normal flushing procedures to complete.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent segments the cache flushing process by dividing data into different priority levels based on criticality. The affinity table separates data into multiple pools with different priority values, allowing the memory controller to selectively flush high-priority data independently from low-priority data, ensuring critical information is preserved even if the overall flush process is interrupted.

Inventive Principle:
Principle #1Segmentation

2Reliability

If all cache data is flushed with equal priority, then the flushing process is simple, but critical application data may not be flushed timely leading to data loss

Engineering Contradiction:
Improvecritical data protectionVSAvoidflush management structure
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent applies local quality by assigning different priority characteristics to different portions of cache data based on their criticality. The affinity table provides localized quality control by associating specific data regions with specific priority levels, allowing the memory controller to treat different data segments differently during flushing operations without requiring complete system restructuring.

Inventive Principle:
Principle #3Local quality

Solution Approach 2:

The patent introduces the affinity table as an intermediary structure between the cache and the flash memory. This intermediary contains flush hint registers that provide guidance to the memory controller about which data should be flushed first, mediating the flush process to ensure critical data receives appropriate priority without requiring complex direct control logic.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Productivity

If the system uses multiple flash pools for different applications, then data organization is improved, but determining flush order becomes complex without priority mechanisms

Engineering Contradiction:
Improvedata organization efficiencyVSAvoidflush priority control
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent changes the parameter of data identification from simple location-based addressing to priority-based classification. By introducing priority values as a new parameter in the affinity table, the system can organize multiple flash pools efficiently while providing a clear mechanism for determining flush order based on these priority parameters rather than complex positional relationships.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS10657052B2Information handling system with priority based cache flushing of flash dual in-line memory module pool
Publication Date: 2020.05.19 DELL PROD LP
  • US10657052B2 patent drawing
  • US10657052B2 patent drawing
  • US10657052B2 patent drawing

AI summary

An information handling system includes flash dual in-line memory modules, a central processing unit, and a memory controller. The memory controller detects that a value is written to a first flush hint register of a table. The first flush hint register is associated with a first flash pool of the flash dual in-line memory modules. The memory controller detects that a value is written to a second flush hint register of the table. The second flush hint register is associated with a second flash pool of the flash dual in-line memory modules. The memory controller flushes first data for the first flash pool and second data for the second flash pool in the cache to flash dual in-line memory modules in order of priority based on a first priority of the first pool and a second priority of the second pool.