Patent ID: 7711989

Claim:
A RAID system, comprising: a non-volatile memory, configured to store a first program and first and second versions of a second program and a third program, wherein the first and second versions of the second program are different; a volatile memory; a watch dog timer, for detecting a failure during a boot process of the RAID system, the watch dog timer having a predetermined maximum timeout period, wherein the boot process is normally longer than said predetermined maximum timeout period of said watch dog timer; and a processor, coupled to said non-volatile memory and to said volatile memory and to said watch dog timer, configured to execute said first program, wherein said first program is configured to: detect said first version of said second program is failed; and repair said failed first version of said second program in said non-volatile memory using said second version of said second program; wherein said second program comprises an application program for performing RAID control functions; wherein said third program is configured to decompress said first program stored in said non-volatile memory to a decompressed form and to write said decompressed form to said volatile memory during the boot process, wherein said third program is further configured to disable the watch dog timer after writing said decompressed form of said first program to said volatile memory, wherein said third program is further configured to re-enable the watch dog timer prior to said processor executing said first program.