Memory Controller Segregating File System Data to Reduce Garbage Collection

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing data storage devices face performance degradation due to frequent garbage collection procedures, which are resource-intensive and negatively impact access performance, especially when managing file system data.

Innovation Solution

A data processing method that uses dual memory blocks to differentiate between file system management data and user data, writing management data to one block and user data to another, thereby reducing the need for garbage collection and enhancing access performance by isolating invalid data.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If garbage collection procedures are performed frequently to manage file system data, then data management reliability is improved, but access performance deteriorates due to resource consumption

Engineering Contradiction:
Improvedata management reliabilityVSAvoidaccess performance
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent segments memory blocks into two distinct categories: file system management data blocks and user data blocks. This segmentation allows independent management of each type, enabling the system to perform garbage collection on only the management data blocks when necessary, rather than affecting user data access operations. The memory controller separately tracks valid data in each segment, reducing the scope and frequency of garbage collection operations that impact overall access performance.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent extracts file system management data from the general data storage pool and places it in dedicated management data blocks. This extraction allows the memory controller to independently manage and clean up management data without interfering with user data access. By separating management data handling from user data operations, the system can perform necessary garbage collection on management data while maintaining high access performance for user data.

Inventive Principle:
Principle #2Taking out (Extraction)

2Productivity

If dual memory blocks are used to separate file system management data and user data, then access performance is improved by reducing garbage collection frequency, but device complexity increases

Engineering Contradiction:
Improveaccess performanceVSAvoidmemory block management complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent implements dynamic allocation and management of memory blocks, where the memory controller can flexibly assign and reassign memory blocks between management data and user data based on system needs. The system dynamically tracks valid data locations in each block type and adapts its garbage collection operations accordingly. This dynamic approach allows the system to optimize performance while managing complexity through adaptive control rather than rigid fixed assignments.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The memory controller implements self-service mechanisms by automatically tracking valid data in each memory block type and autonomously performing garbage collection on management data blocks when needed. The system self-manages the complexity of dual block coordination through internal bookkeeping structures that track valid data locations, eliminating the need for external intervention or complex coordination protocols while maintaining access performance.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS11307786B2Data storage devices and data processing methods
Publication Date: 2022.04.19 SILICON MOTION INC
  • US11307786B2 patent drawing
  • US11307786B2 patent drawing
  • US11307786B2 patent drawing

AI summary

A data storage device includes a memory device and a memory controller. The memory controller configures a first predetermined memory block and a second predetermined memory block as buffers to receive data from a host device and determines to use the first or the second predetermined memory block to receive the data according to write addresses of a write command received from the host device. When the write addresses indicate that the data to be written by the host device is management data of a file system of the host device, the memory controller writes the data to the first predetermined memory block. When the write addresses indicate that the data to be written by the host device is not the management data of the file system of the host device, the memory controller writes the data to the second predetermined memory block.