Key-Value Store for Continuous Data Protection

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current continuous data protection (CDP) systems are complex and lack efficient primary storage solutions that can provide fine-granularity access to data at any point in time, especially when using block storage devices, which are difficult to scale out.

Innovation Solution

Implementing ultrafast key-value stores as primary storage systems that expose block device protocols on the host side, leveraging key-value stores for deduplication and any point in time access, using data structures like history maps and data maps with B-Trees for efficient data management and retrieval.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If block storage devices are used for key-value stores, then data protection and retrieval are enabled, but scaling out becomes much more complex

Engineering Contradiction:
Improvescaling capabilityVSAvoidsystem complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent segments the key-value store into independent key-value pairs that can be distributed across multiple storage nodes. Each node maintains a portion of the key-value data, enabling horizontal scaling without complex inter-node dependencies. This segmentation allows the system to scale out by simply adding more nodes to the distributed key-value store.

Inventive Principle:
Principle #1Segmentation

2Ease of operation

If traditional CDP systems are implemented, then any point in time access is provided, but the system becomes relatively complex with limited implementations

Engineering Contradiction:
Improvesystem simplicityVSAvoidsystem complexity
Core Design Contradiction:
Ease of operationVSDevice complexity

Solution Approach 1:

The patent introduces a key-value store as an intermediary layer between the host and the underlying storage system. This key-value store simplifies CDP operations by providing a straightforward interface for storing and retrieving data at any point in time, eliminating the need for complex traditional CDP mechanisms while maintaining full functionality.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Speed

If key-value stores are implemented over block storage, then data storage and retrieval are enabled, but performance comparable to block devices is not achieved

Engineering Contradiction:
Improvestorage performanceVSAvoidstorage architecture complexity
Core Design Contradiction:
SpeedVSDevice complexity

Solution Approach 1:

The patent makes the key-value store universal by enabling it to perform both traditional block storage functions and key-value store operations through a unified architecture. The system can expose block device protocols on the host side while leveraging key-value store semantics internally, achieving block-device-like performance without sacrificing key-value store scalability and simplicity.

Inventive Principle:
Principle #6Universality (Multi-functionality)

Data Source

PatentUS11086837B2Fast key-value storage for continuous data protection systems
Publication Date: 2021.08.10 EMC IP HLDG CO LLC
  • US11086837B2 patent drawing
  • US11086837B2 patent drawing
  • US11086837B2 patent drawing

AI summary

Embodiments for providing memory for continuous data protection in a data storage system by storing a first key-value map as a data structure wherein the key is an address of a volume and the value comprises timestamp and hash value pairs for each time the address had data written thereto, and corresponding hash values of the written data, and storing a second key-value map as a data structure wherein the key comprises the hash value and the value comprises the written data. The first key-value map and second key-value map are implemented as a driver component in a server computer of the data storage system. The driver exposes a block device protocol on the server computer and leverages the key-value data structures for use with a deduplication storage system.