Persistent Atomic Objects with Sub-Block Granularity

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

High performance server applications face challenges in persistency and journaling of objects of different sizes due to the atomicity limitations of media like NVRAM, which wastes space and increases recovery time by requiring full block granularity, even for smaller objects.

Innovation Solution

A method that enables persistent atomic objects with sub-block granularity by using a hash-based lock pool to serialize operations and apply cyclic redundancy checks, allowing multiple small objects to be stored safely in a single sector, reducing NVRAM space usage and recovery time.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If full block granularity is used for persistency operations on NVRAM, then atomicity is guaranteed, but storage space is wasted and recovery time increases

Engineering Contradiction:
ImproveatomicityVSAvoidNVRAM space
Core Design Contradiction:
ReliabilityVSLoss of substance

Solution Approach 1:

The patent divides a NVRAM block into multiple sectors, and each sector is further divided into sub-blocks. This segmentation allows multiple small objects to be stored in a single block simultaneously, rather than allocating an entire block to a single small object. The segmentaion principle enables efficient space utilization while maintaining atomicity through sector-level operations.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces a hierarchical structure with blocks containing multiple sectors, and sectors containing multiple sub-blocks. This multi-dimensional organization allows the system to operate at different granularities (block-level for atomicity, sector-level for object storage, sub-block-level for fine-grained management), resolving the contradiction between atomicity requirements and space efficiency.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

2Reliability

If full block granularity is used for persistency operations on NVRAM, then atomicity is guaranteed, but recovery time increases

Engineering Contradiction:
ImproveatomicityVSAvoidrecovery time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

By segmenting blocks into sectors and sub-blocks, the patent enables recovery operations to be performed at the sector level rather than requiring full block recovery. When a failure occurs, only the affected sector needs to be recovered, significantly reducing recovery time while still guaranteeing atomicity through the sector-level journaling mechanism.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent implements journaling at the sector level, where metadata and checksums are预先 stored for each sector. This preliminary action enables rapid verification and recovery of individual sectors without requiring full block reconstruction, thus reducing recovery time while maintaining atomicity guarantees.

Inventive Principle:
Principle #10Preliminary action

3Loss of substance

If multiple small objects are stored in a single sector, then space efficiency improves, but operation complexity increases

Engineering Contradiction:
ImproveNVRAM spaceVSAvoidoperation complexity
Core Design Contradiction:
Loss of substanceVSDevice complexity

Solution Approach 1:

The patent introduces an intermediary indexing structure that maps objects to their locations within sectors. This intermediary layer abstracts the complexity of managing multiple objects per sector, allowing the system to efficiently track and manage objects without requiring complex direct management of sub-block allocations. The index acts as a mediator between the object layer and the physical storage layer.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS11281528B2System and method for persistent atomic objects with sub-block granularity
Publication Date: 2022.03.22 EMC IP HLDG CO LLC
  • US11281528B2 patent drawing
  • US11281528B2 patent drawing
  • US11281528B2 patent drawing

AI summary

A method, computer program product, and computer system for storing, by a computing device, a plurality of objects from a buffer to a sector on persistent storage. Protection may be applied to an object of the plurality of objects. An index may be generated to lock the object in the sector. The object of the plurality of objects may be stored from the buffer to the sector on the persistent storage based upon, at least in part, the index, wherein the sector on the persistent storage may include the plurality of objects.