A secure flash memory device includes a connection port, a microcontroller, a
flash
memory, and a security program. The security program provides pass code security
between a computer connected to the connection port and the flash memory. The microcontroller
controls the flow of data between the computer and the flash memory as allowed
by the security program. The security program is stored in the flash memory or
in the microcontroller and can be executed by the computer, when the microcontroller
receives flash memory access requests from the connection port.