Dynamic Storage Caching Based on Hardware Battery Backup

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing software-defined storage systems do not effectively utilize the capabilities of underlying hardware, leading to suboptimal caching performance, as they fail to differentiate between hardware with and without battery backup for DRAM, resulting in inefficient use of non-volatile memory (NVM) and dynamic random access memory (DRAM).

Innovation Solution

The storage software dynamically determines the availability and capacity of NVM and DRAM based on hardware configuration, selecting appropriate cache modes for I/O requests to optimize caching, using NVM for write caching without battery backup and DRAM with battery backup, and managing cache capacity to balance read and write operations.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If storage software uses a fixed caching strategy regardless of hardware configuration, then implementation is simple, but caching performance is suboptimal

Engineering Contradiction:
Improvecaching performanceVSAvoidsoftware complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The storage software dynamically adjusts caching strategies based on detected hardware configuration. The system probes for battery backup presence and automatically selects appropriate cache modes (write-back with battery vs. write-through without battery), transforming a static software approach into a dynamic one that adapts to runtime hardware conditions.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The storage software autonomously detects hardware capabilities and configures caching parameters without external intervention. The system performs self-probing for battery backup and automatically determines optimal caching behavior, eliminating the need for manual configuration or complex external control mechanisms.

Inventive Principle:
Principle #25Self-service

2Productivity

If storage software uses DRAM for write caching without battery backup, then write performance improves, but data integrity is compromised during power loss

Engineering Contradiction:
Improvewrite performanceVSAvoiddata integrity
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The storage software implements feedback by continuously monitoring hardware configuration (battery backup presence) and adjusting caching behavior accordingly. When battery backup is detected, the system enables write-back caching; when absent, it switches to write-through caching, creating a closed-loop control system that maintains data integrity based on power protection availability.

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The system changes the caching parameter (write-back vs. write-through mode) based on the detected presence or absence of battery backup. This parameter adjustment allows the system to optimize write performance when protected by battery while ensuring data integrity when unprotected, resolving the contradiction between speed and reliability.

Inventive Principle:
Principle #35Parameter changes

3Reliability

If storage software uses NVM for write caching without battery backup, then data integrity is maintained, but write performance is reduced compared to DRAM

Engineering Contradiction:
Improvedata integrityVSAvoidwrite performance
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The system dynamically changes the cache memory parameter based on hardware capability detection. When battery backup is present, DRAM is used for superior write performance; when absent, NVM is selected to maintain data integrity. This parameter switching resolves the performance-reliability tradeoff by matching cache technology to power protection availability.

Inventive Principle:
Principle #35Parameter changes

4Adaptability or versatility

If storage software does not detect hardware configuration, then implementation is simpler, but hardware capabilities are not fully utilized

Engineering Contradiction:
Improvehardware utilizationVSAvoiddetection mechanism
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The storage software performs self-detection of hardware configuration through probing mechanisms. It automatically identifies battery backup presence and other hardware capabilities, then configures caching parameters accordingly. This self-service approach enables full hardware utilization without requiring complex external detection infrastructure.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS10515016B2Method and apparatus for caching in software-defined storage systems
Publication Date: 2019.12.24 HITACHI VANTARA LTD
  • US10515016B2 patent drawing
  • US10515016B2 patent drawing
  • US10515016B2 patent drawing

AI summary

Examples implementations described herein involve systems and methods wherein the storage software is configured to consider the capabilities of the underlying hardware to determine the caching data method at run time. Some examples of capabilities that are considered in the example implementations include whether non-volatile memory (NVM) is available and how much NVM is available. Some examples of caching methods used include using both dynamic random access memory (DRAM) and NVM to cache write data and using only NVM to cache write data.