Software RAID vs. Hardware RAID
RAID implementations contain components such as RAID tables defining the configuration of RAID arrays, data structures to store the descriptors for cached data, engine(s) for calculating parity and the logic for handling I/Os to and from RAID arrays. These components may be implemented in softwaretypically in kernel-modeor embedded in the controller for the secondary storage devices using which the RAID arrays are created. Which alternative is better? This technical paper answers that question by presenting an analysis of the issues associated with both alternatives and their performance in a real-world environment.