Hybrid Memory Garbage Collection via Cluster Unmapping

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In hybrid memory systems, existing technologies face challenges in efficiently managing data transfers and garbage collection across primary and secondary memory, particularly when read operations fail, leading to potential data loss and inefficient use of memory resources.

Innovation Solution

A hybrid controller is implemented to manage data transfers between a host processor and secondary memory, which unmaps failed read clusters without writing data to a second cluster, allowing continued use for subsequent storage, and writes data to the second cluster only if the read operation succeeds, leveraging a redundant copy on primary memory to maintain system robustness and optimize memory usage.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If data is rewritten to a second cluster whenever a read operation fails, then data integrity is improved, but memory resource efficiency deteriorates due to unnecessary data migration and loss of redundant storage capacity

Engineering Contradiction:
Improvedata integrityVSAvoidmemory resource efficiency
Core Design Contradiction:
ReliabilityVSQuantity of substance

Solution Approach 1:

The system changes the parameter of cluster status from 'defected' to 'unmapped but reusable', allowing clusters to be recovered and reused after read failures. This transforms the state of memory resources, converting previously lost capacity back into available storage without compromising data integrity through the redundancy provided by the primary memory.

Inventive Principle:
Principle #35Parameter changes

2Reliability

If failed read clusters are defected and removed from use, then data integrity is improved by preventing use of corrupted data, but memory resource efficiency deteriorates due to loss of storage capacity

Engineering Contradiction:
Improvedata integrityVSAvoidstorage capacity
Core Design Contradiction:
ReliabilityVSQuantity of substance

Solution Approach 1:

The system discards the corrupted data in the failed cluster by unmapping it, preventing use of corrupted data. Simultaneously, it recovers the cluster for future use by adding it back to the pool of available clusters, thus recovering storage capacity that would otherwise be permanently lost.

Inventive Principle:
Principle #34Discarding and recovering

Solution Approach 2:

The system relies on the redundant copy of data stored in the primary memory to compensate for potential data loss in the secondary memory cluster, allowing the cluster to be reused after unmapping without compromising overall data integrity.

Inventive Principle:
Principle #26Copying

3Reliability

If all clusters are continuously monitored and validated, then data integrity is improved, but system complexity increases due to additional validation overhead

Engineering Contradiction:
Improvedata integrityVSAvoidvalidation overhead
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The system uses the inherent redundancy of storing data in both primary and secondary memory to automatically handle validation and recovery. When a read fails, the system self-corrects by unmapping the failed cluster and relying on the redundant copy in primary memory, without requiring complex external validation mechanisms.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS9507719B2Garbage collection in hybrid memory system
Publication Date: 2016.11.29 SEAGATE TECH LLC
  • US9507719B2 patent drawing
  • US9507719B2 patent drawing
  • US9507719B2 patent drawing

AI summary

A hybrid memory system includes a primary memory and a secondary memory. A garbage collection operation is performed on the hybrid memory system. A read operation comprising reading data from a first cluster of a plurality of clusters is performed. Responsive to a determination that the read operation failed, the first cluster is unmapped without writing the data to a second cluster and the first cluster continues to be used for subsequent data storage. Responsive to a determination that the read operation did not fail, data is written to the second cluster.