Class of Service Cache Allocation for Power Outage Data Integrity

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Information Handling Systems (IHSs) face challenges in maintaining data integrity during power outages due to the loss of 'dirty' cache data, as existing technologies struggle to efficiently flush volatile cache contents to non-volatile storage within the limited hold-up time and energy available.

Innovation Solution

Implementing programmable cache size via Class of Service (COS) cache allocation, which divides the cache into a flushable and non-flushable portion, utilizing available resources like energy or time during a power outage to selectively flush the second portion to a Storage Class Memory (SCM) device, and allocating the first portion to processes that do not perform cache writes, reducing the number of COSs presented to the Operating System.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If the entire cache is flushed during a power outage event, then data integrity is preserved, but the available energy or time resource is insufficient to complete the flush operation

Engineering Contradiction:
Improvedata integrityVSAvoidenergy available during power outage
Core Design Contradiction:
ReliabilityVSUse of energy by moving object

Solution Approach 1:

The cache is divided into multiple portions (e.g., first portion and second portion) with different flushability characteristics. The second portion is sized to be entirely flushable with the available resource during power outage, while the first portion is allocated to processes that do not perform cache writes. This segmentation allows the system to preserve data integrity for the flushable portion without requiring more energy than available.

Inventive Principle:
Principle #1Segmentation

2Reliability

If the entire cache is flushed during a power outage event, then data integrity is preserved, but the time required for cache flush operation exceeds the hold-up time available

Engineering Contradiction:
Improvedata integrityVSAvoidhold-up time during power outage
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The cache is segmented into portions based on their flushability within the hold-up time constraint. The second portion is specifically sized and selected to ensure it can be completely flushed within the available hold-up time, while the first portion is allocated to write-free processes. This resolves the time contradiction by ensuring the critical flush operation completes before power is fully lost.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system proactively identifies and allocates cache portions before power outages occur. By pre-determining which cache portions can be flushed within the hold-up time and allocating them to appropriate processes, the system prepares the cache structure in advance, ensuring that during a power outage, the flush operation can immediately proceed on the predetermined flushable portion without timing issues.

Inventive Principle:
Principle #10Preliminary action

3Use of energy by moving object

If the cache is divided into flushable and non-flushable portions, then the cache flush operation consumes less energy and time, but the cache structure becomes more complex

Engineering Contradiction:
Improveenergy consumed for cache flushVSAvoidcache allocation structure
Core Design Contradiction:
Use of energy by moving objectVSDevice complexity

Solution Approach 1:

The cache allocation structure uses dynamic Class of Service (COS) cache allocation that can be programmatically configured. The division of cache into portions is not fixed but can be adjusted based on system needs, process requirements, and available resources. This dynamic approach allows the system to optimize the balance between flushability and cache utilization without requiring hardwired complex structures.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS9811471B2Programmable cache size via class of service cache allocation
Publication Date: 2017.11.07 DELL PROD LP
  • US9811471B2 patent drawing
  • US9811471B2 patent drawing
  • US9811471B2 patent drawing

AI summary

Systems and methods for enabling programmable cache size via Class of Service (COS) cache allocation are described. In some embodiments, a method may include: identifying a resource available to an Information Handling System (IHS) having a cache, where the resource is insufficient to allow the entire cache to be flushed during a power outage event; dividing a cache into at least a first portion and a second portion using a COS cache allocation, where the second portion has a size that is entirely flushable with the resource; and flushing the second portion of the cache during the power outage event.