Electrical computers and digital processing systems: memory – Storage accessing and control – Specific memory composition
Reexamination Certificate
1998-02-23
2001-06-05
Bragdon, Reginald G. (Department: 2185)
Electrical computers and digital processing systems: memory
Storage accessing and control
Specific memory composition
C711S102000, C711S104000, C711S165000, C711S202000
Reexamination Certificate
active
06243789
ABSTRACT:
FIELD OF THE INVENTION
This invention relates to the field of computer systems. In particular, this invention is drawn to execution of a program stored in a nonvolatile memory.
BACKGROUND OF THE INVENTION
Program storage requirements can be divided into at least two categories: a data section and a code section. At least some portion of the data section is typically allocated to a modifiable memory such as volatile random access memory (RAM) to permit manipulation and modification of data during program execution.
In order to execute a program, the program is typically retrieved from a nonvolatile mass storage device such as an electromechanical disk drive or a compact disk (CD) drive and assembled into an executable image in the volatile memory. Thus the code section may also reside within the volatile memory.
One disadvantage of this technique of program storage is the time consumed when loading the program from the nonvolatile memory and constructing the executable image in the volatile memory. Another disadvantage is that this loading process must be performed each time power is re-applied to the computer system given that the volatile memory retains its contents only while power is applied.
In order to avoid some of the disadvantages, a program can be placed into a nonvolatile memory as an executable image and executed directly from a nonvolatile memory. Nonvolatile memory offers the ability to preserve the contents of the memory after power is removed. Unfortunately, many nonvolatile memories are not as readily modifiable as their volatile counterparts. For example, a nonvolatile memory may not be modifiable at all (i.e., read only memory, ROM). Alternatively, the nonvolatile memory may have certain characteristics (e.g., erasable only in blocks) that require substantially more overhead to manage modification than that required by modifiable volatile memories.
Although the program typically informs the operating system of its modifiable memory requirements for data storage, the program may unexpectedly attempt to modify areas, such as code storage areas, that are otherwise presumed by the operating system to not be modified by the executing program. As long as the data and code are stored in modifiable volatile memory, such unexpected modifications do not typically prevent the program from successfully executing. The program may not successfully execute, however, if modification of information stored in nonvolatile memory is required due to the limitations of the nonvolatile memory. Thus a program designed to execute in a modifiable memory may have to be rewritten to permit execution in a nonvolatile memory.
SUMMARY OF THE INVENTION
A method of executing a program stored contiguously without code fragmentation within a nonvolatile memory includes the step of initiating execution of the program. Execution of the program is halted if the program attempts to modify a page of nonvolatile memory. The page of nonvolatile memory is copied to a modifiable memory. The page of nonvolatile memory is remapped to the modifiable memory. Execution of the program is then resumed.
A computer system for execution of a program includes a nonvolatile memory storing a program contiguously without code fragmentation. The computer system includes a processor for executing the program. A memory management unit generates an interrupt in response to a program request to modify a page of the nonvolatile memory. Execution of the program is halted and the processor copies the page of nonvolatile memory to a modifiable memory in response to the interrupt. The processor resumes execution of the program after updating an address translation table of the memory management unit to refer to the modifiable memory for subsequent program access requests to the page of nonvolatile memory.
REFERENCES:
patent: 4758944 (1988-07-01), Bartley et al.
patent: 4849878 (1989-07-01), Roy
patent: 5297148 (1994-03-01), Harari et al.
patent: 5333292 (1994-07-01), Takemoto et al.
patent: 5361343 (1994-11-01), Kosnocky et al.
patent: 5404485 (1995-04-01), Ban
patent: 5410707 (1995-04-01), Bell
patent: 5437020 (1995-07-01), Wells et al.
patent: 5479639 (1995-12-01), Ewertz et al.
patent: 5519831 (1996-05-01), Holzhammer
patent: 5519843 (1996-05-01), Moran et al.
patent: 5522076 (1996-05-01), Dewa et al.
patent: 5530673 (1996-06-01), Tobita et al.
patent: 5533190 (1996-07-01), Binford
patent: 5535357 (1996-07-01), Moran et al.
patent: 5535369 (1996-07-01), Wells et al.
patent: 5544356 (1996-08-01), Robinson et al.
patent: 5563828 (1996-10-01), Hasbun et al.
patent: 5579522 (1996-11-01), Christeson et al.
patent: 5581723 (1996-12-01), Hasbun et al.
patent: 5592669 (1997-01-01), Robinson et al.
patent: 5596738 (1997-01-01), Pope
patent: 5602987 (1997-02-01), Harari et al.
patent: 5603056 (1997-02-01), Totani
patent: 5671388 (1997-09-01), Hasbun
patent: 5680570 (1997-10-01), Rantala et al.
patent: 5701492 (1997-12-01), Wadsworth et al.
patent: 5715423 (1998-02-01), Levy
patent: 5717886 (1998-02-01), Miyauchi
patent: 5737742 (1998-04-01), Achiwa et al.
patent: 5829013 (1998-10-01), Hasbun
patent: 5937434 (1999-08-01), Hasbun et al.
“A TrueFFS and FLite Technical Overview of M-Systems' Flash File Systems”, M-Systems Technology Brief, Oct. 1996, (pp. 1-10).
Products Guide, M-Systems (reprinted Apr. 1997), (3 pgs.).
News & Events: Products, Partners and Corporate Press Release Index, M-Systems, (reprinted Apr. 11, 1997), (1 page).
“Intel and M-Systems Sign FTL Marketing Agreement”, News and Events Press Releases, M-Systems, Dec. 11, 1995 (2 pgs.).
“AMD Flash Card Products Supported by TrueFFS Software”, News and Events Press Releases, M-Systems, Mar. 24, 1997 (2 pgs.).
“M-Systems Announces a NOR Flash Disk Solution Suite”, News and Events Press Releases, M-Systems, Aug. 19, 1996 (3 pgs.).
“Offering up to 72 Mbytes in a single-chip 32-pin DIP, Flash DiskOnChip 2000 showcases striking improvements in capacity, performance and price”, News and Events Press Releases, M-Systems, Embedded Systems Conference, Mar. 17, 1997 (3 pgs.).
“Flash PC Card Performance and Capacity Boosted with the Series 2000 NAND-based Architecture”, News and Events Press Releases, M-Systems, Jan. 27, 1997 (2 pgs.).
“FTL, Flash Translation Layer”, M-Systems, (reprinted Apr. 11, 1997), (2 pgs.).
“M-Systems Introduces Industry's Fastest SCSI Flash Disk”, News and Events Press Releases, M-Systems, Mar. 14, 1996 (2 pgs.).
“FlashDisk alternatives, ATA Versus FTL”, M-Systems, May 1996 (8 pgs.).
Maurice J. Bach, “The Design of the Unix Operating System”, Prentice-Hall, Inc., 1986, pp. 285-305.
Edwards David A.
Hasbun Robert N.
Blakely , Sokoloff, Taylor & Zafman LLP
Bragdon Reginald G.
Intel Corporation
LandOfFree
Method and apparatus for executing a program stored in... does not yet have a rating. At this time, there are no reviews or comments for this patent.
If you have personal experience with Method and apparatus for executing a program stored in..., we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and Method and apparatus for executing a program stored in... will most certainly appreciate the feedback.
Profile ID: LFUS-PAI-O-2454232