Overlap Table Scanning with Cache Bitmap for Faster SSD Reads

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The increasing size of overlap tables in nonvolatile memory solid state drives (SSDs) due to parallel command execution leads to reduced scanning speed, which hampers performance requirements, especially in high queue depths and random read operations.

Innovation Solution

Implementing a cache occupation bitmap to reduce the frequency of full-cache-scan procedures by checking the bitmap for potential overlaps before scanning the entire overlap table, thereby optimizing read command execution.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If the overlap table size is increased to support more parallel commands, then the command handling capability is improved, but the scanning speed deteriorates

Engineering Contradiction:
Improvecommand handling capabilityVSAvoidscanning speed
Core Design Contradiction:
Adaptability or versatilityVSSpeed

Solution Approach 1:

The patent divides the large overlap table into multiple smaller segments or regions. Instead of scanning the entire overlap table for every read command, the system only scans the relevant segment corresponding to the read command's address range. This segmentation maintains the ability to handle many parallel commands while dramatically reducing the scanning time for each read operation.

Inventive Principle:
Principle #1Segmentation

2Reliability

If the overlap table is scanned for every read command to ensure data correctness, then the atomicity protection is improved, but the read performance deteriorates

Engineering Contradiction:
Improveatomicity protectionVSAvoidread performance
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent applies partial scanning by only examining the portion of the overlap table that is relevant to the current read command's address range, rather than performing a complete scan of the entire overlap table. This partial action maintains atomicity protection for the specific read operation while avoiding the performance penalty of unnecessary scans of unrelated table regions.

Inventive Principle:
Principle #16Partial or excessive action

3Measurement precision

If the entire overlap table is scanned to detect overlaps, then the detection accuracy is improved, but the time consumption increases

Engineering Contradiction:
Improveoverlap detection accuracyVSAvoidtime consumption
Core Design Contradiction:
Measurement precisionVSLoss of time

Solution Approach 1:

The patent applies local quality by making the scanning operation focused and targeted rather than uniform. The system identifies and scans only the specific local region of the overlap table that corresponds to the read command's address range, ensuring accurate overlap detection for that region while avoiding time consumption on other regions where no overlaps can exist.

Inventive Principle:
Principle #3Local quality

Data Source

PatentUS12511078B2Selective scanning of overlap-table in storage memories
Publication Date: 2025.12.30 SANDISK TECHNOLOGIES LLC
  • US12511078B2 patent drawing
  • US12511078B2 patent drawing
  • US12511078B2 patent drawing

AI summary

Scanning overlap tables for data that is present in cache, but not yet written to the memory device, is time consuming. Performance requirements are increasing as is the size of the overlap table. With the increased size of the overlap table comes a reduction in speed to obtain results of a scan which leads to challenges meeting performance requirements. By providing a cache occupation bitmap, scans can be reduced. Rather than scanning the entire overlap table, a cache occupation bitmap can be searched. When executing a read command, only if the cache occupation bitmap contains an indication that the overlap table has cache data within a range that encompasses the data correlating to the read command will the overlap table be search. In so doing, the overlap table need not be searched when executing every read command, thus allowing achievement of performance requirements more realistic.