Nonvolatile Memory Cache Pinning for SSD Boot Performance

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Traditional caching algorithms for Solid State Drives (SSDs) perform poorly on new systems before the operating system and applications are loaded, leading to suboptimal performance and a negative user experience due to their inability to accurately predict frequently used data without stabilization.

Innovation Solution

A hybrid storage device with a nonvolatile memory cache is used, where the cache is initially 'pinned' to a static set of address ranges, such as the operating system, until system usage metrics reach a threshold, after which caching algorithms determine which data to cache, optimizing performance over time.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If traditional caching algorithms are used in SSDs, then the cache can adapt to user behavior patterns over time, but the system performs poorly during the initial period before the operating system and applications are loaded

Engineering Contradiction:
Improvecache hit rateVSAvoidinitial performance time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent applies preliminary action by pre-populating the flash memory cache with frequently accessed data from the spinning platter before the system is fully operational. This initial data placement occurs during system boot or initialization, allowing the cache to be productive immediately rather than waiting for traditional algorithms to learn user patterns over time. The cache is proactively filled with likely-needed data before actual usage patterns are established.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system dynamically transitions from a static initial cache state to an adaptive caching regime. Initially, the cache uses a fixed allocation strategy based on predefined criteria, then gradually transitions to using learned user behavior patterns. This dynamic adaptation allows the system to optimize cache performance continuously as it gathers more information about actual usage patterns.

Inventive Principle:
Principle #15Dynamics

2Productivity

If the cache is pinned to initial address ranges, then out-of-the-box performance is improved, but the cache cannot adapt to actual user usage patterns until the threshold is reached

Engineering Contradiction:
Improveinitial system performanceVSAvoidcache adaptability
Core Design Contradiction:
ProductivityVSAdaptability or versatility

Solution Approach 1:

The cache is preliminarily configured with pinned address ranges during system initialization, establishing a stable initial performance baseline. This preliminary configuration ensures that critical system data is immediately available in the cache without requiring the system to learn usage patterns first.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The cache mapping transitions dynamically from a static pinned state to an adaptive state based on monitored usage patterns. The system continuously observes data access patterns and, when confidence thresholds are met, automatically remaps cache regions to better serve actual user needs, creating a dynamic adaptation cycle.

Inventive Principle:
Principle #15Dynamics

Solution Approach 3:

The system implements feedback mechanisms that monitor data access patterns and cache performance metrics. This feedback is used to determine when the pinned cache configuration should be replaced with adaptive mappings. The feedback loop enables the system to transition from initial static performance to optimized adaptive performance based on actual usage.

Inventive Principle:
Principle #23Feedback

3Productivity

If the cache size is increased to improve performance, then the cost and storage capacity of the SSD decrease

Engineering Contradiction:
Improvecache performanceVSAvoidmanufacturing cost
Core Design Contradiction:
ProductivityVSEase of manufacture

Solution Approach 1:

The patent changes the parameter of cache utilization efficiency rather than increasing physical cache size. By implementing intelligent data placement algorithms and adaptive caching strategies, the system maximizes the effectiveness of the available flash memory cache, achieving better performance without requiring additional cache capacity or increasing manufacturing costs.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS8407398B2Cache mapping for solid state drives
Publication Date: 2013.03.26 LENOVO SWITZERLAND INTERNATIONAL GMBH
  • US8407398B2 patent drawing
  • US8407398B2 patent drawing
  • US8407398B2 patent drawing

AI summary

An approach is provided that loads software files, such as an operating system, on a hybrid storage device. The hybrid storage device is a device that includes a nonvolatile storage device and a nonvolatile memory cache. The nonvolatile memory cache has less storage capacity than the nonvolatile storage device. The nonvolatile memory cache is preset (“pinned”) to data corresponding to an initial set of address ranges of the nonvolatile storage device, such as all or part of the operating system that was loaded onto the nonvolatile storage device. A system usage metric is initialized along with a threshold value. The nonvolatile memory cache remains pinned to the initial set of address ranges until the system usage metric reaches the threshold value. When the system usage metric reaches the threshold value, then a caching algorithm is used to determine what data should be cached to the nonvolatile memory cache.