SSD Cache Occupancy Prediction via Host Agent

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current SSD array interactions are inefficient due to limited knowledge of SSD cache states, leading to increased I/O operations and reduced performance, as writes to the same logical memory address can be directed to different SSDs, causing multiple non-volatile memory accesses.

Innovation Solution

A solid state drive (SSD) shared array memory cache system with a host agent and prediction agent generator logic that predicts cache occupancy using bloom filters, allowing for redirection of writes to logically contiguous locations within the same SSD, thereby reducing I/O operations and enhancing performance.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If conventional approaches direct writes to different SSDs for the same logical memory address, then load is distributed across the array, but the number of I/O operations increases and performance decreases

Engineering Contradiction:
ImproveI/O operation efficiencyVSAvoidcache state visibility
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent introduces prediction agents and occupancy prediction logic as intermediaries between the host agent and SSD cache states. These intermediaries enable the host to predict cache occupancy without direct visibility into cache contents, resolving the contradiction by providing the necessary information through a mediating layer rather than direct access.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The system performs preliminary actions by having SSDs generate prediction agents that anticipate future cache occupancy states. This allows the host agent to predict whether cache locations will be occupied before writes occur, enabling proactive I/O redirection decisions that improve efficiency while maintaining simple cache management.

Inventive Principle:
Principle #10Preliminary action

2Reliability

If multiple I/O operations are performed to non-volatile memory of different SSDs, then data is distributed across the array, but endurance is reduced due to increased wear

Engineering Contradiction:
ImproveSSD array enduranceVSAvoidI/O operation count
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent implements feedback mechanisms where SSDs provide prediction agents to the host agent, which uses this feedback to make informed I/O redirection decisions. This feedback loop enables the system to redirect writes to SSDs with predicted empty cache locations, reducing unnecessary I/O operations and wear while maintaining data distribution across the array.

Inventive Principle:
Principle #23Feedback

3Productivity

If the host agent has full visibility of SSD cache states, then I/O redirection can be optimized, but system complexity and communication overhead increase

Engineering Contradiction:
ImproveI/O redirection efficiencyVSAvoidcache state information
Core Design Contradiction:
ProductivityVSLoss of information

Solution Approach 1:

The patent extracts only the essential information needed for I/O redirection from the complex SSD cache state. Instead of providing full cache visibility, the system extracts prediction agents that convey occupancy probability information. This extraction approach enables effective I/O redirection while minimizing communication overhead and maintaining information privacy within SSDs.

Inventive Principle:
Principle #2Taking out (Extraction)

Data Source

PatentUS9921750B2Solid state drive (SSD) memory cache occupancy prediction
Publication Date: 2018.03.20 SAMSUNG ELECTRONICS CO LTD
  • US9921750B2 patent drawing
  • US9921750B2 patent drawing
  • US9921750B2 patent drawing

AI summary

Embodiments of the inventive concept include a solid state drive (SSD) shared array memory cache system including memory cache occupancy prediction. The system can include multiple SSD modules each including a non-volatile memory section, a cache, and a prediction agent generator logic section. The system can further include a host agent including an occupancy prediction logic section that can receive prediction agents from the prediction agent generator logic section of each of the SSD modules, and predict content occupancy of the cache based at least on the prediction agents. A method for predicting SSD memory cache occupancy can include processing write requests, predicting content occupancy of an SSD's cache, determining whether an address in the cache is probably logically contiguous to the logical memory address, re-directing at least one write request, and coalescing multiple write requests including the re-directed write request into a single I/O for storage on the non-volatile memory of the SSD.