SUMMARY

Various embodiments of the present disclosure are generally directed to processor-based systems, such as but not limited to data storage devices.

In some embodiments, firmware is stored in a firmware store as a plurality of program instructions in a first sequence. The program instructions are loaded to a local memory in a different, second sequence. In some cases, a random number is generated and the second sequence is selected using the random number. A translation table may be generated and used by a programmable processor to locate the various program instructions in the second sequence. Alternatively, instruction lines with calls to different instruction lines may be modified based on the new relative locations in the memory so that no translation table is required. Other forms of control data may also be generated and stored to the local memory in a random order and interspersed with the firmware.

These and other features which characterize various embodiments of the present disclosure can be understood in view of the following detailed discussion and the accompanying drawings.

