Host-Assisted Deferred Defragmentation for Sequential Read Performance

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Defragmentation in data storage devices leads to significant data movement, reducing performance during the process and resulting in suboptimal sequential read performance due to fragmented logical block addresses.

Innovation Solution

Implementing a host-assisted deferred defragmentation method where a host provides grouping hints and defragmentation identifiers to a data storage device, allowing the device to store sequential data segments non-sequentially while maintaining metadata to optimize read and write operations.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If defragmentation is performed to improve sequential read performance, then read performance is improved, but write performance deteriorates due to significant data movement

Engineering Contradiction:
Improvesequential read performanceVSAvoidwrite performance
Core Design Contradiction:
SpeedVSProductivity

Solution Approach 1:

The host performs preliminary defragmentation of data before writing to the storage device. By pre-defragmenting data in the host's memory or storage, the data is reorganized into contiguous blocks before being transferred to the storage device. This eliminates the need for subsequent defragmentation operations on the storage device, thereby maintaining both high read performance and write performance without the penalty of in-device data movement.

Inventive Principle:
Principle #10Preliminary action

2Stability of the object's composition

If immediate defragmentation is performed, then contiguous storage is achieved, but write amplification increases and device efficiency decreases

Engineering Contradiction:
Improvecontiguous storageVSAvoidwrite amplification
Core Design Contradiction:
Stability of the object's compositionVSLoss of energy

Solution Approach 1:

The defragmentation function is extracted from the storage device and relocated to the host system. The host is responsible for performing defragmentation operations on data before it is written to the storage device. This extraction eliminates the need for the storage device to perform costly defragmentation operations that involve reading and rewriting large amounts of data, thereby reducing write amplification and improving overall device efficiency while still achieving contiguous storage through host-side preprocessing.

Inventive Principle:
Principle #2Taking out (Extraction)

3Productivity

If defragmentation is delayed, then write performance is maintained, but sequential read performance deteriorates due to fragmentation

Engineering Contradiction:
Improvewrite performanceVSAvoidsequential read performance
Core Design Contradiction:
ProductivityVSSpeed

Solution Approach 1:

Instead of delaying defragmentation, the host performs preliminary defragmentation before data is written to the storage device. This proactive approach ensures that data is already in an optimal contiguous state when written, maintaining both high write performance (since no post-write defragmentation is needed) and high sequential read performance (since the data is already defragmented). The key is shifting the defragmentation timing to occur in advance in the host rather than being delayed or performed later by the storage device.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS12399650B2Data storage device and method for host-assisted deferred defragmentation and system handling
Publication Date: 2025.08.26 SANDISK TECHNOLOGIES LLC
  • US12399650B2 patent drawing
  • US12399650B2 patent drawing
  • US12399650B2 patent drawing

AI summary

A data storage device and method for host-assisted deferred defragmentation and system handling are provided. In one embodiment, the data storage device comprises a memory and a controller. The controller is configured to receive, from a host, a plurality of write commands and a grouping identifier associated with the plurality of write commands, wherein the plurality of write commands comprise a plurality of non-sequential logical block addresses and a plurality of sequential segments of a file; and in response to the grouping identifier being associated with the plurality of write commands, execute the plurality of write commands by storing the plurality of sequential segments of the file sequentially in the memory even though the logical block addresses associated with the segments of the file are non-sequential. Other embodiments are possible, and each of the embodiments can be used alone or together in combination.