Method and apparatus for upgrading implantable medical device operating software
First Claim
1. A medical system comprising:
- an implantable medical device including a local implant memory for storing implant operating software and an implant controller normally operable to execute a therapy administration program defined by said implant operating software;
an external programmer including a local programmer memory and a programmer controller for communicating with said implant controller for modifying said implant operating software; and
wherein said local implant memory includes a Code memory normally operable for storing implant operating software executable by said implant controller, a Log memory normally operable for logging event data, and a Data memory normally operable for storing variables used by said implant operating software; and
wherein said programmer controller is operable to initiate an implant software upgrade procedure by reallocating said implant memory including means for freeing space in said Log memory and means operable to download new code segments from said programmer memory for temporary storage in said space freed in said Log memory; and
wherein said implant controller includes means for validating each such new code segment downloaded from said programmer memory, means operable to transfer a software copying component from said Code memory to said Data memory, and means for executing said software copying component from said Data memory for writing validated code segments into said Code memory.
3 Assignments
0 Petitions
Accused Products
Abstract
A method and apparatus for reallocating in the local memory of an implantable medical device for upgrading operating software stored in the Code portion of the local memory. The local memory is managed so that new software e.g., a code segment, is accepted into memory provisionally, and then validated before being used to replace existing (i.e., old) software. Each new segment is received in its entirety and its integrity validated before the old software is overwritten. Data log information is downloaded to an external programmer at the start of a software upgrade operation to temporarily free memory space without losing any information. This freed memory space is then reassigned for the purpose of temporarily storing new code segments until they can be received in their entirety and validated. A software copying component is transferred from a local memory code portion to a data portion to allow new code segments to be written into any area of said code portion.
-
Citations
20 Claims
-
1. A medical system comprising:
-
an implantable medical device including a local implant memory for storing implant operating software and an implant controller normally operable to execute a therapy administration program defined by said implant operating software;
an external programmer including a local programmer memory and a programmer controller for communicating with said implant controller for modifying said implant operating software; and
whereinsaid local implant memory includes a Code memory normally operable for storing implant operating software executable by said implant controller, a Log memory normally operable for logging event data, and a Data memory normally operable for storing variables used by said implant operating software; and
whereinsaid programmer controller is operable to initiate an implant software upgrade procedure by reallocating said implant memory including means for freeing space in said Log memory and means operable to download new code segments from said programmer memory for temporary storage in said space freed in said Log memory; and
whereinsaid implant controller includes means for validating each such new code segment downloaded from said programmer memory, means operable to transfer a software copying component from said Code memory to said Data memory, and means for executing said software copying component from said Data memory for writing validated code segments into said Code memory. - View Dependent Claims (2, 3, 4, 5)
-
-
6. A medical system comprising:
-
an implantable medical device including a local device memory for storing operating software comprised of one or more code segments and a controller for executing a therapy administration program defined by said operating software;
an external programmer including local programmer memory and a controller for controlling information read from and written into said local programmer memory;
telemetry means for supporting bidirectional communication between said medical device and said external programmer; and
whereinsaid external programmer is operable to initiate a procedure for modifying said operating software stored in said local device memory, said procedure including means for initially freeing space in said local device memory by temporarily uploading data therefrom to said local programmer memory, means for downloading code segments from said local programmer memory to said space freed in said local device memory, means for validating each such downloaded code segment, and means for replacing a previously stored code segment with a validated code segment. - View Dependent Claims (7)
-
-
8. A medical system comprising:
-
an implantable medical device having operating software stored in a local device memory and controller means normally operable to execute said operating software to administer a certain medical therapy;
an external programmer configured to initiate an upgrade procedure to replace old code segments of said operating software with new code segments downloaded by said programmer to said medical device;
means initially effective during said procedure for interrupting the normal operation of said medical device controller and for uploading event log information from said local device memory to said external programmer to free space in said local device memory;
means for temporarily storing a downloaded code segment in said freed space in said local device memory;
means for determining the validity of said temporarily stored code segment;
means for replacing a code segment of said stored operating software in said local device memory with a validated code segment;
means for downloading said previously uploaded event log information to restore said information in said local device memory; and
means for resuming normal operation of said medical device. - View Dependent Claims (9)
-
-
10. A method of upgrading operating software stored in the local memory of an implantable medical device comprising:
-
uploading stored information from said medical device local memory to an external processor to create free space in said memory;
downloading code segments from said external processor for temporary storage in said local memory free space;
determining whether each of said temporarily stored code segments is valid;
storing each of said code segments determined to be valid in said medical device local memory in place of a previously stored code segment; and
downloading to said medical device local memory said information previously uploaded to said external processor. - View Dependent Claims (11, 12, 13, 14, 15, 16)
-
-
17. A method of modifying operating software stored in a Code portion of a local memory of an implantable medical device comprising:
-
uploading information from a Log portion of said local memory to an external programmer to free space in said Log portion;
downloading new operating software code segments from said external programmer for temporary storage in said Log portion;
determining whether each of said new code segments temporarily stored in said Log portion is valid;
transferring a software copying component from said Code portion to a Data portion of said local memory; and
executing said software copying component from said Data portion to store code segments determined to be valid in said Code portion. - View Dependent Claims (18, 19, 20)
-
Specification