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

Memory manager to allow non-volatile memory to be used to supplement main memory

Assignee: Intel Corp
•
Filing: 1995-12-26
•
Granted: 1998-10-27
•
Expires: 2015-12-26
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract Method and apparatus for executing a program stored in a non-volatile memory are disclosed. A method of executing a program includes the step of initiating execution of a program stored in a non-volatile memory. An exception is generated if a program command attempts to write to a location within the non-volatile memory. In response to the exception, a portion of the contents of the non-volatile memory including the location is relocated to a main memory with a program status of read/write/execute. The program is restarted at the program command causing the exception. An apparatus for executing a program stored in a non-volatile memory includes a main memory. The non-volatile memory is coupled to a main memory bus of the main memory. The program stored in the non-volatile memory has a read/execute program status. A processor is coupled to the main memory bus. An exception is generated during the processor execution of the program if a program command attempts to write to a location within the non-volatile memory. A portion of the program including the location is relocated to the main memory with a status of read/write/execute in response to the exception. Program execution is subsequently restarted at the program command.

Inventors

  • 👤 Robert N. Hasbun

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-10-26 06:21
CPC Classifications
G; G06; G06F; G06F9/00; G06F9/06; G06F9/30; G06F9/38; G06F9/3802; G06F9/3812; G06F12/00; G06F12/02; G06F12/0223; G06F12/0292; G06F12/06; G06F12/0638; G06F2212/00; G06F2212/20; G06F2212/202; G06F2212/2022

Claims Analysis

Total Claims: 24
Claim 1
Independent Claim 71 words
A method of executing a program comprising the steps of: a) initiating execution of a program stored in a non-volatile memory; b) generating an exception if a program command attempts to write to a location within the non-volatile memory; c) relocating a portion of the contents of the non-volatile memory including the location to a main memory in response to the exception; and d) restarting the program at the program command.
Claim 2
Independent Claim 71 words
A method of executing a program comprising the steps of: a) initiating execution of a program stored in a non-volatile memory; b) generating an exception if a program command attempts to write to a location within the non-volatile memory; c) relocating a portion of the contents of the non-volatile memory including the location to a main memory in response to the exception; and d) restarting the program at the program command.
Claim 3
Dependent Claim 42 words
The method of claim 1 wherein step a) further comprises the steps of: i) assigning memory addresses to the non-volatile memory; ii) writing the program to the non-volatile memory; and iii) identifying the memory addresses associated with the program as read/execute only.
Claim 4
Dependent Claim 17 words
The method of claim 2 wherein step a)(iii) further comprises the step of updating a descriptor table.
Claim 5
Dependent Claim 19 words
The method of claim 2 further comprising the step of: iv) updating page tables when the program is executed.
Claim 6
Dependent Claim 45 words
The method of claim 1 wherein step c) further comprises the steps of: i) reading the portion of the contents of the non-volatile memory; ii) writing the portion of the contents to the main memory; and iii) updating page tables to indicate the relocated portion.
Claim 7
Dependent Claim 29 words
The method of claim 21 wherein step c) further comprises the step of: i) swapping an amount of main memory to virtual memory to provide space for the portion.
Claim 8
Dependent Claim 19 words
The method of claim 1 wherein the non-volatile memory comprises a flash electrically erasable programmable read only memory array.
Claim 9
Dependent Claim 37 words
The method of claim 1 wherein step c) further comprises the step of: i) relocating the portion of the contents of the non-volatile memory including the location to the main memory with a program status of read/write/execute.
Claim 10
Independent Claim 84 words
A method of executing a program, comprising the steps of: a) initiating execution of a program stored in a non-volatile memory; b) generating an exception if a program command attempts to write to a location within the non-volatile memory; c) copying contents of a portion of the non-volatile memory including the location to a main memory in response to the exception; d) updating page tables to indicate that the portion is located in main memory; and e) restarting the program at the program command.
Claim 11
Independent Claim 84 words
A method of executing a program, comprising the steps of: a) initiating execution of a program stored in a non-volatile memory; b) generating an exception if a program command attempts to write to a location within the non-volatile memory; c) copying contents of a portion of the non-volatile memory including the location to a main memory in response to the exception; d) updating page tables to indicate that the portion is located in main memory; and e) restarting the program at the program command.
Claim 12
Dependent Claim 41 words
The method of claim 9 wherein step a) further comprises the steps of: i) assigning memory addresses to the non-volatile memory; ii) writing the program to the non-volatile memory; and iii) setting a program status of the program to read/execute only.
Claim 13
Dependent Claim 17 words
The method of claim 10 wherein step a)(iii) further comprises the step of updating a descriptor table.
Claim 14
Dependent Claim 20 words
The method of claim 10 further comprising the step of: iv) updating the page tables when the program is executed.
Claim 15
Dependent Claim 20 words
The method of claim 9 wherein step d) further comprises the step of: i) setting the program status to read/write/execute.
Claim 16
Dependent Claim 29 words
The method of claim 9 wherein step c) further comprises the step of: i) swapping an amount of main memory to virtual memory to provide space for the portion.
Claim 17
Dependent Claim 19 words
The method of claim 9 wherein the non-volatile memory comprises a flash electrically erasable programmable read only memory array.
Claim 18
Independent Claim 101 words
An apparatus comprising: a main memory; a non-volatile memory coupled to a main memory bus of the main memory, the non-volatile memory storing a program having a program status of read/execute; a processor coupled to the main memory bus, wherein an exception is generated during the processor execution of the program if a program command attempts to write to a location within the non-volatile memory, wherein a portion of the program including the location is relocated to the main memory with a status of read/write/execute in response to the exception, wherein the program execution is subsequently restarted at the program command.
Claim 19
Independent Claim 101 words
An apparatus comprising: a main memory; a non-volatile memory coupled to a main memory bus of the main memory, the non-volatile memory storing a program having a program status of read/execute; a processor coupled to the main memory bus, wherein an exception is generated during the processor execution of the program if a program command attempts to write to a location within the non-volatile memory, wherein a portion of the program including the location is relocated to the main memory with a status of read/write/execute in response to the exception, wherein the program execution is subsequently restarted at the program command.
Claim 20
Dependent Claim 17 words
The apparatus of claim 16 wherein the non-volatile memory comprises flash electrically erasable programmable read only memory.
Claim 21
Independent Claim 78 words
A method of executing a program, comprising the steps of: a) initiating execution of a program stored within a non-volatile memory; b) performing the following steps, if a program command attempts to modify a page of the non-volatile memory; i) halting execution of the program; ii) copying the page of non-volatile memory to a main memory; iii) remapping the page of non-volatile memory to the main memory; and iv) resuming execution of the program at the program command.
Claim 22
Independent Claim 78 words
A method of executing a program, comprising the steps of: a) initiating execution of a program stored within a non-volatile memory; b) performing the following steps, if a program command attempts to modify a page of the non-volatile memory; i) halting execution of the program; ii) copying the page of non-volatile memory to a main memory; iii) remapping the page of non-volatile memory to the main memory; and iv) resuming execution of the program at the program command.
Claim 23
Dependent Claim 25 words
The method of claim 18 wherein step b)(iii) further comprises the step of modifying a program descriptor table to define the remapped page as read/write/execute.
Claim 24
Dependent Claim 29 words
The method of claim 18 wherein step a) further comprises the step of setting a program descriptor table to define the non-volatile memory storing the program as read/execute only.

References Cited (Backward Citations)

US5333292A Cited
US5596738A Cited
US5603056A Cited
US5673417A Cited

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 2001-10-26 2002-04-27 2002-10-27 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2005-10-26 2006-04-27 2006-10-27 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2009-10-26 2010-04-27 2010-10-27 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag