A memory system comprises an encryption engine implemented in the hardware
of a controller. In starting up the memory system, a boot strapping
mechanism is implemented wherein a first portion of firmware when
executed pulls in another portion of firmware to be executed. The
hardware of the encryption engine is used to verify the integrity of at
least the first portion of the firmware. Therefore, only the firmware
that is intended to run the system will be executed.