1. A processing system electrically connected to a computer, the processing system comprising: a non-volatile memory (NVM) for storing firmware needed by the processing system; and an NVM control interface having a plurality of registers for updating and reading data stored in the NVM; wherein when the NVM control interface updates a current piece of data stored in the NVM, the NVM control interface first reads a prior piece of data that is stored in the NVM prior to the current piece of data and transmits the prior piece of data to the computer for comparison, then the NVM control interface updates the current piece of data.