Buffer Data Reuse via Threshold-Based Revalidation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In-memory database systems face challenges in optimizing buffer usage due to limited buffer sizes, requiring careful selection of data to read into or keep in the buffer for efficient operation, and existing solutions do not effectively reuse invalidated data, leading to inefficiencies in memory management.

Innovation Solution

A method is introduced to revalidate and reuse data in memory by determining the amount of data in a second set that will be revalidated, and if below a threshold, the first set is revalidated, or if above, it is copied and rewritten to an active valid portion of the memory, allowing for efficient reuse of invalidated data.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If data is read from slower storage into a buffer in system memory, then access speed is improved, but buffer size limitations restrict the amount of data that can be kept in fast storage

Engineering Contradiction:
Improvedata access speedVSAvoidbuffer capacity
Core Design Contradiction:
SpeedVSQuantity of substance

Solution Approach 1:

The patent recovers and reuses invalidated data in the buffer by determining which invalidated data can be reused for future valid data placements. Instead of simply overwriting invalidated buffer portions, the system identifies reusable invalidated data and selectively preserves or reuses it, thereby recovering valuable buffer space without sacrificing access speed.

Inventive Principle:
Principle #34Discarding and recovering

2Quantity of substance

If buffer size is limited, then system memory cost is reduced, but the ability to store frequently accessed data is compromised

Engineering Contradiction:
Improvememory capacityVSAvoiddata retrieval efficiency
Core Design Contradiction:
Quantity of substanceVSProductivity

Solution Approach 1:

The system recovers invalidated data in the buffer for reuse, effectively increasing the productive capacity of the limited buffer space. By identifying and reusing invalidated data rather than treating it as completely unavailable, the system maximizes the utility of limited buffer capacity while maintaining high data retrieval efficiency through intelligent buffer management.

Inventive Principle:
Principle #34Discarding and recovering

3Ease of operation

If invalidated data is overwritten immediately, then buffer space is freed for new data, but potentially useful data is lost

Engineering Contradiction:
Improvebuffer management simplicityVSAvoiddata reuse opportunity
Core Design Contradiction:
Ease of operationVSLoss of information

Solution Approach 1:

Instead of immediately overwriting invalidated data, the patent implements a recovery mechanism that identifies which invalidated data portions can be reused. The system determines whether to reuse invalidated data by checking if it will be needed for future valid data placements, thereby recovering valuable information while maintaining manageable buffer operations through systematic evaluation of reuse opportunities.

Inventive Principle:
Principle #34Discarding and recovering

4Speed

If more data is kept in the buffer, then access speed is maintained, but the cost of system memory increases

Engineering Contradiction:
Improvedata access speedVSAvoidmemory resource consumption
Core Design Contradiction:
SpeedVSQuantity of substance

Solution Approach 1:

The patent recovers and reuses invalidated data within the existing buffer capacity, effectively increasing the amount of usable data in fast memory without requiring additional physical memory resources. By intelligently identifying and preserving reusable invalidated data, the system maintains high data access speed while avoiding the need to expand buffer size and incur additional memory costs.

Inventive Principle:
Principle #34Discarding and recovering

Data Source

PatentUS10366000B2Re-use of invalidated data in buffers
Publication Date: 2019.07.30 MICROSOFT TECHNOLOGY LICENSING LLC
  • US10366000B2 patent drawing
  • US10366000B2 patent drawing
  • US10366000B2 patent drawing

AI summary

Reusing data in a memory. A method includes determining to revalidate a first set of data stored in a first, invalidated, portion of the memory. An amount of data in a second set of data in the free portion of the memory that will also be revalidated by revalidating the first portion of the memory is determined. As a result, an action to perform is determined and performed. The action includes either revalidating the first portion of the memory if the amount of data in the second set of data is at or below a predetermined threshold or copying the first set of data in the first portion of the memory, and re-writing the first set of data to the active valid portion of the memory, if the amount of data in the second set of data is above the predetermined threshold.