Fail-safe flashing of EPROM
First Claim
1. A flashable embedded device comprising:
- a flashable EPROM arranged into separately erasable sectors, the EPROM being divided into at least three regions including a boot block region, a file region and a directory region;
wherein said file region has stored therein plural executable files of program instruction sequences;
wherein said directory region has stored therein at least two directories including a current directory, each of the directories having a boot block select field and file entries which identify at least some of the files stored in said file region; and
wherein said boot block region has stored therein at least two boot blocks, one of which begins at a predesignated address, and which contains process steps which scan said directory region to identify the current directory, and to identify the boot block select field of the current directory;
said flashable embedded device further including a DRAM into which executable program instruction sequences may be copied from said EPROM; and
a microprocessor for executing program instruction sequences commencing at power application from the predesignated address in said EPROM;
wherein upon power application, said microprocessor commences execution of program instruction steps at the predesignated address of said EPROM so as to scan said directory region to determine the current directory, to select one boot block from said boot block region based on the boot block select field of the current directory, to complete execution of the selected boot block whereby at least some files stored in said file region and listed in the current directory of said directory region are transferred to said DRAM, and to commence execution of said files stored in DRAM.
2 Assignments
0 Petitions
Accused Products
Abstract
A fail-safe flash for an EPROM that is arranged into separately erasable sectors proceeds in a stepwise procedure. The EPROM is divided into at least three regions including a boot block region, a file region and a directory region. The boot block region stores at least two independently erasable boot blocks, only one of which is designated as a current boot block, which performs scanning of the directory region so as to determine a current directory in the directory region. The file region stores all executables, including executables designated as critical and non-critical. The directory region stores multiple directories, only one of which is a current directory, which designates which is the current boot block, which of the files stored in the file region are available for loading for execution, as well as which of the files are critical and which are non-critical. In the first step to flash the EPROM, the unused region of the boot block is updated with the new boot block. In the second step of flashing the EPROM, critical files are flashed over non-critical files, and after correct installation of the newly-flashed critical files is confirmed, a new directory is written into the directory region referring only to the newly-flashed critical files. In the third step of flashing the EPROM, non-critical files are flashed, whereafter a new directory is written to the directory region referring to the newly-flashed critical files as well as to the newly-flashed non-critical files.
197 Citations
14 Claims
-
1. A flashable embedded device comprising:
-
a flashable EPROM arranged into separately erasable sectors, the EPROM being divided into at least three regions including a boot block region, a file region and a directory region; wherein said file region has stored therein plural executable files of program instruction sequences; wherein said directory region has stored therein at least two directories including a current directory, each of the directories having a boot block select field and file entries which identify at least some of the files stored in said file region; and wherein said boot block region has stored therein at least two boot blocks, one of which begins at a predesignated address, and which contains process steps which scan said directory region to identify the current directory, and to identify the boot block select field of the current directory; said flashable embedded device further including a DRAM into which executable program instruction sequences may be copied from said EPROM; and a microprocessor for executing program instruction sequences commencing at power application from the predesignated address in said EPROM; wherein upon power application, said microprocessor commences execution of program instruction steps at the predesignated address of said EPROM so as to scan said directory region to determine the current directory, to select one boot block from said boot block region based on the boot block select field of the current directory, to complete execution of the selected boot block whereby at least some files stored in said file region and listed in the current directory of said directory region are transferred to said DRAM, and to commence execution of said files stored in DRAM. - View Dependent Claims (2, 3, 4, 5)
-
-
6. A method for flashing flashable EPROM that is arranged into separately erasable sectors and which is divided into at least three regions including a boot block region, a file region, and a directory region, the method comprising the steps of:
-
a boot block flash step in which an unused region of said boot block region is updated with a new boot block; a critical file flash step in which critical files in said file region are flashed over non-critical files, and in which a new directory is written into said directory region after successfully flashing critical files; and a non-critical file flashing step in which non-critical files are flashed into said file region, and in which a new directory is written into said directory region after successfully flashing non-critical files. - View Dependent Claims (7, 8, 9, 10, 11, 12)
-
-
13. Computer executable process steps stored on a computer-readable medium, said steps for flashing flashable EPROM that is arranged into separately erasable sectors and which is divided into at least three regions including a boot block region, a file region, and a directory region, said steps comprising:
-
a boot block flash step in which an unused region of said boot block region is updated with a new boot block; a critical file flash step in which critical files in said file region are flashed over non-critical files, and in which a new directory is written into said directory region after successfully flashing critical files; and a non-critical file flashing step in which non-critical files are flashed into said file region, and in which a new directory is written into said directory region after successfully flashing non-critical files.
-
-
14. An apparatus for flashing flashable EPROM that is arranged into separately erasable sectors and which is divided into at least three regions including a boot block region, a file region, and a directory region, said apparatus comprising:
-
a memory including a region for storing executable process steps and including a region for storing a new boot block, new critical files, and new non-critical files; and a processor for executing the process steps stored in said memory; wherein the process steps include (i) a boot block flash step in which an unused region or said boot block region is updated with a new boot block, (ii) a critical file flash step in which critical files in said file region are flashed over non-critical files, and in which a new directory is written into said directory region after successfully flashing critical files, and (iii) a non-critical file flashing step in which non-critical files are flashed into said file region, and in which a new directory is written into said directory region after successfully flashing non-critical files.
-
Specification