MASTERLESS RAID FOR BYTE-ADDRESSABLE NON-VOLATILE MEMORY
First Claim
Patent Images
1. A system comprising:
- a plurality of byte-addressable non-volatile memory (NVM) modules; and
a plurality of media controllers communicatively connected to one another over a memory semantic fabric, each media controller responsible for a corresponding NVM module to which the media controller is attached,wherein the media controllers cooperatively provide redundant array of independent disks (RAID) functionality at a granularity at which the NVM modules are byte-addressable without employing a master RAID controller.
1 Assignment
0 Petitions
Accused Products
Abstract
A system includes byte-addressable non-volatile memory (NVM) modules. The system includes media controllers communicatively connected to one another over a memory semantic fabric. Each media controller is responsible for a corresponding NVM module to which the media controller is attached. The media controllers cooperatively provide redundant array of independent disks (RAID) functionality at a granularity at which the NVM modules are byte-addressable without employing a master RAID controller.
-
Citations
20 Claims
-
1. A system comprising:
-
a plurality of byte-addressable non-volatile memory (NVM) modules; and a plurality of media controllers communicatively connected to one another over a memory semantic fabric, each media controller responsible for a corresponding NVM module to which the media controller is attached, wherein the media controllers cooperatively provide redundant array of independent disks (RAID) functionality at a granularity at which the NVM modules are byte-addressable without employing a master RAID controller. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. A media controller comprising:
-
a non-volatile memory (NVM) controller to attach to a selected byte-addressable NVM module of a plurality of byte-addressable NVMs; a link layer device to communicatively connect to a memory semantic fabric to which other media controllers physically attached to other byte-addressable NVMs of the plurality; and a fabric bridge to provide redundant array of independent disks (RAID) functionality, wherein for a selected memory address assigned to the media controller and for which the RAID functionality is provided by the fabric bridge, the media controller directly receives store operations to write new data stored at the selected memory address over the memory semantic fabric, wherein, when the fabric bridge does not encounter an error for the selected memory address, the fabric bridge retrieves existing data stored at the selected memory address from the NVM module, writes the new data to the NVM module, and sends an exclusive-or (XOR) operation result of the existing data and the new data to the other media controller for the other NVM module storing parity for the existing data, wherein, when the fabric bridge encounters the error, the fabric bridge sends the new data to the other media controller for the other NVM module storing the parity for the existing data. - View Dependent Claims (12, 13, 14)
-
-
15. A media controller comprising:
-
a non-volatile memory (NVM) controller to attach to a selected byte-addressable NVM module of a plurality of byte-addressable NVMs; a link layer device to communicatively connect to a memory semantic fabric to which other media controllers physically attached to other byte-addressable NVMs of the plurality; and a fabric bridge to provide redundant array of independent disks (RAID) functionality, wherein for a selected memory address assigned to the memory controller and for which the RAID functionality is provided by the fabric bridge, the media controller directly receives load operations for data stored at the selected memory address from over the memory semantic fabric, wherein, when the fabric bridge does not encounter a read error for the selected memory address, the fabric bridge retrieves the data from the NVM module and responsively returns the data over the memory semantic fabric, without involving the other media controllers, and wherein, when the fabric bridge encounters the read error, the fabric bridge requests that the other media controller for the other NVM module storing parity for the data reconstruct the data.
-
-
16. A method comprising:
-
receiving from over a memory semantic fabric, by a media controller for a non-volatile memory (NVM) module of a plurality of byte-addressable NVMs including other NVMs, a load operation for data stored at a selected memory address, the media controller cooperatively providing, with other media controllers for the other NVMs, redundant array of independent disks (RAID) functionality at a granularity at which the NVMs are byte-addressable; when the media controller does not encounter a read error for the selected memory address; retrieving, by the media controller, the data from the NVM module; and responsively returning, by the media controller, the data over the memory semantic fabric, without involving the other media controllers; receiving from over the memory semantic fabric, a store operation to write new data at the selected memory address; and when the media controller does not encounter an error for the selected memory address; retrieving, by the media controller, the data from the NVM module; writing, by the media controller, the new data to the NVM module; performing, by the media controller, an exclusive-or (XOR) operation on the data and the new data; and sending, by the media controller, a result of the XOR operation to the other media controller for the other NVM module storing parity for the data. - View Dependent Claims (17, 18, 19, 20)
-
Specification