Bloom Filter Error Tracking Table for NVM Latency
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional non-volatile memory (NVM) systems face limitations such as high energy demand, finite endurance, and a high error rate, making them less suitable for low latency applications compared to Dynamic Random Access Memory (DRAM).
Innovation Solution
A system and method that includes storing data in an NVM array and error correction vector (ECV) information in an error tracking table (ETT), using Bloom filters to filter ETT entries and performing parallel queries of the NVM array and ETT to optimize error correction, with the ETT configured within DRAM or another NVM component to reduce latency and overhead.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If conventional NVM systems are used for storage, then non-volatile memory capacity is achieved, but error rate increases significantly
Solution Approach 1:
The system performs preliminary actions by maintaining an error tracking table (ETT) that pre-records error locations and correction vectors for defective NVM cells. Before actual data read operations, the system proactively identifies and stores error information in the ETT, enabling rapid error correction during data retrieval without requiring complex real-time analysis
Solution Approach 2:
The patent introduces an intermediary error tracking table (ETT) that mediates between the NVM array and the data processing system. The ETT stores error correction vectors that act as intermediaries to correct errors in NVM data, reducing the need for complex error correction algorithms and lowering overall system complexity while improving reliability
2Reliability
If error tracking table is queried for all NVM entries, then complete error correction is achieved, but latency increases
Solution Approach 1:
The system extracts and uses only the necessary portion of the error tracking table by implementing a Bloom filter that identifies which ETT entries are relevant to the current data read operation. Instead of querying the entire ETT, the Bloom filter extracts and directs queries to only those specific ETT entries that correspond to the addressed NVM region, significantly reducing query latency while maintaining complete error correction for relevant entries
Solution Approach 2:
The Bloom filter implements a self-service mechanism by autonomously determining which ETT entries need to be queried based on the data address being read. The filter serves itself by generating the query selection logic without requiring external control, enabling the system to automatically optimize error correction queries and reduce latency without additional overhead
3Loss of time
If Bloom filter is used to filter ETT entries, then query latency is reduced, but false positives may occur
Solution Approach 1:
The system implements feedback by using the Bloom filter results to guide ETT queries, then using the actual ETT query results to verify and correct any potential false positives. The feedback loop ensures that while the Bloom filter reduces query latency by filtering ETT entries, any false positives are caught and corrected by the subsequent ETT verification step, maintaining error correction accuracy
4Speed
If parallel query of NVM array and ETT is performed, then readout speed is improved, but energy consumption increases
Solution Approach 1:
The system applies partial action by performing parallel queries only on the subset of ETT entries identified as relevant by the Bloom filter, rather than querying all ETT entries in parallel with the NVM array. This partial parallel querying approach maintains the speed benefit of parallel operations while reducing the total number of simultaneous operations, thereby lowering energy consumption
Data Source
AI summary
Various aspects directed towards facilitating error management within a shared non-volatile memory (NVM) architecture are disclosed. Data is stored in an NVM, and error correction vector (ECV) information associated with the NVM is stored in an error tracking table (ETT) within one of a dynamic random access memory (DRAM) or a second NVM component. The ETT is then filtered with a Bloom filter to predict a subset of ETT entries that include a reporting of an error in the NVM. A parallel query of the NVM and the ETT is then performed, which includes a query of the NVM that yields a readout of the NVM, and a query of the ETT that is limited to a query of the subset of ETT entries predicted by the Bloom filter which yields a construction of an ECV corresponding to the readout of the NVM.


