KV-SSD Append via Virtualization Layer

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Key-Value Solid State Drives (KV-SSDs) lack support for append operations, which are essential for complex applications and do not allow appending values to keys, leading to limitations in data management and storage efficiency.

Innovation Solution

Implementing a Key Value Virtualization (KVV) layer that enables append operations by maintaining an in-memory Least Recently Used (LRU) hash table and using self-balancing binary search trees to manage metadata, allowing each append to be written as a separate key-value pair with a prefixed sequence number, and ensuring durability through metadata prefixing and serialization.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If conventional Read-Modify-Write sequences are used for append operations, then data can be updated, but performance penalties occur due to multiple I/O operations

Engineering Contradiction:
Improveappend operation efficiencyVSAvoidtime for multiple I/O operations
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The patent segments the append operation into atomic write operations with sequence numbers. Each append is written as a separate key-value pair with a prefixed sequence number, allowing the system to track and combine appends without requiring read-modify-write cycles. This segmentation enables parallel processing and eliminates the performance penalty of sequential I/O operations.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent performs preliminary actions by pre-writing append data with sequence numbers directly to the KV-SSD without first reading the existing value. The sequence number prefix allows the system to later retrieve and combine appends in order without requiring intermediate read operations, thus eliminating the time loss associated with conventional read-modify-write sequences.

Inventive Principle:
Principle #10Preliminary action

2Adaptability or versatility

If KV-SSD stores only simple key-value pairs, then storage is efficient, but complex applications cannot append values to keys

Engineering Contradiction:
Improvesupport for append operationsVSAvoiddata structure complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent introduces an intermediary software layer that sits between the application and the KV-SSD. This layer translates high-level append operations into sequences of atomic key-value writes with sequence number prefixes. The intermediary handles the complexity of tracking, retrieving, and combining appends, allowing the underlying KV-SSD to remain simple while providing sophisticated append functionality to applications.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent changes the parameter representation by prefixing sequence numbers to keys and storing metadata about append operations. This parameter transformation allows the simple KV-SSD to represent complex appendable data structures. The sequence number prefix acts as an additional parameter that enables ordering and combination of appends without changing the fundamental key-value storage mechanism.

Inventive Principle:
Principle #35Parameter changes

3Quantity of substance

If maximum object size limits are enforced, then storage management is simplified, but data values exceeding the limit cannot be stored

Engineering Contradiction:
Improvesize of storable data valuesVSAvoidapplication-level management complexity
Core Design Contradiction:
Quantity of substanceVSDevice complexity

Solution Approach 1:

The patent extracts the size limitation constraint from the storage system by implementing append operations that write data in sequential chunks with sequence numbers. Each individual write operation stays within the maximum object size limit, but the extracted limitation is overcome by allowing multiple appends to accumulate. The sequence number mechanism enables the system to track and combine these chunks, effectively removing the practical size limit while maintaining simplified storage management at the device level.

Inventive Principle:
Principle #2Taking out (Extraction)

Data Source

PatentUS11580162B2Key value append
Publication Date: 2023.02.14 SAMSUNG ELECTRONICS CO LTD
  • US11580162B2 patent drawing
  • US11580162B2 patent drawing
  • US11580162B2 patent drawing

AI summary

Software that may be implemented using a circuit is disclosed. The software may include an Application Programming Interface (API) to receive a request from an application relating to a key-value pair for a Key-Value Solid State Drive (KV-SSD). The key-value pair may include a key and a value; the application may be executed by a processor. The software may also include combiner software to combine the key with an index to produce an indexed key, and execution software to execute an operation on the KV-SSD using the indexed key and the value.