Claims Analysis
Total Claims: 16
Claim 1
Independent Claim
63 words
A method of executing a program, comprising: initiating execution of a program stored in a nonvolatile memory performing the following if the program attempts to modify a page of the nonvolatile memory: halting execution of the program; copying the page of nonvolatile memory to a modifiable memory; remapping the page of nonvolatile memory to the modifiable memory; and resuming execution of the program.
Claim 2
Independent Claim
63 words
A method of executing a program, comprising: initiating execution of a program stored in a nonvolatile memory performing the following if the program attempts to modify a page of the nonvolatile memory: halting execution of the program; copying the page of nonvolatile memory to a modifiable memory; remapping the page of nonvolatile memory to the modifiable memory; and resuming execution of the program.
Claim 3
Dependent Claim
15 words
The method of claim 1 further comprising: identifying the nonvolatile memory as a nonmodifiable memory.
Claim 4
Dependent Claim
18 words
The method of claim 1 wherein the nonvolatile memory is a flash electrically erasable programmable read only memory.
Claim 5
Dependent Claim
14 words
The method of claim 1 wherein the nonvolatile memory is a read only memory.
Claim 6
Dependent Claim
13 words
The method of claim 1 wherein the modifiable memory is a volatile memory.
Claim 7
Dependent Claim
14 words
The method of claim 1 wherein the modifiable memory is a random access memory.
Claim 8
Independent Claim
153 words
A method of executing a program, comprising: initiating execution of a program; wherein an executable code of the program is contiguously stored without being fragmented by non-executable portions of the program in a nonmodifiable memory having a bifurcated storage architecture, to permit program execution without address fix-ups; executing an instruction to modify a portion of the executable code of the program stored in the nonmodifiable memory; performing the following in response to the executed program instruction to modify the portion of the executable code of the program stored in a page of the nonmodifiable memory: halting execution of the program; copying the executable code portion stored in the page of nonmodifiable memory to a modifiable memory; remapping the address of the executable code portion stored in the page of nonmodifiable memory and copied to the modifiable memory; modifying the executable code portion stored in the modifiable memory; and resuming execution of the program.
Claim 9
Independent Claim
153 words
A method of executing a program, comprising: initiating execution of a program; wherein an executable code of the program is contiguously stored without being fragmented by non-executable portions of the program in a nonmodifiable memory having a bifurcated storage architecture, to permit program execution without address fix-ups; executing an instruction to modify a portion of the executable code of the program stored in the nonmodifiable memory; performing the following in response to the executed program instruction to modify the portion of the executable code of the program stored in a page of the nonmodifiable memory: halting execution of the program; copying the executable code portion stored in the page of nonmodifiable memory to a modifiable memory; remapping the address of the executable code portion stored in the page of nonmodifiable memory and copied to the modifiable memory; modifying the executable code portion stored in the modifiable memory; and resuming execution of the program.
Claim 10
Dependent Claim
15 words
The method of claim 1 further comprising: identifying a nonvolatile memory as the nonmodifiable memory.
Claim 11
Independent Claim
182 words
An apparatus for executing a program, comprising: a nonvolatile memory storing a program contiguously without code fragmentation; wherein an executable code of the program is contiguously stored without being fragmented by non-executable portions of the program in a nonvolatile memory having a bifurcated storage architecture, to permit program execution without address fix-ups; a memory management unit that generates an interrupt in response to an executed program instruction to modify a portion of the executable code of the program stored in a page of the nonvolatile memory; and a processor for executing the program, wherein execution of the program is halted and the processor copies the portion of the executable code of the program stored in the page of nonvolatile memory to a modifiable memory in response to the interrupt, wherein execution of the program is resumed after modifying the portion of the executable code stored in the modifiable memory and updating address translation tables of the memory management unit to refer to the modifiable memory for subsequent access requests to the modified executable code of the program stored in the modifiable memory.
Claim 12
Independent Claim
182 words
An apparatus for executing a program, comprising: a nonvolatile memory storing a program contiguously without code fragmentation; wherein an executable code of the program is contiguously stored without being fragmented by non-executable portions of the program in a nonvolatile memory having a bifurcated storage architecture, to permit program execution without address fix-ups; a memory management unit that generates an interrupt in response to an executed program instruction to modify a portion of the executable code of the program stored in a page of the nonvolatile memory; and a processor for executing the program, wherein execution of the program is halted and the processor copies the portion of the executable code of the program stored in the page of nonvolatile memory to a modifiable memory in response to the interrupt, wherein execution of the program is resumed after modifying the portion of the executable code stored in the modifiable memory and updating address translation tables of the memory management unit to refer to the modifiable memory for subsequent access requests to the modified executable code of the program stored in the modifiable memory.
Claim 13
Dependent Claim
18 words
The apparatus of claim 9 wherein the nonvolatile memory is a flash electrically erasable programmable read only memory.
Claim 14
Dependent Claim
14 words
The apparatus of claim 9 wherein the nonvolatile memory is a read only memory.
Claim 15
Dependent Claim
13 words
The apparatus of claim 9 wherein the modifiable memory is a volatile memory.
Claim 16
Dependent Claim
14 words
The apparatus of claim 9 wherein the modifiable memory is a random access memory.