Class of Service Cache Allocation for Power Outage Data Integrity
Find Innovative SolutionsGenerate 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
Engineering 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
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.
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
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.
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.
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
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.
Data Source
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.


