IP Library Granted Patent US 9,575,889
Granted Patent B2
US 9,575,889 · App. 12/993,926 · Granted Feb 21, 2017

Memory server

Inventors: Jichuan Chang (Mountain View, CA); Parthasarathy Ranganathan (Fremont, CA); Kevin T. Lim (Ann Arbor, MI)
Assignee: Hewlett Packard Enterprise Development LP
G06F12/0284G06F12/1009G06F2212/657Y02B60/1225
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 9,575,889
App. No.
12/993,926
Filed
Nov 22, 2010
Granted
Feb 21, 2017
Kind
B2
Examiner
LI, ZHUO H
Art Unit
2133
USPC
711/103
Abstract

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.

Claims (6)

1. A system comprising:

a plurality of servers, each including at least one central processing unit (CPU) and local memory;

a memory server remotely located from the plurality of servers and including a pool of remote memory shared by the plurality of servers across a connection, wherein each of the plurality of servers are independent from each other and the memory server;

a remote memory controller, wherein the remote memory controller is to determine an amount of the remote memory from the pool of the remote memory to allocate to each server of the plurality of servers based on a total number of the plurality of servers and a total amount of the remote memory in the pool, and the remote memory controller is to allocate for each of the plurality of servers the determined amount of the remote memory, wherein a physical address space for an operating system (OS) running on each of the plurality of servers includes an aggregation of its allocated remote memory and its local memory, each OS running on each of the plurality of servers is configured to identify which physical addresses correspond to the remote memory in the memory server, and each OS is configured to make decisions on whether to store data in the local or the remote memory based on at least one factor including latency for remote memory accesses, wherein the sharing of the remote memory in the pool is at least governed by address translation at the remote memory controller and is transparent to the OSs; and

a local switch for each of the servers providing an interface to the remote memory via the connection, wherein the local switch is configured to implement a critical block first (CBF) policy, wherein critical blocks for a remote memory request are provided to a CPU as retrieved while other pages for the request are still being retrieved.

2. The system of claim 1 , wherein a block presence vector is updated to indicate which blocks have arrived and are operable to be used by the CPU, and the arrived blocks are cacheable in a processor cache.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 9, 2015
From: HEWLETT-PACKARD DEVELOPMENT COMPANY, L.P.
To: HEWLETT PACKARD ENTERPRISE DEVELOPMENT LP
Reel/Frame 037079/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 22, 2010
From: CHANG, JICHUAN; RANGANATHAN, PARTHASARATHY; LIM, KEVIN T.
To: HEWLETT-PACKARD DEVELOPMENT COMPANY, L.P.
Reel/Frame 025390/0962 →
Continuity (1)
Related Publication 20110072204A1 · Mar 24, 2011