Local Data Relocation in Storage Devices

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional storage systems face performance issues due to increased communication bandwidth consumption when relocating data to mitigate errors, especially in solid-state storage devices programmed in quad-level cell (QLC) mode, which requires more relocation operations than those in single-level cell (SLC) mode, leading to delayed transmission of user data.

Innovation Solution

Implementing a storage system where the storage device locally relocates data to a new location within itself upon identifying triggering events such as error rates or read counts, without sending the data to the storage controller, thereby preserving communication bandwidth and improving performance.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If data is relocated from storage device to storage controller, then error mitigation is achieved, but communication bandwidth consumption increases

Engineering Contradiction:
Improveerror mitigationVSAvoidcommunication bandwidth consumption
Core Design Contradiction:
ReliabilityVSLoss of energy

Solution Approach 1:

The storage device performs self-service by autonomously detecting triggering events (errors, read counts, wear levels) and relocating its own data to new locations within the device without requiring storage controller intervention. This eliminates communication bandwidth consumption for relocation operations while maintaining error mitigation through continuous monitoring and automatic data relocation to healthy storage locations.

Inventive Principle:
Principle #25Self-service

2Reliability

If data is relocated to mitigate errors, then storage reliability is improved, but transmission delay of user data increases

Engineering Contradiction:
Improvestorage reliabilityVSAvoidtransmission delay
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The storage device performs data relocation operations continuously in the background without interrupting user data transmission. The device monitors storage locations for triggering events and automatically relocates affected data to new locations within the device, ensuring continuous availability of user data while maintaining storage reliability through ongoing error mitigation.

Inventive Principle:
Principle #20Continuity of useful action

3Loss of energy

If local data relocation is implemented within storage device, then communication bandwidth is preserved, but device complexity increases

Engineering Contradiction:
Improvecommunication bandwidth preservationVSAvoidstorage device complexity
Core Design Contradiction:
Loss of energyVSDevice complexity

Solution Approach 1:

The storage device incorporates self-service capabilities with onboard monitoring circuits and control logic that detect triggering events (errors, read counts, wear levels) and autonomously manage data relocation operations. This integrates error mitigation functionality directly into the storage device, eliminating the need for complex controller-mediated relocation processes while preserving communication bandwidth.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS11846968B2Relocation of data for heterogeneous storage systems
Publication Date: 2023.12.19 PURE STORAGE INC
  • US11846968B2 patent drawing
  • US11846968B2 patent drawing
  • US11846968B2 patent drawing

AI summary

A command to relocate data is transmitted by a storage controller. The command includes first address information associated with a first set of blocks storing the data at one or more storage devices using a first programming mode and second address information associated with a second set of blocks at the one or more storage devices to store the relocated data using a second programming mode. The command causes the relocation of the data from the first set of blocks to the second set of blocks while bypassing sending the data to the storage controller. An acknowledgement is received that the relocated data has been stored at the second number of blocks.