The iWave SD v2.0 Controller interfaces a SD/MMC/SDIO card to any processor with a generic interface. The interface towards the SD card is realized by the SD protocol implemented in the controller. The main blocks in the controller are CPU interface, command path state machine, command transmitter/ receiver, data path state machine, data transmit/receive and clock logic.