Storage System Memory Backlog Hinting for Dynamic Capacity Adjustment

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current storage systems lack a guaranteed mechanism for hosts to dynamically trade off capacity for performance, as they do not provide sufficient information to the host about their internal memory state, leading to uncertain fulfillment of performance requests.

Innovation Solution

The storage system periodically sends memory state information, including free and used blocks, cell types, and workload, to the host, allowing the host to make informed decisions on capacity adjustments for performance optimization, and updates this information when capacity reduction is no longer feasible.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If the storage system uses complex firmware to internally manage heterogeneous memory regions with data migration policy, then the storage system can dynamically change SLC and MLC to meet host performance requests, but the device complexity increases

Engineering Contradiction:
Improvedynamic capacity-performance tradeoffVSAvoidfirmware complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The storage system sends memory state information (backlog hints) to the host device, enabling the host to make informed decisions about capacity adjustments. This feedback mechanism allows the host to control the capacity-performance tradeoff based on actual memory conditions, eliminating the need for complex internal firmware management while maintaining adaptability.

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The host device is empowered to autonomously decide when to adjust memory capacity based on backlog hints received from the storage system. This self-service approach transfers the decision-making responsibility from the storage system firmware to the host, simplifying the storage system's firmware while preserving dynamic adaptability.

Inventive Principle:
Principle #25Self-service

2Reliability

If the storage system does not provide information to the host about internal memory state, then the device complexity remains low, but the host cannot make informed decisions on capacity adjustments leading to uncertain performance fulfillment

Engineering Contradiction:
Improveperformance request fulfillmentVSAvoidmemory state information
Core Design Contradiction:
ReliabilityVSLoss of information

Solution Approach 1:

The storage system provides backlog hints (memory state information) to the host device, enabling the host to make informed decisions about capacity adjustments. This feedback ensures reliable performance fulfillment while minimizing information loss by sharing only essential memory state data.

Inventive Principle:
Principle #23Feedback

3Ease of operation

If the host device speculates on memory state for capacity adjustments, then the ease of operation is improved, but the reliability of performance fulfillment deteriorates

Engineering Contradiction:
Improvehost decision-makingVSAvoidperformance guarantee
Core Design Contradiction:
Ease of operationVSReliability

Solution Approach 1:

The host device receives actual memory state information (backlog hints) from the storage system, replacing speculation with informed decision-making. This feedback mechanism maintains ease of operation while significantly improving reliability by base capac ity adjustments on real memory conditions rather than host speculation.

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS10908844B2Storage system and method for memory backlog hinting for variable capacity
Publication Date: 2021.02.02 SANDISK TECHNOLOGIES LLC
  • US10908844B2 patent drawing
  • US10908844B2 patent drawing
  • US10908844B2 patent drawing

AI summary

A storage system and method for memory backlog hinting for variable capacity are provided. In one embodiment, a method for memory backlog hinting for variable capacity is provided that is performed in a storage system comprising a memory. The method comprises: sending information regarding a state of the memory to a host device; receiving an instruction from the host device to alter memory capacity in order to alter memory performance, wherein the instruction is based on the information regarding the state of the memory sent to the host device; and altering memory capacity in order to alter memory performance in response to receiving the instruction from the host device. Other embodiments are provided.