Bloom Filter Error Tracking Table for NVM Latency

Resolve Bottlenecks,
Find Innovative Solutions
Generate 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

VSEngineering Contradiction Analysis

1Reliability

If conventional NVM systems are used for storage, then non-volatile memory capacity is achieved, but error rate increases significantly

Engineering Contradiction:
Improveerror rateVSAvoiderror correction overhead
Core Design Contradiction:
ReliabilityVSDevice complexity

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

Inventive Principle:
Principle #10Preliminary action

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

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If error tracking table is queried for all NVM entries, then complete error correction is achieved, but latency increases

Engineering Contradiction:
Improveerror correction completenessVSAvoidquery latency
Core Design Contradiction:
ReliabilityVSLoss of time

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

Inventive Principle:
Principle #2Taking out (Extraction)

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

Inventive Principle:
Principle #25Self-service

3Loss of time

If Bloom filter is used to filter ETT entries, then query latency is reduced, but false positives may occur

Engineering Contradiction:
Improvequery latencyVSAvoiderror correction accuracy
Core Design Contradiction:
Loss of timeVSReliability

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

Inventive Principle:
Principle #23Feedback

4Speed

If parallel query of NVM array and ETT is performed, then readout speed is improved, but energy consumption increases

Engineering Contradiction:
Improvereadout speedVSAvoidenergy consumption
Core Design Contradiction:
SpeedVSUse of energy by moving object

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

Inventive Principle:
Principle #16Partial or excessive action

Data Source

PatentUS10216571B2System and methodology for error management within a shared non-volatile memory architecture using bloom filters
Publication Date: 2019.02.26 SANDISK TECHNOLOGIES LLC
  • US10216571B2 patent drawing
  • US10216571B2 patent drawing
  • US10216571B2 patent drawing

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.