SSD Controller Key-Value Pair Retrieval Index Segmentation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Solid-state drives (SSDs) face performance deterioration due to limited DRAM capacity for index management, which is insufficient to accommodate the growing number of key-value pairs, leading to increased latency and reduced performance.

Innovation Solution

Implementing a method where the SSD memory controller uses hash functions to determine if a key is associated with a single value or a group, allowing for efficient retrieval and storage of key-value pairs by utilizing a hybrid table and group keys, and managing small key-value pairs in a non-volatile buffer to reduce DRAM requirements.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If the SSD memory controller maintains an index table in DRAM to enable low latency retrieval of key-value pairs, then retrieval speed is improved, but the limited DRAM capacity cannot accommodate the growing number of KV pairs, leading to performance deterioration

Engineering Contradiction:
Improveretrieval speedVSAvoidDRAM capacity
Core Design Contradiction:
SpeedVSQuantity of substance

Solution Approach 1:

The patent segments the index structure into multiple levels: a small DRAM-resident index and larger storage-resident indexes. The DRAM index contains only critical mapping information for low-latency access, while less frequently accessed index data resides in storage memory, eliminating the need for entirely DRAM-based indexing and enabling support for larger KV pair datasets.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces a hierarchical dimension to the index structure, organizing indexes across multiple levels of memory hierarchy (DRAM and storage memory). This multi-level indexing approach allows the system to scale beyond DRAM capacity constraints while maintaining efficient access paths through the hierarchy.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

2Quantity of substance

If the SSD memory controller uses a large DRAM index to accommodate more key-value pairs, then the number of KV pairs that can be stored is increased, but the latency increases and performance deteriorates

Engineering Contradiction:
Improvenumber of key-value pairsVSAvoidlatency
Core Design Contradiction:
Quantity of substanceVSLoss of time

Solution Approach 1:

The patent segments the index into DRAM-resident and storage-resident portions, where only the essential mapping data resides in DRAM for low-latency access. This segmentation allows the system to support a larger total number of KV pairs while maintaining fast access paths for frequently accessed data through the DRAM component of the index.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent applies local quality by placing different portions of the index in different memory locations based on access frequency and criticality. Hot path index entries reside in DRAM for speed, while colder index data resides in storage memory, optimizing the overall system for both capacity and latency requirements.

Inventive Principle:
Principle #3Local quality

3Loss of time

If the SSD memory controller stores all index information in DRAM to ensure fast access, then access time is reduced, but the device complexity increases due to the need for sophisticated index management

Engineering Contradiction:
Improveaccess timeVSAvoidindex management complexity
Core Design Contradiction:
Loss of timeVSDevice complexity

Solution Approach 1:

The patent segments the index management responsibility between the DRAM controller and storage memory controller, with each managing its own index portion. This segmentation simplifies the control logic compared to managing a monolithic DRAM-based index, as each controller handles only the index data relevant to its memory domain.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS10769064B1Method for retrieving key value pairs and groups of key value pairs
Publication Date: 2020.09.08 PLIOPS LTD
  • US10769064B1 patent drawing
  • US10769064B1 patent drawing
  • US10769064B1 patent drawing

AI summary

A method for accessing a key-value pair stored in a SSD memory, the method may include receiving, by a SSD memory controller, an input key; applying a first hash function on an input key to provide a first address; reading, using the first address, an indicator that indicates whether (a) the input key is associated with a group of key-value pairs or whether (b) the input key is associated only with the key-value pair; retrieving, from the SSD memory, the values of the group associated with the input key, and extracting the value of the key-value pair, when the indicator indicates that the input key is associated with the group; and retrieving, from the SSD memory, a value of a key-value pair, when the indicator indicates that the input key is associated with the key-value pair.