EZ-USB® FX3S SD/MMC Backed RAID-0 Example | Cypress Semiconductor
EZ-USB® FX3S SD/MMC Backed RAID-0 Example
This example illustrates the use of the FX3S firmware APIs to implement a RAID-0 system based on SD/MMC storage devices.
The RAID-0 implementation allows two storage devices (similar SD cards or eMMC devices) to be used as a higher performance single storage volume. The performance improvement is achieved by striping the user data across the two devices.
A USB Mass Storage Class (MSC) application that provides access to this RAID-0 disk is provided.
As the RAID-0 system is only viable when two good storage devices are available, this application will only function when both devices are present. The application does not support any hotplug operation either, as replacing one of the devices in a striped volume will cause data corruption.
This application uses a logical block size of 4 KB for the RAID-0 disk. As FX3S is not capable of splitting data from a single data buffer into two output pipes, the DMA buffer size used for this application has to match the desired logical block size. This value can be controlled using the CY_FX_RAID_BLOCK_SIZE parameter in the cyfx3s_raid0.h. The minimum supported value for this parameter is 1 KB.
Note: Pre-built binaries are provided in the Release and Debug folders in the zip file. FX3 SDK should be installed in the system to rebuild the example project with any modifications made.