Key-Value Storage Snapshot Management via Controller Mapping

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current key-value storage devices lack an efficient mechanism for managing snapshots, which are essential for data integrity and recovery, particularly in preventing data loss due to malicious actions or errors, and existing solutions often require significant overhead in managing snapshot entries.

Innovation Solution

A key-value storage device with a non-volatile memory and a controller that generates and manages snapshot entries, including snapshot IDs, keys, and physical addresses, allowing for autonomous snapshot functionality, reducing the need for host-managed snapshot entries and enabling efficient data recovery by maintaining data structures at specific moments.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of operation

If the storage device autonomously manages snapshot entries, then the overhead for managing snapshots is reduced, but the device complexity increases

Engineering Contradiction:
Improveoverhead for managing snapshot entriesVSAvoiddevice complexity
Core Design Contradiction:
Ease of operationVSDevice complexity

Solution Approach 1:

The storage device autonomously generates snapshot entries and manages snapshot data without requiring host intervention. The controller automatically creates snapshot entries when receiving write commands with snapshot IDs, and independently handles read operations by searching the mapping table for corresponding snapshot data, eliminating the need for host-managed snapshot entry structures

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The patent introduces a mapping table as an intermediary data structure that stores snapshot entries linking snapshot IDs to physical data addresses. This mapping table acts as a mediator between the host's snapshot requests and the actual data storage, enabling autonomous snapshot management while maintaining a clear separation between the host interface and internal storage operations

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If multiple snapshot entries are stored for the same key, then data recovery capability is improved, but the quantity of stored information increases

Engineering Contradiction:
Improvedata recovery capabilityVSAvoidquantity of snapshot entries
Core Design Contradiction:
ReliabilityVSQuantity of substance

Solution Approach 1:

The patent segments snapshot management by creating individual snapshot entries for each snapshot ID associated with a key. Each snapshot entry is an independent record containing the snapshot ID, key, and physical address, allowing multiple snapshots of the same key to be stored as separate, manageable units in the mapping table rather than as a monolithic structure

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system performs preliminary actions by pre-allocating and storing snapshot entries in the mapping table before data loss occurs. When a write command with a snapshot ID is received, the snapshot entry is immediately created and stored, establishing a recovery point in advance. This allows rapid data restoration by simply retrieving the pre-stored snapshot entry without requiring complex reconstruction processes

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS10891074B2Key-value storage device supporting snapshot function and operating method thereof
Publication Date: 2021.01.12 SAMSUNG ELECTRONICS CO LTD
  • US10891074B2 patent drawing
  • US10891074B2 patent drawing
  • US10891074B2 patent drawing

AI summary

A method of operating a key-value storage device includes a key-value storage device receiving from a host a first command including a first key, a first value, and a first snapshot identification (ID), the key-value storage device generating a first snapshot entry including the first snapshot ID, the first key, and a first physical address in a non-volatile memory device at which the first value is written, in response to the received first command, receiving from the host a second command including the first key, a second value, and a second snapshot ID, and in response to the received second command, the key-value storage device generating a second snapshot entry including the second snapshot ID, the first key, and a second physical address in the non-volatile memory device at which the second value is written.