This document provides technical details about a USB device driver for a Silicon Motion SM306 USB flash drive controller. The driver supports Silicon Motion SM306 single chip USB mass storage controllers that are used in many USB flash drives and memory card readers. The driver allows Windows and Linux operating systems to communicate with and recognize USB devices using the SM306 controller.