File System Cache Log Entry Mapping for Low Latency

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Data storage systems face delays in processing host write requests due to the need for time-consuming mapping operations when caching data, especially when metadata from disk is required, diminishing the cache's effectiveness in providing fast responses.

Innovation Solution

The technique involves creating log entries in both a first and second data log to store data in a cache page and acknowledge the host, allowing for quick caching and acknowledgment of host write requests, with subsequent mapping and flushing to disk performed out of band to maintain high performance.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Loss of time

If data storage systems perform mapping operations and read metadata from disk prior to storing data in cache, then data can be correctly placed in cache location, but the cache response time increases significantly

Engineering Contradiction:
Improvecache response timeVSAvoiddata placement accuracy
Core Design Contradiction:
Loss of timeVSReliability

Solution Approach 1:

The system performs mapping operations and reads metadata from disk in advance, before actual data write operations occur. By pre-establishing the mapping between cache locations and disk locations, the system eliminates the need to perform these time-consuming operations during the critical data write path, thus reducing cache response time while maintaining placement accuracy.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent separates the data write operation from the mapping operation. The write path is segmented to only handle data placement in cache, while mapping is handled by a separate pre-processing component. This segmentation allows the critical write path to be fast while the non-critical mapping path can be slower and more thorough.

Inventive Principle:
Principle #1Segmentation

2Reliability

If data storage systems perform two levels of mapping for host-accessible file systems served from internal file systems, then data can be correctly mapped to physical addresses, but the processing delay increases

Engineering Contradiction:
Improveaddress mapping accuracyVSAvoidprocessing delay
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The system performs both levels of mapping (host file system to internal file system, and internal file system to physical disk) in advance, before actual data write operations. By pre-computing the complete mapping chain, the system eliminates mapping delays from the critical write path while ensuring accurate address translation through both file system layers.

Inventive Principle:
Principle #10Preliminary action

3Reliability

If data storage systems require metadata from disk to be read before caching data, then cache can store data with proper metadata, but the cache effectiveness is greatly diminished

Engineering Contradiction:
Improvemetadata accuracyVSAvoidcache effectiveness
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

Metadata is read from disk and prepared in advance, before data write operations occur. This preliminary metadata preparation ensures that when data arrives at the cache, the corresponding metadata is already available in memory, eliminating disk I/O delays during the critical data caching operation while maintaining metadata accuracy.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS10114829B1Managing data cache for file system realized within a file
Publication Date: 2018.10.30 EMC IP HLDG CO LLC
  • US10114829B1 patent drawing
  • US10114829B1 patent drawing
  • US10114829B1 patent drawing

AI summary

A technique for storing data in a data storage system includes receiving, from a host, a request specifying a set of data to be written to a first file system, the first file system realized as a file within a second file system. A first log entry is created for the set of data in a first data log, which logs data to be written to the first file system, and a second log entry is created for the set of data in a second data log, which logs data to be written to the second file system. The first log entry provides a reference to the second log entry. The technique further includes storing the data in the cache page and acknowledging the host.