Error code calculations for data stored in an implantable medical device
First Claim
1. An implantable medical device adapted to be implanted in a patient'"'"'s body for providing a therapy to a patient and/or monitoring a condition of a patient and storing device data comprising:
- implantable device memory comprising a plurality of memory registers having memory addresses in which blocks of device data can be selectively stored;
storing means for storing blocks of device data in memory registers at specified memory register addresses;
block read means for selecting and reading blocks of device data from specified memory register addresses;
error code calculating means for calculating an error code from a selected and read block of device data as the block of device data is read; and
error code storage means for storing the error code calculated from the selected and read block of device data.
1 Assignment
0 Petitions
Accused Products
Abstract
A cyclic redundancy code (CRC) and optionally a syndrome value calculation of one or more implantable medical device (IMD) data block is conducted by block mover/reader hardware of the IMD when the data block(s) are moved and/or read. In the block read operation, each data byte or word in the block mover data register is read in a first clock cycle. In the block move operation, each data byte is read in the first clock cycle in this way and then moved to a destination register in a second clock cycle. The data CRC and optionally the syndrome value accumulate in the CRC and syndrome registers as all data bytes of the data block(s) are read in the first clock cycle. When the last data byte or word of the data block(s) is sequentially read (and moved in the block move operation), the accumulated data CRC and syndrome value are either stored as the associated data CRC and optional syndrome value or are used for comparison with a previously stored data CRC and optional syndrome value associated with the data block(s) in the comparison operation to determine if the data block(s) is corrupted.
-
Citations
33 Claims
-
1. An implantable medical device adapted to be implanted in a patient'"'"'s body for providing a therapy to a patient and/or monitoring a condition of a patient and storing device data comprising:
-
implantable device memory comprising a plurality of memory registers having memory addresses in which blocks of device data can be selectively stored; storing means for storing blocks of device data in memory registers at specified memory register addresses; block read means for selecting and reading blocks of device data from specified memory register addresses; error code calculating means for calculating an error code from a selected and read block of device data as the block of device data is read; and error code storage means for storing the error code calculated from the selected and read block of device data. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13)
-
-
14. In an implantable medical device adapted to be implanted in a patient'"'"'s body for providing a therapy to a patient and/or monitoring a condition of a patient to derive device data therefrom and for storing the device data, the method comprising:
-
storing device data in a plurality of memory registers at specified memory addresses; selecting and reading at least one block of stored device data; calculating an error code from a selected and read block of device data as the block of device data is read; and storing the error code calculated from the selected and read block of device data. - View Dependent Claims (15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25)
-
-
26. A programmable implantable medical device adapted to be implanted in a patient'"'"'s body for delivering a therapy to a patient and/or monitoring a condition of a patient, the implantable medical device operating in accordance with operating modes and parameters established by stored operating instructions and further operable to monitor at least one condition of the device, the implantable medical device further comprising:
-
means for compiling device data bytes from device data sources comprising one or more of the delivery of device therapies, monitored device conditions, monitored conditions of the patient, and stored operating instructions; device memory comprising a plurality of memory registers in which blocks of device data each comprising a plurality of data bytes are selectively stored at memory addresses; retrieval means for addressing the memory addresses of the plurality of memory registers to retrieve a block or blocks of device data a data byte at a time; block read means for selectively reading each data byte of the block or blocks of device data retrieved from the source registers addressed by said retrieval means; error code calculating means for calculating an error code from the data bytes of the selectively read block or blocks of device data as the data bytes of the block or blocks of device data are read by said block read means; and error code storage means for storing the error code calculated from the selectively read block or blocks of device data. - View Dependent Claims (27, 28, 29)
-
-
30. A method of operation of a programmable implantable medical device adapted to be implanted in a patient'"'"'s body for delivering a therapy to a patient and/or monitoring a condition of a patient, the implantable medical device operating in accordance with operating modes and parameters established by stored operating instructions and further operable to monitor at least one condition of the device, the method further comprising the steps of:
-
compiling device data bytes from device data sources comprising one or more of the delivery of device therapies, monitored device conditions, monitored conditions of the patient, and stored operating instructions; storing block or blocks of device data each comprising a plurality of device data bytes in device memory registers having register addresses; addressing the memory addresses of the plurality of memory registers to retrieve a block or blocks of device data a data byte at a time; reading each data byte of a block or blocks of device data retrieved from the source registers; calculating an error code from the data bytes as the data bytes of the block or blocks of device data are read; and storing the error code calculated from the read block or blocks of device data. - View Dependent Claims (31, 32, 33)
-
Specification