System and method for storing firmware in a...

Surgery: light – thermal – and electrical application – Light – thermal – and electrical application – Electrical therapeutic systems

Reexamination Certificate

Rate now

  [ 0.00 ] – not rated yet Voters 0   Comments 0

Details

Reexamination Certificate

active

06282450

ABSTRACT:

BACKGROUND OF THE INVENTION
1. Field of the Invention
This invention relates to storing firmware in a medical treatment device, such as a drug infusion pump or an electrical nerve stimulator, that is implanted within a patient's body and downloading revisions and/or additions to the firmware without explanting the treatment device.
2. Background of the Invention
Devices and techniques for treating neurological disorders by drug infusion and by electrical stimulation of a person's central nervous system are well known in the prior art. For instance, U.S. Pat. No. 5,713,922 to King, U.S. Pat. No. 5,782,798 to Rise, and U.S. Pat. No. 5,814,014 to Elsberry et al., each assigned to Medtronic, Inc. of Minneapolis, Minnesota, disclose such devices and techniques and are incorporated herein by reference.
Such treatment devices and techniques often employ drug-infusion pumps and/or electrical pulse generators that are implanted within a patient's body. Accordingly, available memory for storing control software and operating parameters, also referred to as firmware, such as treatment dose, duration, and timing, of various treatment protocols is severely limited relative to the amount of memory typically available to systems that are not implanted within a person's body.
The of use random access memory (“RAM”) and read only memory (“ROM”) each have their advantages and disadvantages in the context of implantable medical treatment devices. With respect to accessing memory, ROM uses less energy and is therefore preferable to RAM for storing the firmware of an implantable medical treatment device because it increases the useful life of the device, thereby reducing the need for explanting a device due to a discharged battery. ROM, however, is less flexible to the extent that RAM can be modified, whereas ROM can not be modified without explanting the device. The flexibility provided by the capability to modify RAM also raises concerns about RAM-based code becoming unintentionally corrupted. ROM storage devices offer another advantage, namely, ROM devices typically require less area on an integrated circuit chip thereby advantageously reducing the size of the treatment device.
Making modifications to the software for controlling such treatment devices without explanting the devices is often desirable. For instance, modifications to the control software are desirable as new treatment modes are developed.
Optimization techniques for efficiently using the limited amount of available memory provided by an implantable treatment device have been addressed by certain prior art patents. For instance, U.S. Pat. No. 5,360,437 to Thompson discloses an implantable medical device having its control program or software stored in non-volatile random access memory (“RAM”). The non-volatile RAM can be re-programmed as desired using an external programmer and a telemetry link. U.S. pat. No. 5,456,691 to Snell discloses a system in which only certain physician-selected program modules are loaded into the implantable device's RAM. RAM requirements can be reduced by loading only a limited number of program modules into RAM. These approaches undesirably fail to take advantage of the benefits provided by maximizing the use of RAM.
U.S. Pat. No. 5,456,692 to Smith, Jr. et al. discloses an implantable pacemaker in which the control program is stored in read only memory (“ROM”) or an equivalent non-volatile memory storage device. Control parameters, on the other hand, are stored in RAM, and may be programmably altered in order to allow the pacemaker to meet the potentially changing needs of a patient. A drawback to this approach, however, is that it is difficult to predict all of the parameters that may need to be modified in the future. For instance, the motor of an implantable drug-infusion pump is typically powered by a battery that outputs electrical pulses of varying characteristics as the battery voltage decreases. For instance, a filly charged battery could drive the pulses at a 10% duty cycle, while a substantially discharged battery's duty cycle could expand to close to 100%. If the developers of the control software for a drug infusion pump were unaware that changing the battery duty cycle characteristics would be desirable or necessary in the future, the related parameters would likely not be placed in RAM. If those parameters were placed in ROM, they could not be changed without explanting the pump.
Accordingly, in light of the significant memory power and size limitations and the safety concerns associated with storing control or operating software in an implantable medical device, there remains a need for an improved system and method providing a flexible arrangement that takes advantages of the benefits provided by the use of both ROM and RAM in the context of an implantable medical treatment device.
SUMMARY OF THE INVENTION
In a first embodiment of this invention, a system for storing control software in a human-implantable medical treatment device is provided including a read only memory (“ROM”), a random access memory (“RAM”), and an external programmer and telemetry link for downlinking code to the RAM, which downlinked code is capable of causing the implanted medical treatment device to perform new and/or revised functionality. The firmware, also referred to as control software, is stored in such a manner that the amount of code stored in ROM is maximized and RAM storage is used for storing pointers to functions, the relative priority and/or execution order of functions, and any code downlinked via the external programmer and telemetry link. When code is downlinked to and stored in RAM, one or more revised and/or new pointers to the code that has been downlinked to RAM are also downlinked and stored in RAM. In this manner, execution of ROM-based tasks can be terminated by downlinking a pointer to execute a downlinked task in RAM, instead of executing a ROM-based task.
In another embodiment of the present invention, the ROM stores a task scheduler and the code of a plurality of tasks to be performed by the medical treatment device. The RAM stores pointers to the ROM-based tasks. The programmer and telemetry link download, to the RAM, code and pointers to the downlinked code so that the medical treatment device then executes both ROM-based tasks and downlinked RAM-based tasks. The downlinked code and pointers may be stored in an electrically erasable programmable read only memory (“EEPROM”) before the downlinked code and pointers are stored in the RAM. Upon detecting a RAM fault, the RAM-based downlinked code and pointers may be restored from the contents of the EEPROM. Upon failure of the restoration of RAM from EEPROM, execution of one or more RAM-based functions may be terminated, and execution of one or more ROM-based tasks can be reinstated.
The ROM may contain a function defaults module for storing functions in the ROM, a function pointer defaults module for storing pointers to the functions stored in the function defaults module of the ROM, an executive/task scheduler for executing functions pointed to by stored function pointers, and a task order defaults module for defining the initial order in which ROM-based tasks are executed based, at least in part, upon the order in which pointers to tasks are stored in the task order defaults module.
The RAM may contain a function pointer table initialized by copying the contents of the function pointer defaults module from the ROM and for storing pointers to the functions executed by the executive/task scheduler, a downlinked functions module for storing downlinked functions in addition to the functions stored in the function defaults module of the ROM, and a task order table initialized by copying the contents of the task order defaults module of the ROM and for storing downlinked definitions of the order in which ROM-based tasks or RAM-based tasks, or both ROM-based tasks and RAM-based tasks, are executed.
The EEPROM may contain a function pointer changes module for storing a back-up copy of the contents of the function

LandOfFree

Say what you really think

Search LandOfFree.com for the USA inventors and patents. Rate them and share your experience with other people.

Rating

System and method for storing firmware in a... does not yet have a rating. At this time, there are no reviews or comments for this patent.

If you have personal experience with System and method for storing firmware in a..., we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and System and method for storing firmware in a... will most certainly appreciate the feedback.

Rate now

     

Profile ID: LFUS-PAI-O-2530910

  Search
All data on this website is collected from public sources. Our data reflects the most accurate information available at the time of publication.