US 11,720,681 B2
Firmware execution profiling and verification
Yun Li, Fremont, CA (US); Harini Komandur Elayavalli, San Jose, CA (US); and Mark Ish, San Ramon, CA (US)
Assigned to Micron Technology, Inc., Boise, ID (US)
Filed by Micron Technology, Inc., Boise, ID (US)
Filed on Oct. 2, 2020, as Appl. No. 17/62,146.
Claims priority of provisional application 62/955,557, filed on Dec. 31, 2019.
Prior Publication US 2021/0200875 A1, Jul. 1, 2021
Int. Cl. G06F 21/57 (2013.01); G06F 9/32 (2018.01); G06F 11/32 (2006.01); G06F 11/36 (2006.01); G06F 21/56 (2013.01)
CPC G06F 21/572 (2013.01) [G06F 9/321 (2013.01); G06F 11/323 (2013.01); G06F 11/3636 (2013.01); G06F 21/566 (2013.01); G06F 21/577 (2013.01)] 20 Claims
OG exemplary drawing
 
1. A method, comprising:
receiving, by a processing device, an execution trace of a firmware module comprising a plurality of executable instructions, wherein the execution trace comprises a plurality of execution trace records, wherein each execution trace record of the plurality of execution trace records indicates a successful execution of an executable instruction identified by a program counter (PC) value;
retrieving a first execution trace record of the plurality of execution trace records, wherein the first execution trace record comprises a first PC value;
identifying a first executable instruction referenced by the first PC value;
identifying a firmware function containing the first executable instruction;
incrementing a cycle count for the firmware function by a number of cycles associated with the first executable instruction;
generating, using the cycle count, an execution profile of the firmware module; and
utilizing, by the processing device, the execution profile for firmware verification.