摘要:
A peripheral device and method are provided for reliably updating and checking firmware or other coded information stored within a nonvolatile memory of the device. The device comprises a microcontroller and a memory with a fixed part and an updateable part. Both the fixed part and the updateable part store firmware. When firmware in the updateable part is updated (such as by using a USB connection with a host PC), a first error detection code is generated and stored in the updateable part. As part of an initialization procedure, the firmware stored in the fixed part generates a second error detection code based on the updated firmware stored in the updateable part and compares the second error detection code to the first error detection code stored in the updateable part. If the error detection codes indicate that the firmware stored in the updateable part is valid, the microcontroller uses the firmware stored in the updateable part to operate the device; otherwise, the microcontroller uses firmware stored in the fixed part to operate the device.
摘要:
A device controller for controlling the operation of the drive device. The controller includes a microprocessor, a volatile memory, and a non-volatile memory. The non-volatile memory stores an uncompressed decompression program and a compressed device operating program. The microprocessor automatically decompresses the device operating program by executing the decompression program and stores the decompressed device operating program into the volatile memory when the drive is powered up or reset. The microprocessor then executes the device operating program stored in the volatile memory which has a faster data access rate than the non-volatile memory. As the device operating program is stored in a compressed form, the size of the non-volatile memory is minimized. The present invention may also reduce the size of a non-volatile memory for storing data used in a device controller.