[This is in response to the comments following Ian's answer].
An SD card is just an SPI device, so there's no chip/interface necessary. Other protocols include a 2-wire interface (like I2C) and a 4-wire interface (with a complex CRC), but SPI is the most commonly used.
There is an SD card application note available for the MSP430 from TI here.
It's brief, but it includes sample code. It handles reading and writing to various sectors on the SD card, which may be all you want if you're not going to plug it into a PC. Also look at these implementations by Foust (recommended) or Evans from MSU.
Once you have the basic functions to read and write a sector, you can either abstract a simple, custom filesystem over USB, or use an existing filesystem library. FatFS, EFSL, or DOSFs are all options for the latter. If implementing all of the required functions seems too hard, remember that all but a few can/will be stubs.
However, the file system will be abstracted through your USB interface to a degree. This will be easier if you have a real filesystem library and your card is in a readable filesystem, but that takes work. If you want to write your own "Filesystem" and save work/time/memory for the USB implementation, you can make its definition as simple and inflexible as log 1 starts at 0x0, log 2 starts at 0x10 0000, log 3 at 0x20 0000, and log 4 at 0x30 0000. Then, you can send this data over USB.
The USB interface can be as complex as you like it to be - from serial interface to mass storage device.