Host-Assisted Memory Block Compaction for Controller Resource Optimization
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In data storage systems, memory controllers face inefficiencies in managing and compacting memory blocks due to limited resources, leading to suboptimal performance and increased costs, size, and power consumption.
Innovation Solution
Delegating the compaction process to the host system, which has more extensive memory space and computational power, allowing for efficient copying and storage of valid data from source blocks to destination blocks, and updating logical-to-physical address mappings, while using separate or shared interfaces for data transfer.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Extent of automation
If the memory controller performs compaction operations using its own resources, then compaction can be executed autonomously, but the memory controller's cost, size, and power consumption increase
Solution Approach 1:
The patent extracts the compaction operation from the memory controller and transfers it to the host system. The memory controller sends source blocks to the host, which performs the compaction using the host's processor and memory resources, then returns the compacted destination blocks to the memory controller for storage in the non-volatile memory.
Solution Approach 2:
The host system acts as an intermediary between the memory controller and the compaction process. The host receives source blocks from the memory controller, performs compaction using its own resources, and returns destination blocks to the memory controller, thereby mediating the compaction operation without requiring the memory controller to have extensive resources.
2Productivity
If the memory controller uses extensive memory space and computational power for compaction, then compaction performance improves, but the memory controller's resources are depleted
Solution Approach 1:
The patent extracts the resource-intensive compiction operations from the memory controller and relocates them to the host system, which has abundant memory space and computational power. This allows high-performance compaction without depleting the memory controller's limited resources.
Solution Approach 2:
The host system uses its own memory and processing resources to perform the compaction operation, rather than relying on the memory controller's resources. The host essentially serves itself by utilizing its available capacity to execute the compaction task that would otherwise burden the memory controller.
3Extent of automation
If the memory controller performs compaction operations, then memory management is autonomous, but operation latency increases
Solution Approach 1:
The host system serves as an intermediary that can execute compaction operations in parallel with other memory controller activities. By delegating compaction to the host, the memory controller maintains autonomy in managing non-volatile memory while reducing latency through concurrent execution of operations.
Data Source
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.


