Hierarchical Cache Occupation Bitmaps for SSD Overlap Scanning
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
The large and growing overlap table in nonvolatile memory solid state drives (SSDs) leads to inefficient scanning and performance issues due to the need to track overlapping read and write commands, causing backpressure and latency, especially with increasing PCIe speeds and queue depths.
Innovation Solution
Implementing multiple cache occupation bitmaps with varying granularities based on data hotness and collision rates to dynamically and flexibly manage overlap detection, reducing the need for full-scale scans by checking bitmaps in sequence from least to most focused granularity.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If a large overlap table is used to track all overlapping read and write commands, then atomicity protection is improved, but scanning efficiency deteriorates and performance decreases
Solution Approach 1:
The patent divides the large overlap table into multiple smaller bitmaps organized in a hierarchical structure. Each bitmap covers a specific range of logical block addresses (LBAs) and tracks cache occupation status for that range. This segmentation allows the system to check only relevant smaller bitmaps instead of scanning the entire large table, improving scanning efficiency while maintaining complete atomicity protection.
Solution Approach 2:
The patent introduces a hierarchical dimension to the overlap tracking structure by organizing bitmaps at different levels. The first bitmap covers a broader LBA range with coarser granularity, while the second bitmap covers a subset range with finer granularity. This multi-dimensional organization enables efficient pruning of search spaces by checking higher-level bitmaps first and only descending to lower-level bitmaps when necessary.
2Adaptability or versatility
If the overlap table size increases to support more parallel commands, then command handling capability is improved, but device complexity increases
Solution Approach 1:
The patent implements a dynamic hierarchical bitmap structure where the system can flexibly navigate through different bitmap levels based on the specific LBA range being accessed. The controller dynamically determines which bitmap level to check first and whether to proceed to deeper levels, adapting the inspection depth to the specific command being processed. This dynamic approach supports high command parallelism without requiring the entire large table structure to be actively managed.
3Measurement precision
If full-scale overlap table scanning is performed for every read command, then accurate overlap detection is improved, but latency increases
Solution Approach 1:
The patent performs preliminary checks using the first bitmap that covers broader LBA ranges before conducting detailed checks with the second bitmap. By预先 (in advance) organizing the hierarchical bitmap structure and checking higher-level bitmaps first, the system can quickly eliminate non-overlapping cases without proceeding to full-scale scanning, thereby reducing latency while maintaining detection accuracy when overlaps do exist.
Data Source
AI summary
Multiple cache occupation bitmaps are maintained with each successive bitmap having a more focused granularity based upon data hotness or overlay collisions. The bitmap with the least focus is checked first, and if a value of 1 is found for the relevant bit, then a relevant bit of the next, more focused, bitmap that encompasses the address range of the read command is checked. Relevant bits of each additional, more focused bitmap that encompasses the address range for the read command are checked in succession upon finding a value of 1 for the relevant bit in the previous bitmap. Upon the last relevant bit of a bitmap encompassing the address range of the read command having a value of 1 or 0, either a full cache scan is performed or no overlap is present. The bitmaps can be flexibly and dynamically maintained.


