IP Library Granted Patent US 7,409,538
Granted Patent B2
US 7,409,538 · App. 11/013,680 · Granted Aug 5, 2008

Update in-use flash memory without external interfaces

Assignee: International Business Machines Corporation
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 7,409,538
App. No.
11/013,680
Granted
Aug 5, 2008
Kind
B2
Abstract

A method, apparatus and program storage device for updating a non-volatile memory in an embedded system is provided. The invention includes detaching the non-volatile memory from all expectable non-volatile memory references, creating a temporary, volatile-memory file system for allocation of volatile memory space as needed for the non-volatile memory update process, copying all procedural code required to perform the non-volatile memory update into the volatile memory, changing the system search path definitions temporarily to point to the volatile memory, and performing the non-volatile memory update.

Claims (22)

1. A method comprising:

executing one or more software programs of instructions by an operating system of an embedded computer system to perform operations for updating a non-volatile memory in an application environment of said embedded computing system, the operations comprising:

detaching the non-volatile memory from all expectable non-volatile memory references;

creating a temporary volatile-memory file system for allocation of volatile memory space as needed for the non-volatile memory update operations;

copying all procedural code required to perform the non-volatile memory update into memory space of the volatile memory allocated by the temporary volatile memory file system;

changing the operating system search path definitions pointing to memory space of the non-volatile memory, temporarily to point to memory space of the volatile memory allocated by the temporary volatile memory file system;

executing the procedural code in the volatile memory to perform the non-volatile memory update using the operating system search path definitions changed temporarily to point to the volatile memory; and

after updating the non-volatile memory, changing the operating system search path definitions temporarily pointing to memory space of the volatile memory back to point to memory space of the non-volatile memory.

2. The method of claim 1 , wherein detaching the non-volatile memory from all expectable non-volatile memory references comprises canceling a set of running execution scripts in which applications are invoked and aborting a set of remaining programs running involving the non-volatile memory.

3. The method of claim 1 , wherein creating a temporary volatile-memory file system for allocation of volatile memory space comprises creating a RAM-based file system for allocation of volatile memory space.

4. The method of claim 1 , wherein copying all procedural code required to perform the non-volatile memory update into the volatile memory comprises copying procedural code from non-volatile memory.

5. The method of claim 1 , wherein copying all procedural code required to perform the non-volatile memory update into the volatile memory comprises copying procedural code from a network connection into the volatile memory.

6. The method of claim 1 , wherein performing the non-volatile memory update comprises copying a verified and updated non-volatile memory content to the non-volatile memory via a network transfer using an I/O interface to a network.

7. The method of claim 1 , further comprising loading an encoded non-volatile-memory image into the non-volatile memory.

8. A method comprising:

executing one or more software programs of instructions by an operating system of an embedded computer system to perform operations for updating contents of a non-volatile flash memory in an application environment of said embedded computing system, wherein the flash memory contents comprises at least one of the following: BIOS memory, an operating system, user data, program customization data and firmware, the operations comprising:

detaching the flash memory from all expectable flash memory references including canceling a set of running execution scripts in which applications are invoked and aborting a set of remaining programs running involving the flash memory;

creating a temporary file system for allocation of volatile RAM memory space for the flash memory update operations;

copying from a network connection, procedural code required to perform the flash memory update and a verified and updated content for the non-volatile flash memory, into memory space of the RAM memory allocated by the temporary RAM memory file system;

changing the operating system search path definitions pointing to memory space of the flash memory, temporarily to point to memory space of the RAM memory allocated by the temporary RAM memory file system;

executing the procedural code in the RAM memory to perform the flash memory update using the operating system search path definitions changed temporarily to point to the RAM memory, said flash memory update including transferring the verified and updated content to the flash memory; and

after updating the flash memory, changing the operating system search path definitions temporarily pointing to memory space of the RAM memory back to point to memory space of the flash memory.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 1, 2005
From: HAVERKAMP, FRANK; KREISSIG, GERALD; BOYER, JOSHUA W.; WETZSTEIN, SHAUN A.
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 015813/0865 →
Priority Claims (1)
EP 03104809 · Dec 18, 2003 · regional
Continuity (1)
Related Publication 20050138347A1 · Jun 23, 2005