Network Key Value Indexing for SSD Metadata Overhead

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing key-value solid state drives (KV-SSDs) face performance issues due to the lack of efficient indexing systems, which result in high metadata overhead when implementing persistent indexing designs, impacting input/output (IO) performance and making them non-crash tolerant.

Innovation Solution

A network key value (NKV) indexing design is implemented using a hierarchical data structure in volatile memory, where keys are parsed into prefixes, buckets, and keys based on delimiters, allowing for the generation of a hash table that is crash tolerant and rebuildable without additional metadata, thereby maintaining IO performance.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of operation

If a persistent NKV indexing design is implemented in persistent memory, then indexing capability is improved, but metadata overhead increases impacting IO performance

Engineering Contradiction:
Improveindexing capabilityVSAvoidmetadata overhead
Core Design Contradiction:
Ease of operationVSQuantity of substance

Solution Approach 1:

The patent extracts the indexing structure from persistent memory and places it entirely in volatile memory. The hierarchical data structure (prefix trees, hash tables) is built and maintained only in volatile memory during runtime, while persistent storage contains only the essential key-value data without indexing metadata. This extraction eliminates the metadata overhead problem while maintaining indexing capability during operation.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The indexing structures are treated as temporary, disposable objects that exist only in volatile memory during system operation. Upon system crash or shutdown, these indexing structures are discarded and automatically rebuilt from the key-value data on persistent storage using the O(N) listing algorithm. This approach accepts the temporary loss of indexing during recovery but eliminates the permanent metadata overhead burden.

Inventive Principle:
Principle #27Cheap short-living objects (Disposable)

2Ease of operation

If a persistent NKV indexing design is implemented, then indexing functionality is improved, but system crash tolerance deteriorates

Engineering Contradiction:
Improveindexing functionalityVSAvoidsystem crash tolerance
Core Design Contradiction:
Ease of operationVSReliability

Solution Approach 1:

The system performs preliminary actions by maintaining the hierarchical indexing structure in volatile memory during normal operation, enabling fast lookups. Upon crash, the system relies on the fact that the underlying key-value data remains intact on persistent storage and can be used to rebuild the indexing structure. The O(N) listing algorithm provides a preliminary mechanism to efficiently reconstruct indexes without requiring complex checkpointing or journaling mechanisms.

Inventive Principle:
Principle #10Preliminary action

3Productivity

If indexing is implemented in volatile memory, then IO performance is maintained, but crash tolerance must be rebuilt upon startup

Engineering Contradiction:
ImproveIO performanceVSAvoidrebuild time upon startup
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The patent changes the operational parameters of the indexing system by accepting O(N) rebuild complexity as a temporary startup cost in exchange for maintaining optimal IO performance during normal operation. The system parameters are configured to build the hierarchical structure in volatile memory with fast access characteristics, and the rebuild process leverages the O(N) listing algorithm to efficiently reconstruct indexes after crashes. This parameter change accepts intermittent rebuild time loss but maintains consistently high IO performance during operational periods.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS20230342395A1Network key value indexing design
Publication Date: 2023.10.26 SAMSUNG ELECTRONICS CO LTD
  • US20230342395A1 patent drawing
  • US20230342395A1 patent drawing
  • US20230342395A1 patent drawing

AI summary

Provided is a method of indexing in a network key value indexing system. The method includes retrieving a first key name from a storage device of the network key value indexing system, the first key name identifying a first prefix, a first bucket, and a first key, the first prefix indicating the first bucket, parsing the first key name into the first prefix, the first bucket, and the first key, determining the first prefix, the first bucket, and the first key based on a first delimiter, and generating a hash table in a memory cache of the network key value indexing system to associate the first prefix with the first key.