USB device classes – MSD vs. MTP

I think most of you guys will get in contact with this matter when you are connectiong your Android phone via cable (USB-A <---> USB-C) to a Windows PC. Then you can choose between Charge only, MSD and MTP. All of them will charge your phone, with MSD you only got access to the external storage (SD cards) and with MTP out got access to the internal and external storage.


MSD (Mass Storage Device, 08h) is the way you have got access to storage since the very early days. On that way you got straight access to the file system after you have mounted it on your host system.

MTP (Media Transfer Protocol, 06h) has been developed by Microsoft and isn’t as old as MSD. This protocol don’t provide you straight access to the FS, instead it works on file level.


Catagory MSD MTP
File system Full access, support necessary No access, no support necessary
File formats Unlimited set supported Limited set supported
Performance Faster (parallel operations) Slower (serial operations)
Devices USB-Stick, external HDD Android, iPhone/iPad