Dynamic Memory Compaction via I/O Command Size Adaptation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing memory devices face inefficiencies in garbage collection and folding processes due to fixed compaction times that do not account for the size of host write commands, leading to unnecessary waiting for host writes, especially when dealing with varying data chunk sizes.

Innovation Solution

Implementing a dynamic memory compaction system where a controller generates I/O commands and compacts valid data based on the size of data chunks, allowing for concurrent garbage collection and folding operations that adapt to the size of write commands, thereby optimizing performance.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Loss of time

If a fixed compaction time is used for garbage collection regardless of write command size, then the garbage collection process is simple to implement, but host write operations experience unnecessary waiting time

Engineering Contradiction:
Improvehost write wait timeVSAvoidcompaction control complexity
Core Design Contradiction:
Loss of timeVSDevice complexity

Solution Approach 1:

The compaction time is changed from a fixed value to a dynamic value that adjusts based on the size of the write command. The controller determines compaction time proportionally to the write command size, allowing the system to adapt to varying data chunk sizes and reduce unnecessary waiting time for host writes.

Inventive Principle:
Principle #15Dynamics

2Reliability

If compaction is performed for every host write command, then valid data is continuously compacted, but the processing overhead and time consumption increase

Engineering Contradiction:
Improvedata validityVSAvoidcompaction processing time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

Instead of performing full compaction for every write command, the system performs partial compaction proportional to the write command size. This partial action is sufficient to maintain data validity while avoiding the excessive processing time and overhead of complete compaction operations.

Inventive Principle:
Principle #16Partial or excessive action

Data Source

PatentUS10331555B1Dynamic memory compaction
Publication Date: 2019.06.25 SANDISK TECHNOLOGIES LLC
  • US10331555B1 patent drawing
  • US10331555B1 patent drawing
  • US10331555B1 patent drawing

AI summary

Apparatus, systems, methods, and computer program products for dynamic memory compaction are disclosed. A memory device comprises a plurality of memory blocks and a controller for the memory device. A controller is configured to generate an input/output command to write a data chunk to a first memory block of a plurality of memory blocks. A controller is configured to compact an amount of valid data in a second memory block of a plurality of memory blocks based on a size of an I/O command.