Partial Defragmentation for Burst Read Performance in Storage Controllers

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Storage systems face inefficiencies due to data fragmentation, which leads to non-sequential reading of data, despite periodic garbage collection efforts, as fragmentation can recur before data is read again, impacting performance.

Innovation Solution

Implementing a partial defragmentation method where the storage system's controller identifies and defragments only the specific portion of memory that will be read, utilizing a single-level cell cache for sequential data retrieval, especially in burst read modes when fragmentation exceeds a threshold, ensuring maximum parallel resource usage and improved read performance.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If periodic garbage collection is performed to defragment memory, then data retrieval performance is improved, but fragmentation recurs before data is read again, reducing effectiveness

Engineering Contradiction:
Improvedata retrieval performanceVSAvoidtime until fragmentation recurs
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The system performs preliminary defragmentation of specific memory portions before data is actually read, based on predicted read patterns. This advance action ensures data is optimally organized when needed, preventing fragmentation issues at the moment of retrieval rather than reacting after fragmentation occurs.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

Instead of defragmenting entire memory spaces periodically, the system segments memory into specific portions and applies defragmentation only to those segments that are predicted to be read soon. This targeted approach maintains performance while reducing the frequency and scope of defragmentation operations.

Inventive Principle:
Principle #1Segmentation

2Reliability

If full defragmentation is performed across entire memory spaces, then read performance is improved, but system complexity and resource usage increase

Engineering Contradiction:
Improveread performanceVSAvoiddefragmentation operation complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The system applies different quality levels of defragmentation to different memory portions based on their specific needs. High-priority or frequently accessed memory regions receive thorough defragmentation, while less critical regions receive minimal or no defragmentation, optimizing the balance between performance and resource usage.

Inventive Principle:
Principle #3Local quality

Solution Approach 2:

Rather than performing complete defragmentation across all memory spaces, the system performs partial defragmentation only on specific portions that are predicted to be read. This partial action is sufficient to maintain performance while significantly reducing complexity and resource consumption compared to full defragmentation.

Inventive Principle:
Principle #16Partial or excessive action

3Adaptability or versatility

If data is read non-sequentially due to fragmentation, then access flexibility is maintained, but read speed and efficiency decrease

Engineering Contradiction:
Improvedata access flexibilityVSAvoidread speed
Core Design Contradiction:
Adaptability or versatilityVSSpeed

Solution Approach 1:

The system preliminarily reorganizes data in predicted read paths before actual reading occurs. By anticipating sequential read patterns and pre-positioning data accordingly, the system ensures high-speed sequential access is possible without sacrificing the flexibility to handle various read requests.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS11262928B2Storage system and method for enabling partial defragmentation prior to reading in burst mode
Publication Date: 2022.03.01 SANDISK TECHNOLOGIES LLC
  • US11262928B2 patent drawing
  • US11262928B2 patent drawing
  • US11262928B2 patent drawing

AI summary

A storage system and method for enabling partial defragmentation are provided. In one embodiment, a storage system comprises a memory and a controller. The controller is configured to receive an indication from a host that the host will be reading from a portion of the memory in a burst mode; determine whether a fragmentation level of the portion of the memory is above a threshold; and in response to determining that the fragmentation level of the portion of the memory is above the threshold, perform a defragmentation of the portion of the memory prior to reading data stored in the portion of the memory. Other embodiments are provided.