Key-Value SSD Data Protection for Variable-Size Objects

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Traditional solid state drives (SSDs) face challenges in providing data reliability for variable-sized objects while maintaining space efficiency and fast access times, as they typically rely on block interfaces and methods like RAID or replication, which are not optimized for variable object sizes.

Innovation Solution

A hybrid approach combining replication and erasure coding is applied to key value SSDs, where data protection is determined based on object size, using erasure coding for large objects and replication for small objects, with the option to switch between methods for medium objects based on performance metrics, and employing a stateless virtual device layer to manage storage without additional overhead.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If replication is used for data protection in key value SSDs, then reliability is improved, but space efficiency deteriorates

Engineering Contradiction:
Improvedata reliabilityVSAvoidspace efficiency
Core Design Contradiction:
ReliabilityVSQuantity of substance

Solution Approach 1:

The patent changes the data protection parameter from fixed replication to variable erasure coding based on object size. Small objects use replication while large objects use erasure coding, optimizing the balance between reliability and space efficiency for different object sizes.

Inventive Principle:
Principle #35Parameter changes

Solution Approach 2:

Different data protection methods are applied to different parts of the storage system based on object size characteristics. Small objects receive replication protection while large objects receive erasure coding protection, creating localized optimization throughout the storage system.

Inventive Principle:
Principle #3Local quality

2Quantity of substance

If erasure coding is used for data protection, then space efficiency is improved, but reliability deteriorates

Engineering Contradiction:
Improvespace efficiencyVSAvoiddata reliability
Core Design Contradiction:
Quantity of substanceVSReliability

Solution Approach 1:

The system changes the data protection parameter from fixed erasure coding to variable selection between replication and erasure coding based on object size. This ensures that erasure coding is only used where it provides space efficiency benefits without compromising reliability.

Inventive Principle:
Principle #35Parameter changes

Solution Approach 2:

Erasure coding is applied locally to large objects where space efficiency is the primary concern, while replication is applied to small objects where reliability is more critical, creating localized optimization throughout the storage system.

Inventive Principle:
Principle #3Local quality

3Reliability

If read-modify-write operations are performed for updates, then data integrity is improved, but access time deteriorates

Engineering Contradiction:
Improvedata integrityVSAvoidaccess time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent extracts the read-modify-write operation from the update process by implementing append-only semantics. Updates are performed by appending new versions of objects rather than modifying existing ones, eliminating the need for read-modify-write cycles and reducing access time.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The system prepares for updates by pre-allocating space and using append-only semantics, so that write operations can proceed without reading existing data first. This preliminary preparation eliminates the read-modify-write bottleneck and improves access time.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS11288119B2Key value SSD
Publication Date: 2022.03.29 SAMSUNG ELECTRONICS CO LTD
  • US11288119B2 patent drawing
  • US11288119B2 patent drawing
  • US11288119B2 patent drawing

AI summary

A storage device includes: a plurality of memory devices configured as a virtual device utilizing stateless data protection; and a virtual device layer configured to manage the virtual device to store objects by applying a first data protection to some of the objects and a second data protection to other ones of the objects depending on respective sizes of the objects.