NVMe Controller Internal Data Re-allocation for Endurance Management

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current data storage systems face inefficiencies when re-evaluating and re-allocating data across different endurance groups within a Non-Volatile Memory Express (NVMe) system, often requiring data to be read and written back between the host and storage device, which is not optimal in terms of performance and resource utilization.

Innovation Solution

A data storage device and method that allows for internal data re-allocation within the storage device without involving the host, using internal copy operations or peer-to-peer memory transfers, enabling seamless re-evaluation and reordering of data based on changing storage requirements such as endurance, protection, or performance.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If data is re-allocated between endurance groups by reading from host and writing to storage device, then data can be moved between different storage requirements, but data transfer efficiency deteriorates due to unnecessary host involvement

Engineering Contradiction:
Improvedata transfer efficiencyVSAvoidtime for read/write operations
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The storage device performs self-service by enabling peer-to-peer memory transfers between endurance groups without host involvement. The controller facilitates direct data movement between memory regions, allowing the system to re-allocate data based on changing endurance requirements while eliminating the inefficiency of read-from-host-and-write-to-device operations.

Inventive Principle:
Principle #25Self-service

2Productivity

If data is re-allocated internally within storage device, then data transfer efficiency improves by avoiding host read/write operations, but device complexity increases due to internal copy operations

Engineering Contradiction:
Improvedata transfer efficiencyVSAvoidcontroller complexity for internal copy
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The controller is designed with multi-functionality to handle both traditional host-mediated data transfers and internal peer-to-peer memory transfers. This universal design allows the same controller infrastructure to support both operation modes, reducing the need for separate dedicated hardware and minimizing the increase in device complexity.

Inventive Principle:
Principle #6Universality (Multi-functionality)

3Adaptability or versatility

If data is dynamically re-grouped based on evolving requirements, then adaptability improves, but resource usage deteriorates due to frequent data movement

Engineering Contradiction:
Improveadaptability to changing storage requirementsVSAvoidenergy for data movement operations
Core Design Contradiction:
Adaptability or versatilityVSLoss of energy

Solution Approach 1:

The system performs preliminary actions by maintaining data in a pooled memory structure with metadata that tracks endurance requirements. When requirements change, the system can efficiently re-allocate data within the already-present memory pool rather than performing full data movements, reducing energy consumption while maintaining adaptability to evolving storage needs.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS11550487B2Data storage device and method for enabling endurance re-evaluation
Publication Date: 2023.01.10 SANDISK TECHNOLOGIES LLC
  • US11550487B2 patent drawing
  • US11550487B2 patent drawing
  • US11550487B2 patent drawing

AI summary

A data storage device and method for enabling endurance re-evaluation are provided. In one embodiment, a data storage device is provided comprising a memory and a controller. The controller is configured to receive data and a first storage requirement for the data from a host; store the data in a first group of memory cells in the memory, wherein the first group of memory cells satisfies the first storage requirement; receive a notification from the host that the first storage requirement has changed to a second storage requirement; and move the data from the first group of memory cells to a second group of memory cells in the memory, wherein the second group of memory cells satisfies the second storage requirement. Other embodiments are provided.