Peer RAID Control Among Peer Data Storage Devices
AssigneeWestern Digital Technologies, Inc.
InventorsJudah Gamliel Hahn, Ramanathan Muthiah
Life of this patent
Estimating the term…
Abstract
Example storage systems, data storage devices, and methods provide redundant array of independent disk (RAID) control among peer storage devices. A master storage device among peer storage devices receives host commands and determines, based on a peer RAID configuration, data blocks for redundantly storing the host data unit among the peer storage devices. The master storage device allocates the data blocks among the peer storage devices and sends them to the peer storage devices using a peer communication channel.
Claims20
A storage device comprising:
- one or more processors;
- a memory;
- a non-volatile storage medium;
- an interface configured to communicate with a plurality of peer storage devices over a peer communication channel;
- and
- a peer redundant array of independent disks (RAID) controller, stored in the memory for execution by the one or more processors, alone or in combination, configured to:
- receive, from a host system, a host storage command for a data unit;
- determine, based on a peer RAID configuration, a plurality of data blocks for redundantly storing the data unit among the plurality of peer storage devices;
- allocate, based on the peer RAID configuration, the plurality of data blocks to target peer storage devices among the plurality of peer storage devices;
- determine a plurality of peer storage commands for writing the plurality of data blocks to the target peer storage devices;
- write the plurality of peer storage commands to corresponding peer command queues in remotely addressable memories of the target peer storage devices;
- and
- send, through the peer communication channel, the plurality of data blocks to the target peer storage devices.
A computer-implemented method comprising:
- establishing, among a plurality of peer storage devices, a peer communication channel;
- receiving, by a first peer storage device and from a host system, a host storage command for a data unit;
- determining, by the first peer storage device and based on a peer redundant array of independent disks (RAID) configuration, a plurality of data blocks for redundantly storing the data unit among the plurality of peer storage devices;
- allocating, by the first peer storage device and based on the peer RAID configuration, the plurality of data blocks to target peer storage devices among the plurality of peer storage devices;
- determining, by the first peer storage device, a plurality of peer storage commands for writing the plurality of data blocks to the target peer storage devices;
- writing, by the first peer storage device, the plurality of peer storage commands to corresponding peer command queues in remotely addressable memories of the target peer storage devices;
- and
- sending, by the first peer storage device and through the peer communication channel, the plurality of data blocks to the target peer storage devices.
A storage system comprising:
- a plurality of peer storage devices, wherein a first peer storage device of the plurality of peer storage devices comprises:
- a non-volatile storage medium;
- means for establishing, among a plurality of peer storage devices, a peer communication channel;
- means for receiving, by a first peer storage device and from a host system, a host storage command for a data unit;
- means for determining, by the first peer storage device and based on a peer RAID configuration, a plurality of data blocks for redundantly storing the data unit among the plurality of peer storage devices;
- means for allocating, by the first peer storage device and based on the peer RAID configuration, the plurality of data blocks to target peer storage devices among the plurality of peer storage devices;
- means for determining, by the first peer storage device, a plurality of peer storage commands for writing the plurality of data blocks to the target peer storage devices;
- means for writing, by the first peer storage device, the plurality of peer storage commands to corresponding peer command queues in remotely addressable memories of the target peer storage devices;
- and
- means for sending, by the first peer storage device and through the peer communication channel, the plurality of data blocks to the target peer storage devices.
Dependencies are inferred from the claim text.