Description
Many electronic products require onboard storage memory to store data such as drivers, manuals, or configuration files that users can easily access over a USB connection.
For this reason, the system must be recognized by a USB host computer and automatically mount as a mass storage device, similar to a standard flash drive.
This project implements such a system using a NAND Flash memory along with a dedicated flash memory controller.
System Components
The system consists of two main parts:
-
NAND Flash Memory
NAND flash memory is a non-volatile storage technology that retains data without power. It exists in two main forms:-
Raw NAND Flash
-
A bare flash memory without an integrated controller.
-
Can be interfaced directly with a microcontroller using custom drivers and firmware.
-
Can also be paired with a dedicated NAND flash controller IC.
-
Commonly used in applications such as SSDs and RAM modules.
-
-
Managed NAND
-
Flash memory packaged with its own controller.
-
Examples include eMMC, SD cards, and EEPROMs.
-
-
-
Memory Controller
A dedicated NAND flash controller chip manages raw NAND flash operations and presents the device to the host system as a standard USB mass storage drive.
The controller manages:- Communication with the host device
- File system directory
- Wear leveling
- Error correction
- Garbage collection
Because the controller handles low-level operations, the system can be directly recognized in Windows as a removable drive (under HID devices) without requiring custom driver development.
For further reading on flash memory types and interfacing, see this reference.
System Design
This design uses the OTi2272 flash memory controller.
- USB 2.0 High-Speed controller (480 Mb/s)
- Integrated USB 2.0 transceiver with dynamic feedback and stable slew rate, optimized for EMI reduction
- Embedded Phase-Locked Loop (PLL) generating all required clocks
- Supports up to 8 flash memory devices of different brands and technologies
- Write-protect capability to prevent unwanted data overwriting
The OTi2272 controller supports multiple NAND flash technologies (MLC/TLC) from brands such as Hynix, SanDisk, and Samsung.
Each controller vendor provides a compatibility list of supported flash ICs. Example shown below:

For this project, a 2GB (8Gbit) NAND flash memory Hynix H27UAG8T2ATR was interfaced with the controller.
Operating Modes
The memory can be configured in two modes using the OTi utility:
-
Mass Storage Mode
The device mounts as a standard removable USB flash drive with full read/write capability. -
CD-ROM Mode
The device mounts as a read-only virtual CD drive. This mode is useful for distributing drivers or manuals that must remain unaltered by the end user.

Customized Firmware
The vendor also provides a utility for firmware customization. This tool allows the drive to be locked or unlocked.
- Unlocked Mode: Writable, allowing files to be copied during product assembly.
- Locked Mode: Read-only, preventing users from formatting or deleting files after distribution.
This feature is ideal for embedding product drivers, installation packages, or manuals that must remain intact.
Utility Features
The configuration utility enables:
- Changing USB VID/PID identifiers
- Updating product and vendor strings (e.g., displayed in Windows Device Manager)
- Setting usable memory capacity to a value lower than physical capacity
Example: Below is the screenshot of a customized drive mounted in Windows Explorer, identified as “Nikhil Test Flash Drive”.

Other Controllers Tested
In addition to OTi2272, the following flash memory controllers were tested:
Test PCBA
The evaluation board was divided into two modules:
- Controller board with OTi2272, USB connector, and supporting components
- Plug-in flash board with interchangeable NAND memory chips, allowing testing with different vendors
PCB for Testing Other Controllers

Integration into Product PCB
