ECC Hashing for Faster Memory Region Comparison
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing methods for determining whether sections of memory are identical are time-consuming, especially when comparing large data sets, as they require iterating through all possible pairs of memory sections, which affects processor performance.
Innovation Solution
Using error correcting code (ECC) data to generate hash values, which are smaller than the actual data, reducing the number of iterations needed for comparison and thereby increasing processing speed by combining these hash values to compare memory regions efficiently.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Loss of time
If hash function is used to compare memory sections, then comparison time is reduced, but the number of iterations is still dependent on data size
Solution Approach 1:
The patent extracts and uses only the ECC data portion (e.g., 8 bytes) from each memory section instead of hashing the entire data set. This extraction of the essential verification component reduces the input size for hash computation while maintaining the ability to detect differences, directly reducing the number of iterations required.
Solution Approach 2:
The patent changes the parameter being hashed from the full data size to a fixed-size ECC data portion. By transforming the input parameter from variable size (entire memory section) to fixed size (ECC data only), the computational complexity and number of iterations become independent of the original data size.
2Measurement precision
If entire memory sections are compared directly, then accuracy is ensured, but processor performance decreases due to time-consuming operations
Solution Approach 1:
The patent introduces ECC data as an intermediary representation of the memory section content. Instead of directly comparing or hashing large data sets, the system uses the compact ECC data as a mediator that preserves the essential difference-detection capability while enabling efficient processing.
Solution Approach 2:
The patent uses ECC data as a compact copy or representation of the memory section's error-correcting properties. This copy contains sufficient information to determine section identity without requiring access to or processing of the full original data, maintaining accuracy while improving performance.
Data Source
AI summary
In a particular embodiment, a processor retrieves from memory, for each data block within the region of the memory, error correcting code (ECC) data corresponding to data stored within the data block. In one embodiment, a processor generates for each retrieved ECC data, a hash value by hashing the retrieved ECC data. In a particular embodiment, a processor combines hash values to generate a total hash value corresponding to a region of memory. In one embodiment, a processor uses a total hash value to compare a region of memory to other regions of the memory.


