Write-Evict Unit SSD Cache Indexing for IOPS and Lifespan

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Traditional storage systems face challenges in balancing cost and performance with SSD cache layers, particularly in limiting write-erase cycles to extend SSD lifespan, improving read access latency for both HDDs and SSDs, and enhancing fault tolerance in SSD data caches.

Innovation Solution

The integration of SSDs as a caching layer with a write-evict unit (WEU) data structure that matches SSD erasure units, combined with a Merkle tree file structure and cache indexing for efficient data retrieval and caching, allows for optimized data access and management, reducing unnecessary writes and improving SSD longevity.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If SSDs are used as a caching layer to improve read access latency and IOPS performance, then storage system performance is improved, but the number of write-erase cycles increases which reduces SSD lifespan

Engineering Contradiction:
ImproveIOPS performanceVSAvoidSSD lifespan
Core Design Contradiction:
ProductivityVSDuration of action of stationary object

Solution Approach 1:

The patent segments data into fixed-size chunks that align with SSD erasure unit boundaries (e.g., 128KB). This segmentation allows the system to manage write operations at the chunk level rather than individual block level, reducing the frequency of write-erase cycles. By organizing data into segments that match SSD physical constraints, the system optimizes both performance and longevity.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system performs preliminary actions by pre-calculating chunk boundaries and maintaining a cache index that maps data offsets to chunk locations before actual write operations occur. This preliminary organization allows for efficient data placement that minimizes future write-erase cycles, as data can be appended to existing chunks rather than triggering new erasure cycles.

Inventive Principle:
Principle #10Preliminary action

2Loss of time

If SSDs are used as a caching layer to improve read access latency, then read performance is improved, but the complexity of managing write-evict units and cache indexing increases

Engineering Contradiction:
Improveread access latencyVSAvoidcache management complexity
Core Design Contradiction:
Loss of timeVSDevice complexity

Solution Approach 1:

The patent changes key parameters by fixing chunk sizes to match SSD erasure units and using fixed-width integer types for indexing. This parameter standardization simplifies cache management operations, as the system no longer needs to dynamically calculate boundaries or handle variable-length data structures. The fixed parameters make the cache index structure predictable and easier to manage.

Inventive Principle:
Principle #35Parameter changes

Solution Approach 2:

The system creates a simplified copy of the file structure in the cache index, storing only essential mapping information (data offset to chunk location) rather than complete file metadata. This copying approach reduces the complexity of cache management by maintaining a lightweight index structure that can be quickly searched and updated without managing complex file system semantics.

Inventive Principle:
Principle #26Copying

3Duration of action of stationary object

If data is stored in fixed-size chunks aligned with SSD erasure units, then write-erase cycles are minimized extending SSD lifespan, but data access efficiency may be reduced due to chunk boundary constraints

Engineering Contradiction:
ImproveSSD lifespanVSAvoiddata access speed
Core Design Contradiction:
Duration of action of stationary objectVSSpeed

Solution Approach 1:

The patent introduces a cache index as an intermediary structure that bridges the gap between variable-length data access requests and fixed-size chunk storage. The cache index contains pre-calculated location information that allows the system to quickly locate data within chunks without needing to scan or realign data during access operations, thus maintaining high access speeds despite fixed chunk boundaries.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The system performs preliminary actions by pre-calculating and storing chunk location information in the cache index during data ingestion. This preliminary organization ensures that when data access requests arrive, the system can immediately jump to the correct chunk location without performing boundary calculations or alignment operations during the actual access, thereby maintaining high access speeds.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS10908818B1Accessing deduplicated data from write-evict units in solid-state memory cache
Publication Date: 2021.02.02 EMC IP HLDG CO LLC
  • US10908818B1 patent drawing
  • US10908818B1 patent drawing
  • US10908818B1 patent drawing

AI summary

According to some embodiment, a backup storage system receives a request from a client to read a data segment associated with a file object stored in a storage system. In response to the request, the system performs a lookup operation in a first index stored in a memory to identify a first index entry based on a fingerprint of the requested data segment to obtain a first write-evict unit (WEU) identifier (ID) identifying a first WEU storing the requested data segment. The system accesses a solid state device (SSD) operating as a cache memory device to retrieve the data segment from the first WEU. The system extracts and decompresses a compressed data segment retrieved from the first WEU and returns the decompressed data segment to the client without accessing a storage unit for retrieving the same data segment.