Host-Based Caching Storage Controller for Distributed Block Devices

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional distributed storage systems require dedicated hardware units for caching storage controllers at each location, leading to increased costs and management burdens, making them less suitable for dynamic environments like development or testing settings.

Innovation Solution

Implementing a data processing system where each host computer executes both a local initiator application and a caching storage controller (CSC) application, which defines virtual block devices, engages in distributed cache coherence protocols, and performs higher-level storage functions, thereby eliminating the need for separate dedicated storage controllers.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If dedicated hardware units are used for caching storage controllers at each location, then storage control functionality is provided, but system costs increase and management complexity increases

Engineering Contradiction:
Improvestorage control functionalityVSAvoidsystem costs and management complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent combines the storage controller functionality with the host computer by implementing a storage controller application that executes on the host's existing hardware. This merges previously separate functions (host computing and storage control) into a unified system, eliminating dedicated storage controller hardware while maintaining full storage control capabilities through software-based controllers that manage local and remote storage operations

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The host computer is designed to perform multiple functions: it executes initiator applications for data processing and simultaneously runs caching storage controller applications for storage management. This multi-functionality allows the same hardware platform to serve both computing and storage control roles, reducing the need for specialized dedicated storage controller hardware at each location

Inventive Principle:
Principle #6Universality (Multi-functionality)

2Reliability

If dedicated hardware units are used for caching storage controllers, then storage control is provided, but flexibility and adaptability to changing environments are reduced

Engineering Contradiction:
Improvestorage controlVSAvoidflexibility in dynamic environments
Core Design Contradiction:
ReliabilityVSAdaptability or versatility

Solution Approach 1:

The storage controller is implemented as software that can be dynamically loaded, unloaded, modified, and reconfigured on standard host hardware platforms. This dynamic nature allows the storage control functionality to adapt to changing environment requirements without requiring physical hardware changes, enabling flexible deployment in development, testing, and production environments

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system allows changing key parameters such as the storage controller application code, caching policies, and configuration settings by simply loading different software versions or modifying runtime parameters. This enables the system to adapt to different operational environments (development, testing, production) without hardware changes, maintaining storage control while gaining flexibility

Inventive Principle:
Principle #35Parameter changes

3Reliability

If dedicated hardware units are used for caching storage controllers, then storage control functionality is provided, but operation in dynamic environments becomes difficult and costly

Engineering Contradiction:
Improvestorage control functionalityVSAvoidoperation in dynamic environments
Core Design Contradiction:
ReliabilityVSEase of operation

Solution Approach 1:

The invention uses virtualization to create virtual storage controller instances that can be copied, moved, and replicated across different host platforms. These virtual storage controller copies can be deployed dynamically in different environments (development, testing, production) without requiring physical hardware duplication, making operation in dynamic environments easier and more cost-effective

Inventive Principle:
Principle #26Copying

Data Source

PatentUS8074003B1Host-based storage controller providing block devices in geographically distributed storage
Publication Date: 2011.12.06 EMC IP HLDG CO LLC
  • US8074003B1 patent drawing
  • US8074003B1 patent drawing
  • US8074003B1 patent drawing

AI summary

A data processing system is distributed across a plurality of locations coupled together by a wide-area communications network and includes physical storage devices and a set of host computers distributed across the locations. Each host executes both a local initiator application and a local caching storage controller (CSC) application. The CSC applications (1) define a set of block devices presented to the initiator applications for block-oriented data storage operations, the block devices being virtual devices utilizing the underlying physical storage devices, (2) engage in a distributed cache coherence protocol to present the block devices consistently to the initiator applications, (3) in response to a local block storage read command from an initiator application, retrieve the requested data from the local CSC application's cache, from a remote CSC application's cache, or from a physical storage device, and (4) in response to a local block storage write command from an initiator application, invalidate all currently cached user data for the locations/addresses associated with the write command, and either store the user data associated with the write in one or more local or remote CSC application's caches or write the user data to one or more local or remote physical storage devices.