Peer-to-peer non-volatile random-access memory
First Claim
Patent Images
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.
1 Assignment
0 Petitions
Accused Products
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.
144 Citations
11 Claims
-
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. - View Dependent Claims (2, 3, 4, 5)
-
-
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. - View Dependent Claims (7, 8, 9, 10, 11)
-
Specification