Memory-Efficient Data Structure for I/O Access History Tracking

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current data storage systems face challenges in maintaining a detailed history of I/O accesses due to limited memory and I/O availability, which prevents effective cache and storage management decisions without impacting system performance.

Innovation Solution

A memory-efficient data structure is used to record and analyze I/O access patterns, allowing for the detection of periodic access patterns and informed storage management decisions without significant resource overhead, utilizing techniques like bitmap representation, bloom filters, and run-length encoding to compress data.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If detailed I/O access history is tracked for all blocks, then storage management decisions can be optimized, but memory consumption and I/O overhead become prohibitively expensive

Engineering Contradiction:
ImproveI/O access tracking precisionVSAvoidmemory consumption
Core Design Contradiction:
Measurement precisionVSQuantity of substance

Solution Approach 1:

The patent divides the storage space into multiple segments or zones, and tracks I/O access history separately for each segment rather than for all blocks globally. This segmentation allows the system to maintain detailed access histories for manageable portions of storage, reducing overall memory consumption while still providing sufficient detail for storage management decisions.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent implements partial tracking by monitoring only a subset of I/O accesses rather than all accesses. Specifically, it tracks access patterns for recently accessed blocks or blocks within specific segments, using techniques like circular buffers with limited capacity to record only the most relevant access history, thereby reducing memory requirements while maintaining useful tracking precision for decision-making.

Inventive Principle:
Principle #16Partial or excessive action

2Measurement precision

If detailed I/O access history is tracked for all blocks, then storage management decisions can be optimized, but I/O overhead becomes prohibitively expensive

Engineering Contradiction:
ImproveI/O access tracking precisionVSAvoidI/O overhead
Core Design Contradiction:
Measurement precisionVSLoss of time

Solution Approach 1:

The patent divides the storage space into multiple segments or zones, and tracks I/O access history separately for each segment rather than for all blocks globally. This segmentation allows the system to maintain detailed access histories for manageable portions of storage, reducing overall memory consumption while still providing sufficient detail for storage management decisions.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent implements partial tracking by monitoring only a subset of I/O accesses rather than all accesses. Specifically, it tracks access patterns for recently accessed blocks or blocks within specific segments, using techniques like circular buffers with limited capacity to record only the most relevant access history, thereby reducing memory requirements while maintaining useful tracking precision for decision-making.

Inventive Principle:
Principle #16Partial or excessive action

3Quantity of substance

If coarse-grained or sampled access history is logged, then memory and I/O resources are conserved, but important access patterns cannot be discovered

Engineering Contradiction:
Improvememory consumptionVSAvoidaccess pattern information
Core Design Contradiction:
Quantity of substanceVSLoss of information

Solution Approach 1:

The patent applies different tracking granularities to different segments of storage based on their access characteristics. Frequently accessed segments are tracked with finer granularity to capture important patterns, while less active segments use coarser tracking. This local quality approach ensures that memory is allocated efficiently while preserving critical access pattern information where it matters most.

Inventive Principle:
Principle #3Local quality

Solution Approach 2:

The patent pre-allocates circular buffers for tracking access history before actual I/O operations occur, establishing the tracking infrastructure in advance. By preparing the data structures beforehand with appropriate sizing and initialization, the system can immediately start capturing access patterns without overhead during runtime, and the preliminary structure allows for efficient pattern discovery while controlling memory usage.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS9798754B1Method to efficiently track I/O access history using efficient memory data structures
Publication Date: 2017.10.24 EMC IP HLDG CO LLC
  • US9798754B1 patent drawing
  • US9798754B1 patent drawing
  • US9798754B1 patent drawing

AI summary

An embodiment is described in which a memory device stores a record of I/O accesses to data blocks. And each access record indicates which data block was accessed and during which time period the access occurred. A memory-efficient data structure (MEDS) may be generated and stored in a cache or storage device and the access data moved from the memory device into the MEDS. The MEDS represents blocks that were accessed during a particular time period. When a second data block is accessed, a query function is applied to the second block's identifier to return a value based on data stored in the MEDS. The return value from the query function indicates whether the second data block was accessed during the particular time period associated with the MEDS. A storage management action is performed based on whether the second data block was accessed during the particular time period.