メモリをプログラムする方法において、メモリにプログラムされるべき1つのワードにおけるビットのプログラミング数を判定するステップであって、プログラムされるべき各ビットが特定の論理状態をとるステップと、前記プログラミング数が最大数を超えるときに前記ワードを2つ以上のサブワードへ分割するステップと、前記サブワードのそれぞれを前記メモリに連続的に書き込むステップと、を含む方法。ワードを分割する前記ステップは、前記ワードを2の倍数のサブワードへ分割することを更に含み、前記各サブワードがそれぞれの他のサブワードと同じ数のビットを含む請求項1の方法。特定の論理状態がRESET状態である請求項1の方法。メモリにプログラムされるべき1つのワードにおけるビットのプログラミング数を判定する加算器であって、プログラムされるべき各ビットが特定の論理状態をとる加算器と、前記プログラミング数が最大数を超えるときに前記ワードを2つ以上のサブワードへ分割する分割ブロックであって、各サブワードがそれぞれの他のサブワードと同じ数のビットを含む分割ブロックと、前記分割ブロックと通信するとともに、1つ以上の書き込みパルスを連続的に供給するスイッチであって、各書き込みパルスが、前記メモリと前記ワードおよび前記サブワードのうちの一方との間の別個の通信経路を有効にする、スイッチと、を備える可変データ幅システム。前記加算器が複数の非同期加算器を備える請求項4のシステム。その後の書き込み操作の完了まで前記プログラミング数を保持するレジスタを更に備える請求項4のシステム。前記分割ブロックと通信して前記最大数を内部に記憶するようになっているレジスタを更に備える請求項4のシステム。前記レジスタと通信する書き込みドライバイネーブラを更に備え、前記書き込みドライバイネーブラが前記最大数に応じてドライバ強度を選択する請求項7のシステム。前記レジスタと通信する書き込みドライバイネーブラを更に備え、前記書き込みドライバイネーブラが前記最大数に応じて1つ以上のドライバを選択し、前記1つ以上のドライバの全てが共通のチャージポンプ入力と共通のドライバ出力とを有する請求項7のシステム。前記分割ブロックは、前記プログラミング数が前記最大数よりも大きくないときに、全幅信号を有効にする複数の組み合わせ論理ゲートを備える請求項4のシステム。前記分割ブロックは、前記プログラミング数が前記最大数よりも大きく且つ前記最大数が前記ワードのビット数の1/2に等しいときに、半幅信号を有効にする複数の組み合わせ論理ゲートを備える請求項4のシステム。前記分割ブロックは、前記プログラミング数が前記最大数よりも大きく且つ前記最大数が前記ワードのビット数の1/4に等しいときに、1/4幅信号を有効にする複数の組み合わせ論理ゲートを備える請求項4のシステム。前記分割ブロックは、前記プログラミング数が前記最大数よりも大きく且つ前記最大数が前記ワードのビット数の1/8に等しいときに、1/8幅信号を有効にする複数の組み合わせ論理ゲートを備える請求項4のシステム。前記スイッチが全幅信号に応じて1つの書き込みパルスを発生させ、前記書き込みパルスが前記ワードと前記メモリとの間の別個の通信経路を有効にする請求項4のシステム。前記スイッチが半幅信号に応じて2つの書き込みパルスを発生させ、各書き込みパルスがサブワードと前記メモリとの間の別個の通信経路を有効にし、各サブワードが前記ワードのビット数の半分を含む請求項4のシステム。前記スイッチが1/4幅信号に応じて4つの書き込みパルスを発生させ、各書き込みパルスがサブワードと前記メモリとの間の別個の通信経路を有効にし、各サブワードが前記ワードのビット数の1/4を含む請求項4のシステム。前記スイッチが1/8幅信号に応じて8つの書き込みパルスを発生させ、各書き込みパルスがサブワードと前記メモリとの間の別個の通信経路を有効にし、各サブワードが前記ワードのビット数の1/8を含む請求項4のシステム。1つ以上のワードとして配列された複数のビットを含むメモリであって、各ワードにおけるそれぞれのビットを特定の論理状態にまたは他の論理状態のいずれかにプログラムできるメモリと、前記メモリと通信する可変データ幅コントローラであって、前記可変データ幅コントローラが、メモリにプログラムされるべき1つのワードにおけるビットのプログラミング数を判定する加算器であって、プログラムされるべき各ビットが特定の論理状態をとる加算器と、前記プログラミング数が最大数を超えるときに前記ワードを2つ以上のサブワードへ分割する分割ブロックと、前記分割ブロックと通信するとともに、1つ以上の書き込みパルスを連続的に供給するスイッチであって、各書き込みパルスが、前記メモリと前記ワードおよび前記サブワードのうちの一方との間の別個の通信経路を有効にするスイッチと、を備える、可変データ幅コントローラと、を備えるメモリシステム。前記メモリが相変化メモリであり、前記特定の論理状態が非晶質状態を表わす請求項18のメモリシステム。前記メモリが磁気抵抗ランダムアクセスメモリである請求項18のメモリシステム。1つの態様において、本発明は、メモリにプログラムされるべき1つのワードにおけるビットのプログラミング数を判定するステップを含み、プログラムされるべき各ビットはメモリにおいて特定の論理状態をとる、メモリをプログラムする方法を特徴とする。ワードは、プログラミング数が最大数を超えるときに2つ以上のサブワードへ分割される。サブワードはそれぞれメモリに連続的に書き込まれる。他の態様において、本発明は、メモリにプログラムされるべき1つのワードにおけるビットのプログラミング数を判定する加算器を備え、プログラムされるべき各ビットがこの加算器において特定の論理状態をとる、可変データ幅システムを特徴とする。プログラミング数が最大数を超えるとき、分割ブロックがワードを2つ以上のサブワードへ分割する。各サブワードは、それぞれの他のサブワードと同じ数のビットを含む。スイッチが分割ブロックと通信する。スイッチは1つ以上の書き込みパルスを連続的に供給する。各書き込みパルスは、メモリとワードおよびサブワードのうちの一方との間の別個の通信経路を有効にする。他の態様において、本発明は、1つ以上のワードとして配列された複数のビットを含むメモリを備えるメモリシステムを特徴とする。各ワードにおけるそれぞれのビットを特定の論理状態または他の論理状態のいずれかにプログラムできる。可変データ幅コントローラがメモリと通信することができる。可変データ幅コントローラは、メモリにプログラムされるべき1つのワードにおけるビットのプログラミング数を判定する加算器を備え、プログラムされるべき各ビットはメモリにおいて特定の論理状態をとる。プログラミング数が最大数を超えるとき、分割ブロックがワードを2つ以上のサブワードへ分割する。スイッチが分割ブロックと通信することができる。このスイッチは、1つ以上の書き込みパルスを連続的に供給する。各書き込みパルスは、メモリとワードおよびサブワードのうちの一方との間の別個の通信経路を有効にする。本発明の前記利点および更なる利点は、添付図面と併せて以下の説明を参照することにより更に良く理解することができ、図面中、同様の参照符号は、様々な図において同様の構造的な要素および特徴を示す。図面は必ずしも一定の縮尺ではなく、代わりに、本発明の原理を例示することに重点が置かれる。図4に示されるように、RESET状態へのプログラミングは、SET状態よりもかなり多くの電流を必要とする。書き込まれるべきデータはビットの組み合わせを含んでおり、各ビットは、RESET状態またはSET状態のいずれかにプログラムされる。図4に示される例では、RESET状態が論理1とされ、SET状態が論理0とされる。他の実施形態では、RESET状態が論理0であってもよく、SET状態が論理1であってもよい。可変書き込みデータ幅システムは、幾つのビットがRESET状態SET状態よりも多くの電流を必要とする状態にプログラムされるようになっているのかを認識することによって実施され、その後、必要に応じて、ワードを1つ以上のサブワードへと分割して、システムの最大プログラミング電流限界を超えないようにする。これにより、特定のシステムの限界内でより低い一貫したピーク電流も確保しつつ書き込みワード幅を動的に最大にすることによって、より高性能なWRITE操作をもたらされる。上記したByung-DoYangらにより提案される反転スキームとは異なり、本明細書中に記載される実施形態は、好ましくは、反転状態を記憶するために更なるメモリビットを必要としない。可変書き込みデータ幅手法により必要とされる追加の論理は、周辺領域に限定される。これにより、一般に、メモリ内に記憶される全てのワードに対して追加ビットを加える必要がある手法と比べてシステム全体の領域がかなり小さくなる。図5は、可変書き込みデータ幅スキームの1つの実施形態のフローチャートである。1つの実施形態では、ステップ504において、最大ワード幅kが16ビットに設定され、また、ステップ508において、RESETビットの最大プログラミング数mが4に設定される。言うまでもなく、他の実施形態では、任意のワード幅が受け入れられる。また、他の実施形態により最大プログラミング数も異なることは言うまでもない。単なる非限定的な一例として、最大プログラミング数は、複数のメモリセルのワード線をアクティブにするために使用されるチャージポンプから利用できるピーク電流に基づいて設定され、または、ピーク切り換えによる放射ノイズに起因する電磁妨害EMIに基づいて設定され、または、瞬間的な電流切り換えがON電源とオンチップのエレクトロマイグレーション限界を相互に関連させるという要求に基づいて設定される。また、パラメータmは、任務mission、ミッションモードから低電力待機モードへと切り換わるときに、または、温度または電圧の操作に基づいて、ユーザによってまたはメモリシステムにより自動的に更新されるように想定される。図5の実施形態では、k=16およびm=4の場合、1つのワードをビット0001010001111000または、16進数では1478hにより書き込もうとすると、RESETビットの総数が6となり、したがって、ステップ506においてaが6に設定される。aがmを超えるため、ステップ510での比較が満たされない。その結果、ステップ514において、パラメータbがaに設定されるとともに、パラメータjがkに設定される。その後、ステップ516においてbが一時的に半分に分けられ、ステップ518においてワードが半分に分けられる。RESETビットの修正総数bが最大プログラミング数mを超えてはならないという条件がステップ520で再検査される。bが依然としてmを超えている場合には、bがmを超えなくなるまでステップ516とステップ518が繰り返される。その時点で、ステップ522において、結果として生じる2の倍数のサブワードがそれぞれメモリに連続的に書き込まれる。結果として生じるサブワードを任意の順序でメモリに書き込むことができることは言うまでもない。16ビットワードにおけるresetビットの総数aが6となるように判定され且つRESETビットの最大プログラミング数mが4である本実施形態では、2つのサブワードが生じるとともに、8ビットの2つの書き込み操作がそれぞれ生じる。1つの実施形態において、最大書き込みワードデータ幅kは、外部入力/出力ピンの数によって判定される定数であるが、メモリに書き込まれる結果的な内部データは、幾つのRESETビットが外部ワードに含まれるのかに依存するサブワードである。例えば、1つの実施形態では、16ビット外部ワードが8ビット、4ビット、または、2ビットのサブワードへ分割される。図6は、メモリシステムにおける可変書き込みデータ幅制御の実施形態600を示している。入力データは、最初に入力データレジスタ620に記憶され、その後、書き込みデータ幅制御ブロック660へ転送され、このブロックにおいて、RESET状態にプログラムされるべきビット数が最大プログラミング数と対照して解析される。実施形態600は相変化メモリPRAM680を示すが、磁気抵抗RAMおよび電荷に基づくRAMを含むがこれらに限定されない他のタイプのメモリを可変書き込みデータ幅と共に使用することが考えられる。図7において、書き込みデータ幅制御ブロック660は、書き込まれるべきワードにおける論理1状態の総数を解析した後に、ワードを1つ以上のサブワードへ分割して、それぞれのサブワートをメモリへ連続的に書き込んで、書き込まれるべきそれぞれのワードまたはサブワードが最大プログラミング数により設定される最大プログラミング限界を越えないようにする操作を行なう。最初に、多段加算器論理ブロック662は、図6に示される入力データレジスタ620から入力データを受ける。多段加算器論理ブロック662は、RESET状態1つの実施形態では、論理1として規定されるを有するビットの総数を判定して、RESET状態を有するビットの合計をパラメータSout<4:0>として出力する。その後、5ビットのRESETビットカウント結果レジスタ664は、図6に示される制御論理ブロック640の制御下で、Sout<4:0>値をOneout<4:0>としてラッチする。その後、ビットコンパレータ書き込みモードセレクタ666は、図5に記載される方法にしたがってユーザ設定レジスタ668に含まれる最大リセットプログラミング数とOneout<4:0>の値とを比較して、X16en信号、X8en信号、X4en信号、および、X2en信号のうちの1つをアクティブにする。X16en信号は、ワードを分割する必要なく単一のサイクルでメモリ680に書き込むことができるときに有効にされる。X8en信号は、ワードが2つのサブワードに分割されて2つのサイクルでメモリ680に書き込まれるときに有効にされる。X4en信号は、ワードが4つのサブワードに分割されて4つのサイクルでメモリ680に書き込まれるときに有効にされる。X2en信号は、ワードが8つのサブワードに分割されて8つのサイクルでメモリ680に書き込まれるときに有効にされる。信号X16en、X8en、X4en、および、X2enは、ワードのサブワードへの分割を制御するとともに、1つ、2つ、4つ、および、8つの書き込みパルスをそれぞれ与える書き込みデータ幅スイッチ670への入力である。1つの実施形態では、信号X16en、X8en、X4en、および、X2enがメモリのカラム選択ゲートを制御する。例えば、X8en信号がアクティブである場合には、1つサイクルにおいて、ワードの半分に対応するカラム選択ゲートの半分が第1のサイクルで有効にされた後、ワードの他の半分に対応するカラム選択ゲートの他の半分がその後の第2のサイクルで有効にされる。カラム選択ゲートの第1の半分またはカラム選択ゲートの第2の半分が互いに隣接する必要はない。ユーザ設定レジスタ668は、ビットコンパレータ書き込みモードセレクタ666へ入力を与えることに加えて、書き込みドライバイネーブラ672への入力でもある。1つの実施形態では、書き込みドライバイネーブラ672が1つ以上のドライバ674a~674h一般に674を有効にし、各ドライバは、ユーザ設定レジスタ668により設定される必要なプログラミング電流を供給するために共通のチャージポンプ入力676と共通のドライバ出力678とを有する。他の実施形態では、書き込みドライバイネーブラ672が単一のドライバの強度を制御する。図8を参照すると、多段加算器論理ブロック662は、加算器を使用することによりRESET状態または、1つの実施形態では、論理1にプログラムされるべきビット数を計算する。1つの実施形態では、加算器は、それぞれがキャリー出力を有する複数の2入力加算器を備える非同期多段加算器である。非同期加算器を使用すると、複数のクロックサイクルではなく5つの加算段階の伝搬遅延内で加算を行なうことにより、クロック付きシステムにわたる計算待ち時間が改善される。図8に示される加算器の実施形態では、3ビット出力、例えばsum0<0:2>を発生させるために、入力データレジスタ620からの16個の入力のうちの4個のそれぞれが3段加算器に加えられる。その後、Sout<0:4>を発生させるために、3ビット出力のそれぞれがその後の2段加算器に加えられる。1つの実施形態では、16ビットワードにおける全ての論理1ビットの全加算が、133Mhzでクロックされるシステムの単一サイクル内で達成される。図9に示される5ビットRESETビットカウント結果レジスタ664は、次の書き込み操作が発行されるまで入力Sout<4:0>を記憶するために複数のD-FFを含む単純なレジスタである。他のタイプのフリップフロップ、例えばJ-Kフロップが使用されてもよい。ビットコンパレータ書き込みモードセレクタ666を実施するための方法が図10に示されている。ステップ702でOneout<4:0>値以下ではaとするがsetout<0:4>値以下ではbとするよりも大きくない場合には、ステップ704において、全16ビットが1つのサイクルで書き込まれ、大きい場合には、ステップ706へ進む。ステップ706において、b/2がaよりも大きくない場合には、ステップ708において、2つの8ビット値バイトが2つの連続するサイクルで書き込まれ、大きい場合には、ステップ710へ進む。ステップ710において、b/4がaよりも大きくない場合には、ステップ712において、4つの4ビット値ニブルが4つの連続するサイクルで書き込まれ、大きい場合には、ステップ714において、8つの2ビット値が8つの連続するサイクルで書き込まれる。ビットをシフトさせることによりbの値を2および4で割ることができる。例えば、最上位ビットOneout<4>と最下位ビットOneout<0>とを含む4ビットワードOneout<4:0>において、2で割ることは、全てのビットを1位置だけシフトさせることによって、または、より具体的には、同時に、Oneout<0>をOneout<1>と置き換え、Oneout<1>をOneout<2>と置き換え、および、Oneout<2>をOneout<3>と置き換えることによって達成される。図11Aは、図7に示される書き込みデータ幅制御ブロックに関する図6に示されるPRAMメモリシステムのタイミング図を詳しく示している。図11Aは、X16en信号が有効にされるときのタイミングを示している。同様に、図11Bは、X8en信号、X4en信号、および、X2en信号のそれぞれが有効にされるときのタイミングを示している。図11Aにおけるキー1200は、特に図11Aと図11Bとの間で共有される信号CLK~Oneout<4:0>に関して、図11Aと図11Bとの相対位置を示している。本発明の実施形態に係る可変データ幅制御方法は、PRAMにおけるRESETプログラミングに起因して、高性能書き込みプログラミングと低いピーク電流とを同時に与え、有益である。本発明を特定の好ましい実施形態に関連して図示して説明してきたが、当業者であれば分かるように、以下の特許請求の範囲により規定される本発明の思想および範囲から逸脱することなく、形態および詳細における様々な変更を本発明で成すことができる。