Methods and devices that utilize hardware to move blocks of operating parameter data from memory to a register set
Abstract
A hardware based block moving controller of an active device such as an implantable medical device that provides electrical stimulation reads a parameter data from a block of memory and then writes the parameter data to a designated register set of a component that performs an active function. The block of memory may include data that specifies a size of the block of memory to be moved to the register set. Multiple individual block mover components of the controller may move respective blocks, each responsive to a dedicated trigger or to a same trigger. Furthermore, a given block mover or individual block mover component may have multiple selectable triggers. The block moving hardware based controller may have one or more memory devices to access, and the firmware may write to one memory while the block moving hardware based controller may read from another.
Claims
exact text as granted — not AI-modifiedWhat is claimed is:
1 . A method of controlling parameters of an active device, comprising:
writing a plurality of block navigation data and corresponding parameter data and address value pairs to locations within a memory device of a block moving hardware-based controller that comprises a first block mover component and a second block mover component, each block navigation datum and corresponding parameter data and address value pairs defining a block; receiving a first trigger at the first block mover component from a source other than another block mover component and not receiving the first trigger at the second block mover component; in response to receiving the first trigger at the first block mover component, reading by the first block mover component a first block navigation datum from the memory device for a first block of the memory device and reading a number of parameter data and address value pairs corresponding to the first block navigation datum; upon reading the number of parameter data and address value pairs, writing by the first block mover component the parameter data values that have been read from the memory device by the first block mover component to a set of registers corresponding to the address values that have been read from the memory device by the first block mover component; receiving a second trigger at the second block mover component from a source other than another block mover component and not receiving the second trigger at the first block mover component; in response to receiving the second trigger at the second block mover component, reading by the second block mover component a second block navigation datum from the memory device for a second block of the memory device and reading a number of parameter data and address value pairs corresponding to the second block navigation datum; and upon reading the number of parameter data and address value pairs corresponding to the second block navigation datum, writing by the second block mover component the parameter data values that have been read from the memory device by the second block mover component to a set of registers corresponding to the address values that have been read from the memory device by the second block mover component.
2 . The method of claim 1 , wherein a first source provides the first trigger and a second source provides the second trigger.
3 . The method of claim 1 , wherein the set of registers control a waveform generator.
4 . The method of claim 3 , wherein the block moving hardware-based controller further comprises a third block mover component and a fourth block mover component, the method further comprising:
receiving a third trigger at the third block mover component; in response to receiving the third trigger, reading by the third block mover component a third block navigation datum from the memory device for a third block of the memory device and reading a number of parameter data and address value pairs corresponding to the third block navigation datum; and receiving a fourth trigger at the fourth block mover component; in response to receiving the fourth trigger, reading by the fourth block mover component a fourth block navigation datum from the memory device for a fourth block of the memory device and reading a number of parameter data and address value pairs corresponding to the second block navigation datum; and generating the waveform comprises generating a waveform with four sections, each section corresponding to the data block written to the set of registers by the first, second, third, and fourth block mover components.
5 . The method of claim 1 , further comprising writing a first starting address value to a first storage location and writing a second starting address value that is different than the first starting address value to a second storage location;
reading the first data block by the first block moving device starting at a first address of the memory that corresponds to the first starting address value; and reading the second data block by the second block mover component starting at an address of the memory corresponding to the second starting address value.
6 . The method of claim 1 , wherein the memory device comprises a first memory portion and a second memory portion, the method further comprising writing a second plurality of block navigation data and corresponding parameter data and address value pairs to locations within a second memory portion of the block moving hardware-based controller while reading the number of parameter data and address value pairs from the first memory portion; and
in response to receiving the second trigger, reading the second block navigation datum from the second memory portion for the second block of the second memory portion and reading a number of parameter data and address value pairs corresponding to the second block navigation datum while writing a next plurality of block navigation data and corresponding parameter data and address value pairs to locations within the first memory portion.
7 . The method of claim 1 , wherein the memory device comprises a first memory device and a second memory device.
8 . The method of claim 1 , further comprising:
receiving at a multiplexer that is coupled to the first block mover component the first trigger from a first trigger source; receiving at the multiplexer the second trigger from a second trigger source; at the multiplexer, selecting one of the first trigger and the second trigger; and receiving the selected trigger at the first block mover component.
9 . A method of controlling parameters of an active device, comprising:
writing a plurality of block navigation data and corresponding parameter data and address value pairs to locations within a memory device of a block moving hardware-based controller that comprises a first block mover component and a second block mover component, each block navigation datum and corresponding parameter data and address value pairs defining a block; receiving a trigger from a trigger source at the first block mover component and at the second block mover component; in response to receiving the trigger, reading by the first block mover component a first block navigation datum from the memory device for a first block of the memory device and reading a number of parameter data and address value pairs corresponding to the first block navigation datum; and upon reading the number of parameter data and address value pairs of the first block of the memory device, writing by the first block mover component the parameter data values that have been read from the memory device by the first block mover component to a set of registers corresponding to the address values that have been read from the memory device by the first block mover component.
10 . The method of claim 9 , further comprising enabling the first block mover component and disabling the second block mover component prior to receiving the trigger.
11 . The method of claim 9 , further comprising:
in response to receiving the trigger, reading by second block mover component a second block navigation datum from the memory device for a second block of the memory device and reading a number of parameter data and address value pairs corresponding to the second block navigation datum; upon reading the number of parameter data and address value pairs of the second block of the memory device, writing by the second block mover component the parameter data values that have been read from the memory device by the second block mover component to a set of registers corresponding to the address values that have been read from the memory device by the second block mover component.
12 . A method of controlling parameters of an active device, comprising:
writing a plurality of block navigation data and corresponding parameter data and address value pairs to locations within a first memory portion of a block moving hardware-based controller, each block navigation datum and corresponding parameter data and address value pairs defining a block; receiving a first trigger at the controller; in response to receiving the first trigger, reading by the block moving hardware-based controller a first block navigation datum from the first memory portion for a first block of the first memory portion and reading a number of parameter data and address value pairs corresponding to the first block navigation datum; upon reading the number of parameter data and address value pairs, writing the parameter data values that have been read from the first memory portion to a set of registers corresponding to the address values; while reading the number of parameter data and address value pairs from the first memory portion, writing a second plurality of block navigation data and corresponding parameter data and address value pairs to locations within a second memory portion of the block moving hardware-based controller; receiving a second trigger at the controller; in response to receiving the second trigger, reading by the block moving hardware-based controller a second block navigation datum from the second memory portion for a second block of the second memory portion and reading a number of parameter data and address value pairs corresponding to the second block navigation datum; upon reading the number of parameter data and address value pairs, writing the parameter data values that have been read from the second memory portion to a set of registers corresponding to the address values read from the second memory portion; while reading the number of parameter data and address value pairs from the second memory portion, writing a third plurality of block navigation data and corresponding parameter data and address value pairs to locations within the first memory portion.
13 . The method of claim 12 , wherein the first memory portion comprises a first memory device and the second memory portion comprises a second memory device that is physically separate from the first memory device.
14 . A method of controlling parameters of an active device, comprising:
writing a plurality of block navigation data and corresponding parameter data and address value pairs to locations within a first memory device of a block moving hardware-based controller, each block navigation datum and corresponding parameter data and address value pairs defining a block; receiving a first trigger at the controller; in response to receiving the first trigger, reading a first block navigation datum from the first memory device for a first block of the memory device and reading a number of parameter data and address value pairs corresponding to the first block navigation datum; upon reading the number of parameter data and address value pairs, writing the parameter data values that have been read from the first memory device to a set of registers corresponding to the address values; writing a second plurality of block navigation data and corresponding parameter data and address value pairs to locations within a second memory device of a block moving hardware-based controller; receiving a second trigger at the controller; in response to receiving the second trigger, reading a second block navigation datum from the second memory device for a second block of the second memory device and reading a number of parameter data and address value pairs corresponding to the second block navigation datum; and upon reading the number of parameter data and address value pairs, writing the parameter data values that have been read from the second memory device to a set of registers corresponding to the address values read from the second memory device.
15 . The method of claim 14 , wherein writing the second plurality of block navigation data and corresponding parameter data and address value pairs to locations within the second memory device occurs while writing parameter data read from the first memory device to the set of registers corresponding to the address values.
16 . A method of controlling self-measurements within an active device, comprising:
writing a plurality of block navigation data and corresponding parameter data and address value pairs to locations within a memory device of a block moving hardware-based controller, each block navigation datum and corresponding parameter data and address value pairs defining a block; receiving a trigger at the controller; in response to receiving the trigger, reading a block navigation datum from the memory device for a first block of the memory device and reading a number of parameter data and address value pairs corresponding to the block navigation datum; and upon reading the number of parameter data and address value pairs, writing the parameter data values that have been read from the memory device to a set of registers corresponding to the address values, the set of registers being control registers of an analog to digital converter of a measurement circuit; receiving a signal to be measured via the measurement circuit; and in accordance with the parameter data values in the set of registers, converting the signal to measurement data.
17 . The method of claim 16 , wherein the measurement circuit comprises an incremental analog to digital converter.
18 . The method of claim 16 , wherein the signal represents impedance of a stimulation pathway of the active device.
19 . The method of claim 16 , wherein the signal represents a voltage of a battery within the active device.
20 . A method of controlling an active device, comprising:
writing by a firmware a plurality of block navigation data and corresponding parameter data and address value pairs to locations within a memory device of a block moving hardware-based controller, each block navigation datum and corresponding parameter data and address value pairs defining a block; outputting a first trigger from a first trigger source to a multiplexer that is coupled to the first trigger source, to a second trigger source, and to the controller; outputting a second trigger from the second trigger source to the multiplexer; at the multiplexer, selecting one of the first trigger and the second trigger; receiving the selected trigger at the controller; in response to receiving the selected trigger, reading a block navigation datum from the memory device for a first block of the memory device and reading a number of parameter data and address value pairs corresponding to the block navigation datum; and upon reading the number of parameter data and address value pairs, writing the parameter data values that have been read from the memory device to a set of registers corresponding to the address values.
21 . The method of claim 20 , further comprising receiving a control signal at the multiplexer and wherein selecting one of the first trigger and second trigger is controlled by the control signal.
22 . The method of claim 20 , further comprising sending the control signal from the firmware.
23 . The method of claim 20 , further comprising outputting a third trigger from a third trigger source to the multiplexer, selecting one of the first and the second triggers further comprises selecting one of the first, second, and third triggers.
24 . A method of controlling an active device, comprising:
writing a starting address value to a storage location; writing a plurality of block navigation data and corresponding parameter data and address value pairs to locations within a memory device of a block moving hardware-based controller beginning at the starting address, each block navigation datum and corresponding parameter data and address value pairs defining a block; receiving a trigger at the controller; in response to receiving the trigger, reading a block navigation datum from the memory device for a first block of the memory device and reading a number of parameter data and address value pairs corresponding to the block navigation datum by starting at an address of the memory corresponding to the starting address value; and upon reading the number of parameter data and address value pairs, writing the parameter data values that have been read from the memory device to a set of registers corresponding to the address values.
25 . The method of claim 24 , wherein writing the starting address value comprises writing a first starting address value to a first storage location and writing a second starting address value to a second storage location, wherein the block-moving hardware based controller comprises a first block moving device and a second block moving device, wherein the first block moving device reads a first block of data by starting at a first address of the memory that corresponds to the first starting address value, and wherein the second block mover component reads a second block of data by starting at an address of the memory corresponding to the second starting address value.Join the waitlist — get patent alerts
Track US2022100654A1 — get alerts on status changes and closely related new filings.
We store only your email — no account needed. See our privacy policy.