Multi-Location Index Segmentation for Flash Cache I/O Reduction

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The performance of storage systems is hindered by the need to access a large index in flash caches, leading to increased I/O operations and response times, especially when data is distributed across multiple locations, requiring frequent index lookups that can be costly in terms of I/O and media longevity.

Innovation Solution

Implementing a single index that identifies data locations across multiple storage systems and caches, allowing for optimized data retrieval by evaluating and selecting the best location based on various factors, and reducing the number of index lookups through techniques such as meta-data inclusion with returned data and in-memory location management to avoid unnecessary queries.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If the index is stored in the flash cache to enable fast data access, then data retrieval speed is improved, but the number of I/O operations increases and response time is affected

Engineering Contradiction:
Improvedata retrieval speedVSAvoidresponse time
Core Design Contradiction:
SpeedVSLoss of time

Solution Approach 1:

The patent segments the index into two parts: a first index stored in memory (RAM) for quick lookups, and a second index stored in the flash cache for persistent storage. This segmentation allows the system to leverage the speed of RAM for frequent index access while maintaining the benefits of flash cache for data storage and persistence.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

Memory (RAM) acts as an intermediary between the flash cache and the application layer. The first index in memory serves as a cache of the flash cache index, providing fast access to location information without requiring direct access to the flash cache for every lookup operation.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Device complexity

If the index is stored in the flash cache to avoid using additional memory, then device complexity is reduced, but the number of I/O operations increases

Engineering Contradiction:
Improvedevice complexityVSAvoidI/O operations
Core Design Contradiction:
Device complexityVSLoss of time

Solution Approach 1:

The index is segmented between memory and flash cache storage. The first index resides in memory for fast access, while the second index is stored in the flash cache for persistence. This segmentation reduces the burden on the flash cache for index operations while maintaining a relatively simple device architecture.

Inventive Principle:
Principle #1Segmentation

3Adaptability or versatility

If a single index is used to track data in multiple locations, then adaptability is improved, but the index size and complexity increase

Engineering Contradiction:
ImproveadaptabilityVSAvoidindex complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The single index is segmented into two separate indexes: a first index for tracking data locations and a second index for persistent storage. This segmentation allows the system to maintain adaptability for multi-location data tracking while reducing the complexity of any single index structure.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

Memory serves as an intermediary that holds the first index, allowing the system to track data locations in multiple locations efficiently without requiring a single complex index structure. The memory-based first index provides quick access to location information for multiple storage locations.

Inventive Principle:
Principle #24Intermediary (Mediator)

4Measurement precision

If index updates are performed frequently to maintain accurate location information, then measurement precision is improved, but media longevity is affected

Engineering Contradiction:
Improvelocation information accuracyVSAvoidmedia longevity
Core Design Contradiction:
Measurement precisionVSDuration of action of stationary object

Solution Approach 1:

The index update operations are segmented between memory and flash cache. The first index in memory can be updated frequently without affecting media longevity, while the second index in the flash cache is updated less frequently to preserve media lifespan. This segmentation allows accurate location tracking while protecting against excessive write operations on the flash cache.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS10922228B1Multiple location index
Publication Date: 2021.02.16 EMC IP HLDG CO LLC
  • US10922228B1 patent drawing
  • US10922228B1 patent drawing
  • US10922228B1 patent drawing

AI summary

Systems and methods for accessing data stored in multiple locations. A cache and a storage system are associated with an index. Entries in the index identify locations of data in both the cache and the storage system. When an index lookup occurs and an entry in the index identifies at least two locations for the data, the locations are ordered based on at least one factor and the data stored in the optimal location as determined from the at least one factor is returned.