SSD Data Journaling with Bloom Filters for Low DRAM

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Solid state drives (SSDs) with low dynamic random access memory (DRAM) or static random access memory (SRAM) face performance degradation due to frequent metadata writes and flash block wear, as existing journaling schemes require numerous flash read operations and frequent journal commits, leading to increased wear and reduced throughput.

Innovation Solution

A data journaling method using a hierarchical scheme with Bloom filters to efficiently locate updated data mappings, reducing the need for flash read operations and aggregating journal data to minimize commit overhead, thereby optimizing SSD write/read throughput and reducing wear on SSDs.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Quantity of substance

If hierarchical journaling is used to operate large SSDs with low DRAM/SRAM, then the SSD can function with limited volatile memory, but read performance degrades due to frequent flash read operations

Engineering Contradiction:
Improvevolatile memory capacityVSAvoidread throughput
Core Design Contradiction:
Quantity of substanceVSProductivity

Solution Approach 1:

The patent extracts the metadata search function from the journal structure and implements it using a Bloom filter data structure. This allows the system to quickly determine whether metadata entries exist in the journal without performing full flash read operations, thereby extracting the essential information retrieval capability while eliminating the performance-degrading sequential search through journal entries.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The Bloom filter serves as an intermediary between the read request and the journal data. Instead of directly searching the journal for each read request, the system first queries the Bloom filter to determine if the metadata entry exists in the journal. This intermediary structure reduces the number of actual flash read operations needed, improving read throughput while maintaining functionality with limited DRAM/SRAM.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Productivity

If metadata updates are recorded in a volatile journal instead of committing to NAND, then write performance is improved, but the journal must be frequently written to flash causing increased block wear

Engineering Contradiction:
Improvewrite throughputVSAvoidflash block wear
Core Design Contradiction:
ProductivityVSObject-affected harmful factors

Solution Approach 1:

The patent applies preliminary action by pre-calculating and storing Bloom filter data structures in DRAM/SRAM before journal commits occur. This allows the system to quickly answer existence queries about metadata entries without needing to read the actual journal contents from flash, thereby reducing the frequency and impact of flash write operations and minimizing block wear.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system creates a simplified copy of the journal's essential information in the form of a Bloom filter data structure. This copy resides in fast volatile memory and provides the same existence-checking functionality without requiring physical access to the journal data on flash, thereby reducing wear on flash blocks while maintaining write performance benefits.

Inventive Principle:
Principle #26Copying

3Reliability

If the volatile journal is frequently written to the SLC journal, then the journal commit process maintains data consistency, but SSD performance degrades due to the overhead of frequent commits

Engineering Contradiction:
Improvedata consistencyVSAvoidoverall SSD performance
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The system performs preliminary actions by pre-computing and maintaining Bloom filter data structures that reflect the current state of the journal before commits occur. This allows the system to quickly determine metadata existence without requiring immediate journal commits, thereby maintaining data consistency through the Bloom filter while reducing the frequency and performance impact of actual flash write operations.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The Bloom filter acts as an intermediary that maintains data consistency information without requiring frequent journal commits. By using the Bloom filter to answer existence queries, the system preserves the reliability benefits of journaling while eliminating the performance penalty of frequent commit operations, as the Bloom filter can be updated and queried in volatile memory without flash access.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS10635654B2Data journaling for large solid state storage devices with low DRAM/SRAM
Publication Date: 2020.04.28 SAMSUNG ELECTRONICS CO LTD
  • US10635654B2 patent drawing
  • US10635654B2 patent drawing
  • US10635654B2 patent drawing

AI summary

A data journaling method in a solid state storage device, the method including: receiving a read request; determining whether updated data mapping for the read request is located in at least one of a volatile journal and a nonvolatile journal using a Bloom filter; searching the volatile journal if the updated data mapping for the request is located in the Bloom filter, and then, searching the nonvolatile journal if the updated data mapping for the request is not found in the volatile journal; and stopping the search when the updated data mapping is found.