IP Library Granted Patent US 11,611,617
Granted Patent B2
US 11,611,617 · App. 16/903,182 · Granted Mar 21, 2023

Distributed data store with persistent memory

Inventors: Yiying Zhang (San Diego, CA); Shin-Yeh Tsai (Menlo Park, CA)
Assignee: Purdue Research Foundation
H04L67/1097G06F3/065G06F3/067G06F3/0635G06F3/0638G06F15/17331
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 11,611,617
App. No.
16/903,182
Granted
Mar 21, 2023
Kind
B2
Abstract

A method to build a persistent memory (PM)-based data storage system without involving a processor (CPU) at storage nodes is disclosed which includes storing data in one or more storage nodes that only include PM and no CPUs, with data stored in PM in form of link lists, accessing data stored in the one or more storage nodes' PM directly by remote compute nodes through a network, maintaining metadata associated with the data by one or more global controllers (metadata servers), upon request by a user to read or write data, the compute nodes contacting the one or more metadata servers to obtain location of data of interest in form of pointers (shortcuts), and the compute nodes sending network requests directly to the one or more storage nodes' PM to locate latest version of data by tracing the link list from the associated shortcut to corresponding tails.

Claims (23)

1. A method to build a persistent memory (PM)-based data storage system without involving a processor (CPU) at storage nodes, comprising:

storing data in one or more storage nodes that only include PM and no CPUs, with data stored in PM identified by linked-lists;

maintaining the linked-lists on a central metadata server describing locations of the data in the one or more storage nodes;

upon request by a user to read or write data, two or more remote compute nodes contacting the central metadata server;

obtaining shortcuts maintained on the central metadata server associated with the linked-lists associated with a data of interest;

identifying locations of the data of interest to be read from or written to in the one or more storage nodes from the obtained shortcuts;

identifying latest version of the data of interest by tracing the linked-list from the associated shortcut to corresponding tails; and

accessing data stored in the one or more storage nodes' PM directly by the two or more remote compute nodes through a network.

2. The method of claim 1 , wherein for reading further comprising:

transferring data from the latest version of the data of interest in the one or more storage nodes to the two or more remote compute nodes.

3. The method of claim 2 , for writing further comprising:

selecting a new space in the one or more storage nodes' PM by the central metadata server,

writing the desired data to the new space,

extending the linked-list by linking the new space to the tail of the linked-list,

setting the shortcut to the address of the new space, and

updating the central metadata serve with the address of the new space.

4. The method of claim 1 , further comprising:

retiring data held in PM locations associated with older data by adding PM locations associated with the older data to a data structure that contains available locations for the linked-lists at the central metadata server.

5. The method of claim 1 , further comprising a replication method to replicate data during the write operation to ensure correctness and accessibility of the user data when a storage node fails, the replication method comprising:

temporarily setting a flag associated with the write operation;

generating one or more replica of the desired data by writing the desired data into one or more storage nodes' PM, each hosting one copy of the data in a new PM space;

each storage node linking its new PM space to the end of its associated link; and

once the desired data has been written and linked in all storage nodes that store a copy of the data, resetting the flag.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 14, 2023
From: ZHANG, YIYING; TSAI, SHIN-YEH
To: PURDUE RESEARCH FOUNDATION
Reel/Frame 062689/0244 →
CONFIRMATORY LICENSE Recorded Jul 23, 2020
From: PURDUE UNIVERSITY
To: NATIONAL SCIENCE FOUNDATION
Reel/Frame 053302/0435 →
Continuity (2)
Provisional Application 62862089 · Jun 16, 2019
Related Publication 20200396288A1 · Dec 17, 2020