Storage Cache Layer Selection Using Dynamic Cache Attributes

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing data storage devices inefficiently utilize caches based solely on cache size or speed, leading to suboptimal performance without considering host behavior and command-specific factors.

Innovation Solution

The solution involves defining cache layer priorities dynamically based on attributes such as cache release time, arrival time, release rate, arbitration policy, and eviction ratio, allowing for command-specific cache selection and exposure of these attributes to the host.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of operation

If cache selection is based solely on cache size or speed, then the system is simple to operate, but cache performance is suboptimal

Engineering Contradiction:
Improvecache selection simplicityVSAvoidcache performance
Core Design Contradiction:
Ease of operationVSProductivity

Solution Approach 1:

The patent implements dynamic cache layer priority definition where cache priorities are not fixed but change based on command attributes. The system dynamically adjusts which cache layer is used for reading or writing based on real-time command characteristics, allowing optimal cache performance while maintaining operational simplicity through automated decision-making.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The patent changes the parameters used for cache selection from static attributes (size, speed) to dynamic attributes including command size, command type, and timing parameters. This parameter transformation enables the system to adapt cache selection to specific command requirements, improving performance without complicating user interaction.

Inventive Principle:
Principle #35Parameter changes

2Productivity

If dynamic cache layer priority is defined based on multiple attributes, then cache performance is optimized, but device complexity increases

Engineering Contradiction:
Improvecommand completion timeVSAvoidcache management complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The system performs self-service by automatically determining optimal cache layers based on command attributes without requiring external intervention. The controller internally evaluates command characteristics and selects appropriate cache layers autonomously, managing the complexity internally while presenting a simple interface to the host.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The patent incorporates feedback mechanisms where the system monitors command execution and adjusts cache layer priorities accordingly. By learning from command patterns and execution results, the system refines its cache selection strategy, optimizing performance while containing complexity through adaptive control.

Inventive Principle:
Principle #23Feedback

3Adaptability or versatility

If cache attributes are exposed to the host, then adaptability improves, but measurement and detection difficulty increases

Engineering Contradiction:
Improvehost cache control flexibilityVSAvoidcache attribute measurement
Core Design Contradiction:
Adaptability or versatilityVSDifficulty of detecting and measuring

Solution Approach 1:

The patent creates simplified representations or copies of complex cache attributes that can be easily communicated to the host. Instead of exposing raw complex cache state information, the system provides summarized or transformed attribute data that maintains adaptability while reducing measurement and detection complexity for the host.

Inventive Principle:
Principle #26Copying

Data Source

PatentUS12541455B2Data storage device and method for defining caching layers based on cache attributes
Publication Date: 2026.02.03 SANDISK TECHNOLOGIES LLC
  • US12541455B2 patent drawing
  • US12541455B2 patent drawing
  • US12541455B2 patent drawing

AI summary

A data storage device and method are disclosed for defining caching layers based on cache attributes. In one embodiment, a data storage device is provided comprising a non-volatile memory, a plurality of caches, and one or more processors. The one or more processors, individually or in combination, are configured to: receive a command from a host to read data from the non-volatile memory; select a cache from the plurality of caches based on at least one cache attribute other than speed; read the data from the non-volatile memory; and store the data in the selected cache. Other embodiments are provided.