They're very cheap direct from Hong Kong, ($4 for a 512mb, $7 for a 1gb) and can be silkscreen printed, but you have to order lots of at least 500 to get a deal. It's best to choose a company that regularly attends tradeshows like ceBIT and such, so they're not a fly-by-night.