Non-Volatile Memory Garbage Collection for Write Amplification

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Data storage systems face challenges in maintaining system data coherency and reducing write amplification due to outdated data, leading to increased maintenance complexity and compromised performance.

Innovation Solution

Implementing garbage collection and log management to efficiently update non-volatile system data by tracking changes in volatile memory and periodically saving logs to non-volatile memory, allowing for atomic updates and reduced write amplification, while ensuring data coherency and improving start-up performance.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If system data is updated frequently to maintain coherency, then data coherency is improved, but write amplification increases

Engineering Contradiction:
Improvedata coherencyVSAvoidwrite amplification
Core Design Contradiction:
ReliabilityVSLoss of substance

Solution Approach 1:

The patent applies preliminary action by maintaining a volatile memory copy of system data that is updated in real-time alongside host data, so that when non-volatile memory needs to be updated, the system can selectively apply only the necessary changes from the volatile copy rather than rewriting entire data structures. This preliminary preparation of updated data in volatile memory reduces the frequency and volume of writes to non-volatile memory.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent implements discarding and recovering by using garbage collection to identify and discard invalid or outdated system data entries in non-volatile memory, while recovering and applying only the valid updated entries from volatile memory. This selective update approach minimizes write amplification by avoiding redundant writes of unchanged data while maintaining coherency.

Inventive Principle:
Principle #34Discarding and recovering

2Reliability

If system data is updated frequently to maintain coherency, then data coherency is improved, but maintenance complexity increases

Engineering Contradiction:
Improvedata coherencyVSAvoidmaintenance complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent applies segmentation by dividing system data into separate volatile and non-volatile memory copies, with the volatile copy handling frequent updates and the non-volatile copy serving as persistent storage. This segmentation allows independent management of each copy, simplifying maintenance operations. The garbage collection mechanism further segments data into valid and invalid entries, enabling selective updating without complex coordination.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent uses volatile memory as an intermediary between host data writes and non-volatile memory updates. This intermediary layer absorbs the complexity of real-time data validation and change tracking, allowing the non-volatile memory to be updated only when necessary with pre-processed, validated changes. This reduces maintenance complexity by centralizing the management logic in the volatile memory layer.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Reliability

If system data is updated frequently to maintain coherency, then data coherency is improved, but performance deteriorates

Engineering Contradiction:
Improvedata coherencyVSAvoidperformance
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent implements periodic action by updating non-volatile system data at controlled intervals rather than continuously, using garbage collection cycles to determine when updates are necessary. This periodic approach allows the system to maintain coherency while avoiding unnecessary write operations that would degrade performance. The system periodically reconciles volatile and non-volatile copies only when changes accumulate beyond a threshold.

Inventive Principle:
Principle #19Periodic action

Solution Approach 2:

The patent uses copying by maintaining a volatile memory copy of system data that mirrors the non-volatile copy but can be updated without affecting persistent storage. This copying strategy allows rapid updates to the volatile copy for immediate use by the system, while the non-volatile copy remains stable and is updated only when necessary, preserving performance while ensuring coherency.

Inventive Principle:
Principle #26Copying

Data Source

PatentUS9977612B1System data management using garbage collection and logs
Publication Date: 2018.05.22 WESTERN DIGITAL TECHNOLOGIES INC
  • US9977612B1 patent drawing
  • US9977612B1 patent drawing
  • US9977612B1 patent drawing

AI summary

A data storage system is disclosed that utilizes garbage collection and logs for managing system data. In one embodiment, system data stored in a non-volatile memory is updated based on the character of changes to data stored in a data storage system (e.g., changes caused by host system activity). For example, when changes to stored data are scattered (e.g., changes are made to random memory locations), it may be beneficial to generate and accumulate more logs reflecting changes to the system data. As another example, when changes to stored data are substantially consolidated (e.g., changes are made to consecutive memory locations), it may be beneficial to update system data stored in the non-volatile memory more frequently. Reduction in write amplification, increase in efficiency, and reduction in start-up and initialization time can be attained. Reconstruction time of system data can also be reduced.