IP Library › Granted Patent US 10,613,974
Granted Patent B2
US 10,613,974 · App. 15/582,381 · Granted Apr 7, 2020

Peer-to-peer non-volatile random-access memory

Inventors: Roland Dreier (Mountain View, CA); Ronald Karr (Palo Alto, CA); Peter E. Kirkpatrick (Mountain View, CA)
Assignee: PURE STORAGE, INC.
G06F12/0246G06F3/061G06F3/067G06F3/0656G06F3/0688G06F3/0689H04L67/104H04L67/1095H04L67/1097G06F1/30G06F3/0659G06F2212/1024G06F2212/7201
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 10,613,974
App. No.
15/582,381
Granted
Apr 7, 2020
Kind
B2
Abstract

A system may include embedded storage devices, each including an addressable non-volatile random-access memory (NVRAM) portion and storage system controllers operatively coupled to the embedded storage devices via a full-duplex switched network. The storage system controllers may be configured to instruct a first embedded storage device of the plurality of embedded storage devices to: receive first data to be stored in a first NVRAM portion of the embedded storage device, store the first data in the first NVRAM portion of the first embedded storage device, and send second data to a second NVRAM portion of a second embedded storage device directly via the full-duplex switched network.

Claims (29)

1. A storage system comprising:

a plurality of embedded storage devices each comprising an addressable non-volatile random-access memory (NVRAM) portion; and

a plurality of storage system controllers, operatively coupled to the plurality of embedded storage devices via a full-duplex switched network, the plurality of storage system controllers to instruct a first embedded storage device of the plurality of embedded storage devices to:

receive first data to be stored in a first NVRAM portion of the first embedded storage device;

store the first data in the first NVRAM portion of the first embedded storage device;

send second data, associated with the first data, to a second NVRAM portion of a second embedded storage device of the plurality of embedded storage devices directly via the full-duplex switched network, wherein the first NVRAM portion and the second NVRAM portion are direct-mapped and separately addressable;

receive third data to be stored in the first NVRAM portion of the embedded storage device;

calculate an erasure code corresponding to the third data;

store a first portion of the erasure code in the first NVRAM portion of the first embedded storage device; and

send a second portion of the erasure code to the second NVRAM portion of a second embedded storage device of the plurality of embedded storage devices directly via the full-duplex switched network.

2. The storage system of claim 1 , wherein the second data is a copy of the first data.

3. The storage system of claim 1 , wherein the first data is a first portion of an erasure code corresponding to third data and wherein the second data is a second portion of the erasure code corresponding to the third data.

4. The storage system of claim 1 , wherein the plurality of storage system controllers are further to instruct the second embedded storage device to: send, in response to storing the second data in the second NVRAM portion of the second embedded storage device, an indication that the second data was stored in the second NVRAM portion of the second embedded storage device directly to the plurality of storage system controllers.

5. The storage system of claim 1 , wherein the NVRAM portion comprises a random-access memory (RAM) device, a processing device, and a capacitor, the plurality of storage system controllers to instruct a first embedded storage device of the plurality of embedded storage devices to:

detect a power failure associated with the first embedded storage device; and

in response to detecting the power failure, copy the first data stored in the first NVRAM portion to a local flash storage portion of the first embedded storage device using electricity from the capacitor.

6. A method comprising:

receiving, by a processing device of a first storage device, from a second storage device, first data to be stored in a first non-volatile random-access memory (NVRAM) portion of the first storage device;

storing, by the processing device, the first data in the first NVRAM portion of the first storage device;

sending, by the processing device, second data, associated with the first data, to a second NVRAM portion of a second storage device directly via a communication network;

receiving third data to be stored in the first NVRAM portion of the first storage device;

calculating an erasure code corresponding to the third data;

storing a first portion of the erasure code in the first NVRAM portion of the first storage device; and

sending a second portion of the erasure code to the second NVRAM portion of a second storage device directly via the communication network.

7. The method of claim 6 , wherein the second data is a copy of the first data.

8. The method of claim 7 , wherein the communication network is one of: a full-duplex switched network, a mesh network, a cross-connect, or direct point-to-point interconnection.

9. The method of claim 6 , wherein the first data is a first portion of an erasure code corresponding to third data and wherein the second data is a second portion of the erasure code corresponding to the third data.

10. The method of claim 6 , further comprising: sending, in response to storing the first data in the first NVRAM portion of the first storage device, an indication that the first data was stored in the first NVRAM portion of the first storage device directly to a storage controller associated with the second storage device.

11. The method of claim 6 , wherein the first NVRAM portion comprises a random-access memory (RAM) device, a processing device, and a capacitor.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 28, 2017
From: DREIER, ROLAND; KARR, RONALD; KIRKPATRICK, PETER E.
To: PURE STORAGE, INC.
Reel/Frame 042187/0053 →
Continuity (2)
Provisional Application 62403899 · Oct 4, 2016
Related Publication 20180095871A1 · Apr 5, 2018
Cited By (5)
US 12,204,403 US 12,242,337 US 12,346,561 US 12,405,857 US 12,417,176