SSD Read Cache for Hard Disk Drive Random Access

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current Hard Disk Drives (HDDs) exhibit limited Input/Output (IO) performance, particularly in random read situations, as they require HDD head strokes to access data, whereas Solid State Drives (SSDs) can deliver high random read throughput without head positioning delays.

Innovation Solution

Implementing a system that uses a Solid State Drive (SSD) as a read cache memory to serve read requests, with SSD memory tracking logic determining whether data is available and loading it into SSD memory when fetch criteria are met, thereby improving HDD performance in mixed random and sequential workload applications.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Quantity of substance

If HDD is used for mass storage, then storage capacity and cost-effectiveness are improved, but random read performance deteriorates due to head positioning delays

Engineering Contradiction:
Improvestorage capacityVSAvoidrandom read speed
Core Design Contradiction:
Quantity of substanceVSSpeed

Solution Approach 1:

The storage system is segmented into two distinct components: HDD for mass storage and SSD for caching. This segmentation allows each component to specialize in its strength - HDD provides large capacity at low cost while SSD provides high-speed random read access, thereby resolving the contradiction between storage capacity and random read speed.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The SSD acts as an intermediary component between the host system and the HDD. It intercepts random read requests and serves them directly from its fast storage medium, eliminating the need for head positioning on the HDD. This intermediary approach allows the system to maintain large HDD capacity while achieving high random read speeds through the SSD cache.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Speed

If SSD is used as read cache, then random read performance is improved, but system complexity increases due to cache management logic

Engineering Contradiction:
Improverandom read speedVSAvoidcache management complexity
Core Design Contradiction:
SpeedVSDevice complexity

Solution Approach 1:

The cache management system operates autonomously without requiring complex host-side intervention. The SSD controller independently manages cache allocation, tracking, and data retrieval, using simple tracking logic that monitors read patterns and automatically serves cached data. This self-service approach minimizes the complexity burden on the overall system while maintaining high random read performance.

Inventive Principle:
Principle #25Self-service

3Productivity

If DRAM cache is used, then sequential read performance is improved through prefetching, but random read performance remains limited due to cache misses

Engineering Contradiction:
Improvesequential read throughputVSAvoidrandom read speed
Core Design Contradiction:
ProductivityVSSpeed

Solution Approach 1:

The caching hierarchy is segmented into two levels with specialized functions: DRAM cache optimized for sequential reads with prefetching, and SSD cache optimized for random reads. This segmentation allows each cache level to excel at its intended workload - DRAM handles sequential access patterns efficiently while SSD handles random access patterns, thereby resolving the contradiction between sequential and random read performance.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS8645626B2Hard disk drive with attached solid state drive cache
Publication Date: 2014.02.04 PMC SIERRA US INC
  • US8645626B2 patent drawing
  • US8645626B2 patent drawing
  • US8645626B2 patent drawing

AI summary

Methods, systems, and computer programs for managing storage using a solid state drive (SSD) read cache memory are presented. One method includes an operation for determining whether data corresponding to a read request is available in a SSD memory when the read request causes a miss in a memory cache. The read request is served from the SSD memory when the data is available in the SSD memory, and when the data is not available in the SSD memory, SSD memory tracking logic is invoked and the read request is served from a hard disk drive. Invoking the SSD memory tracking logic includes determining whether a fetch criteria for the data has been met, and loading the data corresponding to the read request in the SSD memory when the fetch criteria has been met. The use of the SSD as a read cache improves memory performance for random data reads.