Да это будет сложновато. Суть конечно проста. Необходимо определится с протоколом по которому будете работать. Я когда год назад это делал ничего толкового не нашел. Есть протокол работы USB дисковода еще какие-то но про flash я ничего не нашел. Вроде ка у CYPRESS есть исходники такого устройства. Я например взял flash и просто просканировал всю ее структуру команд, после чего реализовал на своем контроллере. (Кстати есть вопрос про philips'овский контроллер я его сегодня заказываю, как он вообще работает если вы с ним работали). По сути я исходников дать не могу, так как эти устройства мы продаем, но подсказать чего конкретное можно без проблем.
На счет FAT лучше брать 16 - это проще (вот ссылка на один из вариантов описания, я сам не каких документов не скачивал просто скопировал первые 512 байт после форматирования в Windows со своей флеш, а далее методом проб и ошибок сделал таблицы и простую файловую систему
http://home.teleport.com/~brainy/fat16.htm). Plug&Play windows сам разберется (как впрочем и Linux, даже под DOS будет подключатся без проблем, если конечно же дрова есть).
P.S. Вроде я тут по словам в форуме встречал людей, которые - это делали. С миру по нитке может и поможем поднять устройство. Могу сказать так, незная ничего об этом протоколе я запустил его за 3 дня, а полностью работающее устройство получил за 2 недели. (Кстати я работаю над такими заказми давольно часто, так что если есть интерес это можно обсудить).