Host-Assisted Memory Block Compaction

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In data storage systems, memory controllers often have limited resources, making efficient compaction of memory blocks challenging due to insufficient memory space and computational power, which affects storage performance and increases costs, size, and power consumption.

Innovation Solution

Delegating the compaction process to the host system, which has more extensive resources, allowing for efficient copying of valid data from source blocks to destination blocks, thereby improving storage performance and reducing the memory controller's resource requirements.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If the memory controller performs compaction operations using its own resources, then compaction functionality is achieved, but the memory controller's size, cost, and power consumption increase

Engineering Contradiction:
Improvecompaction functionalityVSAvoidmemory controller size
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent extracts the compaction operation from the memory controller and transfers it to the host system. The memory controller sends requests to the host to perform compaction of memory blocks, utilizing the host's processing resources instead of embedding full compaction capability in the memory controller. This reduces the memory controller's complexity while maintaining compaction functionality through host-assisted operations.

Inventive Principle:
Principle #2Taking out (Extraction)

2Productivity

If the memory controller performs compaction operations, then storage performance is maintained, but power consumption increases

Engineering Contradiction:
Improvestorage performanceVSAvoidpower consumption
Core Design Contradiction:
ProductivityVSUse of energy by moving object

Solution Approach 1:

The patent extracts the computationally intensive compaction operations from the memory controller and relocates them to the host system. The memory controller only manages the coordination and data transfer, while the host performs the actual compaction processing. This division reduces the power consumption of the memory controller while maintaining storage performance through efficient host-assisted compaction.

Inventive Principle:
Principle #2Taking out (Extraction)

3Productivity

If the memory controller has sufficient memory space for compiction, then compaction efficiency is improved, but device size and cost increase

Engineering Contradiction:
Improvecompaction efficiencyVSAvoidmemory space
Core Design Contradiction:
ProductivityVSQuantity of substance

Solution Approach 1:

The patent introduces the host system as an intermediary with sufficient memory resources to perform compaction operations. The host acts as a mediator between the memory controller and the storage system, providing the necessary memory space and processing power for efficient compaction without requiring the memory controller to have large internal memory resources. This resolves the contradiction by offloading memory requirements to the host.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentEP2888666B1Host-assisted compaction of memory blocks
Publication Date: 2016.10.12 APPLE INC
  • EP2888666B1 patent drawingFigure 1
  • EP2888666B1 patent drawingFigure 2~3
  • EP2888666B1 patent drawingFigure 4

AI summary

In a system that includes a host and a memory controller that is separate from the host and stores data for the host in a non-volatile memory, a method for data storage includes transferring from the memory controller to the host one or more source blocks from the non-volatile memory for compaction. The source blocks are compacted in the host by copying valid data from the source blocks into one or more destination blocks. The destination blocks are transferred from the host to the memory controller, and the destination blocks are stored by the memory controller in the non-volatile memory.