Flash Memory Deduplication via Partial-Page Writing
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Flash memory devices face inefficiencies in data rewriting due to their inability to directly rewrite data, leading to increased wear and reduced lifespan, and existing deduplication methods do not effectively minimize data differences for storage optimization.
Innovation Solution
Implementing a partial-page writing mode in flash memory devices that pairs and deduplicates write data sectors with previously stored data sectors, allowing the difference to be stored in unoccupied page space, using maximal weighted bipartite matching to maximize deduplication efficiency and reduce write amplification.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Speed
If flash memory directly rewrites data, then write speed is improved, but flash memory cannot directly rewrite data due to its characteristic feature requiring erase before write
Solution Approach 1:
The patent segments data into data sectors and divides the flash memory into multiple blocks and pages. By organizing data at the sector level and memory at the block/page level, the system can perform partial-page writing that targets only the specific sectors needing updates, rather than requiring complete block erasure and rewrite. This segmentation enables fine-grained data management that circumvents the traditional erase-before-write constraint.
Solution Approach 2:
The patent implements preliminary deduplication and pairing operations before the actual write operation. By pre-identifying identical data sectors and pairing them across different blocks, the system prepares the data in advance so that only the differences (deltas) need to be written. This preliminary action reduces the amount of data requiring the erase-before-write process, effectively improving write speed while maintaining flash memory constraints.
2Quantity of substance
If traditional deduplication is implemented, then storage capacity is increased, but write amplification is not reduced
Solution Approach 1:
The patent applies deduplication at the local data sector level rather than globally across entire blocks or pages. By identifying and pairing identical sectors locally and computing differences only for unmatched sectors, the system achieves deduplication benefits with minimal additional write operations. This local approach reduces write amplification compared to traditional global deduplication methods.
Solution Approach 2:
The patent implements partial-page writing that writes only the necessary difference data rather than complete pages. By performing partial writes instead of full-page rewrites, the system reduces the total volume of write operations and associated write amplification, while still achieving comprehensive deduplication coverage across the storage medium.
3Loss of energy
If partial-page writing mode is used, then write amplification is reduced, but read latency increases since two physical pages need to be read to read one logical page
Solution Approach 1:
The patent creates a mapping structure that copies and stores the relationship between logical data sectors and their physical storage locations. This mapping table enables the read operation to quickly determine whether data exists in a single physical page or requires reconstruction from multiple pages, allowing the system to optimize read performance by avoiding unnecessary page reads when data is readily available.
Solution Approach 2:
The patent implements a feedback mechanism where the read operation queries the mapping structure to determine the actual physical location and status of data before performing read operations. This feedback allows the system to adaptively adjust read operations based on the deduplication state, reducing read latency by avoiding unnecessary page reads when data can be retrieved from a single physical page.
Data Source
AI summary
A flash memory device includes physical pages that store data sectors therein. The method of operating the flash memory device includes receiving write data sectors to be stored in the flash memory device, pairing the write data sectors with write data sectors and with written data sectors previously stored in physical pages of the flash memory device based upon a matching and deduplication operation to define data sector pairs and a difference therebetween, and rewriting to the physical pages of the flash memory device, in a partial-page writing mode, to store the difference between the write data sector and its respective paired data sector. The partial-page writing mode is performed on a respective physical page after a previous programming and before erasing. The written data sectors included in the data sector pairs only partially occupy the corresponding physical page of the flash memory device. The difference between the write data sector and its respective paired data sector is stored in an unoccupied portion of the corresponding physical page of the flash memory device.


