FIG. 11 shows an illustrative schematic diagram of non-volatile memory (NVM) 1100 contained in a second processor such as a safety processor, according to an embodiment. NVM 1100 may reserve space for persistent data storage (i.e., data that is maintained throughout the life of the system), NVM specific data such as boot loader data, and executable code data portions 1110 and 1120. Executable code data portions 1110 and 1120 may each store a version of executable code that may be executed by the safety processor. Portion 1110 may be referred to herein as the LOW code portion and portion 1120 may be referred to herein as the HIGH code portion. During operation, one of the LOW and HIGH portions is active and the other inactive. For example, if the LOW portion is active, the safety processor may execute the code stored in the LOW portion. The HIGH portion may be inactive and available to be overwritten with new code while the safety processor operates based on the code stored in the LOW portion.