ある期間に実施される刺激イベントに対応する刺激イベントデータのブロックを保存する第1テーブルと、当該期間に対応する次の刺激イベントタイムデータのブロックを保存する第2テーブルと、を含む、メモリと、刺激イベントデータのブロックの1つを、第1テーブルから刺激イベントを制御するために用いられる1又は複数のレジスタへ選択的に転送する第1DMAチャンネルと、次の刺激イベントタイムデータのブロックの1つを、第2テーブルから刺激イベントと連動するタイミングを制御するために用いられるタイマーへ選択的に転送する第2DMAチャンネルと、を含む、ダイレクトメモリアクセスDMAコントローラーと、を備える、埋め込み型刺激システム。カウントレジスタと第1比較レジスタを有するタイマーをさらに備え、次の刺激イベントタイムデータの各ブロックは、第2DMAチャンネルによりタイマーに転送されるときにタイマーの第1比較レジスタに保存される値を有しており、タイマーのカウントレジスタは、カウント値を保存し、かつ、クロック信号に依存したカウント値をインクリメントし、第1比較レジスタは、第1比較レジスタに保存された値とカウントレジスタのカウント値とを比較し、第1比較レジスタに保存された値とカウントレジスタのカウント値とが等しいとき、第1トリガーを発生させ、第1DMAチャンネルは、刺激イベントデータの次のブロックを、第1テーブルから第1比較レジスタにより発生された第1トリガーに従った刺激イベントを制御するために用いられる1又は複数のレジスタへ転送する、請求項1に記載の埋め込み型刺激システム。第2DMAチャンネルは、次の刺激イベントタイムデータの次のブロックを、次の1つ、第1比較レジスタにより発生される第1トリガーの信号、転送を開始する第1DMAチャンネルに反応して発生するトリガー信号、又は転送を完了する第1DMAチャンネルに反応して発生するトリガー信号、に従って、第2テーブルから第1比較レジスタに転送する、請求項2に記載の埋め込み型刺激システム。タイマーは、リセット値を保存し、かつ、リセット値とカウントレジスタのカウント値とを比較する第2比較レジスタを含んでおり、保存されたリセット値がカウントレジスタの値と等しくなるときに、カウントレジスタがリセットされる、請求項3に記載の埋め込み型刺激システム。刺激イベントを制御するために用いられる1又は複数のレジスタは、DMAコントローラーとメモリを含むマイクロコントローラーユニットMCUの入力出力ポートに対応する、請求項1~4のいずれか一項に記載の埋め込み型刺激システム。刺激イベントデータの各ブロックは、刺激イベントに対応し、かつ、刺激イベントのために選択された複数の導線の一つを特定する第1グループのビットと、刺激イベント中に選択された導線の電極とどのように接続するかを特定する第2グループのビットと、が含まれており、第1グループのビットは、第1DMAチャンネルにより、導線選択を制御する回路に接続された入力出力ポートに対応する1又は複数のレジスタの第1部分に転送され、第2グループのビットは、第1DMAチャンネルにより、電極構成を制御する回路に接続された入力出力ポートに対応するレジスタの第2部分に転送される、請求項5に記載の埋め込み型刺激システム。1又は複数の導線を介して伝達される刺激信号を定める刺激データを受信、又はアクセスする中央処理装置CPUをさらに備え、刺激データにもとづき、CPUはメモリに保存されている第1テーブルと第2テーブルを生じさせ、CPUが第1テーブルと第2テーブルを生じさせた後、DMAコントローラーはCPUの割り込みなしに前記期間に刺激イベントを制御し、これによりCPUは刺激イベントを行うことに関連しない他のタスクを行うこと、及び又は、前記期間の間低電力モードに入ることを可能とする、請求項1~6のいずれか一項に記載の埋め込み型刺激システム。CPUは、刺激データにもとづきパルスの潜在的衝突を特定し、DMAコントローラーが、第1テーブルと第2テーブルに従って、刺激イベントをある期間制御するとき、CPUは特定された潜在的パルス衝突を避けるように第1テーブルと第2テーブルを生成する、請求項7に記載の埋め込み型刺激システム。カウント値をインクリメントするためにカウントレジスタにより用いられる第1クロック信号を発生させる第1クロック回路と、CPUが低電力モードにないときにCPUにより用いられる第2クロック信号を発生させる第2クロック回路と、をさらに備え、第2クロック回路により発生された第2クロック信号は、第1クロック回路により発生された第1クロック信号より高い周波数を有し、第2クロック回路は第1クロック回路より多くの電力を使用し、CPUが低電力モードにあるとき、第2クロック回路は少なくとも部分的に不作動になっている、請求項7に記載の埋め込み型刺激システム。第1周波数を有するクロック信号を発生させる第1クロック回路と、CPUが低電力モードにないときに前記CPUにより用いられる、第1周波数より高い第2周波数のクロック信号を発生させる第2クロック回路と、をさらに備え、第2クロック回路は、第1クロック回路よりも多くの電力を消費し、CPUにより受領され、または、アクセスされた刺激データに基づき、CPUは、第1クロック回路により発生されたクロック信号が、カウント値をインクリメントさせるためにカウントレジスタが用いる第1クロック信号として充分な分解能を有しているかどうか、または、第2クロック回路により発生されたクロック信号が、カウント値をインクリメントさせるためにカウントレジスタが用いる第1クロック信号として用いる必要があるかどうかを決定し、第1クロック回路により発生されたクロック信号がカウント値をインクリメントさせるためにカウントレジスタが用いる第1クロック信号として充分な分解能を有していれば、第1クロック回路により発生されたクロック信号が第1クロック信号として用いられ、かつ、第2クロック回路は少なくとも部分的に不作動となり、第2クロック回路により発生されたクロック信号が、カウント値をインクリメントさせるためにカウントレジスタが用いる第1クロック信号として用いる必要があるならば、第2クロック回路により発生されたクロック信号が第1クロック信号として用いられ、かつ、第1クロック回路は少なくとも部分的に不作動となる、請求項7に記載の埋め込み型刺激システム。第1テーブルと第2テーブルは、第1周波数を有するクロック信号と第2周波数を有するクロック信号のいずれが第1クロック信号として用いられているかに従って、CPUにより作成される、請求項10に記載の埋め込み型刺激システム。埋め込み型刺激システムを用いた使用方法であり、ある期間に実施される刺激イベントに対応する刺激イベントデータのブロックを第1テーブルに保存すること、前記期間に対応する次の刺激イベントタイムデータのブロックを第2テーブルに保存すること、第1テーブルから、刺激イベントを制御するために用いられる1又は複数のレジスタへ刺激イベントデータのブロックの1つを選択的に転送すること、第2テーブルから、刺激イベントと連動するタイミングを制御するために用いられるタイマーへ次の刺激イベントタイムデータのブロックの1つを選択的に転送すること、を備える、埋め込み型刺激システムを用いた使用方法。DMAコントローラーの第1ダイレクトメモリアクセスDMAチャンネルは、刺激イベントデータのブロックの1つを、第1テーブルから刺激イベントを制御するために用いられる1又は複数のレジスタへ選択的に転送するために用いられ、DMAコントローラーの第2DMAチャンネルは、次の刺激イベントタイムデータのブロックの1つを、第2テーブルから刺激イベントと連動するタイミングを制御するために用いられるタイマーへ選択的に転送するために用いられる、請求項12に記載の方法。次の刺激イベントタイムデータの各ブロックは、タイマーに転送されたときにタイマーの第1比較器に保存される値を有しており、この方法はさらに、クロック信号に従ってカウント値をインクリメントすること、第1比較レジスタに保存された値とカウント値とを比較すること、第1比較レジスタに保存された値とカウントレジスタのカウント値とが等しいときに、第1トリガーを発生させること、刺激イベントデータの次のブロックを、第1テーブルから、第1トリガーに従って刺激イベントを制御するために用いられるレジスタへ転送すること、を備える請求項13に記載の方法。刺激イベントを制御するために用いられる1又は複数のレジスタが、DMAコントローラーを含むマイクロコントローラーユニットMCUの入力出力ポートに対応する、請求項13に記載の方法。刺激イベントデータの各ブロックは、刺激イベントに対応し、下記の刺激イベントのために複数の導線のどれが選択されたかを特定する第1グループのビットと、刺激イベントの間、選択された導線の電極がどのように接続されているかを特定する第2グループのビットと、を含んでおり、第1グループのビットは、導線の選択を制御する回路に接続された入力出力ポートに対応する1又は複数のレジスタの第1部分に第1DMAチャンネルにより転送され、第2グループのビットは、電極構成を制御する回路に接続された入力出力ポートに対応する1又は複数のレジスタの第2部分に第1DMAチャンネルにより転送される、請求項15に記載の方法。1又は複数の導線を介して伝達される刺激信号を定める刺激データにもとづき第1テーブルと第2テーブルを作成するためにCPUを使用すること、第1テーブルと第2テーブルを作成するためにCPUを使用した後、CPUの割り込みなしに前記期間に刺激イベントを制御するためにDMAチャンネルを使用し、これによりCPUが、刺激イベントに関連しないタスクを処理、及び又は、前記期間低電力モードに入ることを可能とすること、をさらに備える請求項13に記載の方法。刺激データに基づき潜在的パルス衝突を特定すること、第1テーブルと第2テーブルを作成するためにCPUを使用するとき、DMAコントローラが第1テーブルと第2テーブルに従って前記期間刺激イベントを制御するときに特定された潜在的パルス衝突を避けるように第1テーブルと第2テーブルを作成すること、をさらに備える請求項17に記載の方法。第1周波数を有するクロック信号を発生させるために第1クロック回路を使用すること、CPUが低電力モードにないときにCPUにより使用され、第1周波数より高い第2周波数を有するクロック信号を発生させるために、第1クロック回路よりも多くの電力を消費する第2クロック回路を使用すること、刺激データに基づき、第1クロック回路により生成されたクロック信号が、カウント値をインクリメントするために用いられる第1クロック信号として用いられるに充分な分解能を有しているかどうか、または、第2ロック回路により生成したクロック信号が、カウント値をインクリメントするために用いられる第1クロック信号として用いる必要があるかを決定すること、をさらに備え、第1クロック回路により生成されたクロック信号が、カウント値をインクリメントするために用いられる第1クロック信号として用いられるに充分な分解能を有していれば、第1クロック回路により生成されたクロック信号を第1クロック信号として用い、少なくとも部分的に第2クロック回路を不作動とし、第2クロック回路により生成されたクロック信号が、カウント値をインクリメントするために用いられる第1クロック信号として用いられる必要があれば、第2クロック回路により生成されたクロック信号を第1クロック信号として用い、少なくとも部分的に第1クロック回路を不作動とする、請求項17に記載の方法。第1テーブルと第2テーブルは、CPUにより、第1周波数を有するクロック信号または第2周波数を有するクロック信号のいずれが第1クロック信号として用いられているかに従って生成される、請求項19に記載の方法。埋め込み型刺激システムであり、各電極が陽極、陰極または中性電極として接続可能とされている複数の電極をそれぞれ有する複数の導線と、中央処理ユニットCPUと、複数のポートと、メモリと、タイマーと、ダイレクトメモリアクセスDMAコントローラーと、を備え、メモリは、予め設定された期間に生じさせる複数の刺激イベントのそれぞれのための刺激イベントデータのブロックであって、各刺激イベントデータのブロックは、どの導線が刺激イベント用に選択されるか、刺激イベントの間、選択された導線の電極がどのように接続されるか、を特定する刺激イベントデータブロックと、前記予め設定された期間に生じさせる複数の刺激イベントのための次の刺激イベントタイムデータのブロックであって、次の刺激イベントタイムデータのそれぞれは、複数の刺激イベントの次のイベントをいつ開始するかを特定する、次の刺激イベントタイムデータブロックと、を保存し、タイマーは、カウント値を保存し、第1クロック信号に従ってカウント値をインクリメントするカウントレジスタと、次の刺激イベントタイムデータのブロックの1つに対応するタイム値を保存し、タイム値とカウントレジスタの値とを比較し、タイム値がカウントレジスタの値と等しいときに第1トリガーを発生させる第1比較レジスタと、を有し、ダイレクトメモリアクセスDMAコントローラーは、第1比較レジスタにより生成された第1トリガーに従って、CPUに干渉されることなくメモリからポートに、刺激イベントデータの1つのブロックを転送する第1DMAチャンネルと、第1比較レジスタにより生成される第1トリガーに従って、または、第1DMAチャンネルが転送開始又は転送完了に従って、CPUに干渉されることなくメモリからポートに、次の刺激イベントデータの1つのブロックを一度に転送する第2DMAチャンネルと、を含む、埋め込み型刺激システム。タイマーは、第2の値を保存し、第2の値とカウントレジスタのカウント値とを比較し、保存された第2の値がカウントレジスタの値と等しいときに第2のトリガーを発生する第2比較レジスタを含んでおり、第2の値は、前記予め設定された期間を特定し、第2のトリガーは、カウントレジスタに保存されたカウント値をリセットする、請求項21に記載の埋め込み型刺激システム。メモリは、前記予め設定された期間に発生させる複数の刺激イベントのそれぞれのための刺激イベントデータを保存する第1テーブルと、前記予め設定された期間に発生させる複数の刺激イベントのそれぞれのための次の刺激イベントタイムデータを保存する第2テーブルと、を備える、請求項22に記載の埋め込み型刺激システム。第1と第2DMAチャンネルは、次のイベントの少なくとも一つに応じて再初期化される、1第1DMAチャンネルが、第1テーブルに保存された最後の刺激イベントデータをポートに転送したとき2第2DMAチャンネルが、第2テーブルに保存された最後の次の刺激イベントデータを第1比較レジスタに転送したとき3第2トリガーがカウントレジスタに保存されたカウント値をリセットしたとき、請求項22に記載の埋め込み型刺激システム。CPU、ポート、メモリ、タイマー、DMAコントローラーが同じマイクロコントローラーMCUの構成要素である、請求項21~24のいずれか一項に記載の埋め込み型刺激システム。プログラム制御されるINSは、神経刺激を行うために一般に必要とされる無数の機能を制御する電気回路と、神経刺激信号を発生させるために必要な電力を提供すると共に、このような電気回路を駆動するためのバッテリーを必要とする。例えば、プログラムされたINSは、無数の機能を制御するための応用特殊集積回路applicationspecificintegratedcircuitASICを含むことができる。しかしながら、ASICは、設計することが比較的高価となり、特徴が変更、及び又は、追加されたときに、典型的に重大な再設計が要求される。他の例では、プログラムされたINSは、無数の機能を制御することが可能とするために既成の中央処理装置を含んでいる。これは、既成品により解決できるため有利といえる。しかしながら、INSで消費される電力を最小限としてINSの使用寿命を延ばそうとすることを考慮すると、仮にCPUが電力効率的に使用されていないときは、CPUの使用は実際よりも著しく多量の電力を消費する。本発明の特定の実施例は、一般的に、ダイレクトメモリアクセスDMA制御刺激を含む埋め込み型の刺激システムおよびその使用方法に関する。本実施例によれば、埋め込み型刺激システム例えば、埋め込み型神経刺激装置INSは、第1テーブルと第2テーブルを含むメモリを備えている。第1テーブルは、ある期間例えば、05秒または1秒の期間に実施される刺激イベントに対応する刺激イベントデータのブロックを保存する。第2テーブルは、ある期間に対応する次の刺激イベントタイムデータのブロックを保存する。埋め込み型刺激システムはまた、第1DMAチャンネルと第2DMAチャンネルとを含むダイレクトメモリアクセスDMAコントローラーを含んでいる。第1DMAチャンネルは、刺激イベントデータのブロックの一つを、第1テーブルから刺激イベントを制御するために用いられる1又は複数のレジスタに選択的に転送する。このように、DMAコントローラーは、刺激イベントを制御するために使うことができる。刺激イベントを制御するために使用される1又は複数のレジスタは、DMAコントローラーとメモリを含むマイクロコントロラーユニットMCUの入力出力ポートに対応することができる。第2DMAチャンネルは、次の刺激イベントタイムデータのブロックを、第2テーブルから刺激イベントと連動するタイミングを制御するために用いられるタイマーに選択的に転送する。埋め込み型刺激システムは、また、カウントレジスタと第1比較レジスタを含むタイマーを備えている。次の刺激イベントタイムデータのブロックの各々は、DMAチャンネルによりタイマーに転送されたときに、タイマーの第1比較レジスタに保存される値を備えている。タイマーのカウントレジスタは、カウント値を保存し、クロック信号に従ってカウント値をインクリメントする。第1比較レジスタは、第1比較レジスタに保存されている値とカウントレジスタのカウント値を比較し、第1比較レジスタに保存されている値とカウントレジスタのカウント値とが等しいときに第1トリガーを発生する。第1DMAチャンネルは、次の刺激イベントデータのブロックを第1テーブルから、第1比較レジスタにより発生された第1トリガーに従って刺激イベントを制御するために用いられる1又は複数のレジスタに転送する。第2DMAチャンネルは、次の刺激イベントタイムデータの次のブロックを、第2テーブルから、第1比較レジスタにより発生された第1トリガー、第1DMAチャンネルの転送開始に応じて発生するトリガー信号、又は第1DMAチャンネルの転送完了に応じて発生するトリガー信号に従って第1比較レジスタに転送する。実施例では、タイマーは、また、リセット値を保存する第2比較レジスタをも含んでいる。タイマーは、リセット値とカウントレジスタのカウント値を比較する。保存されたリセット値が、カウントレジスタのカウント値と等しいとき、カウントレジスタのカウント値がリセットされる。実施例によれば、刺激イベントデータの各ブロックは刺激イベントに対応しており、少なくとも第1グループのビットと第2グループのビットを含んでいる。第1グループのビットは、複数の導線のどれが刺激イベントのために選択されているかを特定する。第2グループのビットは、刺激イベントの間に、選択された導線の電極がどのように接続されているかを特定する。実施例では、第1グループのビットは、第1DMAチャンネルにより、導線の選択を制御する回路に接続されている入力出力ポートに対応する1又は複数のレジスタの第1部分に転送される。同時に、第2グループのビットは、電極構成を制御する回路に接続されている入力出力ポートに対応する1又は複数のレジスタの第2部分へ、第1DMAチャンネルにより転送される。実施例によれば、埋め込み型刺激システムは、また、中央処理装置CPUを含んでいる。CPUは、1又は複数の導線を介して伝達される神経刺激信号を規定する神経刺激データを受領し、又はアクセスする。神経刺激データにもとづき、CPUは、メモリに保存される第1テーブルと第2テーブルを生成する。CPUが第1テーブルと第2テーブルを生成した後、DMAコントローラーは、CPUの干渉なしにある期間例えば、05秒または1秒刺激イベントを制御し、これによりCPUが刺激イベントを行うことと関連しない他のタスクを実行したり、及び又は、ある期間の間、低電力モードに入ることを可能とする。実施例によれば、CPUは、神経刺激データにもとづき潜在的パルス衝突を特定し、そして、CPUは、DMAコントローラーが第1テーブルと第2テーブルに従ってある期間刺激イベントを制御するときに、特定された潜在的パルスの衝突が避けられるように、第1テーブルと第2テーブルを生成する。実施例によれば、埋め込み型刺激システムは、第1クロック回路と第2クロック回路とを含み、第2クロック回路は、第1クロック回路よりも高周波のクロック信号を発生し、第1クロック回路よりも多くの電力を消費する。第1クロック回路により発生されたクロック信号は、例えば、カウントレジスタタイマーのにより、カウント値をインクリメントするために用いられる。第2クロック回路により発生された高周波クロック信号は、CPUが低電力モードにないときにCPUにより用いられ、及び又は、カウントレジスタによりカウント値をインクリメントするために用いてもよい。実施例によれば、電力を節約するために、より低い電力の第2クロック回路により発生したクロック信号がカウントレジスタをインクリメントするために用いられると、CPUが低電力モードにあるとき、第1クロック回路は少なくとも部分的に不作動状態にある。実施例によれば、CPUにより受領されまたはアクセスされた神経刺激データにもとづき、CPUは、第1クロック回路により発生されたクロック信号が、カウントレジスタタイマーのがカウント値をインクリメントするために使用するクロック信号として充分な分解能resolutionを有しているかどうか、または、第2クロック回路に発生されたクロック信号が、カウントレジスタがカウント値をインクリメントするために用いるクロック信号として用いられる必要があるかを決定する。第1クロック回路により発生されたクロック信号が、充分な分解能を有していれば、第1クロック回路により発生されたクロック信号が用いられ、第2クロック回路は少なくとも部分的に不作動の状態となる。一方、第2クロック回路により発生された高周波のクロック信号を用いることが必要なときは、第2クロック回路により発生されたクロック信号が用いられ、低周波の第1クロック回路は少なくとも部分的に不作動の状態となる。さらに、CPUにより発生された第1テーブルと第2テーブルは、第1周波数を有するクロック信号と第2周波数を有するクロック信号のどちらがカウントレジスタをインクリメントするために用いられているかに従って生成される。この要旨は、本発明の実施例の全てを要約することを意図するものではない。さらなるまた他の実施例、そして、本発明の実施例の特徴、アスペクト、及び利点は、以下に記載する詳細な説明、図面およびクレーム特許請求の範囲によりより明らかとなる。本発明の実施例による神経刺激システムが図1に示されている。本実施例において、システム110は埋め込み型神経刺激装置INS112を含み、埋め込み型パルス発生器IPGと時折称されることもある。INS112は、典型的には、患者の体内の皮下ポケットに埋め込まれる。一または複数の導線114は、INS112に接続されており、各導線には一つまたは複数の電極116を有している。例えば、4本の導線114がINS112に接続されることができ、各導線には4個の電極116が含まれている。あるいは、多くのまたは少ない電極付きの、多くのまたは少ない本数の導線を使用してもよい。INS112は、ハウジング113ケースまたはカンと称することがある内に収容された電子回路118を備えている。電極116は、INS112のコネクタ120に導線114を接続することにより、電子回路118に電気的に接続されている。これに限定するものではなく、一つまたは複数の導線114は、電極が背根または背根の神経節の上または近傍に配置されるように位置決めすることができる。このような刺激に関するさらなる詳細は、米国特許番号7450993発明の名称神経節への選択的刺激法や、米国特許出願番号12607009発明の名称医学的条件に対する選択的刺激システムと信号パラメータに提供されており、いずれも本書に含まれる。電子回路118は、電気的に刺激信号神経刺激信号、神経刺激波形、また単に刺激信号と呼ぶことがあるを発生させ、少なくとも電極の1つは陽極に接続されており、少なくとも電極の一つは陰極に接続されている、少なくとも2つの電極116を介して神経組織へ提供するために用いることができる。INS112のハウジング113は、電導性であり、電極として作動することができる。外部のプログラマー122又は126は、様々な刺激パラメータ及び又は電子回路118への他の指示をプログラムするために使用することができる。プログラマーには、プロセッサーまたは他のタイプのコントローラー、および一つまたは複数のコードモジュールを保存することができるメモリが含まれる。プロセッサーまたは他のコントローラーは、プログラムのプロトコル中の患者からのフィードバックにもとづき、INS112のプログラミングを行うために、一つまたは複数のコードモジュールを実行することができる。例えば、外部のプログラマー122又は126は、特定の神経刺激パラメータをテストしたり、あるパラメータを調整したり、及び又は、慢性的な痛みの処置のためにINSで用いられるパラメータをプログラムするために、INS112に指示を伝達することができる。外部のプログラマー122又は126は、ラジオ周波数または他のワイヤレス信号により電子回路118と通信できる遠隔測定装置を保有していてもよいまたは結合されていても良い。遠隔測定装置がプログラマーの内部又は結合されているかにかかわらず、プログラマーは遠隔測定回路を含んでいても良い。INS112には、同様に、INSのメモリに保存されたコードモジュールを実行することができるプロセッサーまたは他のタイプのコントローラーを含んでいてもよい。一般に二つのタイプのプログラマーがあるが、いずれもINS112とワイヤレスで通信及び操作可能である。ブロック122で表示されたプログラマーは、臨床医プログラマーとしばしば言及されることがあるが、INSの製造メーカの代表者、臨床医、内科医及び又は医療関係者これらを総称してプログラミング関係者と称するによって使用することができる。ブロック126は、他のタイプのプログラマーを表示しており、INS112が埋め込まれた患者により主に制御されるものであり、患者プログラマーとしばしば言及される。神経刺激単に刺激と称することがあるを特定の導線を使用してどのように伝達されるかを規定する刺激パラメータのセットは、このセットが導線を介して患者に伝達される刺激療法を決めることになることから導線セットと称することができる。一つ又は複数の導線セットが、刺激パラメータのセットのグループにともにグループ化され、これをシミュレーションセットと称することができる。刺激パラメータの一つのセットすなわち、導線セットは、患者の体内患部に処置を施すために有益であり、刺激パラメータの第2のセットすなわち、第2の導線セットは、体内の第2の位置における条件を処置するときに有益である。もしこれらの導線セットが同じ刺激セットにグループ化されている場合、その刺激セットが選択されていると、体内の第1の位置と第2の位置に刺激が伝達される。同じ刺激セットにグループ化された一つ以上の導線セットが、体の共通の位置に処置を施すことができるようにすることも可能である。各導線セットのデータには、導線情報、電極構成情報および刺激波形情報が含まれる。より詳細に実施例では、各導線セットは、導線の一つ、導線の複数の電極例えば、4電極がどのように構成すなわち、陽極、陰極または不活性電極を特定し、また、その導線を用いて伝達される刺激波形の大きさ、パルス幅および繰返比率を特定する。実施例では、各刺激セット用のデータは、一つまたは複数の導線セット例えば、4つの導線セットまでのどのセットが、刺激セットに含まれるかを特定する。例えば、12個の導線セットすなわち、導線セット1、導線セット2、...導線セット12があるとき、1つの刺激セットは導線セット2、導線セット5、導線セット7および導線セット11を含むことができる。その刺激セットが選択され活性化されている期間の間、刺激は4つのすべての導線その時間内に刺激が複数の導線の一つを通じてのみ伝達されてもよいがを用いて伝達される。一つ以上の導線セットが同じ導線すなわち、同じ導線情報を有することができるを特定することができ、また、異なる電極構成情報及び又は異なる刺激波形情報を有することができる。例えば、導線セット1、導線セット2および導線セット3は、同じ導線を用いて刺激が伝達される異なる方法を明記することができる。いくつかの実施例では、同じ導線を特定する二つの導線セットが同じ刺激セットにグループ化することはできない。実施例によれば、外部プログラマー例えば、臨床医プログラマー122は、ワイヤレスで複数の導線セット例えば、12導線セットまで用の情報と刺激セット例えば、4つの刺激セットまで用の情報をINS112に送信する。一つまたは複数の導線セット用のデータは、導線セットデータと称することがあり、また、一つまたは複数の刺激セット用のデータは、神経セットデータと称することがある。より一般的に、外部プログラマーからINS112に伝達されるデータは、INSにより用いられ刺激信号を発生するが、神経刺激データと称することがある。そのような神経刺激データは、導線セットデータと神経セットデータを含むことができるが、これに限定するものではない。いいかえれば、上記に説明した以外の方法により、INSに伝達される神経刺激に関する情報をまとめることが可能であり、そのような他の方法により、神経刺激データを発生して用いることができ、これらのものは本発明の範囲に含まれるものである。それにもかかわらず、この説明の残りの部分では、外部プログラマー122または126が、複数の導線セット例えば、12導線セットまでと複数の刺激セット例えば、4つの刺激セットまでをINS112へプログラムするために用いられるものとする。INS112が、導線セットデータと刺激セットデータを外部プログラマーから受領すると、INS112は、不揮発性メモリ例えば、フラッシュこれに限定するものではないがのようなメモリ例えば、320の一部に導線セットデータと刺激セットデータを保存する。また、メモリ例えば、320には、どの刺激セットが現在、活性化/選択されているかを示す、電流刺激セットのパラメータが保存される。INS112により神経刺激信号を生成するために使用される神経刺激データ例えば、導線セットデータや刺激セットデータがどのようにINS112に保存されるかに関する詳細は、以下の通り提供される。電子回路118ElectronicCircuitry118図2は、本発明の実施例において、INS112の電子回路118の詳細を示すために用いられる。図2において、INS112には、マイクロコントローラーユニットMCU210、電力管理回路220、充電駆動回路230、刺激駆動回路240、測定回路250および遠隔測定回路260が含まれている。MCU210は、中央処理装置CPUを含んでいるが、例えば、以下、図3と図4にてさらなる詳細が記載されているように、INSの多くの機能を制御することができる。電力管理回路220は、バッテリー222に接続するように図示されており、様々な他の回路に電力を供給するため、適切な電圧及び又は電流レベルを発生するように用いられる。従って、電力管理回路220は、これに限定されるのではないが、昇圧形及び又は降圧形コンバータのような、DC-DC変換器DCDCコンバータを含むことができる。さらに、またはその代わりに、電力管理回路220は、他のタイプの電圧発生器を含むことができる。電力管理回路220は、バッテリー222を交換したり再充電が必要となったときに、患者及び又は医療関係者に知らせるため、バッテリー222の残量バッテリー寿命をモニターすることもできる。図1や図2に示されてはいないが、INS112は、患者の組織に刺激を伝えるために用いられる治療出力コンデンサに保存されている充電を維持、調整及び又は制御するための制御コンデンサを含むことができる。充電駆動回路230は、そのような制御コンデンサを含むことができ、また充電するために用いることができる。充電駆動回路230は、また、適切な充電に維持、及び又は、必要に応じて変化されることを確保するために、治療出力コンデンサに保存されている電圧をサンプリングするために用いることができる。充電駆動回路230の代表的なものの詳細が、図4Aに図示されており、記載されている。刺激駆動回路240は、一つまたは複数の導線114に電気的に接続されているように図示されており、各導線は少なくとも2つの電極116が含んでいる。これからの説明では、他に述べられていない限り、埋込型システム110は、4本の導線を有し、各導線は4つの電極を含んでいる。しかしながら、本発明の範囲内において、多くのまたは少ない導線、また多くのまたは少ない電極も可能である。刺激駆動回路240では、特定の導線を選択し、選択された導線の電極を構成することができる。刺激駆動回路240の代表的なものの詳細は、図4Bに図示されており、記載されている。遠隔測定回路250は、例えば、導線のインピーダンス、導線の出力電流、導線の出力電圧、バッテリーの電圧、バッテリーの電流、これらに限定されるものではないが、を測定するために用いられることができる。遠隔測定回路260は、アンテナ262は、例えば同軸ケーブル又は他の通信線により電気的に接続された無線周波数RF送受信機であってもよい。遠隔測定回路260は、臨床医プログラマー及び又は患者プログラマー例えば、122及び又は126の遠隔送受信機との間でアンテナ262を介して信号を送受信するための周知の回路を含むことができる。以下にさらに詳細が記載されているとおり、電子回路118は、神経刺激信号を発生させ、また、選択された導線の選択された電極に刺激エネルギを結びつけるために、スイッチ電子回路118のスイッチを制御することができる。刺激パルスは、メモリ例えば、図3のメモリ320に保存された神経刺激データにより特定されたパラメータに従って発生される。上述したように、特定することができる代表的なプログラム可能なパラメータは、神経刺激用波形神経刺激信号としても知られているのための、パルスの大きさ、パルス幅およびパルス比率繰返比率や周波数としても知られているを含んでいる。さらに、電子回路118は、刺激の伝達をおこなうための異なる電極構成を選択するために、スイッチを制御することができる。MCU210図3は、本発明の実施例で用いられるマイクロコントローラーユニットMCU210の代表的な構成要素を図示しており、例えば、これに限定されるものではないが、患者の脊髄にまたはその近傍に、またはその部分に、伝達される刺激を制御し、また例えばこれに限定されるものではないが背根または背根神経節の刺激を制御する。図3を参照すると、MCU210には、アドレスバス312とデータバス314に接続された中央処理装置CPU310が含まれている。アドレスバス312は、24ビットバスとできるが、これに限定されるものではない。データバスは、16ビットバスとできるが、これに限定されるものではない。また、アドレスバス312とデータバス314に接続されているのが、メモリ320、ダイレクトメモリアクセスDMAコントローラー330、タイマー340、及び入力出力I/Oポート350である。DMAコントローラーは、しばしばデータ転送コントローラーと称されることがある。また、図3で示されるように、CPU310やMCUの他の構成要素、及び又は電子回路118の他の構成要素に提供される異なる周波数を有するクロック信号を発生させることができるクロックシステムが360設けられている。さらに、電力制御器370は、CPU310が低出力モードに入るときに制御を行い、及び又は、クロックシステム360のある部分を電力を節約するために少なくとも部分的にいつどのように不作動にするかを制御することができる。電力制御器370は、電力管理モジュールPMMとも称されることがある。メモリ320は、これらに限定するものではないが、RAM、ROM、NVRAM、EEPROM、フラッシュメモリ等を含む揮発性及び又は不揮発性メモリでよい。図5に示すとおり、メモリ320は、多数のテーブルのデータを保存することができる。このようなテーブルは、例えば、コードモジュールに保存された指示にもとづき、また外部プログラマーから受領した神経刺激データにもとづき、CPU310により作成される。さらに、図5に示されるように、テーブルがCPU310により作成され、メモリ320に保存された後は、DMAコントローラー330が、CPU310の干渉なしに、あったとしても極めて少なく、テーブルからタイマー340や入力出力ポート350の1つにデータを転送することができる。図2で示されるすべての構成要素を1つのMCU内に有する長所は、このようなすべての要素が単一の集積回路ICチップによりまかなうことができる点にある。それにもかかわらず、図3で示された構成要素のすべてまたはある部分がMCUチップに配置されていないものであっても、本発明の範囲内のものである。例えば、CPU310が一つのチップに備えられ、DMAコントローラー340が他のチップに備えられてもよい。本発明の特定の実施例によれば、少なくともいくつかの入力出力ポート350は、出力ポート入力ポートに相対すると構成されており、刺激制御のために使用されており、これらのポートは、刺激制御ポート350と称されることもできる。このような実施例では、一つまたは多くのレジスタ、またはその部分は、I/Oポートと関連づけられ、I/Oポートに接続された回路を制御するために使用されるビットすなわち、高または低ロジックレベルのビットを保存する。I/Oポートに接続されることができるこれにより、ポートに書かれるビットにより制御される回路の例には、充電制御駆動回路230や刺激駆動回路240が含まれても良いが、これらに限定するものではない。上記に説明した通り、クロックシステム360は、CPU310やMCU210の他の構成要素に提供される、異なる周波数を有するクロック信号を発生する。例えば、クロックシステム360は、比較的高い周波数例えば、100kHzのクロック信号を発生するメインクロック回路362を有している。クロックシステム360は、比較的低い周波数例えば、32768kHzのクロック信号を発生する副クロック回路364を有しており、これによりメインクロック回路362よりも少ない電力を消費する。メインクロック回路により発生した高周波数のクロック信号は、例えば、CPUができるだけ速く演算される処理を実行しているときに、CPU310により使用されている。電力を節約するため、メインクロック回路362は、適当なときは少なくとも部分的に不作動とされ、一方、副クロック回路364により発生された低周波数のクロック信号が、例えば、時間を維持するためのタスクや、低周波数のクロック信号の使用が性能をそこなわないタスクを行うために用いられている。電力を節約するために、低周波数のクロック信号が必要とされないときは、副クロック回路364を少なくとも部分的に無不作動にしておくことも可能である。電力制御器370は、電力管理モジュールPMMと称されることがあるが、クロック回路の部分的な不作動を制御することができる。メモリ320、DMAコントローラー330、タイマー340および刺激制御ポート350についてのさらなる詳細は、図5に記載されている。しかしながら、本実施例における充電駆動回路230、刺激制御回路240については、先に図4Aと図4Bにもとづいて記述されている。充電駆動230ChargeEngine230充電駆動回路230単に充電駆動と称することもあるの代表的な例の詳細は、図4Aに記載されている。図4Aにおいて、充電駆動は、複数本実施例では、4個のデジタル-アナログ変換器DACs414を含んで示され、各デジタル-アナログ変換器DACsは対応するレジスタ412により駆動される。実施例では、レジスタ412の各々は、導線を介して伝達するための二相性パルスの各フェーズの大きさを規定するために使用されるデジタル振幅値を保存する。二相性パルスの例は、図6に示されている。レジスタ412に保存されるデジタル振幅値は、臨床医プログラマー122により特定される導線セット情報により規定することができ、患者プログラマー126とのユーザインターフェース例えば、アップダウンボタン等を用いて後で調整することができる。以下に説明するとおり、例えば、刺激セットが活性化選択されること例えば、メモリに保存された電流刺激セットのパラメータによる特定にもとづき、CPU310は振幅値を振幅レジスタ412に書き込む。図4Aにおいて、L1振幅レジスタ412、Cont.DAC1414および対応するサンプルホールドSH回路416は、第1の充電制御チャンネルと考えることができる。したがって、図4Aでは、導線L1L2L3およびL4の4つの充電制御チャンネルが図示されている。使用可能になると、各DAC414は、対応するレジスタ412によりDACの入力に提供されるデジタル値に比例するアナログ出力電圧を発生させる。各DACの出力には、DACを下流にある回路と隔離させるためのバッファー416が配置されている。充電制御ビットのサンプルビットが活性のとき、サンプルスイッチSH回路416のが閉じており、制御コンデンサ418は充電され、対応するDAC414の出力に従った電圧を保存するようになる。充電駆動回路230は、また、導線L1L2L3およびL4の各々のための治療出力コンデンサ430を含むように示されている。さらに以下に詳細を説明するように、各治療出力コンデンサ430に保存された電圧は、導線用2相シミュレーションパルスを生じさせることに用いることができる。充電駆動回路230は、また、制御コンデンサ418の一つに保存された電圧と、対応する治療出力コンデンサ430の一つに保存されている電圧とを選択的に比較する比較器420を含むように示されている。比較器420の出力は、閉じると治療出力コンデンサ430への充電を増加させ、開くと治療出力コンデンサ430からゆっくりと放電が行われるスイッチSchargeを制御するために用いられる。図4Aに示された電圧発生器440は、電力管理回路220の一部を構成するものと考えることができる。レジスタ412は、図3に示されるアドレスバス312とデータバス314に接続することができ、これにより、CPUがレジスタ412に書き込むことができるようになっている。これに代えて、レジスタ412は、レジスタとCPUの間に接続されるシリアルバスを用いて書き込まれてもよい。レジスタ412に保存されているデジタル振幅値は、ユーザインターフェース、例えば、上述したように、臨床医プログラマー122または患者プログラマー126のアップダウンボタン等を介して変更することもできる。このようなユーザインターフェースはユーザにより制御されるものであり、プログラマーは無線で指示をINS112に送り、レジスタ412にある値を増加させたり、減少させたりすることができる。実施例では、一つまたは複数の充電制御ビットが、CPUがレジスタ412に保存されているデジタル振幅値を変更させる割り込みを生じさせることができる。刺激駆動回路240StimulationEngine240刺激駆動回路240単に刺激駆動と称することがあるの詳細は、図4Bを参照して説明する。図4Bにおいて、刺激駆動240は、刺激イベントデータの電極構成ビット例えば、8ビットにより制御される電極スイッチSEL1-SEL8を含むように示されている。図4Bの右下側のコーナーに、刺激イベントデータの導線選択ビット例えば、4ビットにより制御される各導線それぞれの導線が選択されるか否かを制御することに用いられるのための4つの一群のスイッチを含むように示されている。実施例では、刺激信号の刺激パルスを発生させるために、導線L1L2L3およびL4のいずれかが導線選択ビットを用いて選択され、少なくとも電極の一つはスイッチSEL1-SEL4を用いて治療出力コンデンサ430の一つに接続することで陽極として構成され、少なくとも電極の一つはスイッチSEL5-SEL8を用いて陰極VEと接続することで陰極として構成される。以下の説明から明らかなとおり、DMA制御された神経刺激に関連する本発明の多くの実施例が、充電駆動230や刺激駆動240の機能を果たす代替回路を用いて実施することができる。いいかえれば、DMA制御された神経刺激に関連する本発明の実施例は、図4Aと図4Bに示された回路に限定されるものではない。DMA制御された神経刺激DMAControlledNeurostimulation上記で説明したとおり、特定の実施例においては、INS112には複数の導線セットと複数例えば、4つまでの刺激セットをメモリ例えば、320に保存することができる。各導線セットは、複数例えば、4つの導線の一つと関連付けることができ、どの導線を作動可能にするかどうか、導線導線が作動可能とされたときの4つの電極のうちのどの電極をどのように構成すなわち、陽極として、陰極として、または不活性するか、また導線を介して伝達される刺激の振幅値、パルス幅および繰り返し比率をどのように設定するかを特定することができる。各刺激セットは、一つ以上の導線セットが同一期間例えば、それらは、ある期間多重送信されているに活性化されるように、複数例えば、4つまでの導線セットをグループ化できる。また、刺激セットが現在、活性化選択されているかを特定する電流刺激セットのパラメータがメモリに保存されていてもよい。本実施例によれば、メモリ320例えば、フラッシュに保存された導線セットデータと刺激セットデータより一般的には、神経刺激データは、INS112のMCU210のCPU310によりアクセスされる。どの刺激セットが活性化選択されたかにもとづき現在の刺激セットパラメータにより特定される、CPU310は刺激イベントデータと次の刺激イベントタイムデータを生成して保存する。これらは、メモリ320例えば、RAMの中に二つの参照テーブルLUTsとして保存される。このようなLUTの例は、図5の522、524と表示されたものである。実施例によれば、異なる刺激セットが例えば、外部のプログラマーを介して活性化選択される毎に、新しく活性化選択された刺激セットに対応するために2つの参照テーブルが再作成される。刺激セットが活性化選択されることにもとづき例えば、電流刺激セットのパラメータで特定される、CPU310も振幅値を振幅値レジスタ412図4Aを参照に書き込むことができる。本発明の実施例において、DMAコントローラー330がどのように神経刺激信号を発生させているかの詳細について説明する。図5の模式図において、メモリ320は、刺激イベントデータを保存するメモリ522の一部と、次の刺激イベントタイムデータを保存するメモリ524の一部を含んでいる。メモリ522の部分に保存されている刺激イベントデータは、N刺激イベントを定義するために使うことができる。実施例によれば、N刺激イベントのそれぞれは、導線選択ビット例えば、4ビット、電極構成ビット例えば、8ビットおよび充電制御ビット例えば、4ビットにより規定される。したがって、例えば、各刺激イベントは2バイトすなわち、484=16ビット=2バイトにより規定されるため、メモリ522の部分に保存されている刺激イベントデータは2Nバイトのデータとなる。メモリ524の部分に保存されている次の刺激イベントタイムデータは、N刺激イベントのタイミングを規定するために用いられ、例えば、次の刺激イベントタイミングデータは16ビットすなわち、2バイトにより規定される。このため、例えば、メモリ524の部分に保存されている次の刺激イベントタイムデータは、2Nバイトのデータとなる。刺激イベントデータのさらなる詳細は、導線選択ビット、電極構成ビットおよび充電制御ビットを含めて、以下で説明する。刺激イベントデータを保存するメモリ522の部分は、第1テーブル、例えば、データブロックをそれぞれ有する複数のN刺激イベントエントリーを含む参照テーブルLUTとすることができる。同様に、次の刺激イベントタイムデータを保存するメモリ524の部分は、第2テーブル、例えば、データブロックをそれぞれ有するNの次の刺激イベントタイムエントリーを含む第2参照テーブルとすることができる。DMAコントローラー330は、DMAチャンネル532刺激イベントDMAチャンネルと称されることがあるとDMAチャンネル534次の刺激イベントタイムDMAチャンネルと称されることがあるを含む、少なくとも2つのDMAチャンネルを含んでいる。各DMAチャンネルは、CPU310がコピー転送を担うときは、CPU310に過剰な負担をかけないように、メモリのブロックをある場所から他の場所へコピー転送するために用いられる。タイマー340は、タイマーカウントレジスタ542と2つのタイマー比較レジスタ544、546取り込み比較レジスタとしても知られているを含むように図示されている。タイマー比較レジスタ544は、刺激イベントをトリガーすることから、イベントタイマー比較レジスタと称されることがある。タイマー比較レジスタ546は、タイマーカウントレジスタ542をリセットすることから、リセットタイマー比較レジスタと称されることがある。タイマーカウントレジスタ542は、クロックCLK信号を受信し、クロック信号1サイクル毎にインクリメントされる。タイマーカウントレジスタ542の内容は、イベントタイマー比較レジスタ544の内容、及び、リセットタイマー比較レジスタ546の内容と比較される。本発明の実施例によれば、タイマーカウントレジスタ542の内容とイベントタイマー比較レジスタ544の内容が等しいときは、タイマー340はDMAチャンネル532、534破線547、548で表示されるをトリガーさせる。あるいは、タイマー340は、タイマーカウントレジスタ542の内容とイベントタイマー比較レジスタ544の内容が等しいとき破線547で示される、DMAチャンネル532をトリガーすることができ、DMAチャンネル532転送開始次第、又は、転送完了次第は、DMAチャンネル534をトリガーすることができる。本発明の実施例によれば、タイマーカウントレジスタ542の内容とリセットタイマー比較レジスタ544の内容が等しいときは、タイマーカウントレジスタ542は、破線549で示されるように、ゼロまたは、他の設定値にリセットされる。実施例によれば、タイマーカウントレジスタ542がリセットされると、割り込みがCPU310に送信される。他の実施例では、DMAチャンネル532が、刺激イベントデータを保存するメモリ522の最後のブロックデータを転送すると、タイマーカウントレジスタ542はゼロまたは、他の設定値にリセットされ、割り込みがCPU310に送信される。DMAチャンネル532は、トリガーされると、メモリ522の部分刺激イベントデータを保存からメモリのブロックを刺激コントロールポート350と関連するレジスタに移転コピーする。DMAチャンネル532と関連するポインターは、DMAチャンネル532がトリガーされるたびにインクリメントされ、次にDMAチャンネル332がトリガーされると、刺激イベントデータの次のブロックが刺激コントロールポート350に関連するレジスタに転送される。ポインターは、刺激イベントを規定するために用いられるデータの量だけインクリメントされるが、この例では2バイトとなっている。ポインターが、メモリ522例えば、図5の刺激イベントN1を示した後、ポインターは、メモリ522すなわち、図5の刺激イベント0の最初のブロックを再び示すようにリセットされる。刺激イベントデータの各ブロックは、一つまたは複数の刺激イベントを規定するために用いられる。ここで用いられる刺激イベントは、ある時点において発生するようにコントロールされる回路の状態の変更をいう。例えば、刺激イベントは、複数の導線からどの導線を選択するか、選択された導線のどの電極を陽極と接続させるか、選択された導線のどの電極を陰極と接続させるか、選択された導線のどの電極を不活性すなわち中立又はオフにするかを制御する回路の状態を変更することができる。他の例では、刺激イベントは、一つまたは複数の特定のコンデンサを充電したり放電させたりすることができる。実施及び特定の刺激イベントによるが、刺激イベントが開始すると、刺激イベントはそれ自身で休止してもよいし、次の刺激イベントが開始するときに終了してもよい。複数の刺激イベントは、例えば、導線が選択されると同時にその銅線の電極が構成されたときに、同時に開始することもできる。トリガーされると、DMAチャンネル534が、メモリ524の部分次の刺激イベントタイムデータを保存しているからタイマー340のイベントタイマー比較レジスタ544へ、メモリのブロックを転送コピーする。DMAチャンネル534と関連するポインターは、DMAチャンネル534がトリガーされるたびにインクリメントされ、次にDMAチャンネル334がトリガーされると、次の刺激イベントタイムデータの次のブロックが転送される。ポインターは、次の刺激イベント時間を定めるために用いられるデータの量によりインクリメントされ、この例では2バイトである。ポインターが、メモリ524の最後のブロック例えば、図5でタイム0を示すと、ポインターは、メモリ524の最初のブロックすなわち、図5でタイム1を再び示すようにリセットされる。メモリ524の部分次の刺激イベントタイムデータを保存するについて言及すると、タイムN1の値は、タイムN2の値よりも大であり、タイム4の値より大であり、タイム3の値より大であり、タイム2の値より大であり、タイム1の値より大である。したがって、ポインターがあるブロックから次のブロックに変化すると、タイマー比較レジスタの内容は、タイム0に到達するまで、増加するように維持される。この方法では、タイマー340が次のトリガー信号を発生する時間タイマー比較レジスタ544に保存されているが繰返しアップデートされる。他の実施例では、メモリ524の部分例えば、テーブル524は、次のイベントまでの時間の長さを示すデルタタイム値を保存することができ、新しい次の刺激イベントタイムデータ値がイベントタイム比較レジスタ544にDMAコントローラー530によりコピーされるたびに、タイムカウントレジスタ522は、リセットされるまたは、タイムカウントレジスタ522をリセットする代わりに、次の刺激イベントタイムデータ値がイベントタイム比較レジスタの値に追加されることができる。CLK信号タイマーカウントレジスタ542に提供されるが50kHzクロック信号であり、50000の値がリセットタイマー比較レジスタ546に保存されていると単純化する。この例では、タイマーカウントレジスタ542は、1秒間に0から500002進法ビットで0000000000000000から2進法ビットで1111010000100100000をカウントし、その終わりにくるとタイマーカウントレジスタ542は0にリセットされ、1秒毎に0から50000へのカウントを繰り返す。したがって、この例では、刺激イベントデータを保存するメモリ522の部分と、次の刺激イベントタイムデータを保存するメモリ524の部分は、1秒間に相当する刺激情報を保存する。この時間間隔は、タイマーリセットレジスタ546に保存されている値を変更すること、及び又は、クロック信号の周波数を変更することにより、増減することが可能である。例えば、05秒間に相当する刺激情報は、刺激イベントデータを保存するメモリ522と、次の刺激イベントタイムデータを保存するメモリ524に保存することができ、50000の値はタイマーリセットレジスタ546に保存することができ、100kHzのクロック信号を、タイマーカウントレジスタ452をインクリメントするために用いることができる。これらは、リセットタイマー比較レジスタ546に保存することができる値やクロック周波数を単に例示したものにすぎなく、限定するために意味するものではない。この説明から認識されるように、リセットタイマー比較レジスタ546及び又はクロック周波数に保存されている値を選択することにより、ほとんどのいかなる時間に相当するデータもメモリ522とメモリ524の部分に保存することができる。実施例では、各時間に相当する期間の終わり例えば、1秒間に相当する終わりでタイマーカウントレジスタ542を積極的にリセットするよりは、刺激イベントデータと次の刺激イベントタイムデータメモリ522と524に保存されているがある期間に発生し、これにより各期間の終わりでタイマーカウントレジスタ542を最初のゼロ0に戻るようにすることができる。例えば、タイマーカウントレジスタが16ビットカウンターであるとすると、タイマーカウントレジスタ542が、2進法ビット0000000000000000から2進法ビット111111111111111110進法の65535に対応するをカウントすると、タイマーカウントレジスタ542の次の値は自動的に0000000000000000となる。タイムカウントレジスタに提供されるクロック信号を65535Hzと単純化して仮定すると、16ビットタイマーカウントレジスタ542は、各1秒間に相当する時間の終わりで自動的にリセットされる。このような実施例では、CPU310が各時間ごとにDMAチャンネルを再開する必要がない。今後の説明では簡単にするために、CLK信号は50kHzのクロック信号であり、50000の値がリセットタイマーレジスタ546に保存され、これにより、メモリ522と524の部分に保存される刺激情報は1秒間に相当する時間となる。上記に説明したとおり、メモリ522と524の部分は、ある期間例えば、1秒間に相当する神経刺激信号を発生するように用いることができる。実施例によれば、神経刺激信号の時間は、繰り返し可能であり、神経刺激は所望された時間だけ、伝達することができる。いいかえれば、神経刺激の時間の長さ例えば、1秒間は、例えば、患者またはプログラムを行う人によりスイッチが切れるまで、異なる刺激セットが患者またはプログラムを行う人により選択されまたは活性化されるまで、または、プログラム処置スケジュールにより変更されるまで、無期限に繰返すことができる。もしメモリ522と524が1秒間の刺激イベントを発生させるデータのブロックを保存しており、CLK信号の周波数が整数のHzであれば、刺激イベントは、1秒間ごとに正確に繰り返されることができる。もしメモリ522と524が、05秒相当の刺激イベントを発生させるためのデータブロックを保存していれば、CLK信号の周波数は、刺激イベントが正確に05秒相当の時間で繰り返すようにするために偶数のHzである必要がある。いいかえれば、CLK周波数を選択するときに、メモリ522と524に保存されているデータに相当する時間を考慮しなければならない。図5に示されるように、メモリ522に刺激イベントデータのブロックNが保存されており、同様に、次の刺激イベントタイムデータのブロックNは、メモリ524に保存されている。メモリ522にブロックNを保存する順番は、刺激イベント0、刺激イベント1、刺激イベント2、刺激イベント3刺激イベントN2、最後のエントリがN1となっており、メモリ524に保存されているブロックNの順番は、次の刺激イベントタイム1、次の刺激イベントタイム2、次の刺激イベントタイム3、次の刺激イベントタイム4次の刺激イベントタイムN1最後のエントリは、次の刺激イベントタイム0となる。現在のイベントデータが転送されるとイベントトリガータイムは到達しているため、このようにテーブルは記憶され、次のトリガータイムは、同時にまたはほぼ同時にイベントタイム比較器に読み込まれる。一つのDMAチャンネルは、データをある行先にのみ転送できることから、実施例では、2つのテーブルと2つのDMAチャンネルが刺激イベントデータと次の刺激イベントタイミングデータの両者を転送できるようになっており、DMAチャンネルの一つは刺激イベントデータを入力出力ポート350に転送するために用いられており、他のほうは次の刺激イベントタイミングデータをタイマー340のレジスタ544に転送するために用いられている。要するに、実施例によれば、DMAコントローラー330は、LUT522、524にアクセスし、導線の選択、電極の構成および刺激信号波形を制御する。DMAチャンネル532は、刺激イベントデータLUT522からMCUの入力出力ポート350へ刺激イベントデータをコピーするために用いられ、DMAチャンネル534は、次の刺激イベントタイミングデータを、次のイベントタイミングデータLUT524からMCU210のタイマー340の比較レジスタ544へコピーするために用いられる。入力出力ポート350へコピーされたデータは、スイッチの制御や、導線の選択、電極構成および波形増幅を制御する論理回路を制御するために使われる。このような回路の例は、図4Aと図4Bに示されている。タイマー340の比較レジスタ544にコピーされたタイミングデータは、次の刺激イベントタイミングデータの次のブロックが、次の刺激イベントタイミングデータLUT524からタイマー340の比較レジスタ544にコピーされるタイミングと、刺激イベントデータの次のブロックが、刺激イベントデータLUT522からMCU210の入力出力ポート350へコピーされるタイミングを制御するために用いられる。ソフトウエアポインターは、トリガーにもとづきインクリメントされ、DMAチャンネル532と534を用いてLUTのどのブロックをコピーするかを特定するために用いられる。上述した通り、刺激は、選択活性化された刺激セットに対応するように伝達される。実施例によれば、CPU310は、パルス衝突が発生しないように例えば、パルスは一つの導線を通じてのみ伝達されるように、LUT522、524を作成する。例えば、一つの導線を用いて伝達される刺激周波数パルス繰返し比率とも称されるが40Hzであり、他の導線を用いて伝達される刺激周波数が42Hzとしたとき、両導線が、まったく同じ時間に刺激駆動回路240からパルスを受け取るときがある。刺激駆動回路240がある時間に一つのパルスを一つの導線にのみ伝達できることができるのであれば、CPU310は、どの導線が最初のパルスを受け取るか、そしてどの導線が次のパルスを受け取るかを決定する必要があり、これにより、衝突を避けることになる。CPU310は、事前に例えば、デバイスがスイッチオンになっているか、または新しい刺激セットが活性化選択されているか決定しているので、CPU310は、潜在的衝突がまさに発生するときに急いでリアルタイムで決定する必要はない。このことは、CPU310が他のタスクをより速く処理できるようにし、著しく電力消費を減少させることができる。CPU310は、パルスが各導線を介していつ伝達されるかを決定するために、ソフトウエアモデュールで定義されたスケジュールアルゴリズムを用いることができる。ある導線を用いて伝達される刺激周波数が40Hzであり、他の導線を用いて伝達される刺激周波数が依然として42Hzであるとした例を続けると、導線は依然1秒間に40パルスと42パルスをそれぞれ伝達し、あるパルスは衝突を避けるために、少し後方か前方へ移動するかもしれない。ある期間例えば、1秒間に対応する衝突は、期間毎例えば、次の1秒間に繰り返す。従って、ある期間例えば、1秒間について衝突が処理される避けると、CPUの処理に負担をかけることなくすべての繰り返しの期間に対して処理がなされる。なお、ある刺激イベントメモリ320に保存されているは、コンデンサの充電、コンデンサ及び又はこれに類するものに保存された充電のサンプリングを起こすことができる。このような充電及び又は刺激イベントのサンプリングは、実際の刺激パルスを伝達するよりは、刺激波形の次の刺激パルスを伝達するための準備に用いられる。このような充電及び又は刺激イベントのサンプリングがなされているとき、これらは充電コントロールビットを用いて制御されることができ、実際の刺激パルスの伝達間に生じることがあり、導線のいずれもが選択されないすなわち、導線選択ビットがどの導線も選択されていないこともありうる。また、このような充電及び又は刺激イベントのサンプリングがなされているとき、どの電極も陽極として接続されておらず、また、どの電極も陰極として接続されていなくてもよい例えば、すべての電極が中立、すなわち、不活性であってもよい。他の特定の実施例では、刺激イベントデータテーブル522には、どの導線も選択されない4導線選択ビット例えば、ビット0000、全ての電極が陽極として接続されておらず、全ての電極が陰極として接続されていない8電極選択ビット例えば、ビット00000000や、充電コントロールコンデンサ例えば、図4Aの418によりサンプルされ、かつ、保持されるための充電を生じさせる4充電コントロールビット例えば、0010を含んでいる。いいかえれば、刺激イベントは、あるレベルから他のレベルへ波形の転移を生じさせ、及び又は、サンプリングを生じさせ、及び又は、波形のレベルを他のレベルへ変化させるために用いられるコンデンサに保存される電荷を充電させる。逆に、導線選択ビットと電極構成ビットが、実際の刺激パルスを患者の組織に伝えるために用いられるときは、充電コントロールビットが充電及び又はサンプリングを引き起こさないことが可能となる。他の具体例では、刺激イベントデータテーブル522には、最初の導線L1が選択されている4導線選択ビット例えば、ビット0001、導線のもっとも離れた電極を陽極として接続し、かつ、導線の最も近い電極を陰極として接続した他の二つの中間の電極は中性となる8電極選択ビット例えば、ビット10000011と、充電及び又はサンプリングがなされてない4充電コントロールビット例えば、0000を含むことができる。上述したとおり、実施例によれば、各刺激イベントは、導線選択ビット例えば、4ビット、電極構成ビット例えば、8ビットおよび充電コントロールビット例えば、4ビットから規定される。例えば、図1で説明したとおり、脊髄刺激システムは、4つの埋め込み型導線を含み、各導線は4つの電極を含むことができる。導線選択ビットが、4つの導線のどれが刺激を伝達するために用いられるかを特定するために用いられている。ある実施例では、一つの導線のみが一度に刺激を伝達することができるようになっている。ある実施例では、ビット0001が最初の導線L1を選択でき、ビット0010が第2の導線L2を選択でき、ビット0100が第3の導線L3を選択でき、および、ビット1000が第4の導線L4を選択できるようになっている。他の実施例では、ビット0001が最初の導線L1を選択でき、ビット0010が第2の導線L2を選択でき、ビット0011が第3の導線L3を選択でき、ビット0100が第4の導線L4を選択できるようになっている。ここで記載された実施例では、刺激イベントデータに相当する2バイトの最初の4ビットすなわち、4つの最も有効なビットMSBsは導線を選択するために用いられることが考えられるし、しかし、そのようなケースすなわち、多かれ少なかれ、ビットが導線の選択に用いられたり、そのようなビットは、刺激イベントデータのブロックのMSBsである必要はないである必要はない。他の実施例では、3つの導線選択ビットが4つの導線のどの導線が刺激を伝達するために用いられているかを特定するために用いることができる。例えば、ビット00が第1の導線L1を選択でき、ビット01が第2の導線L2を選択でき、ビット10が第3の導線L3を選択でき、ビット11が第4の導線L4を選択でき、第3のビットが導線を通電させるビットの役割を担う。たった一つの導線のみを同時に可能としたいのであれば、この後の実施例は同時に一つの導線以上を作動させることを不可能瑕疵によりとしている。他の変形例は、本発明の範囲内において可能である。電極構成ビット例えば、8ビットは、どの電極を陽極正極を有し、陰極負極を有し、または中性の電極電極は刺激エネルギを伝達するために使用されていない、すなわち、不活性の状態とするかを特定するために用いることができる。各導線に4つの電極があると仮定すると、本実施例によれば、一組のビット2ビットが、各電極の構成を特定するために用いられている。例えば、8つの電極構成ビットの2最下位のビットLSBsが最も離れた電極の構成を特定するために用いられ、次の2つのLSBsが次に最も離れた電極の構成を特定するために用いられており、次の2つのLSBsが次に最も離れた電極の構成を特定するために用いられており、2最上位のビットMSBsが最も近い電極の構成を特定するために用いられる。ここで用いられている近いまたは遠いという文言は、導線が接続されているINS112に対してである。実施例では、一対の電極構成ビットの一つが電極が活性または中性であるかを特定するために用いられ、当該一対の電極構成ビットの他の一つは、活性化された電極が陽極かまたは陰極として接続されているかを特定するために用いられる。例えば、適当なビット位置のa1は電極が活性化していることを特定でき、a0は電極が中性または、逆であることを特定でき、適当なビット位置のa1は活性電極が陽極であることを特定でき、a0は活性電極が陰極または、逆であることを特定できる。他の実施例では、一対の電極構成ビットの一つは、電極が陽極として接続されているかどうかを特定するために用いられ、一対の電極構成ビットの他の一つは、電極が陰極として接続されているかどうかを特定するために用いられる。例えば、ビット10は電極が陽極として接続されていることを特定でき、ビット01は、電極が陰極として接続されていることを特定でき、ビット00は、電極が中性であることを特定できる。これらの説明は、電極構成ビットが導線用の電極構成を決めるためにどのように用いられるかを示すいくつかの実施例であり、これらに限定されるものではない。他の変形例は、本発明の範囲内で可能である。実施例によれば、充電コントロールビットは、治療出力コンデンサに蓄えられた電荷を維持、調整及び又は制御する制御コンデンサ例えば、図4Aの418を充電したりサンプリングするために用いられ、治療出力コンデンサは刺激を患者の組織に伝達するために用いられる。制御コンデンサ例えば、図4Aの418に保存された電荷は、複数のデジタルアナログ変換器DACs例えば、図4Aの414を用いて発生される。実施例では、充電コントロールビット例えば、4ビットは、複数のDACsを含むチップを選択的に作動させるワンビット例えば、DACチップがCSビットを選択すると、DACsを作動させるために用いられるワンビット例えば、DACENビットと、DACsの出力をサンプル-ホールドするために用いられるスイッチを制御するワンビット例えば、サンプルビットと、治療出力コンデンサ例えば、図4Aの430を適切に充電するために用いられるワンビット例えば、充電ビットが含まれている。他の変形例は、本発明の範囲内で可能である。上述のとおり、トリガーされると、DMAチャンネル532は、刺激コントロールポート350と連動するレジスタへ刺激イベントデータを転送し、DMAチャンネル534は、次の刺激イベントタイムデータをタイマー比較レジスタ544に転送する。まさに説明したとおり、導線を選択したり、選択された導線の電極を構成したり、刺激出力の振幅を維持するために、刺激イベントデータが用いられる。図5において、メモリ522、524LUTのデータを入力出力ポート、レジスタ等にコピーするために、2つのDMAチャンネル532、534が用いられるように図示されている。一つまたは複数の追加のDMAチャンネルと、一つまたは複数の追加のメモリLUTが他の機能をコントロールするために使用されるものも、本発明の範囲内である。例えば、第3のDMAチャンネルが、保存された波形振幅値をメモリからDACsと連動するレジスタの入力にコピーするために用いられてもよい。このような第3のDMAチャンネルは、例えばイベントデータの各ブロック内にある充電コントロールビットによりトリガーされてもよい。他の変形例は、本発明の範囲内で可能である。上記実施例によれば、マルチビットレジスタ、入力出力ポート等データはDMAチャンネルにより転送されるにはデータビットのパラレルの転送を受け取るパラレル入力を含まれると解釈される。しかしながら、構成要素DMAチャンネルがデータを転送するがシリアルデータインプットパラレルデータインプットに相対するを有している例でも良い。そのような構成要素は、例えば、シリアルクロック入力SCLKとシリアルデータインプットSDIを有することができる。DMAチャンネルを用いて、そのような構成要素にデータを提供するとき、テーブルに保存されたデータの各ブロックには、DMAチャンネルによりシリアルクロック入力例えば、a1ビットが低から高への変化を示し、a0ビットが高から低への変化を示す、又はその反対に提供されるシリアルクロック変化を示すシリアルクロックビットと、シリアルクロック入力の低から高への変化または、高から低への変化のときにシリアルデータインプットに連続的に転送されるデータを示すデータビットとを含むことができる。例えば、構成要素が、シリアルクロック入力とシリアルデータインプットを含む16ビットDACであることを考えると、テーブルは、DACに連続的に転送される各16ビットワード向けの32セパレート2ビットブロックを含むことができる。刺激信号波形例ExemplaryStimulationWaveform図6に、4本の導線の第1の導線導線1またはL1を介して伝達される刺激信号波形例が示されている。図6において、刺激信号波形は、イベントタイム0で、正の振幅値amp1を有している。実施例によれば、メモリ522、524にそれぞれ保存されている刺激イベントデータのブロックと次の刺激イベントタイムデータのブロックは、この波形の変化を定めるために用いられる。例えば、図4と図5を参照すると、イベントタイム0のデータは、イベントが生じる時を示しており、刺激イベント0のデータは、この時に何が生じるかを示している。より具体的には、刺激イベントデータ0には、導線L1例えば、図5において、スイッチL1を閉じることによりを選択する導線選択ビットと、導線L1の一つまたは複数の電極を陽極例えば、図5のスイッチSEL1-SEL4の一つまたは複数のスイッチを閉じることによりとして構成し、導線L1の一つまたは複数の電極を陰極図5のスイッチSEL5-SEL8の一つまたは複数のスイッチを閉じることによりとして構成する電極形成ビットとを含む。図6をさらに参照すると、イベントタイム0とイベントタイム1の間は、イベントタイム0とイベントタイム1の間でコンデンサが放電するため多少の減衰を除き、概して正の振幅値amp1である。イベントタイム1にて、刺激イベント1のデータが正の振幅値からゼロに波形を変化させる。より具体的には、刺激イベント1のデータの電極構成ビットは、導線L1のすべての電極が不活性であるすなわち、陽極又は陰極として接続されていないことを示している。図6をさらに参照すると、イベントタイム2において、波形は負の値amp1に変位するように図示されている。特に、刺激イベント2のデータの導線選択ビットは、導線L1が選択されていることを特定でき、刺激イベント0により陽極として構成された電極が陰極として構成され、刺激イベント0により陰極として構成された電極が陽極として構成されることを特定している。いいかえれば、正の振幅値amp1をなすために用いられていた陽極陰極構成を反転させることにより、負の振幅値amp1が得られる。イベントタイム2とイベントタイム3の間において、イベントタイム2とイベントタイム3の間でコンデンサが放電するための多少の減衰を除き、概して負の振幅値amp1である。イベントタイム3にて、刺激イベント1のデータは、負の振幅値からゼロへ波形を変化させる。特に、刺激イベント3のデータの電極構成ビットが、導線L1のすべての電極が不活性すなわち、接続されていないであることを特定している。イベントタイム3にて、波形はゼロに戻り、少なくともイベントタイム4までゼロのままである。刺激イベント3のデータは、導線L1がイベントタイム3で選択され、弛緩期間の開始となる。弛緩期間中は、電極構成ビット刺激イベント3のデータにより形成は、2相の刺激パルスを伝達するために用いられた導線L1の電極は、こらの電極に残る電荷を放電するためグラウンドに接続されている。さらに、イベントタイム3からイベントタイム4の間の弛緩期間は、導線L1用治療出力コンデンサは再充電されることができる。この再充電を行うために、刺激イベント3の導線選択ビットは導線L1を選択し、充電コントロールビットの充電ビットは活性化されなければならない。図6をさらに参照すると、イベントタイム4は、弛緩期間の終わりを示している。図6に示される通り、導線L1を介して伝達される次の2相の刺激パルスは、イベントタイム4Xまで開始しない。イベントタイム4とイベントタイム4Xの間、メモリ522、524に保存されている刺激イベントデータと次の刺激イベントタイムデータに従い、一つまたは複数の導線例えば、L2L3及び又はL4を介して刺激パルスが伝達されることができる。さらに、及び又は、この代わりに、イベントタイム4とイベントタイム4Xの間で、刺激イベントデータと次の刺激イベントタイムデータは、サンプルされている他の導線に対応する充電コントロールコンデンサ418を充電できるし、及び又は、充電されている他の導線に対応する治療出力コンデンサ430を充電することができる。クロック省電力の特徴ClockPowerSavingFeatures図3で説明したように、クロックシステム360は、MCU210の構成要素と電子回路118の他の構成要素に提供される異なる周波数を有するクロック信号を発生する。例えば、クロックシステム360は、比較的高い周波数例えば、100kHzのクロック信号を発生させるメインクロック回路362と、比較的低い周波数例えば、32768kHzのクロック信号を発生させる共に、メインクロック回路より電力を少なく消費する副クロック回路364が含まれている。メインクロック回路362により発生された高い周波数のクロック信号は、例えば、CPUができるだけ急いでタスクを処理するときに、CPU310により用いられてもよい。上記で説明したとおり、実施例では、CPU310は、メモリ320に保存されている神経刺激データにアクセスし、そのときにどの刺激セットが活性化選択されているかにもとづき、CPU310は、刺激イベントデータや次の刺激イベントタイムデータを生成し、図5の2つのルックアップテーブルLUT早見表522、524として保存される。メモリ320に保存された神経刺激データは、これらは外部のプログラマーから受領されるが、上述したとおり、電極構成情報と刺激波形情報を含むことができる。刺激波形情報は、例えば、伝達される刺激波形の振幅、パルス幅、パルスの繰返し率を特定することができる。図5に記載したとおり、タイマーカウントレジスタ542は、クロックCLK信号によりインクリメントされるが、イベントタイマー比較レジスタ544と比較され、DMAチャンネルの少なくとも一つがいつトリガーされるかを決定する。このクロック信号の周波数は、神経刺激信号の最小パルス幅の増加を特定することで達成され、小パルス幅の増加により高パルス幅の分解能を可能とする。実施例では、刺激イベントデータと次の刺激イベントタイムデータが発生すると、CPU310が、特定のクロック信号周波数例えば、100kHzが図5のタイマーカウントレジスタ542を増加するようなデータを発生する。例えば、100kHzクロック信号が10usecパルス幅の増加すなわち、1秒100k=100usecを提供する一方、32768kHzクロックが305usecパルス幅の増加すなわち、1秒32768k=305usecを提供する。より一般的には、クロック信号が高くなれば、パルス幅増加は小さくなり、パルス幅の分解能は大きくなる。しかしながら、同様のクロック回路が異なるクロック信号周波数を発生させることを考えると、クロック信号が高くなると、電力消費が高くなる。したがって、実施例では、電力は、特定のパルス幅分解能を達成するために、最も遅いクロック信号を用いて変換することができる。特定の実施例では、刺激イベントデータと次の刺激イベントタイムデータが発生すると、CPU310は最初に、保存された神経刺激データにより定められた神経刺激を行うに必要な最小のパルス幅増加量を決定する。この決定にもとづき、低電力消費の副クロック回路364により発生するクロック信号が、図5のタイマーカウントレジスタ542をインクリメントするクロック信号として用いられるに充分な分解を有しているか否かや、高電力消費のメインクロック回路362により発生するクロック信号がタイマーカウンターレジスタ542をインクリメントするため用いることが必要かどうかを、CPU310は決定する。副クロック回路364により発生するクロック信号が使用するに充分な分解能を有していれば、CPU310は、副クロック回路364により発生する低クロック信号がタイマーカウントレジスタ542をインクリメントするために用いられると考え、刺激イベントデータと次の刺激イベントタイムデータを生成する。これにより、DMAコントローラー330が神経刺激を制御しているときに、メインクロック回路362他の目的のために必要とされない限りは少なくとも部分的に不作動状態とすることができる。これに反して、副クロック回路364により発生するクロック信号を用いて充分な分解能を有していないときはすなわち、メインクロック回路により発生するクロック信号が必要とされるとき、メインクロック回路362により発生する高クロック信号がタイマーカウントレジスタ542をインクリメントするために用いられると考え、刺激イベントデータと次の刺激イベントタイムデータを、CPU310が発生する。後の例では、副クロック回路364は、省電力のために、用いられていないときは少なくとも部分的に不作動状態とすることができる。他の実施例では、副クロック回路364により発生するクロック信号の周波数は、調整可能であり、選択された刺激セットと連動する刺激波形の伝達を制御するように最適なまたは最適に近い周波数が選択される。例えば、副クロック回路364の周波数は、所望の信号を生成することが必要となる他のイベント、及び、所望の信号分解能を提供するために、最も遅いクロック信号周波数になるようにプログラムされている。CPU310は、この周波数を決定し、この決定された周波数にもとづき、刺激イベントデータと次の刺激イベントタイムデータを生成する。図1-6にて示された実施例では、第1DMAチャンネルがメモリの最初の部分に保存された刺激イベントデータを入力出力ポート又はレジスタに転送し、これにより回路の状態を変化させ、第2DMAチャンネルがメモリの第2の部分に保存された次の刺激イベントタイミングデータを、刺激イベントと関連するタイミングを制御するために用いられるタイマーに転送するために用いられている。他の実施例では、2以上のDMAチャンネルチャンネルを用いられることができる。例えば、刺激波形の振幅をコントロールするために用いられる振幅値メモリの第3の部分に保存されているを転送するために第3DMAチャンネルが用いることができる。上述のとおり、本発明の実施例は、慢性痛を有する患者に対し、神経刺激をコントロールために用いることができる。例えば、本発明の実施例は、以下の症状に適用されるものであり、これらに限定されるものでない。腰椎手術に起因する神経因性疼痛、診断ブロックにより診断された腰部の側面への慢性難治性腰痛、診断ブロックにより診断された仙腸関節の間接病、脊椎管窄症、神経根衝突‐非外科的候補、未知の病因による椎間板起因の痛み、複合性局所疼痛、帯状疱疹後神経痛、糖尿病性神経痛、難治性痛みを伴う末梢血管疾患、レーノー現象、幻肢痛、全般的な求心路遮断痛、慢性難治性アンギナ、外傷性後頭痛、さまざまな内臓痛例えば、膵炎等、ポスト乳房切除痛、外陰部痛、精巣痛、痛みを伴う自己免疫不全、限られた痛い分布によるポスト脳卒中痛、反復局所的鎌状赤血球危機、腰髄神経根障害、胸部神経根神経病、頸部神経根症、頸部軸の首痛、むちうち、限定痛を有する多発性硬化症。本発明の実施例は、これらに限定されるものでないが、パーキンソン病、多発性硬化症、奥部障害を脱髄すること、身体的および作業療法によって援助された神経刺激、脊髄損傷、神経再生によって援助される療法、ぜんそく、慢性心不全、肥満、急性虚血のような発作のような痛みを伴わない疾病に用いることができる。上述のとおり、神経刺激は、後根または後根神経節の刺激を含み、これに限定されるものではないが、患者の脊髄にまたはその近傍に伝達される。神経刺激は、これに限定されるものでないが、頭蓋の経頭蓋、皮質の、皮質下、小脳または深部脳に例示されるような脳タイプ神経刺激であっても良い。本発明の実施例は、これに限定されるものではないが、心臓に刺激を施すような神経刺激以外のタイプに適用されても良い。例えば、刺激イベントデータと次の刺激イベントタイミングデータは、DMAチャンネルにより適切な回路に転送され、先のR波またはペースイベントまたは他の心臓イベントに続くウインドウタイム内にR波または、他のタイプの波形が検出されないときに実施される心臓ペーシングタイプの刺激をコントロールすることができる。これは、単なる例を示したものであり、限定されるものではない。本発明の実施例は、薬ポンプや他の埋め込み型、非埋め込み型、または部分的に埋め込み型の医療機器にも適用可能である。本発明の実施例は、特定の機能や相互関係を図示するブロック図を用いて説明している。これらのブロックの機能の境界は、説明の便宜上、示しているものである。特定の機能や相互関係が適切に実施する限り、他の境界を設定することができる。このような他の境界は、本発明の範囲や趣旨に入るものである。上述の発明は、明確性や理解のために、図や例を用いて説明したが、様々な代替例、変形例及び均等物が用いることができることは明らかであり、上述の説明は本発明の範囲を限定するものであってはならない。