http://www.segger.com/usb_msd.html
http://www.segger.com/usb_bulk_stack.html
http://www.micrium.com/contents/products/USB/USB.html
The last two are the same I believe.
Or brew your own referencing one of the many LPC214x examples:
IAR:
IAR EWARM Kickstart install directory
\Program Files\IAR Systems\Embedded Workbench 4.0
Kickstart\arm\src\examples\Philips\LPC214x\IAR-LPC-214X\USBMouse
Keil:
http://www.keil.com/download/docs/306.asp USB HID
http://www.keil.com/download/docs/307.asp USB Mass Storage
http://www.keil.com/download/docs/308.asp USB Audio Device
In the 3.2.2 release of FreeRTOS there is a USB CDC implementation:
\FreeRTOS\FreeRTOSV3.2.2\FreeRTOS\Demo\lwIP_Demo_Rowley_ARM7\USB
http://www.freertos.org/
www.at91.com offers a complete Mass Storage example supporting FAT12/16 for
the AT91 parts. I haven't examined it too close, but it may utilize DMA.
Regards,
Joel