ECC-Based Data De-Duplication for NAND Memory Endurance
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current data de-duplication methods in solid state storage systems and virtual machines are inefficient, leading to software overhead and reduced performance due to the need for additional storage and increased energy consumption, especially in NAND memory devices where write operations degrade the memory over time.
Innovation Solution
Implementing a data de-duplication system that uses error-correcting code (ECC) check bytes for both error correction and de-duplication purposes, employing a concatenated coding scheme to reduce the need for additional storage and improve the endurance of NAND devices by minimizing redundant data writes and extending the device's lifespan.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If conventional hash algorithms are used for data de-duplication, then data duplication can be detected, but storage overhead increases due to additional hash digest storage
Solution Approach 1:
The patent applies multi-functionality by making ECC check bytes serve dual purposes: traditional error correction and data de-duplication detection. By comparing ECC check bytes from different data blocks, the system can identify duplicates without requiring separate hash digest storage, thereby eliminating the 7% overhead associated with conventional hash-based approaches while maintaining reliable duplicate detection
Solution Approach 2:
The patent merges the error correction function and de-duplication detection function into a single ECC check byte mechanism. Instead of implementing separate hash calculation and storage systems, the invention combines these functions by utilizing the existing ECC check bytes for both error detection and duplicate data identification, reducing overall system complexity and storage requirements
2Quantity of substance
If data de-duplication is implemented in NAND memory systems, then storage efficiency improves, but write operations increase which accelerates memory degradation
Solution Approach 1:
The patent applies preliminary action by performing de-duplication detection during the write operation itself, before data is permanently committed to NAND memory. By using ECC check bytes to identify duplicate data blocks during the write process, the system can skip writing redundant data, thereby improving storage efficiency while preventing unnecessary write operations that would accelerate NAND memory degradation
Solution Approach 2:
The patent enables self-service by allowing the ECC mechanism to automatically perform both error correction and de-duplication detection without requiring separate processing systems. The ECC check bytes inherently contain information about data blocks, and by comparing these check bytes, the system can autonomously identify duplicates and avoid redundant writes, extending NAND memory lifespan while maintaining storage efficiency
3Quantity of substance
If software-based memory sharing is used in virtual machines, then memory capacity needs are reduced, but software overhead increases reducing performance
Solution Approach 1:
The patent applies mechanics substitution by replacing software-based de-duplication mechanisms with hardware-level ECC check byte comparisons. Instead of using software processes to detect and manage duplicate memory blocks in virtual machines, the system leverages the hardware-implemented ECC mechanism to automatically identify and share memory blocks, eliminating software overhead and improving performance while still reducing memory capacity requirements through effective de-duplication
Data Source
AI summary
An apparatus may comprise a non-volatile random access memory to store data and a processor coupled to the non-volatile random access memory. The apparatus may further include a data de-duplication module operable on the processor to read a signature of incoming data, compare the signature to first data in the non-volatile random access memory, and flag the incoming data for discard when the signature indicates a match to the first data. Other embodiments are disclosed and claimed.


