Storage Segmentation for Garbage Collection Overhead Reduction
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing electronic devices face performance degradation and reduced device lifespan due to inefficient garbage collection operations, particularly when hot and cold data are not accurately separated, leading to increased garbage collection cost and overhead.
Innovation Solution
An electronic device is designed with a storage system that includes multiple segments for data storage, a buffer memory to store segment attributes, and a processor that determines data attributes based on multiple parameters related to the data being written. The device stores data in corresponding segments, updates data and segment attributes, and performs garbage collection by selecting segments with the same attribute as targets, thereby reducing collection costs and overhead.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Device complexity
If hot and cold data are stored in the same storage space without separation, then storage simplicity is maintained, but garbage collection cost and overhead increase
Solution Approach 1:
The storage space is divided into multiple segments, each dedicated to storing data with the same attribute (hot data or cold data). This segmentation allows the garbage collection operation to target only specific segments containing invalid data of the same type, rather than scanning and processing entire erase units mixed with both hot and cold data, thereby reducing garbage collection cost and overhead.
2Productivity
If hot and cold data are separated and stored in different segments, then garbage collection cost is reduced, but storage device complexity increases
Solution Approach 1:
The system automatically determines data attributes (hot or cold) based on multiple parameters such as access frequency and data age, and autonomously stores data in appropriate segments without requiring manual intervention or complex external management mechanisms. This self-service approach reduces the perceived complexity for users while maintaining efficient data separation.
Solution Approach 2:
The system uses multiple parameters (access frequency, data age, modification time) to dynamically determine data attributes and adjust storage segment assignment. This parameter-based classification simplifies the management complexity by providing clear, objective criteria for data separation while achieving effective hot/cold data distinction.
3Device complexity
If inaccurate hot/cold data separation is performed, then storage simplicity is maintained, but I/O performance degrades due to frequent garbage collection
Solution Approach 1:
The system continuously monitors multiple parameters including access frequency, data age, and modification time to accurately determine data attributes. This feedback mechanism ensures precise hot/cold data separation, preventing misclassification that would lead to unnecessary garbage collection operations and I/O performance degradation.
Solution Approach 2:
The system performs preliminary classification of data into hot or cold categories based on multiple parameters before storage, and maintains this classification information. This preliminary action prevents the need for frequent re-evaluation and garbage collection operations, thereby maintaining high I/O performance while achieving accurate data separation.
4Measurement precision
If multiple parameters are used to determine data attributes, then data separation accuracy is improved, but processing time increases
Solution Approach 1:
The system evaluates multiple parameters to determine data attributes, using a sufficient number of parameters to achieve accurate classification without unnecessarily excessive computation. This balanced approach ensures high measurement precision for data attribute determination while keeping processing time acceptable for real-time storage operations.
Data Source
AI summary
An electronic device includes: a storage device including multiple segments configured to store data; a buffer memory configured to store segment attributes corresponding to the multiple segments, respectively; and one processor electrically connected to the storage device and the buffer memory. The one processor is configured to: determine, based on two or more parameters related to a data requested to be written, a data attribute; store the data requested to be written in a segment of the multiple segments, the segment being corresponding to the data attribute among the multiple segments; store a segment attribute of the segment, which is determined based on the data attribute in the buffer memory; update the data attribute, based on a data modification time of the data requested to be written; and update the segment attribute, based on the updated data attribute.


