Reverse Garbage Collection for Non-Volatile Storage Performance
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing non-volatile storage devices face performance degradation over time due to the intermixing of host operations with garbage collection operations, which can lead to decreased read and write speeds.
Innovation Solution
Performing garbage collection operations in parallel with host operations, specifically by executing them in a reverse order relative to the host operations, allows for efficient maintenance of storage device performance.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If garbage collection operations are intermixed with host operations in sequential order, then the storage device can perform maintenance tasks, but the read and write speeds decrease over time
Solution Approach 1:
The patent applies inversion by executing garbage collection operations in reverse order relative to host operations. While host operations proceed from storage element 0 to n, garbage collection operations execute from storage element n to 0. This reverse sequencing allows parallel execution of both operation types without interference, maintaining read/write speeds while performing maintenance tasks.
Solution Approach 2:
The patent introduces a new dimension of execution by running host operations and garbage collection operations in parallel across different storage element sequences. Instead of sequential execution in a single dimension, the system operates in two concurrent dimensions: forward sequence for host operations and reverse sequence for garbage collection, thereby eliminating performance degradation.
2Reliability
If garbage collection operations are performed sequentially after host operations, then maintenance can be completed, but productivity decreases due to operation bottlenecks
Solution Approach 1:
The patent ensures continuous useful action by eliminating idle periods between host operations and garbage collection. Both operation types execute concurrently in parallel, with host operations proceeding forward through storage elements 0 to n while garbage collection simultaneously proceeds backward through elements n to 0. This continuous parallel execution maximizes productivity by utilizing all storage elements throughout the operation duration.
Solution Approach 2:
By reversing the sequence of garbage collection operations relative to host operations, the patent enables both operation types to proceed simultaneously without blocking each other. This inverse sequencing strategy allows maintenance tasks to complete without creating bottlenecks, thereby maintaining high operation throughput throughout the process.
3Productivity
If garbage collection operations are performed in parallel with host operations in the same order, then resource utilization increases, but conflicts and performance degradation occur
Solution Approach 1:
The patent resolves potential conflicts by executing garbage collection operations in reverse order relative to host operations. While host operations access storage elements from 0 to n, garbage collection operations access the same elements from n to 0. This reverse sequencing eliminates access conflicts and performance degradation while maintaining high resource utilization through parallel execution.
Solution Approach 2:
The patent segments the storage device into multiple independent storage elements that can be accessed simultaneously by different operation types. By dividing the storage device into discrete addressable elements and assigning different access patterns (forward for host operations, reverse for garbage collection), the system achieves parallel execution without conflicts, maintaining both productivity and performance stability.
Data Source
AI summary
A memory device includes a number of different memory dies and/or planes. One or more host operations, such as write operations and/or read operations, are performed on each memory die and/or plane in sequence. For example, from memory die 0 to memory die n. A garbage collection process is performed in parallel with the host operations. However, the garbage collection process is performed in a reverse order when compared with the order of the host operations. For example, the garbage collection process is performed from memory die n to memory die 0.


