Velocity Assignment Logic for Flash Memory Garbage Collection

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The challenge in writing data to flash memory is the inefficiency of the garbage collection process due to varying data lifetimes within a block, which impacts performance, as existing technologies struggle to accurately assign velocities to data items for optimal storage and minimization of garbage collection overhead.

Innovation Solution

A velocity assignment function that determines velocities for data items based on their characteristics, including application identity, data type, and application state, using tables and statistics to adjust default values over runtime, ensuring efficient storage and minimizing garbage collection by predicting data lifetime.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Quantity of substance

If data items with varying lifetimes are stored in the same flash block, then storage capacity is maximized, but garbage collection overhead increases significantly

Engineering Contradiction:
Improvestorage capacityVSAvoidgarbage collection overhead
Core Design Contradiction:
Quantity of substanceVSLoss of time

Solution Approach 1:

The flash memory is divided into multiple data blocks, and data items are segmented into different blocks based on their lifetime characteristics. The velocity assignment function categorizes data items into different velocity groups (e.g., short-lived, medium-lived, long-lived) and stores them in corresponding blocks, ensuring that data items with similar lifetimes are grouped together in the same block.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

Different blocks of flash memory are assigned different qualities or characteristics based on the lifetime requirements of the data they store. Each block is optimized for a specific velocity range, creating local quality variations across the storage medium. This allows the system to tailor storage characteristics to the specific needs of different data items.

Inventive Principle:
Principle #3Local quality

2Reliability

If data items are frequently rewritten in flash memory, then data freshness is maintained, but garbage collection operations increase

Engineering Contradiction:
Improvedata freshnessVSAvoidgarbage collection frequency
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The velocity assignment function performs preliminary classification of data items based on their expected lifetime before they are written to flash memory. By predicting the lifetime of each data item and assigning it an appropriate velocity value, the system proactively prepares the storage structure to minimize future garbage collection operations, rather than reacting to data changes after they occur.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system incorporates feedback mechanisms that monitor actual data lifetime patterns and use this information to refine velocity assignments. The velocity assignment function learns from historical data about how long different types of data actually remain valid, and adjusts its predictions accordingly, improving the accuracy of lifetime predictions and reducing garbage collection overhead over time.

Inventive Principle:
Principle #23Feedback

3Speed

If velocity assignment is based on simple rules, then processing speed is fast, but accuracy of lifetime prediction is low

Engineering Contradiction:
Improvevelocity assignment speedVSAvoidlifetime prediction accuracy
Core Design Contradiction:
SpeedVSMeasurement precision

Solution Approach 1:

The velocity assignment function utilizes multiple parameters beyond simple rules, including data type, application identity, access patterns, and historical lifetime information. By changing from single-parameter to multi-parameter decision-making, the system achieves more accurate lifetime predictions while maintaining reasonable processing speeds through efficient parameter evaluation and weighting schemes.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS11231873B2Apparatus and method for assigning velocities to write data
Publication Date: 2022.01.25 SK HYNIX NAND PRODUCT SOLUTIONS CORP
  • US11231873B2 patent drawing
  • US11231873B2 patent drawing
  • US11231873B2 patent drawing

AI summary

An apparatus is described. The apparatus includes velocity assignment logic to assign a velocity to data that is to be written to a non volatile storage medium. The velocity assignment logic is to accept input information pertaining to an identity of an application that is writing the data, the data type of the data and the state of the application in order to determine the velocity.