Disk Block Cache for IO Performance Acceleration

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current computer systems face performance bottlenecks due to inadequate disk input/output (IO) performance, which is not adequately addressed by existing storage caches and RAM disks, as they either require costly and laborious configuration or lack intelligence to optimize IO requests based on application needs.

Innovation Solution

A disk block cache is implemented in system memory, interfacing with logical and physical disk management components of the operating system to accelerate IO requests by caching disk blocks and managing data coherence, providing transparent and application-specific performance improvements across various storage types.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If storage caches and RAM disks are used to improve disk IO performance, then IO speed is improved, but device complexity and configuration difficulty increase

Engineering Contradiction:
Improvedisk IO performanceVSAvoidconfiguration complexity
Core Design Contradiction:
SpeedVSDevice complexity

Solution Approach 1:

The performance acceleration module automatically monitors application IO patterns and dynamically manages the disk block cache without requiring user configuration. The system self-adjusts by identifying hot data blocks and managing cache allocation based on actual application needs, eliminating the need for manual tuning while maintaining optimal IO performance

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The performance acceleration module acts as an intermediary layer between applications and the operating system's disk management components. It intercepts IO requests, manages the disk block cache in system memory, and returns results to applications, thereby improving IO performance without requiring changes to existing storage subsystems or user configuration

Inventive Principle:
Principle #24Intermediary (Mediator)

2Speed

If RAM disk is used to improve disk IO performance, then IO speed is improved, but cost increases

Engineering Contradiction:
Improvedisk IO performanceVSAvoidmemory resource consumption
Core Design Contradiction:
SpeedVSQuantity of substance

Solution Approach 1:

Instead of allocating large amounts of memory to a full RAM disk, the performance acceleration module uses a disk block cache that selectively caches only the most frequently accessed disk blocks. This partial caching approach provides significant IO performance improvement while consuming minimal system memory resources

Inventive Principle:
Principle #16Partial or excessive action

Solution Approach 2:

The system dynamically adjusts the disk block cache size and allocation based on available system memory and actual application IO patterns. The cache management module monitors memory availability and automatically adjusts cache parameters to optimize performance while preventing excessive memory consumption

Inventive Principle:
Principle #35Parameter changes

3Speed

If file system cache is used to improve IO performance, then file access speed is improved, but adaptability to different applications decreases

Engineering Contradiction:
Improvefile access speedVSAvoidapplication-specific optimization
Core Design Contradiction:
SpeedVSAdaptability or versatility

Solution Approach 1:

The performance acceleration module continuously monitors application IO patterns and uses this feedback to dynamically adjust the disk block cache. By tracking which disk blocks are frequently accessed by different applications, the system adapts cache allocation and management strategies to optimize performance for each application's specific needs

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The performance acceleration module segments the disk block cache management by application, tracking and caching disk blocks specific to each application's needs. This allows different cache strategies to be applied to different applications, providing application-specific optimization while maintaining a unified cache infrastructure

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS8862813B2Method, computer program product and appartus for accelerating responses to requests for transactions involving data operations
Publication Date: 2014.10.14 DATACORE SOFTWARE CORP
  • US8862813B2 patent drawing
  • US8862813B2 patent drawing
  • US8862813B2 patent drawing

AI summary

Responding to IO requests made by an application to an operating system within a computing device implements IO performance acceleration that interfaces with the logical and physical disk management components of the operating system and within that pathway provides a system memory based disk block cache. The logical disk management component of the operating system identifies logical disk addresses for IO requests sent from the application to the operating system. These addresses are translated to physical disk addresses that correspond to disk blocks available on a physical storage resource. The disk block cache stores cached disk blocks that correspond to the disk blocks available on the physical storage resource, such that IO requests may be fulfilled from the disk block cache. Provision of the disk block cache between the logical and physical disk management components accommodates tailoring of efficiency to any applications making IO requests, and flexible interaction with various different physical disks.