Tobi hat recht. Das von den FTDI-Chips abgewickelte USB-Protokoll ist
fest in diese eingebaut und kann in keiner Weise modifiziert werden.
Um ein "Mass Storage Device" zu implementieren, benötigt man schon
einen programmierbaren USB-Devicecontroller, wie beispielsweise den
PDIUSBD12 von Philips.
Alternativ kann man auch einen der ganz neuen AVR-USB-Controller
AT76C712/713 verwenden - oder statt dessen die USB-Controller mit
MCS51-Kern von Cypress (EzUsb).
Du bist Dir im Klaren darüber, daß ein "Mass Storage Device" ein
blockorientiertes Device ist? Das Protokoll zwischen PC und Gerät
überträgt nur Blöcke (Sektoren) fester Größe; welche Bedeutung diese
Blöcke haben, weiß nur der PC, der das darin befindliche Dateisystem
nach Gutdünken verwaltet.
Wenn Dein Controller auf in diesem Dateisystem vorhandene Dateien
zugreifen soll, muss er einerseits das Dateisystem verstehen (was kein
so großes Problem ist, weil es ausreichend
FAT16/FAT32-Implementierungen im Quelltext gibt) und andererseits
sicherstellen, daß der PC das Dateisystem in einem definierten Zustand
überlassen hat. Vor allem darf Dein Controller das Dateisystem auf gar
keinen Fall beschreiben, wenn die ganze Chose mit dem PC verbunden ist,
da der PC nicht mitbekommt, wenn gewissermaßen hinter seinem Rücken im
Dateisystem 'rumgepfuscht wird.
Damit ist die Implementierung eines Mass Storage Devices in den meisten
Fällen eine nette, aber nur sehr eingeschränkt nutzbare Übung.
Um mit einem PC auf Dateieebene Daten austauschen zu können, ist USB
eine ungeeignete Schnittstelle; hier ist ein Netzwerkinterface und ein
FTP-, Web- oder SMB-Server deutlich geeigneter.