Memory Controller Checkpoint Tree Management

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Software-level management of checkpoints in storage systems is inefficient, particularly in managing checkpoint trees and handling key-value pairs across multiple checkpoints.

Innovation Solution

A memory controller is implemented with a checkpoint tree structure comprising reference and active nodes, where reference nodes hold snapshots of parent checkpoints and active nodes store changes, enabling efficient management and access of key-value pairs across checkpoints.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of operation

If software-level management is used for checkpoints, then flexibility and control are improved, but management efficiency deteriorates

Engineering Contradiction:
Improvecheckpoint management flexibilityVSAvoidcheckpoint management efficiency
Core Design Contradiction:
Ease of operationVSProductivity

Solution Approach 1:

The patent replaces software-level checkpoint management with hardware-level management using a memory controller. The memory controller includes a checkpoint manager circuit that directly manages checkpoint trees in the memory device, substituting the mechanical/software approach with an electronic/hardware approach. This is achieved by integrating checkpoint management functionality into the memory controller's control circuit, which can directly manipulate memory addresses and data without requiring software intervention.

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

2Reliability

If traditional software management handles multiple checkpoints, then comprehensive control is achieved, but access time and performance deteriorate

Engineering Contradiction:
Improvecheckpoint control completenessVSAvoidcheckpoint access time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent implements preliminary action by pre-organizing checkpoint data into a checkpoint tree structure within the memory device itself. The checkpoint tree includes reference nodes and active nodes that are pre-configured with metadata indicating their relationships. When a checkpoint access request occurs, the memory controller can directly navigate this pre-organized structure using metadata pointers, eliminating the need for software to search or reconstruct checkpoint information during access operations.

Inventive Principle:
Principle #10Preliminary action

3Loss of information

If software manages checkpoint metadata, then full visibility is maintained, but processing overhead increases

Engineering Contradiction:
Improvemetadata visibilityVSAvoidmetadata processing overhead
Core Design Contradiction:
Loss of informationVSUse of energy by moving object

Solution Approach 1:

The patent implements self-service by enabling the memory controller's checkpoint manager to autonomously manage checkpoint metadata without software intervention. The checkpoint manager circuit directly reads and writes metadata in the memory device, maintains the checkpoint tree structure, and handles recovery operations independently. This self-service capability at the hardware level eliminates the processing overhead associated with software metadata management while maintaining complete visibility of checkpoint information.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS12079209B1Checkpoints management by a memory controller
Publication Date: 2024.09.03 PLIOPS LTD
  • US12079209B1 patent drawing
  • US12079209B1 patent drawing
  • US12079209B1 patent drawing

AI summary

A method for managing multiple checkpoints stored in a memory unit, the method may include (a) managing a checkpoint tree, by a memory controller; the checkpoint tree comprises reference nodes and active nodes; wherein a reference node of the reference nodes holds a snapshot of a parent checkpoint taken at the time that a child checkpoint was created from the parent checkpoint; wherein an active node of the active nodes that is associated with the parent node stores changes to the parent checkpoint introduced after a creation of the active node; and wherein the parent checkpoint and the child checkpoint belong to multiple checkpoints stored in the checkpoint tree; (b) receiving access requests to access key value (KV) pairs of one or more checkpoints of the multiple checkpoints; and (c) responding to the access requests based, at least in part, on the checkpoint tree.