Affinity-Based Cache Lines for Persistent Storage Write Responsiveness

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing persistent storage devices face inefficiencies in data management, particularly in write operations, where responsiveness is compromised due to the need to directly write data to storage devices, and there is a lack of effective affinity-based caching mechanisms to keep related data together.

Innovation Solution

The method involves determining the affinity of data based on parameters like LBA value, request time, process identifier, and CPU identifier, writing it to a cache line associated with that affinity, and using a cache with buckets to manage data eviction based on least recent use or threshold occupancy, allowing for efficient data storage and retrieval.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If data is directly written to persistent storage device, then data is stored permanently, but write responsiveness deteriorates

Engineering Contradiction:
Improvedata persistenceVSAvoidwrite responsiveness
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent implements a cache layer that pre-stores frequently accessed data before persistent storage device operations are completed. When write requests arrive, data is first placed in the cache (preliminary action), providing immediate acknowledgment to the host system, while background processes handle the actual persistent storage operations. This resolves the contradiction by decoupling the write acknowledgment timing from the actual persistent storage completion timing.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent introduces a cache memory as an intermediary layer between the host system and the persistent storage device. This cache acts as a buffer that absorbs write requests, providing fast write responsiveness to hosts while managing data transfer to persistent storage devices at optimal rates. The cache mediates between the speed requirements of hosts and the throughput characteristics of persistent storage devices, resolving the responsiveness-persistence contradiction.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Productivity

If traditional caching mechanisms are used, then write speed is improved, but data coherence and related data organization deteriorate

Engineering Contradiction:
Improvewrite speedVSAvoiddata coherence
Core Design Contradiction:
ProductivityVSStability of the object's composition

Solution Approach 1:

The patent implements affinity-based cache lines where each cache line is associated with specific data coherence domains or storage devices. Instead of treating all cache data uniformly, the system applies different coherence policies and management strategies to different cache lines based on their affinity characteristics. This allows fast write operations within affinity groups while maintaining data coherence across distributed cache lines, resolving the speed-coherence contradiction.

Inventive Principle:
Principle #3Local quality

Solution Approach 2:

The patent segments the cache into multiple coherence domains or affinity groups, where each segment manages data with similar coherence requirements. By dividing the cache into specialized segments rather than using a monolithic caching structure, the system can optimize write speed for each segment while maintaining overall data coherence through coordinated segment management. This segmentation approach resolves the contradiction between write speed and data coherence.

Inventive Principle:
Principle #1Segmentation

3Productivity

If cache size is increased to improve performance, then write responsiveness improves, but device complexity increases

Engineering Contradiction:
Improvewrite responsivenessVSAvoidcache management complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent implements dynamic cache line affinity assignment where cache line associations with data coherence domains are not fixed but dynamically adjusted based on workload patterns and access characteristics. This dynamic approach allows the cache to adapt to changing performance requirements without requiring a fixed large cache structure, improving write responsiveness while avoiding the complexity of managing statically allocated large cache capacities.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The patent employs self-managing cache coherence protocols where cache lines automatically track and manage their own affinity relationships and coherence states without requiring complex external management. Each cache line maintains metadata about its data coherence domain and automatically participates in coherence protocols, reducing the overall system complexity while maintaining large effective cache capacity for improved write responsiveness.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS12197341B2Affinity-based cache operation for a persistent storage device
Publication Date: 2025.01.14 DAEDALUS CLOUD LLC
  • US12197341B2 patent drawing
  • US12197341B2 patent drawing
  • US12197341B2 patent drawing

AI summary

Aspects described herein relate to a method comprising: receiving a request to write data to a persistent storage device, the request comprising data; determining an affinity of the data; writing the request to a cache line of a cache; associating the cache line with the affinity of the data; and reporting the data as having been written to the persistent storage device.