Tiered Data Structure Snapshot Management via Sequence Number Logic

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional tiered data structures face limitations in improving the speed, efficiency, and reliability of data storage and retrieval operations, which hinders the performance of devices that rely on these structures.

Innovation Solution

The implementation of a method and system that manages tiered data structures through a memory controller, utilizing a key-map to locate data objects and determining sequence numbers to decide whether to replace or insert new data objects, while maintaining data integrity and efficiency by handling updates and deletions based on snapshot boundaries.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If conventional data structures are used for data storage, then device simplicity is maintained, but data storage and retrieval speed is slow

Engineering Contradiction:
Improvedata storage and retrieval speedVSAvoiddata structure complexity
Core Design Contradiction:
SpeedVSDevice complexity

Solution Approach 1:

The patent implements a tiered data structure that segments data storage into multiple levels (fast tier and slow tier), allowing frequently accessed data to be stored in the fast tier for quick retrieval while less frequently accessed data resides in the slow tier. This segmentation enables the system to achieve high-speed data access for critical operations while maintaining overall storage capacity, thereby resolving the contradiction between speed and complexity.

Inventive Principle:
Principle #1Segmentation

2Productivity

If tiered data structures are implemented to improve data access speed, then data retrieval efficiency increases, but the complexity of data management operations increases

Engineering Contradiction:
Improvedata access efficiencyVSAvoiddata management complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent employs a self-service mechanism where the tiered data structure automatically manages data placement and movement between tiers based on access patterns. The system includes automated algorithms that monitor data access frequency and dynamically relocate data objects between the fast tier and slow tier without requiring manual intervention. This self-service approach maintains high data access efficiency while reducing the operational complexity for users, as the system autonomously optimizes its own structure.

Inventive Principle:
Principle #25Self-service

3Reliability

If data is frequently updated in tiered data structures, then data reliability is improved, but the time required for update operations increases

Engineering Contradiction:
Improvedata integrityVSAvoidupdate operation time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent implements preliminary action by pre-allocating update buffers and preparing data structures in advance for potential updates. When updates are needed, the system can quickly apply changes to data in the fast tier using pre-configured update mechanisms, reducing the actual update time. Additionally, the tiered structure allows updates to be staged in the fast tier before being committed to the slow tier, enabling frequent updates to critical data while maintaining overall data integrity and reducing the time penalty associated with updates.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS9697267B2Methods and systems for performing efficient snapshots in tiered data structures
Publication Date: 2017.07.04 SANDISK TECHNOLOGIES LLC
  • US9697267B2 patent drawing
  • US9697267B2 patent drawing
  • US9697267B2 patent drawing

AI summary

A memory controller detects a request, with a key to a data object and a value, to perform an operation. The memory controller locates the data object by mapping the key to a location of the data object in a tiered data structure and identifies a sequence number of the data object. When the sequence number of the data object is greater than a sequence number of a snapshot of the tiered data structure, the memory controller replaces the data object with a modified data object, including the key and the value, and assigns the modified object a unique sequence number. When the sequence number of the data object is less than the sequence number of the snapshot, the memory controller inserts a new data object, including the key and the value, into the tiered data structure and assigns the new data object the unique sequence number.