Memory Server Remote Memory Pool Architecture

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The increasing demand for memory in modern servers due to multi-core processors leads to higher costs and size requirements, as well as increased power and cooling needs, making existing memory sharing schemes difficult and costly to implement.

Innovation Solution

A memory-only server that provides a shared pool of memory accessible via a PCIe backplane, allowing multiple compute servers to utilize remote memory, reducing the need for local memory and enabling flexible provisioning, global optimization, and cost savings by using slower, cheaper memory.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If memory modules are collocated with processors on each system board to accommodate increased processing needs, then processing performance is improved, but hardware costs and size requirements increase

Engineering Contradiction:
Improveprocessing performanceVSAvoidmemory quantity
Core Design Contradiction:
ProductivityVSQuantity of substance

Solution Approach 1:

Multiple system boards are merged into a single distributed memory system where memory resources are shared across all processors. The patent creates a unified address space that allows processors on different system boards to access remote memory as if it were local memory, effectively combining memory resources across multiple physical systems.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The memory system provides universal access to all processors in the distributed system. The same memory pool serves multiple functions: local memory for each system board, shared memory for inter-process communication, and expandable storage for capacity-intensive applications. The unified address space allows memory to be allocated dynamically based on application needs rather than fixed per system board.

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

2Productivity

If more memory is provided on each system board to accommodate multi-core processors, then processing capacity is improved, but power consumption and cooling requirements increase

Engineering Contradiction:
Improveprocessing capacityVSAvoidpower consumption
Core Design Contradiction:
ProductivityVSUse of energy by moving object

Solution Approach 1:

Memory resources are extracted from individual system boards and consolidated into a shared distributed memory pool. This extraction allows each system board to use only the memory capacity it needs at any given time, while excess memory resources are available to other system boards. The physical memory modules remain on system boards, but their logical allocation is decoupled from physical location.

Inventive Principle:
Principle #2Taking out (Extraction)

3Adaptability or versatility

If memory sharing schemes are implemented among multiple processors, then memory utilization is improved, but implementation complexity and cost increase

Engineering Contradiction:
Improvememory utilizationVSAvoidimplementation complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent introduces an intermediary layer (the distributed memory controller and unified address space management system) that mediates between processors and physical memory modules. This intermediary handles address translation, memory allocation, and access coordination, shielding processors from the complexity of distributed memory management while providing seamless access to remote memory through the unified address space.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS9575889B2Memory server
Publication Date: 2017.02.21 HEWLETT PACKARD ENTERPRISE DEV LP
  • US9575889B2 patent drawing
  • US9575889B2 patent drawing
  • US9575889B2 patent drawing

AI summary

A memory server providing remote memory for servers independent from the memory server. The memory server includes memory modules and a page table. A memory controller for the memory server allocates memory in the memory modules for each of the servers and manages remote memory accesses for the servers. The page table includes entries identifying the memory module and locations in the memory module storing data for the servers.