Flash Memory Garbage Collection via Dual Logical Block Segmentation
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional flash memory systems experience reduced read-write performance and shortened lifetime due to the time-consuming process of erasing storage blocks and the need to move valid data for garbage collection, which increases read/write operations and reduces storage page lifespan.
Innovation Solution
A data storage method that allocates two logical blocks mapped to the same physical block, allowing valid logical addresses to be sequentially stored in a second logical block during garbage collection without moving written data, thereby reducing physical page read-write operations and extending the flash memory's lifespan.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If valid data is moved to other storage pages before erasing a storage block, then garbage collection can be performed, but the lifetime of flash memory is reduced due to increased read/write operations
Solution Approach 1:
The patent divides the storage block into two separate logical blocks (first logical block and second logical block), each handling different aspects of data management. The first logical block stores valid data while the second logical block stores invalid data, allowing independent management of valid and invalid data without requiring data movement between pages.
Solution Approach 2:
The patent extracts the invalid data from the storage block into a separate second logical block, isolating it from the valid data in the first logical block. This extraction allows garbage collection to be performed on the second logical block independently without affecting the valid data or requiring read/write operations on the valid storage pages.
2Productivity
If storage block erasure is performed to release storage pages, then storage capacity is recovered, but read-write performance is greatly reduced due to the long erasure time
Solution Approach 1:
The patent implements a dynamic management system where two logical blocks can be alternately used for storing valid and invalid data. When the second logical block becomes full, the system can switch roles between the two blocks, allowing continuous operation without waiting for complete erasure cycles, thus maintaining higher read-write performance.
Solution Approach 2:
The patent allows the first logical block to be recovered and reused after the second logical block is erased. By discarding the invalid data in the second block and recovering the first block for new valid data, the system maintains storage capacity without requiring frequent erasure operations that would degrade performance.
3Productivity
If logical addresses are sequentially and consecutively stored in the second logical pages, then mapping efficiency is improved, but the complexity of managing dual logical blocks increases
Solution Approach 1:
The patent pre-allocates two logical blocks with predetermined roles (first for valid data, second for invalid data) and establishes sequential mapping rules in advance. This preliminary setup simplifies ongoing management by providing clear, pre-defined procedures for data placement and garbage collection, reducing the complexity of real-time decision-making.
Solution Approach 2:
The patent creates a copy of the logical block structure, with both first and second logical blocks having the same organizational format and mapping mechanisms. This copying allows the system to use identical management procedures for both blocks, simplifying the overall management complexity despite having dual blocks.
Data Source
AI summary
A data storage method and a system thereof are disclosed. The data storage method includes allocating a first logical block and a second logical block, which are mapped to a physical block; the first logical block includes consecutive first logical pages, used to store logical addresses, and the second logical block includes consecutive second logical pages; on executing garbage collection, sequentially and consecutively storing valid logical addresses in second logical pages in the order of the second logical pages according to valid bits; and establishing a one-to-one second mapping relationship between the second logical pages and valid data pages according to the first mapping relationship.


