this invention describes a high - performance , log - structured implementation of a raid subsystem that can be efficiently implemented in software . the methods described here allow the raid subsystem to achieve high performance without using specialized hardware such as non - volatile memory or hardware xor / dma engines . furthermore , the raid implementation described here is well suited for supporting many functions required for advanced storage virtualization such as virtual disks , graceful addition and removal of disks , tolerating multi - disk failures , and snapshots .