Storage Write Caching via Address Translation Tables

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current storage write caching in shared virtual storage environments faces challenges in maintaining coherency of shared resources while allowing user modifications and global maintenance updates, often resulting in high overhead and inefficiency.

Innovation Solution

A table-driven approach is implemented within the storage virtualization layer of a hypervisor control domain, using modules like a storage address translation table, storage driver stack, and storage mapper to efficiently manage storage writes by overlaying user and common images, allowing for seamless updates and user modifications with minimal overhead.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If read-only access to common image is allowed with writes cached in memory, then system efficiency is improved, but data coherency deteriorates when users shut down

Engineering Contradiction:
Improvesystem efficiencyVSAvoiddata coherency
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The patent segments the storage system into multiple independent components: common image storage, per-user write caches, and a coordination mechanism. Each user has their own write cache that is independently managed, allowing writes to be buffered locally without affecting other users or the common image until synchronization is needed.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces an intermediary synchronization mechanism that coordinates between user write caches and the common image. This mediator manages the timing and method of synchronizing cached writes back to the common image, ensuring data coherency is maintained while allowing efficient local buffering.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If block-level separation of reads and writes is implemented, then data coherency is maintained, but system efficiency deteriorates due to rigid block structure

Engineering Contradiction:
Improvedata coherencyVSAvoidsystem efficiency
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent implements dynamic address translation tables that can be updated on-demand rather than requiring rigid pre-defined block structures. The system dynamically determines which blocks need to be separated for coherency and updates the translation tables accordingly, allowing flexibility in managing data separation without fixed structural constraints.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The patent changes the parameter of data organization from fixed block-level separation to flexible page-level or granular separation controlled by address translation tables. This allows the system to adjust the granularity and location of separated data based on actual access patterns and coherency requirements, improving efficiency while maintaining coherency.

Inventive Principle:
Principle #35Parameter changes

3Adaptability or versatility

If application streaming is used to apply patches, then common image updates are enabled, but overhead increases and performance deteriorates

Engineering Contradiction:
Improveimage update capabilityVSAvoidoverhead
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent applies patches and updates to the common image in advance before users need them. The address translation tables are pre-configured to direct users to the updated common image blocks, eliminating the need for runtime streaming or dynamic patch application during user operations.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent creates copies of updated common image blocks and integrates them into the address translation structure. Rather than streaming patches dynamically, the system prepares copy-ready versions of updated blocks and manages their integration through the translation tables, reducing runtime overhead.

Inventive Principle:
Principle #26Copying

4Adaptability or versatility

If user modifications are allowed on common image, then user flexibility is improved, but maintaining coherency during global updates becomes difficult

Engineering Contradiction:
Improveuser modification capabilityVSAvoidcoherency management complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent segments user modifications into isolated regions managed by per-user address translation tables. User-specific writes are cached and tracked separately from the common image, allowing users to modify data without directly affecting the common image until synchronization is performed.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent implements feedback mechanisms through address translation tables that track the state of user caches and common image blocks. The system continuously monitors which blocks have been modified by users and coordinates synchronization accordingly, providing real-time feedback on coherency status and triggering updates only when necessary.

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS8131765B2Apparatus, system and method for caching writes by multiple clients to a virtualized common disk image
Publication Date: 2012.03.06 LENOVO SWITZERLAND INTERNATIONAL GMBH
  • US8131765B2 patent drawing
  • US8131765B2 patent drawing
  • US8131765B2 patent drawing

AI summary

An apparatus, system, and method are disclosed for storage write caching. A storage address translation table is used to overlay a user image and a common image. A storage driver stack module receives a storage access call and generates a storage access request with a requested file path and a requested storage address. A storage mapper module receives the storage access request, accesses the storage address translation table, and looks up a matching entry in the storage address translation table where the requested file path matches a saved file path and the requested storage address matches a saved common storage address, and maps a saved user storage address from the matching entry if a match exists.