Shared Memory Chunk Allocation for Database Cache Management

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current database server systems face inefficiencies in managing shared memory, which is used as a cache to improve data management efficiency, as existing techniques lack effective methods to allocate and manage memory chunks for diverse data life cycles and varying database operations.

Innovation Solution

A database server architecture that includes a shared memory manager dividing memory into chunks and allocating them to multiple cache memory managers, each with distinct purposes based on data life cycles, to optimize cache memory usage and manage memory efficiently.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If shared memory is used as a cache memory for database operations, then data management efficiency is improved, but memory allocation inefficiency occurs when managing diverse data life cycles

Engineering Contradiction:
Improvedata management efficiencyVSAvoidmemory allocation complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The shared memory is divided into multiple memory chunks, each allocated to different cache memory managers based on data life cycle characteristics. This segmentation allows efficient management of diverse data types while maintaining overall system productivity.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

Different memory chunks are allocated to cache memory managers with specific purposes (e.g., frequent access data, less frequent access data). Each cache memory manager optimizes its allocated memory for its specific data access patterns, improving overall memory allocation efficiency.

Inventive Principle:
Principle #3Local quality

2Speed

If data is stored in cache memory for later use, then data access speed is improved, but memory waste occurs when data is stored without deletion

Engineering Contradiction:
Improvedata access speedVSAvoidmemory waste
Core Design Contradiction:
SpeedVSLoss of substance

Solution Approach 1:

The system implements automatic deletion of data from cache memory when it is no longer needed. The shared memory manager monitors data usage patterns and deallocates memory chunks when data falls out of the active data set, preventing memory waste while maintaining fast access for active data.

Inventive Principle:
Principle #34Discarding and recovering

Solution Approach 2:

The cache memory allocation is dynamic rather than static. Memory chunks are allocated and deallocated based on real-time data access patterns and life cycle stages, allowing the system to adapt to changing data requirements and avoid both memory waste and access delays.

Inventive Principle:
Principle #15Dynamics

3Productivity

If shared memory is divided into memory chunks for management, then memory allocation efficiency is improved, but system complexity increases

Engineering Contradiction:
Improvememory allocation efficiencyVSAvoidsystem complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The shared memory manager performs multiple functions: dividing memory into chunks, allocating chunks to cache memory managers, monitoring data life cycles, and deallocating memory. This multi-functionality consolidates complexity into a single manager rather than requiring separate mechanisms for each function.

Inventive Principle:
Principle #6Universality (Multi-functionality)

Solution Approach 2:

The shared memory manager acts as an intermediary between the database server and cache memory managers. It handles the complexity of memory management internally while presenting a simplified interface to cache memory managers, reducing the perceived system complexity.

Inventive Principle:
Principle #24Intermediary (Mediator)

4Manufacturing precision

If multiple cache memory managers are used for different purposes, then data management precision is improved, but memory management complexity increases

Engineering Contradiction:
Improvedata management precisionVSAvoidmemory management complexity
Core Design Contradiction:
Manufacturing precisionVSDevice complexity

Solution Approach 1:

The system segments cache memory management into multiple specialized managers, each handling specific data life cycle stages or access patterns. This segmentation improves data management precision by matching memory characteristics to data requirements while the shared memory manager coordinates allocation to prevent conflicts.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS9652393B1Managing shared memory in database server
Publication Date: 2017.05.16 TMAXTIBERO CO LTD
  • US9652393B1 patent drawing
  • US9652393B1 patent drawing
  • US9652393B1 patent drawing

AI summary

Provided is a method for managing a shared memory in a database server. The database server includes a shared memory manager which divides a shared memory into a plurality of memory chunks to manage the memory chunks and allocates at least one memory chunk to a cache memory manager based on a request of the cache memory manager; a cache memory manager which requests at least one of the plurality of memory chunks to the shared memory manager, wherein the database server includes a plurality of cache memory managers and the database server uses the memory chunk which is allocated to the cache memory manager as a cache memory having a predetermined purpose, and the predetermined purposes of the plurality of cache memory managers are different from each other; and a main processor which performs a database operation using the cache memory.