Sorted Key Binning in Persistent Memory to Cut Write Amplification

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In persistent storage devices like SSDs, maintaining an ordered list of keys is burdensome and results in significant write amplification due to the inability to overwrite values, necessitating the entire list to be rewritten, which is inefficient and costly in terms of data written.

Innovation Solution

Implementing a buffer system in non-volatile memory to store key operations separately for each bin, reducing write amplification by periodically flushing these operations to the ordered key list in persistent storage, and using Bloom filters to manage key presence efficiently.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Stability of the object's composition

If the entire ordered key list is rewritten in persistent storage to maintain key order, then the keys remain sorted and searchable, but write amplification increases significantly

Engineering Contradiction:
Improvekey order maintenanceVSAvoidwrite amplification
Core Design Contradiction:
Stability of the object's compositionVSLoss of substance

Solution Approach 1:

The patent divides the ordered key list into multiple bins, where each bin contains a subset of keys. This segmentation allows individual bins to be updated independently rather than rewriting the entire key list, thereby reducing write amplification while maintaining overall key order through the bin structure.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces a buffer as an intermediary layer between the host and persistent storage. The buffer temporarily holds key operations and facilitates batch processing, allowing the system to reduce the frequency of writes to persistent storage while maintaining key order, thus lowering write amplification.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If the entire ordered key list is rewritten to add or update keys, then the key list remains complete and accurate, but the time and resources required increase

Engineering Contradiction:
Improvekey list accuracyVSAvoidupdate time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

By segmenting the key list into bins, the patent enables selective updates of only those bins that contain modified keys, rather than rewriting the entire key list. This segmentation maintains key list accuracy while significantly reducing the time and resources required for updates.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent performs preliminary actions by maintaining a buffer that pre-processes and organizes key operations before they are committed to persistent storage. This preliminary organization allows for more efficient batch updates, reducing the time required to maintain an accurate key list.

Inventive Principle:
Principle #10Preliminary action

3Quantity of substance

If Bloom filters are used to manage key presence, then memory efficiency improves, but false positives may occur

Engineering Contradiction:
Improvememory usageVSAvoidkey presence accuracy
Core Design Contradiction:
Quantity of substanceVSReliability

Solution Approach 1:

The patent adjusts the parameters of the Bloom filter, specifically the number of hash functions and the size of the filter array, to optimize the balance between memory efficiency and false positive rate. By carefully tuning these parameters, the system achieves compact memory usage while maintaining acceptable reliability for key presence detection.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentEP4421649B1System and method for managing sorted keys in a persistent memory system
Publication Date: 2026.02.11 SAMSUNG ELECTRONICS CO LTD
  • EP4421649B1 patent drawingFigure 1
  • EP4421649B1 patent drawingFigure 2
  • EP4421649B1 patent drawingFigure 3A

AI summary

A system and method for system and method for managing sorted keys in a persistent memory system. In some embodiments, the method includes adding a key to a sorted set of keys. The adding may include: identifying a bin, in a key map, corresponding to the key; and adding the key to a subset of keys associated with the bin, the subset of keys being stored in persistent memory.