Abstract: Distributed journaling for write operations to RAID systems is disclosed, including: receiving a new write operation to a plurality of storage devices associated with a redundant array of independent disks (RAID) group, wherein the plurality of storage devices comprises a main data storage and a non-volatile journal storage; writing a record of the new write operation to the non-volatile journal storage; after the record of the new write operation is written to the non-volatile journal storage, writing new data associated with the new write operation to the main data storage; and after the new data associated with the new write operation is written to the main data storage, invalidating the record of the new write operation in the non-volatile journal storage, wherein upon restarting the plurality of storage devices associated with the RAID group, the non-volatile journal storage is checked and valid records of one or more write operations included in the non-volatile journal storage are written to the main d
Abstract: Direct memory access data path for RAID storage is disclosed, including: receiving, at a Redundant Array of Independent Disks (RAID) controller, a request to write data to be distributed among a plurality of storage devices; computing parity information based at least in part on the data associated with the request; causing the parity information to be stored on a first subset of the plurality of storage devices; and causing the data associated with the request to be stored on a second subset of the plurality of storage devices, wherein the plurality of storage devices is configured to obtain the data associated with the request directly from a memory that is remote to the RAID controller, and wherein the data associated with the request does not pass through the RAID controller.
Abstract: Direct memory access data path for RAID storage is disclosed, including: receiving, at a Redundant Array of Independent Disks (RAID) controller, a request to write data to be distributed among a plurality of storage devices; computing parity information based at least in part on the data associated with the request; causing the parity information to be stored on a first subset of the plurality of storage devices; and causing the data associated with the request to be stored on a second subset of the plurality of storage devices, wherein the plurality of storage devices is configured to obtain the data associated with the request directly from a memory that is remote to the RAID controller, and wherein the data associated with the request does not pass through the RAID controller.
Abstract: A data transmission and protection system includes a plurality of solid-state drives (SSDs), a storage medium, a central processing unit (CPU) and a massively parallel processor (MPP). The storage medium storing an application program and a redundant array of independent disks (RAID) configuration. The CPU is coupled to the storage medium and configured to execute the application program to generate a virtual SSD interface for the plurality of SSDs according to the RAID configuration. The MPP is coupled to the virtual SSD interface and the plurality of SSDs. The MPP is configured to execute data exchange with the plurality of SSDs in response to a command received from the virtual SSD interface.