Patent US5870520A successfully refreshed from Google Patents.
← Back to Patent Explorer
US5870520A Expired / Lapsed US ⏱️ 0.0 years remaining

Flash disaster recovery ROM and utility to reprogram multiple ROMS

Assignee: HTC Corp
•
Filing: 1996-03-13
•
Granted: 1999-02-09
•
Expires: 2016-03-13
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract A memory system includes a flash ROM for storing the instructions for the BIOS, as well as a flash recovery ROM and a utility for programming both flash ROMs. The memory system also provides for flash disaster recovery in order to enable reprogramming of the BIOS ROM during a condition when the data in the BIOS ROM is found to be corrupt. In particular, the flash recovery ROM is provided with a hardware protected block. Sufficient BIOS instructions (e.g., initialization functions) are provided in the protected area of the flash recovery ROM in order to enable the BIOS ROM to be reprogrammed by way of a flash recovery utility when the BIOS ROM becomes corrupt.

Inventors

  • 👤 Min Eig Lee
  • 👤 Jiming Sun

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-11-04 06:41
CPC Classifications
G; G11; G11C; G11C29/00; G11C29/70; G11C29/76; G11C29/765; G06; G06F; G06F11/00; G06F11/07; G06F11/14; G06F11/1402; G06F11/1415; G06F11/1433

Claims Analysis

Total Claims: 38
Claim 1
Independent Claim 274 words
A memory system for a computer that allows for updating multiple flash ROMs of different types, each of said different flash ROMs generally programmable using different flash RPM specific software, comprising: a first flash read-only-memory (ROM) of a first type, electrically connected in a predetermined circuit, for storing predetermined instruction; a second flash ROM of a second type electrically connected in a predetermined circuit, which includes a predetermined protected area for storing predetermined program instructions including a reprogramming utility to enable reprogramming of said first flash ROM and said second flash ROM in the event that their instructions become corrupt; means for automatically determining when the data in said first flash ROM and said second flash ROM becomes corrupt; means for programming said first and second flash ROMs using a single utility program, said utility program defining at least two user selectable commands that enable a user to select the flash ROM to be updated, each said command corresponding to a different flash ROM, said single utility program being upgradeable to enable different flash ROMs from different manufacturers to be programmed; a storage device having one or more ROM image files corresponding to said first and second flash ROMs for use by said utility program; means responsive to said predetermined instructions in said second flash ROM for enabling in-circuit reprogramming of said first flash ROM using said one or more ROM image files in the event that said first flash ROM becomes corrupt; and means responsive to said predetermined instructions in said second flash ROM for enabling in-circuit reprogramming of said second flash ROM in the event that said second flash ROM becomes corrupt.
Claim 2
Dependent Claim 274 words
A memory system for a computer that allows for updating multiple flash ROMs of different types, each of said different flash ROMs generally programmable using different flash RPM specific software, comprising: a first flash read-only-memory (ROM) of a first type, electrically connected in a predetermined circuit, for storing predetermined instruction; a second flash ROM of a second type electrically connected in a predetermined circuit, which includes a predetermined protected area for storing predetermined program instructions including a reprogramming utility to enable reprogramming of said first flash ROM and said second flash ROM in the event that their instructions become corrupt; means for automatically determining when the data in said first flash ROM and said second flash ROM becomes corrupt; means for programming said first and second flash ROMs using a single utility program, said utility program defining at least two user selectable commands that enable a user to select the flash ROM to be updated, each said command corresponding to a different flash ROM, said single utility program being upgradeable to enable different flash ROMs from different manufacturers to be programmed; a storage device having one or more ROM image files corresponding to said first and second flash ROMs for use by said utility program; means responsive to said predetermined instructions in said second flash ROM for enabling in-circuit reprogramming of said first flash ROM using said one or more ROM image files in the event that said first flash ROM becomes corrupt; and means responsive to said predetermined instructions in said second flash ROM for enabling in-circuit reprogramming of said second flash ROM in the event that said second flash ROM becomes corrupt.
Claim 3
Dependent Claim 24 words
A memory system as recited in claim 1, further including means for determining the validity of said BIOS instructions in said first flash ROM.
Claim 4
Dependent Claim 27 words
A memory system as recited in claim 2, wherein said determining means includes means for performing a checksum of said BIOS instructions in said first flash ROM.
Claim 5
Dependent Claim 22 words
A memory system as recited in claim 3, wherein said predetermined program instructions within said second flash ROM include said performing means.
Claim 6
Dependent Claim 34 words
A memory system as recited in claim 1, wherein said second flash ROM includes memory partitions defining a plurality of memory sections, each memory section being able to be individually block erased and reprogrammed.
Claim 7
Dependent Claim 34 words
A memory system as recited in claim 5, wherein one of said memory sections in said second flash ROM forms said predetermined protected area, said predetermined protected area being hardware protected against data corruption.
Claim 8
Dependent Claim 24 words
A memory system as recited in claim 6, further including means for determining the validity of said BIOS instructions in said first flash ROM.
Claim 9
Dependent Claim 24 words
A memory system as recited in claim 7, wherein said determining means is stored in said predetermined protected area of said second flash ROM.
Claim 10
Dependent Claim 35 words
A memory system as recited in claim 3, wherein said BIOS ROM is selected to have a capacity of 128 kilobytes and further includes means for performing a single checksum on at least 128 kilobytes.
Claim 11
Dependent Claim 26 words
A memory system as recited in claim 1, wherein said programming means includes means for enabling said first ROM to be programmed from a floppy disc.
Claim 12
Dependent Claim 31 words
A memory system as recited in claim 1, wherein said programming means includes means for enabling a preselected portion of said second flash ROM to be programmed from a floppy disc.
Claim 13
Dependent Claim 212 words
A memory system for a computer, comprising: a first predetermined type of flash read-only-memory (ROM) for storing a first predetermined group of instructions; a second predetermined type of flash ROM for storing a second group of predetermined program instructions, wherein said first type and said second type of ROMs are different and each of said types of flash ROMs generally requires different ROM specific programming software; first means resident in said second predetermined type of flash ROM for selectably enabling said first and second types of flash ROMs to be programmed using a single utility program, said utility program enabling programming of said flash ROMS by way of one or more ROM image files provided on a storage device, each of said one or more image files compatible with a corresponding one of said first and second types of flash ROMs, said single utility program being upgradeable to enable different flash ROMs from different manufacturers to be programmed; and second means for automatically enabling said first type of flash ROM to be reprogrammed in the event it becomes corrupt, said second means executing said second group of predetermined program instructions to reprogram said first type of flash ROM upon first determining that data in said first type of flash ROM is corrupt.
Claim 14
Dependent Claim 212 words
A memory system for a computer, comprising: a first predetermined type of flash read-only-memory (ROM) for storing a first predetermined group of instructions; a second predetermined type of flash ROM for storing a second group of predetermined program instructions, wherein said first type and said second type of ROMs are different and each of said types of flash ROMs generally requires different ROM specific programming software; first means resident in said second predetermined type of flash ROM for selectably enabling said first and second types of flash ROMs to be programmed using a single utility program, said utility program enabling programming of said flash ROMS by way of one or more ROM image files provided on a storage device, each of said one or more image files compatible with a corresponding one of said first and second types of flash ROMs, said single utility program being upgradeable to enable different flash ROMs from different manufacturers to be programmed; and second means for automatically enabling said first type of flash ROM to be reprogrammed in the event it becomes corrupt, said second means executing said second group of predetermined program instructions to reprogram said first type of flash ROM upon first determining that data in said first type of flash ROM is corrupt.
Claim 15
Dependent Claim 21 words
A memory system as recited in claim 12, wherein said enabling means includes a second flash ROM with predetermined program instructions.
Claim 16
Dependent Claim 24 words
A memory system as recited in claim 12, further including means for determining the validity of said BIOS instructions in said first flash ROM.
Claim 17
Dependent Claim 26 words
A memory system as recited in claim 14, wherein said determining means includes means for performing a checksum of the data in said first flash ROM.
Claim 18
Dependent Claim 26 words
A memory system as recited in claim 13, wherein said second flash ROM includes a hardware protected area for protecting the data therewithin from becoming corrupt.
Claim 19
Dependent Claim 116 words
A memory system for a computer, comprising: a first type of flash read only memory (ROM); a second type of flash read only memory (ROM) wherein said first flash ROM and said second flash ROM may be of different types, each of said different types of flash ROMs being programmable using different flash ROM specific programming software; and means for enabling said first and second flash ROMs to be programmed from a single utility program adapted to read a ROM image file present on a storage device and to program said ROMs with said image file, said single utility program further adapted to be upgradeable to enable different flash ROMs from different manufacturers to be programmed.
Claim 20
Dependent Claim 116 words
A memory system for a computer, comprising: a first type of flash read only memory (ROM); a second type of flash read only memory (ROM) wherein said first flash ROM and said second flash ROM may be of different types, each of said different types of flash ROMs being programmable using different flash ROM specific programming software; and means for enabling said first and second flash ROMs to be programmed from a single utility program adapted to read a ROM image file present on a storage device and to program said ROMs with said image file, said single utility program further adapted to be upgradeable to enable different flash ROMs from different manufacturers to be programmed.
Claim 21
Dependent Claim 55 words
A memory system as recited in claim 12, further including third means for enabling said second flash ROM to be reprogrammed in the event it becomes corrupt, said third means further executing said utility program to reprogram said second type of flash ROM immediately upon first detecting corruption of said second type of flash ROM.
Claim 22
Dependent Claim 16 words
A memory system as recited in claim 17 wherein said storage device is a floppy disc.
Claim 23
Independent Claim 170 words
A method for updating multiple flash ROMs in a computer system, comprising the steps of: storing a first predetermined group of instructions in a first flash ROM; storing a second predetermined group of instructions in a predetermined protected area in a second flash ROM, said second flash ROM of a different type than said first flash ROM and generally requiring programming software different than that of said first flash ROM, said second flash ROM partially booting the computer system by initializing predetermined basic hardware components and a storage device during boot-up of said computer and said first flash ROM completing booting the computer, said second predetermined group of instructions further enabling in-circuit reprogramming of both said first flash ROM and said second flash ROM using a single programming utility; providing data on a storage device for reprogramming said first flash ROM and said second flash ROM; and executing said second group of instructions, said second group of instructions including a program for displaying on-screen prompts prompting for said reprogramming data.
Claim 24
Independent Claim 170 words
A method for updating multiple flash ROMs in a computer system, comprising the steps of: storing a first predetermined group of instructions in a first flash ROM; storing a second predetermined group of instructions in a predetermined protected area in a second flash ROM, said second flash ROM of a different type than said first flash ROM and generally requiring programming software different than that of said first flash ROM, said second flash ROM partially booting the computer system by initializing predetermined basic hardware components and a storage device during boot-up of said computer and said first flash ROM completing booting the computer, said second predetermined group of instructions further enabling in-circuit reprogramming of both said first flash ROM and said second flash ROM using a single programming utility; providing data on a storage device for reprogramming said first flash ROM and said second flash ROM; and executing said second group of instructions, said second group of instructions including a program for displaying on-screen prompts prompting for said reprogramming data.
Claim 25
Dependent Claim 20 words
The method of claim 20, wherein said first predetermined group of instructions includes instructions for selectably executing flash ROM updates.
Claim 26
Dependent Claim 18 words
The method of claim 20, wherein said basic hardware components includes said storage device, video display, and RAM.
Claim 27
Dependent Claim 152 words
A memory system in a personal computer system for updating multiple flash ROMs, each of said flash ROMs generally programmable using flash ROM specific programming software, comprising: a first flash ROM for storing system BIOS instructions; a second flash ROM, that may be of a different type than said first flash ROM, for partially booting the personal computer system, said second flash ROM further storing miscellaneous system instructions, said second flash ROM including a protected area containing BIOS instructions wherein basic system hardware and a storage device are initialized during said partial boot-up of said personal computer, said first flash ROM BIOS for completing the boot-up of said personal computer; and a first program stored in said first flash ROM for selectably enabling in-circuit reprogramming of said first flash ROM and said second flash ROM using a single utility program, said utility program adapted to use data provided on the storage device.
Claim 28
Dependent Claim 152 words
A memory system in a personal computer system for updating multiple flash ROMs, each of said flash ROMs generally programmable using flash ROM specific programming software, comprising: a first flash ROM for storing system BIOS instructions; a second flash ROM, that may be of a different type than said first flash ROM, for partially booting the personal computer system, said second flash ROM further storing miscellaneous system instructions, said second flash ROM including a protected area containing BIOS instructions wherein basic system hardware and a storage device are initialized during said partial boot-up of said personal computer, said first flash ROM BIOS for completing the boot-up of said personal computer; and a first program stored in said first flash ROM for selectably enabling in-circuit reprogramming of said first flash ROM and said second flash ROM using a single utility program, said utility program adapted to use data provided on the storage device.
Claim 29
Independent Claim 212 words
A method in a personal computer having a central processing unit (CPU), random access memory (RAM), a keyboard, and two or more flash ROMs of different types, each said flash ROM generally requiring flash ROM specific programming software for programming, the method comprising the steps of: storing a single programming utility in one of said flash ROMs, said utility defining at least two user selectable commands that enable a user to select the flash ROM to be updated, wherein said two or more flash ROMs may be programmed using said single programming utility, each said command corresponding to a different flash ROM, said single programming utility being upgradeable to enable different flash ROMs from different manufacturers to be programmed; monitoring which of said user selectable commands is input to said keyboard; providing a storage device to update the data in said flash ROMs, said storage device containing an image file corresponding to said flash ROMS to be updated; parsing the name of said image file and copying said name into a buffer; reading said image file from said storage device and copying said image file into the RAM; and erasing the existing contents of said selected flash ROM and programming said selected flash ROM with said image file stored in the RAM.
Claim 30
Independent Claim 212 words
A method in a personal computer having a central processing unit (CPU), random access memory (RAM), a keyboard, and two or more flash ROMs of different types, each said flash ROM generally requiring flash ROM specific programming software for programming, the method comprising the steps of: storing a single programming utility in one of said flash ROMs, said utility defining at least two user selectable commands that enable a user to select the flash ROM to be updated, wherein said two or more flash ROMs may be programmed using said single programming utility, each said command corresponding to a different flash ROM, said single programming utility being upgradeable to enable different flash ROMs from different manufacturers to be programmed; monitoring which of said user selectable commands is input to said keyboard; providing a storage device to update the data in said flash ROMs, said storage device containing an image file corresponding to said flash ROMS to be updated; parsing the name of said image file and copying said name into a buffer; reading said image file from said storage device and copying said image file into the RAM; and erasing the existing contents of said selected flash ROM and programming said selected flash ROM with said image file stored in the RAM.
Claim 31
Dependent Claim 30 words
The method of claim 24, wherein said step of reading said image file further includes determining the validity of said image file by performing a checksum of said image file.
Claim 32
Independent Claim 236 words
A method in a personal computer having a central processing unit (CPU), random access memory (RAM), a keyboard, and two or more flash ROMs of different types generally requiring flash ROM specific programming software for programming each of said flash ROMs, the method comprising the steps of: storing a first predetermined group of instructions in a predetermined protected area in one of the flash ROMs, said first group of instructions used to initialize basic hardware systems and a storage device during boot-up of said computer; storing a second predetermined group of instructions in another of said for completing booting of said computer; providing a single programming utility in said second flash ROM for providing one or more predetermined commands for selecting which flash ROM is to be updated and for selectably in-circuit reprogramming said selected flash ROM, said single programming utility capable of programming all of said flash ROMs, said programming utility further capable of programming of different flash ROMs from different manufacturers; providing a storage device to update the data in said flash ROMs, the storage device containing an image file corresponding to said two or more flash ROMS to be updated; parsing the name of said image file and storing said name in a buffer; reading said image file from said storage device and copying said image file into RAM; and programming said selected flash ROM with said image file stored in said RAM.
Claim 33
Independent Claim 236 words
A method in a personal computer having a central processing unit (CPU), random access memory (RAM), a keyboard, and two or more flash ROMs of different types generally requiring flash ROM specific programming software for programming each of said flash ROMs, the method comprising the steps of: storing a first predetermined group of instructions in a predetermined protected area in one of the flash ROMs, said first group of instructions used to initialize basic hardware systems and a storage device during boot-up of said computer; storing a second predetermined group of instructions in another of said for completing booting of said computer; providing a single programming utility in said second flash ROM for providing one or more predetermined commands for selecting which flash ROM is to be updated and for selectably in-circuit reprogramming said selected flash ROM, said single programming utility capable of programming all of said flash ROMs, said programming utility further capable of programming of different flash ROMs from different manufacturers; providing a storage device to update the data in said flash ROMs, the storage device containing an image file corresponding to said two or more flash ROMS to be updated; parsing the name of said image file and storing said name in a buffer; reading said image file from said storage device and copying said image file into RAM; and programming said selected flash ROM with said image file stored in said RAM.
Claim 34
Dependent Claim 17 words
The method of claim 20 wherein said data on said storage device is a ROM image file.
Claim 35
Dependent Claim 199 words
A personal computer having a central processing unit (CPU), random access memory (RAM), a keyboard, two or more flash ROMs of different types, wherein each of said different type of flash ROM is programmable using different flash ROM specific software, comprising: a single programming utility stored in one of said flash ROMs, said utility defining at least two user selectable commands that enable a user to select the flash ROM to be updated, each said command corresponding to a different flash ROM and each of said different flash ROMs programmable by way of said single programming utility, said single programming utility adapted to being upgraded to program different flash ROMs from different manufacturers; means for monitoring which of said user selectable commands is input to said keyboard; means for updating the data in said flash ROMs by way of a storage device, said storage device containing an image file corresponding to said flash ROMS to be updated; means for reading said image file from said storage and copying said image file into RAM; and means for erasing the existing contents of said selected flash ROM and programming said selected flash ROM with said image file stored in said RAM.
Claim 36
Dependent Claim 199 words
A personal computer having a central processing unit (CPU), random access memory (RAM), a keyboard, two or more flash ROMs of different types, wherein each of said different type of flash ROM is programmable using different flash ROM specific software, comprising: a single programming utility stored in one of said flash ROMs, said utility defining at least two user selectable commands that enable a user to select the flash ROM to be updated, each said command corresponding to a different flash ROM and each of said different flash ROMs programmable by way of said single programming utility, said single programming utility adapted to being upgraded to program different flash ROMs from different manufacturers; means for monitoring which of said user selectable commands is input to said keyboard; means for updating the data in said flash ROMs by way of a storage device, said storage device containing an image file corresponding to said flash ROMS to be updated; means for reading said image file from said storage and copying said image file into RAM; and means for erasing the existing contents of said selected flash ROM and programming said selected flash ROM with said image file stored in said RAM.
Claim 37
Dependent Claim 256 words
A personal computer having a central processing unit (CPU), random access memory (RAM), and a keyboard, comprising: a first flash ROM having a protected area, said protected area storing a first predetermined group of instructions, said group of instructions used to initialize basic hardware components during boot-up of said computer; a second flash ROM of a different type than said first flash ROM, said second flash ROM being programmable using different programming software than said first flash ROM, said second flash ROM for storing a second predetermined group of instructions, said instructions including means for selectably enabling in-circuit reprogramming of said first flash ROM and said second flash ROM; a utility in said second flash ROM that displays on a screen at least two user-selectable commands which enable a user to select the flash ROM to be updated, said utility enabling both first and second flash ROMs to be updated using only said single programming utility, each said command corresponding to a different flash ROM, said single programming utility adapted to being upgraded to program different flash ROMs from different manufacturers; a storage device to update the data in said flash ROMs, said storage device containing an image file corresponding to said flash ROM to be updated; means for parsing the name of said image file, and copying said name into a buffer; means for reading said image file from said storage device and copying said image file into RAM; and means for programming said selected flash ROM with said image file stored in said RAM.
Claim 38
Dependent Claim 256 words
A personal computer having a central processing unit (CPU), random access memory (RAM), and a keyboard, comprising: a first flash ROM having a protected area, said protected area storing a first predetermined group of instructions, said group of instructions used to initialize basic hardware components during boot-up of said computer; a second flash ROM of a different type than said first flash ROM, said second flash ROM being programmable using different programming software than said first flash ROM, said second flash ROM for storing a second predetermined group of instructions, said instructions including means for selectably enabling in-circuit reprogramming of said first flash ROM and said second flash ROM; a utility in said second flash ROM that displays on a screen at least two user-selectable commands which enable a user to select the flash ROM to be updated, said utility enabling both first and second flash ROMs to be updated using only said single programming utility, each said command corresponding to a different flash ROM, said single programming utility adapted to being upgraded to program different flash ROMs from different manufacturers; a storage device to update the data in said flash ROMs, said storage device containing an image file corresponding to said flash ROM to be updated; means for parsing the name of said image file, and copying said name into a buffer; means for reading said image file from said storage device and copying said image file into RAM; and means for programming said selected flash ROM with said image file stored in said RAM.

References Cited (Backward Citations)

US5268870A Cited
US5159671A Cited
US5109505A Cited
US5297148A Cited
US5077737A Cited
US5136713A Cited
US5210875A Cited
US5200959A Cited
US5111457A Cited
US5230052A Cited
US5659748A Cited
US5432927A Cited
US5327531A Cited

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 2002-02-08 2002-08-10 2003-02-09 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2006-02-08 2006-08-10 2007-02-09 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2010-02-08 2010-08-10 2011-02-09 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag