(57)【特許請求の範囲】
【請求項１】
方法であって、
選択されたマルチレベルセル（ＭＬＣ）メモリセルの複数の利用可能な物理状態の各々に関連する書込努力に関して、前記複数の物理状態の各々に対して異なるマルチビット論理値を割り当てる非連続エンコーディングスキームを選択するステップと、
前記非連続エンコーディングスキームに関して、前記選択されたＭＬＣメモリセルにデータを書込むステップとを備え、
前記選択された非連続エンコーディングスキームは、前記ＭＬＣメモリセルについての連続エンコーディングスキームに比べて、より低い総エネルギ消費レベルを提供する、方法。
【請求項２】
前記ＭＬＣメモリセルは、前記セルの２n個の物理状態に関して、複数のｎ個の独立し
たビットを記憶するように適合される、請求項１に記載の方法。
【請求項３】
前記ＭＬＣメモリセルは、複数のＮ個の異なる物理状態にデータを記憶するように適合され、
前記選択された非連続エンコーディングスキームは、Ｎ！個の利用可能なエンコーディングスキームから選択される、請求項１に記載の方法。
【請求項４】
前記選択するステップは、前記ＭＬＣメモリセルを、前記セルに書込電流を印加することによって、前記複数の利用可能な物理状態の各々へ順次遷移するステップと、
各遷移についての前記書込電流の大きさを測定するステップと、
前記測定された書込電流に関して前記非連続エンコーディングスキームを選択するステップとを含む、請求項１に記載の方法。
【請求項５】
前記選択されたエンコーディングスキームは、第１のマルチビット論理値を相対的に低い抵抗を有する第１の物理状態に割り当て、第２のマルチビット論理値を相対的に高い抵抗を有する第２の物理状態に割り当て、第３のマルチビット論理値を前記第１の物理状態の抵抗と前記第２の物理状態の抵抗との間の抵抗を有する第３の物理状態に割り当て、
前記第３のマルチビット論理値は、前記第１および前記第２のマルチビット論理値よりも大きい、請求項１に記載の方法。
【請求項６】
前記選択するステップは、前記ＭＬＣメモリセルが配置されるメモリアレイにデータを記憶するステップと、
前記記憶するステップの間に前記アレイに書込まれる各マルチビット論理値についての頻度統計を積算するステップと、
メモリ内に前記頻度統計を記憶するステップと、
前記記憶された頻度統計を用いて前記選択された非連続エンコーディングスキームを識別するステップとを含む、請求項１に記載の方法。
【請求項７】
前記メモリセルの前記物理状態は、Ｒ１＜Ｒ２＜Ｒ３＜Ｒ４となるような第１の抵抗Ｒ１、第２の抵抗Ｒ２、第３の抵抗Ｒ３、および第４の抵抗Ｒ４を含み、
前記抵抗は、対応するマルチビット論理値Ｂ１，Ｂ２，Ｂ３，Ｂ４に、Ｂ１＜Ｂ２＜Ｂ３＜Ｂ４およびＢ４＜Ｂ３＜Ｂ２＜Ｂ１以外の順序で、それぞれ割りつけられる、請求項１に記載の方法。
【請求項８】
前記メモリセルの前記物理状態は、Ｖ１＜Ｖ２＜Ｖ３＜Ｖ４となるような第１の電圧Ｖ１、第２の電圧Ｖ２、第３の電圧Ｖ３、および第４の電圧Ｖ４を含み、
前記電圧は、対応するマルチビット論理値Ｂ１，Ｂ２，Ｂ３，Ｂ４に、Ｂ１＜Ｂ２＜Ｂ３＜Ｂ４およびＢ４＜Ｂ３＜Ｂ２＜Ｂ１以外の順序で、それぞれ割りつけられる、請求項１に記載の方法。
【請求項９】
前記選択するステップは、
前記ＭＬＣメモリセルについての利用可能な代替的なエンコーディングスキームの母集団（population）を識別するステップを含み、
前記母集団における各スキームは、物理状態割り当てに対する異なるマルチビット論理値を確立し、
前記選択するステップは、
前記スキームの各々を順次用いて、前記ＭＬＣメモリセルが配置されるアレイにデータを書込むステップと、
最低の総エネルギ消費を示す前記母集団から前記非連続スキームを選択するステップとをさらに含む、請求項１に記載の方法。
【請求項１０】
方法であって、
マルチレベルセル（ＭＬＣ）メモリセルのアレイを提供するステップを備え、
各セルは、前記セルの２n個の物理状態に関して、複数のｎ個の独立したビットを記憶するように適合され、
前記方法は、
選択されたセルの各物理状態を、前記物理状態を達成するために必要とされる書込努力に関して、異なるｎビットの論理ビット値の組み合わせに割り当てるステップと、
前記割り当てられた非連続エンコーディングスキームを用いて、選択されたｎビットの論理ビット値の組み合わせを、前記選択されたセルに書込むステップとをさらに備え、
前記割り当てられた非連続エンコーディングスキームは、前記ＭＬＣメモリセルについての連続エンコーディングスキームに比べて、より低い総エネルギ消費レベルを提供する、方法。
【請求項１１】
前記ＭＬＣメモリセルは、フラッシュメモリセルとして、または、各々が複数の磁気トンネリング接合（ＭＴＪ）を有するＳＴＲＡＭメモリセルとして特徴付けられる、請求項１０に記載の方法。
【請求項１２】
前記関連するｎビットの論理ビット値の組み合わせを有する前記物理状態の各々に関連する変換表を生成するステップと、
前記変換表をメモリ内に記憶するステップと、
前記書込むステップの間に、前記変換表を用いて、前記選択されたセルを、それに書込まれるべき選択されたｎビットの論理ビット値の組み合わせに対応する選択された物理状態に設定するステップと、
後続の読出しステップの間に、前記変換表を用いて、前記アレイへ記憶されたデータを復元するステップとをさらに備える、請求項１０に記載の方法。
【請求項１３】
装置であって、
マルチレベルセル（ＭＬＣ）メモリセルのアレイを備え、
各セルは、前記セルの２n個の物理状態に関して、複数のｎ個の独立したビットを記憶するように適合され、
前記装置は、
非連続エンコーディングスキームを前記アレイに割り当てるように適合されるコントローラをさらに備え、
前記非連続エンコーディングスキームは、前記物理状態を達成するために必要とされる書込努力に関して、異なるマルチビット論理値に選択されたセルの各物理状態を割り当てるとともに、引き続いて、前記割り当てられたエンコーディングスキームを用いて、選択されたマルチビット論理値を前記選択されたセルに書込むように、前記アレイについての書込動作を方向付け、
前記割り当てられた非連続エンコーディングスキームは、前記ＭＬＣメモリセルについての連続エンコーディングスキームに比べて、より低い総エネルギ消費レベルを提供する、装置。
【請求項１４】
その関連付けられたマルチビット論理値を有する前記物理状態の各々を関連付ける変換表を記憶するメモリをさらに備え、
前記コントローラは、前記アレイを用いた書込動作および読出動作の間に、前記変換表を利用する、請求項１３に記載の装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明のさまざまな実施形態は、概して、マルチレベルセル（multi-level cell：ＭＬＣ）メモリセルのアレイを管理することに向けられる。
【発明の概要】
【課題を解決するための手段】
【０００２】
さまざま実施形態に従えば、選択されたＭＬＣメモリセルの利用可能な複数の物理状態の各々に関連する書込努力（writing effort）に関して、複数の物理状態の各々に対して異なるマルチビット論理値を割り当てる非連続（non-sequential）エンコーディングスキームが選択される。その後、選択された非連続エンコーディングスキームに関して、選択されたＭＬＣメモリセルにデータが書込まれる。
【０００３】
本発明のさまざまな実施形態を特徴付けるこれらのおよび他の特徴ならびに利点は、以下の詳細な議論および添付の図面に照らして理解することができる。
【図面の簡単な説明】
【０００４】
【図１】本発明のさまざまな実施形態に従って動作される例示的なデータ記憶装置の一般的な機能図である。
【図２】図１のデータ記憶装置のアレイからデータを読出し、およびアレイへデータを書込むために用いられる回路の例示的な機能ブロック図である。
【図３】いくつかの実施形態に従う、スピントルクトランスファランダムアクセスメモリ（ＳＴＲＡＭ）メモリセルとして特徴付けられるＭＬＣメモリセルを示す図である。
【図４】他の実施形態に従う、ＳＴＲＡＭメモリセルとして特徴付けられるＭＬＣメモリセルを示す図である。
【図５】さらなる実施形態に従う、ＳＴＲＡＭメモリセルとして特徴付けられるＭＬＣメモリセルの一部を示す図である。
【図６】図５のメモリセルの、さまざまな例示的な物理状態および対応する動作特性のグラフである。
【図７】図５，図６のメモリセルへの異なるエンコーディングスキームの割り当てを示す図である。
【図８】図５，図６のメモリセルを伴う使用のために選択され得る、利用可能な代替的なエンコーディングスキームの母集団のリストである。
【図９】図８の代替的なエンコーディングスキームの各々についての、総エネルギ消費データを示すグラフである。
【図１０】さまざまな実施形態に従って動作される、多くのＭＬＣフラッシュメモリセルを表わす図である。
【図１１】図１０のセルで作られるフラッシュメモリアレイの概略図である。
【図１２】２つの代替的なエンコーディングスキームに従って、ＭＬＣフラッシュメモリセル内にデータを記憶するために用いられ得る、異なるしきい値電圧を示す図である。
【図１３】さまざまな実施形態に従って、メモリセルについての適切なエンコーディングスキームを選択するのに有用なルーチンを示す図である。
【発明を実施するための形態】
【０００５】
詳細な説明
本開示は、概して、マルチレベルセル（ＭＬＣ）メモリアレイの管理に関する。ソリッドステートメモリは、フォームファクタを低減しながらも、信頼性のあるデータ記憶およびより速いデータ転送速度を提供することを目標とした最先端の技術である。
【０００６】
最近の開発は、ＭＬＣ（マルチレベルセル）プログラミングの使用を採用するマルチビットソリッドステートメモリセルの使用を含む。ＭＬＣセルは、セルごとに１より多いビットのデータの記憶を可能にする。一般的に、各セル内のｎ個の記憶されたビットは２n個の異なるセル状態によって表わすことができる。たとえば、論理状態００，０１，１０，１１に対応するｎ＝２のビットデータが、セルが２2＝４個の区別できる状態Ｓ１，Ｓ２，Ｓ３，Ｓ４を有するように構成される場合に、単一のメモリセル内に記憶され得る。この場合には、状態Ｓ１は、論理状態００を表わし、Ｓ２＝０１，Ｓ３＝１０，Ｓ４＝１１表わすようにしてもよい。
【０００７】
これらの異なるセル状態は、さまざまな方法で表現され得る。ＭＬＣとして構成されるＮＡＮＤフラッシュメモリセルは、セルのフローティングゲート上の電荷の４つの異なるレベルを提供し得る。フローティングゲート上の記憶された電荷の量、すなわち、セルのプログラムされた状態を決定するために、異なる制御ゲートしきい値電圧がセルに印加され得る。
【０００８】
スピントルクトランスファランダムアクセスメモリ（ＳＴＲＡＭ）セルのような、より最近開発されたセル技術は、各セル内に複数のＭＴＪ（磁気トンネリング接合）を含有し、各ＭＴＪが単一ビットを記憶することを通して、ＭＬＣとして構成され得る。各ＭＴＪは、自由層と基準層とを含み。ＭＴＪは、自由層の磁化方向が基準層の磁化方向と平行または逆平行に設定されているか否かに応じて、異なる電気抵抗を示す。
【０００９】
ＭＬＣプログラミングは、データ記憶密度を増加するように動作可能であるが、ＭＬＣメモリセルに関連する１つの制限は、さまざまなプログラム状態にセルを配置するための書込努力における相対的な困難性である。いくつかのプログラム状態は、他のものよりも容易に達成できることが理解されるであろう。たとえば、ＭＴＪは、逆平行状態のようないくつかのプログラム状態が平衡状態のような他の状態と比較してより大きな電流密度および／または電流パルス期間を必要とし得る点で、非対称書込特性を有しがちである。セル内のＭＯＳＦＥＴのようなスイッチングデバイスの相対方向も、困難プログラミング方向および容易プログラミング方向に寄与し得る。
【００１０】
ＭＬＣメモリセルにしばしば関連する他の制限は、ＭＬＣセルの動作寿命が、プログラミング電流／電圧レベルの増加に関連して短くなる傾向にあることである。たとえば、単一レベルセル（single level cell：ＳＬＣ）エンコーディングを用いて単一ビットを記憶するように構成されたフラッシュメモリのいくつかのタイプは、摩滅（たとえば、フローティングゲート／チャネルバリヤの物理故障）の前に、１０万回またはより多い消去に耐えることができる。ＭＬＣセルとして同様のフラッシュメモリセルを構成することは、動作寿命を摩滅前の約５千回の消去に低減し得る。
【００１１】
本発明は、ＭＬＣメモリセルのブロックに書込まれるデータパターンに応じて、すべてではないさまざまなセル状態が、同様の統計的頻度において利用され得ることに気付いた。したがって、以下に説明されるように、本発明のさまざまな実施形態は、概して、さまざまな状態遷移を確立するために必要とされる書込努力に関して、特定のエンコーディングスキームをＭＬＣメモリセルの集合に割り当てるように動作する。これは、メモリセルについての、低減された電力消費、増加されたデータスループット、および延長された動作寿命のような多くの利益を提供し得る。
【００１２】
さまざまな実施形態の以下の議論は、主としてＳＴＲＡＭセルおよびフラッシュメモリセルに焦点をあてるが、これは単なる例示の目的にすぎないことが理解されるであろう。本明細書に開示された技術は、多くの他のタイプの揮発性および不揮発性ＭＬＣメモリセルについて容易に適用することができる。
【００１３】
図１は、本発明のさまざまな実施形態が有利にも実行され得る例示的な環境を示す、データ記憶装置１００の単純化されたブロック図を提供する。装置１００は、上位レベルコントローラ１０２とメモリモジュール１０４とを含む。コントローラ１０２は、プログラム可能であってもよいし、またはハードウェアベースであってもよく、ホスト装置（図示せず）とのＩ／Ｏ操作の上位レベル制御を提供する。コントローラ１０２は、個別の要素であってもよいし、あるいは、メモリモジュール１０４内に直接含まれてもよい。メモリモジュールは、装置用のメインデータ記憶領域であってもよいし、あるいは、コントローラ１０２用のローカルキャッシュメモリを構築することもできる。
【００１４】
図２は、図１のメモリ空間１０４の一般化された表現を提供する。データは、メモリセル１０６の行および列の配列として記憶され、さまざまな行制御ラインおよび列制御ラインによってアクセス可能である。セルおよびそれのアクセスラインの実際の構成は、与えられた用途の要件に依存する。
【００１５】
制御ロジック１０８は、データ、アドレス情報、および制御／状態値を、マルチラインバス経路１１０，１１２，１１４に沿ってそれぞれ受信および転送する。列デコーディング回路１１６および行デコーディング回路１１８は、適切なスイッチングおよびセル１０６にアクセスするための他の機能を提供する。書込回路１２０は、セル１０６へデータを書込むための書込動作を実行するように動作する回路素子を表わし、読出回路１２２は、セルからのリードバックデータを取得するように対応して動作する。転送されたデータおよび他の値のローカルバッファリングは、１つまたはより多くのローカルレジスタ１２４を介して提供され得る。
【００１６】
例示的なメモリセル１０６が、スピントルクトランスファランダムアクセスメモリ（ＳＴＲＡＭ）セルとして、図３に示される。セル１０６は、それぞれＭＴＪ１およびＭＴＪ２として示される、第１の磁気トンネリング接合１３０および第２の磁気トンネリング接合１３２を含む。ｎＭＯＳＦＥＴとして特徴付けられるスイッチングデバイス１３４は、示されるように、ＭＴＪに結合される。例示的な動作においては、データアクセス動作は、ビットライン（ＢＬ）１３６、ソースライン（ＳＬ）１３８、およびワードライン（ＷＬ）１４０を介して実行され得る。アレイ内のさまざまなセルについてのソースラインは、いくつかの構成における共通のソース面に接続され得る。
【００１７】
ＭＴＪ１３０，１３２の各々は、基準層１４２と、自由層１４４と、トンネリング接合１４６とを含む。個々のＭＴＪ１３０，１３２は、基準層１４２の磁化方向に対する自由層１４４のプログラムされた磁化方向に基づいて、高電気抵抗または低電気抵抗に、独立にプログラムされ得る。これらのプログラムされた抵抗は、ビットライン１３６とソースライン１３８との間のセル１０６に、適当な双方向電流を印加することによって達成することができる。
【００１８】
ＭＴＪ１３０，１３２は、異なるスイッチング特性を有するように構成され、たとえば、ＭＴＪ１を平行から逆平行へ切換えるために必要とされるしきい値電流密度は、ＭＴＪ２を平行から逆平行へ切換えるために必要とされるしきい値電流密度よりも低い。これは、個別のＭＴＪに、異なる面積、層厚さ、材料、組成などを提供することを含む、多くの方法で実行することができる。各ＭＴＪ１３０，１３２は、単一ビットのデータを記憶し、それによって、ＭＬＣセル１０６は、トータルで２ビットのデータを記憶する。
【００１９】
図４は、ＭＬＣセル１０６の代替的な構成を示しており、個々のＭＴＪ１３０，１３２は、積層構造に配列される。図３のように、図４におけるＭＬＣセルも、２ビットのデータを記憶するように構成され、各ＭＴＪは１ビットを記憶する。
【００２０】
図５は、ＭＬＣセル１０６のさらに他の構成を提供し、今回は、共通の基準層１５０と、トンネリング接合１５６によって分離された個々の自由層１５２，１５４とを有する、組み合わせＭＴＪ構造１４８を有する。自由層１５２，１５４は、ＦＬ１およびＦＬ２として示され、異なる面積を有する相対的に軟質磁性材料および硬質磁性材料でそれぞれ作られる。図３〜図５のさまざまなＭＬＣ構造のプログラム状態は、読出動作の間に、相対的に低い大きさの読出電流を印加するとともに、セルのトータル電圧降下を検出することによって検出することができる。
【００２１】
図６は、図５の例示的な構造１４８についての、一連の電流−抵抗（Ｉ−Ｒ）曲線を示す。読出電流の大きさがｘ軸１６０に沿って示され、トータルのセル電気抵抗がｙ軸に沿って表わされている。図３，図４の代替的なＭＬＣ構造は、類似の特性を示し得る。
【００２２】
第１のＩ−Ｒ曲線１６４は、図５のＭＴＪ構造が第１の状態（Ｓ１)、すなわち、ＦＬ１およびＦｌ２の双方が基準層１５０に対して平行である磁化を有する状態にプログラムされている場合の、セルの抵抗を表わしている。曲線１６６は、ＭＴＪ構造１４８についての、ＦＬ１が逆平行状態でありＦＬ２が平行状態である第２の状態（Ｓ２）を表わしている。曲線１６８は、ＦＬ１が平行状態でＦＬ２が逆平行状態である第３の状態（Ｓ３）を表わしている。曲線１７０は、ＦＬ１およびＦＬ２の双方が逆平行状態である第４の状態（Ｓ４）表わしている。
【００２３】
さまざまな状態Ｓ１，Ｓ２，Ｓ３，Ｓ４の個々の抵抗は、最小から最大へと進行し、すなわち、Ｒ１＜Ｒ２＜Ｒ３＜Ｒ４であることが理解され得る。所与の読出電流の大きさについての例示的な抵抗値は、およそ、以下のようなオーダであり得る。Ｒ１＝０．５ｋΩ，Ｒ２＝１．０ｋΩ，Ｒ３＝１．５ｋΩ，Ｒ４＝２．５ｋΩ。もちろん、実際に検出された抵抗は、特定の構成および所与のセルの動作特性に応じて変化し、そのため、これらの値は単に例示にすぎない。
【００２４】
スイッチング電流の大きさの変化は、ＭＬＣ構造１４８を１つの状態から他の状態へ遷移させるために必要とされ得る。これは、より高い飽和保持力およびより困難な磁気ドメインを有するビットの磁化を変化させるのに必要とされるより大きなプログラミングエネルギのような、多くの要因に起因している。表１は、ＭＴＪ構造１４８についてのプログラム状態の組み合わせ間の遷移に必要とされる例示的なスイッチング電流を記載する。これらの値は、特定のセルの実験的な解析を通して得られたが、異なるタイプのセルが異なる結果を提供し得ることが理解されるであろう。
【００２５】
【表１】
0005412541.tif 000002
【００２６】
表１の正の電流値の使用は、自由層から基準層への電流方向を示しており、負の電流値は、反対の方向を示している。ＦＬ１の軟質ドメインについての磁化方向は、ＦＬ２の硬質ドメインの既存の磁化に影響を与えることなく、それ自身によって切換えられ得、相対的に低い電力を必要とし得る。ＦＬ２の硬質ドメインの切換えは、大幅により大きな電力を必要とし、軟質ドメインＦＬ１を意図した方向へリセットするような第２の動作を含み得る。
【００２７】
表１は、セルが、異なる遷移について非対称の電力消費要件を有することを示している。たとえば、状態Ｓ４から状態Ｓ１への遷移は、大幅により大きな書込電流の大きさ（たとえば、３２８μＡのオーダ）を必要とし、一方、状態Ｓ３から状態Ｓ４への遷移は、大幅により小さい書込電流の大きさ（たとえば、４５μＡのオーダ）を必要とし得る。
【００２８】
表２は、図１のコントローラ１０２のようなマイクロプロセッサによって実行された、図１におけるモジュール１０４のようなＳＴＲＡＭベースのコントローラキャッシュとして動作するＭＬＣメモリセルのブロックについての、異なる遷移の相対頻度の実験的研究の結果を示す。さまざまな値００，０１，１０，１１は、キャッシュ内のさまざまな個々のセルへ書込まれるマルチビット（２ビット）論理値である。表２の数値は、マイクロプロセッサが動作されるにつれて古いデータが新しいデータに上書きされる場合における、１つの状態から他の状態へのさまざまな遷移が行なわれる相対頻度を百分率（％）で示したものである。
【００２９】
【表２】
0005412541.tif 000003
【００３０】
表２からは、遷移の多くは、同じ値の間で生じており、そのため、ＭＴＪ抵抗状態はそれらの特定の書込みのためにすべてにおいて変化させる必要がなかったことが理解され得る。これは、７８．８０％（６４．０８＋５．４４＋４．２２＋５．０６）の時間で生じた。もっとも一般的に書込まれる値は論理００であり、時間の２／３で生じた。
【００３１】
残りの２１．２％の時間の間においては、さまざまなメモリセルは、古いデータが異なる新しいデータで上書きされるときに、第１の状態から第２の状態に変化した。いくつかの遷移は他の遷移の数倍の速さで生じたので、非常に多くの変化がこれらのさまざまな状態遷移に関して観測された。たとえば、論理００から論理０１への遷移（３．９２％）の頻度は、論理１１から論理０１への遷移（０．５６％）または論理１１から論理１０への遷移（０．６１％）の頻度よりも約７倍大きい。
【００３２】
従来のＭＬＣメモリアレイにおいては、個別の論理値を、セルの利用可能な物理状態へ連続的（sequentially）に割り当てることが一般的である。たとえば、図５、図６のＭＴＪ構造１４８についての典型的なエンコーディングスキームは、以下のように、論理「００」は状態Ｓ１へ、論理「０１」は状態Ｓ２へ、論理「１０」は状態Ｓ３へ、論理「１１」は状態Ｓ４へと連続的に割り当てられる論理値を含む。
【００３３】
これに対して、本発明のさまざまな実施形態は、アレイ内の少なくとも１つのＭＬＣメモリセルについて、代替的な非連続エンコーディングスキームを選択する。代替的なエンコーディングスキームは、異なるマルチビット論理値を、物理状態の各々に関連した書込努力に関して、ＭＬＣセルの異なる物理状態の各々に割り当てる。その後、選択されたエンコーディングスキームに関して、データがセルに書込まれる。
【００３４】
さまざまな状態を達成するための書込努力は、多くの方法で決定され得る。たとえば、書込努力は、表１に例示したようなアレイの電力消費特性、および／または、表２に例示されたような遷移頻度統計に基づき得る。この態様における代替的なエンコーディングスキームの使用は、メモリセルの低減された電力消費、改善された応答性能、延長された動作寿命などのような、多くの動作上の利益をもたらし得る。
【００３５】
図７は、図４，図５のＭＴＪ構造１４８に代替的に適用され得る、２つの異なったエンコーディングスキームを示す。第１のエンコーディングスキームは、状態Ｓ１＝００，状態Ｓ２＝０１，状態Ｓ３＝１０，状態Ｓ４＝１１である物理状態への論理状態の連続割り当てを用いる。このスキームを用いると、双方の自由層が平行方向、すなわち最低抵抗であるＭＬＣ  ＳＴＲＡＭセルは、論理００として解釈される。双方の自由層が逆平行方向、すなわち最高抵抗であるＭＬＣ  ＳＴＲＡＭセルは、値１１として記憶される、などのように考えられる。
【００３６】
図７における第２のスキームは、Ｓ２＝００，Ｓ３＝０１，Ｓ４＝１０，Ｓ１＝１１の非連続割り当てを用いる。このスキームにおいては、論理値はさまざまな物理状態の抵抗に対する連続性がない。たとえば、最低抵抗状態は、１１の論理状態に対応するように解釈され、最高抵抗状態は論理状態１０に対応するように解釈される、などである。
【００３７】
第２のスキームは、第１のスキームと等しく同様に動作し、通常動作の間に第１のスキームに対して大幅な省電力を提供し得ることが企図される。実験的解析は、いくつかのエンコーディングスキームは、他のスキームと比べて、約４０％以上の省電力をもたらし得ることを示している。
【００３８】
一般的に、Ｎ個の状態のＭＬＣセルについて、最大でＮ！個の異なる利用可能なエンコーディングスキームが存在し得る。４状態ＭＴＪ構造１４８は、４！＝２４個の異なる可能なエンコーディングスキームを提供する。これらの異なるエンコーディングスキームが、図８に列挙される。各スキームについての個々の総エネルギ使用値が図９で与えられる。
【００３９】
図９に表わされたエネルギ使用データは、多くの方法で実験的に決定され得る。たとえば、各スキームを順次選択し、選択されたスキームを用いて、総電力消費または他の適当な測定基準（たとえば、最大電流まど）を測定しながら、アレイへの予め定められた書込みおよび読出しのシーケンスを実行することである。ルックアップテーブル（参照テーブル）または他のアルゴリズムが、各スキームを順次実行するように、読出しおよび書込み回路において実現される。図８から、エンコーディングスキーム２が最低電力消費を提供し、エンコーディングスキーム１０が最高電力消費を提供する。これらの結果に基づいて、スキーム２が、実行のための最適エンコーディングスキームとして選択され得る。
【００４０】
なお、異なるタイプのデータ負荷は、所与のメモリについて異なる結果を提供し得ることに気付くであろう。それによって、選択機構は適応し、たとえば、第１のスキームが、時刻ｔ０において最初に選択され、時間にわたって頻度統計および／またはエネルギ消費統計が積算されて、後続の時刻ｔ１において第２のスキームに切換えられるための決定を導く。
【００４１】
データ書込みのほとんどが、状態変化をもたらさない場合、第１の選択されたスキームから第２の選択されたスキームへの、メモリセルの特定の組みを変化させるための重大な書込み不利益（penalty）があるかもしれない。低減された電力消費、延長された寿命、改善されたデータスループットなどのような将来の節約に関する投資の見返りが、異なるスキームへの変更を進めることが有利であるかどうかの決定において考慮され得る。
【００４２】
いくつかの実施形態においては、メモリアレイ内のすべてのＭＬＣセルが、同じ非連続エンコーディングスキームでエンコードされる。他の実施形態においては、特定のメモリアレイが、アレイの異なる領域において異なるエンコーディングスキームを使用してもよく、たとえば、異なるエンコーディングスキームを、図２のメモリセル１０６の異なる行（または列）に適用することが有利であることが見出され得る。
【００４３】
要するに、図３〜図５の例示的なＭＬＣ  ＳＴＲＡＭは、Ｒ１＜Ｒ２＜Ｒ３＜Ｒ４
である第１の抵抗Ｒ１、第２の抵抗Ｒ２、第３の抵抗Ｒ３および第４の抵抗Ｒ４に対応する４つの異なる物理状態を有するものとして説明された。これらの抵抗は、Ｂ１＜Ｂ２＜Ｂ３＜Ｂ４およびＢ４＜Ｂ３＜Ｂ２＜Ｂ１以外の順序で、４つの対応するマルチビット論理値Ｂ１，Ｂ２，Ｂ３，Ｂ４に割り当てられる。つまり、非連続エンコーディングスキームの下では、ビット値は、（００，０１，１０，１１）または（１１，１０，０１，００）のように連続（sequential）ではないが、その代わりに、（０１，１１，１０，００）などのように非連続（non-sequential）である。
【００４４】
図３〜図５におけるさまざまなＳＴＲＡＭセルのようなメモリ構造に基づくＭＴＪの１つの利点は、適切な書込電流極性および大きさを有する書込動作にメモリセルをさらすことによって、任意の状態から任意の他の状態へ簡単にセルを上書きできることである。フラッシュメモリのような他のメモリ構造は、いくつかの方向に上書きすることができるが、メモリセルのブロックを初期状態にリセットするための消去動作を必要とする。これは、本方法の適用可能性を制限するものではない。むしろ、本明細書に開示されたさまざまな実施形態は、ＭＬＣフラッシュメモリセルを有する使用に容易に適用することができる。
【００４５】
図１０は、いくつかの実施形態に従うフラッシュメモリセル２００の組みを示す。フラッシュメモリセル２００は、そのようには限定されないが、ＮＡＮＤ配列で構成される。半導体基板２０２は、多くの間隔が開けられたｎ＋ドープ領域２０４を有する。ゲート構造２０６は、隣接領域２０４の各対にわたり、各ゲート構造は、フローティングゲート（ＦＧ）２０８と、介在する絶縁層２１２，２１４によって分離される制御ゲート（ＣＧ）２１０とを含む。このように、フラッシュメモリセル２００は、概して、追加的なゲート層を有するｎＭＯＳＦＥＴトランジスタに似ている。
【００４６】
消去動作後の初期動作の間に、フローティングゲート２０８は、蓄積された電荷を有していない。制御ゲート２１０への低レベルゲート制御電圧の印加によって、基板２０２内に、導電ドレイン−ソース導電チャネル（ＣＨ）が生成される。これにより、フラッシュメモリセル２０８に電流を流すことができる。この状態は、通常は１１の論理値に割り当てられる。書込動作中、より大きなゲート制御電圧が制御ゲート２１０に印加され、チャネルからフローティングゲート２０８へ電荷のマイグレーションを生じさせる。この電荷は、この書込電圧の印加後も、フローティングゲート２０８上に残存する。
【００４７】
フラッシュメモリセル２００は、フローティングゲート２０８上に蓄積された電荷の、複数の制御された量の使用を通して、ＭＬＣセルとして構成することができる。たとえば、２ビットのデータが、４つの異なるレベルの蓄積電荷（たとえば、本質的に無電荷、第１の中間電荷量、第２のより高い中間電荷量、および、最大電荷量）を用いて、各フラッシュメモリセル上に記憶され得る。上述のように、これらの状態は、状態Ｓ１，Ｓ２，Ｓ３，Ｓ４として識別され得る。
【００４８】
追加の電荷を加えて、状態レベルを増加することも可能である。状態Ｓ２のセルは、状態Ｓ３またはＳ４へ遷移させるために加えられる、追加の電荷を有し得る。しかしながら、より高い状態から低い状態へ戻すには消去動作が必要とされる。消去中、逆バイアス電流が印加されて、蓄積された電荷をフローティングゲートからチャネルに移動させ、それによって、セルを第１の状態Ｓ１（たとえば、論理１１）にリセットする。
【００４９】
図１１は、図１０からＭＬＣフラッシュメモリセル２００のアレイとして構成される、図１におけるモジュール１０４のようなメモリアレイの一部を示す。セル２００は、行および列に配列され、各行のセルは共通のワードライン２１６（ＷＬ−１からＷＬ−Ｎ）に接続され、各列のセルは共通のビットライン２１８（ＢＬ−１からＢＬ−Ｎ）に接続される。列制御トランジスタは２２０，２２２で示され、グローバル制御ライン（ＳＳＬ，ＧＳＬ-０およびＧＳＬ-１）は２２４，２２６，２２８で示される。データは、共通のワードライン２１６に接続された、選択された行に沿ったフラッシュＭＬＣセル２００のすべてで作られるメモリのページとして記憶され得る。
【００５０】
図１２は、異なる状態Ｓ１，Ｓ２，Ｓ３，Ｓ４にプログラムされたフラッシュＭＬＣセル２００の異なる母集団のグラフ表現を提供する。図１１からの任意の選択されたＭＬＣセル２００のプログラム状態は、ＳＳＬおよびＧＳＬ−０のラインをターンオンして、制御トランジスタ２２０，２２２を導通状態にし、適当な電圧ＶDDを選択されたセル２００に接続される選択されたビットライン２１８へ印加し、ＧＳＬ-１のラインを接地（ＶSS）に接続することによって決定され得る。そして、選択されたセル２００に接続されたワードライン２１６は、図１２に示すように、Ｖ１＜Ｖ２＜Ｖ３＜Ｖ４となる、一連の異なるゲート制御電圧Ｖ１，Ｖ２，Ｖ３，Ｖ４でストローブされ得る。残余のワードラインは、最高電圧Ｖ５を受けてもよい。
【００５１】
理解されるように、これらの制御電圧は、その電圧より低いしきい値電圧を有するプログラムされたセルが導通状態に設定ようにされる選択され、たとえば、電圧Ｖ４は状態Ｓ１，Ｓ２，Ｓ３にあるセルの母集団内のフラッシュメモリセルをターンオンするのに十分であるが、状態Ｓ４のセルについては十分でない。したがって、一連のゲート電圧は、選択されたセルのワードラインに連続的に印加され得る。
【００５２】
一例においては、Ｖ３電圧は、これがセルを導通させるかどうかを見るために、最初に印加される。もし導通させない場合は、プログラム状態は、Ｓ３およびＳ４のいずれかであり、後続のＶ４の印加によってどちらであるかが決定される。同様に、Ｖ３がセルを導通させた場合は、セルはＳ１またはＳ２のいずれかであり、後続のＶ２の印加によって、どちらかが決定される。フラッシュセルは、印加されたゲート電圧に応答して、ビットライン電圧がＶDDからＶSS付近のレベルまで低下した場合に、導通状態であるとして識別される。電圧Ｖ５は、プログラム状態にかかわらず、すべてのセルを導通させる。
【００５３】
図１２は、メモリセル２００とともに採用され得る、２つの代替的なエンコーディングスキームを示す。第１のエンコーディングスキームは、Ｓ１＝１１，Ｓ２＝１０，Ｓ３＝０１，Ｓ４＝００の従来の連続割り当てを用いる。この一般的に採用されるスキームの下では、蓄積電荷を有しない消去されたフラッシュセルは、ビット値１１を記憶しているものとして識別され、蓄積電荷の最大量を有するフラッシュセルは、ビット値００を記憶しているものとして識別される、などである。
【００５４】
第２の代替的なエンコーディングスキームは、Ｓ１＝００，Ｓ２＝０１，Ｓ３＝１１，Ｓ４＝１０の非連続割り当てを用いる。この後者においては、消去されたセルは、値００を記憶しているものとして見られ、蓄積電荷の最大量を有するフラッシュセルは、値１０を記憶しているものとして見られる、などである。
【００５５】
後者のエンコーディングスキームは、上記の表１および表２に記載されたものと同様のデータを用いて選択することができる。たとえば、論理００が、特定の状況の下で書込まれたデータにおいて、最も統計的に一般的な論理状態であるように見出された場合、状態Ｓ１の消去された状況は、この値に対応するように選択され得る。
【００５６】
要するに、図１１，図１２のＭＬＣフラッシュセル２００は、Ｖ１＜Ｖ２＜Ｖ３＜Ｖ４となる第１のしきい値電圧Ｖ１、第２のしきい値電圧Ｖ２、第３のしきい値電圧Ｖ３、および第４のしきい値電圧Ｖ４に対応する、４つの異なる物理状態を有する。この電圧は、Ｂ１＜Ｂ２＜Ｂ３＜Ｂ４およびＢ４＜Ｂ３＜Ｂ２＜Ｂ１以外の順序の、４つの対応するマルチビット論理値Ｂ１，Ｂ２，Ｂ３，Ｂ４に割り当てられる。言い換えれば、ビット値は、（００，０１，１０，１１）または（１１，１０，０１，００）のように連続ではないが、その代わりに、（０１，１１，１０，００）などのように非連続である。
【００５７】
図１３は、さまざまな実施形態に従って実行されるような、例示的なコーディングスキーム選択ルーチン２３０のフローチャートを提供する。ルーチン２３０は、上述したＳＴＲＡＭまたはフラッシュＭＬＣメモリセルのような、多くの異なるタイプのＭＬＣメモリセルについて実行することができる。
【００５８】
ルーチン２３０は、新しい代替的なエンコーディングスキームがそれに代わって実行されるように、初期基本コーディングスキームを有するメモリアレイについて動作してもよいが、それは必ずしも必要とはされない。図１３に示されたすべてのステップが実行される必要はなく、必要に応じて、いくつかのステップが省略され、または修正されてもよい。ルーチン２３０は、図１におけるコントローラ１０２のような、関連したメモリ内に規則されたプログラミングステップを用いるデバイスマイクロコントローラの指令の下で実行される。
【００５９】
最初に、ルーチンは、ステップ２３２によって示されるように、個別のセルレベルにおける状態遷移特性の評価を含む。これは、表１に示されるようなデータを提供し、選択処理において有益であり得る。そのような個別のセルレベルの特徴付けは、特定のセルを選択すること、および、各状態遷移を達成するために採用される書込電流の大きさを測定しながら、順次さまざまな物理状態を書込むことを含み得る。
【００６０】
ステップ２３４において、図８に示された２４個の例示的なエンコーディングスキームのうちの１つのような、第１のエンコーディングスキームが選択され得る。選択されたエンコーディングスキームに基づいて、適切な状態−論理値変換表が、ステップ２３６にて設定され得る。これらの表は、関連したセルに選択されたマルチビット値を書込むために必要な、適切な書込電流パラメータを識別し、それによって、そのビット値に対応した物理状態にセルを設定する。表は、アレイ全体に適用されてもよいし、またはその一部に適用されてもよい。
【００６１】
次にステップ２３８にて、選択された読出／書込シーケンスが、選択されたエンコーディングスキームを用いて、アレイ内のメモリセルの組みに適用される。シーケンスは、データのベースラインの組みに基づいて予め定められてもよいし、通常の装置動作中に経験された、実世界の読出／書込シーケンスに対応させてもよい。この動作中に、頻度統計および総エネルギ消費データのような、さまざまなタイプのデータが収集され得る。頻度統計は、表２におけるデータのタイプに対応し、概して、メモリセルに書込まれる異なるマルチビット値の相対的な発生を反映している。総エネルギ消費データは、選択されたエンコーディングスキームについての、図９に示されるデータに対応し得る。代替的に、または追加的に、異なる摩耗レベルに関連するデータ、および、メモリセルの動作寿命についてのそれらの関連する影響が取得され得る。
【００６２】
判定ステップ２４０は、異なるエンコーディングスキームが、評価のために利用可能であるか否かを判定し、もしそうである場合は、ルーチンは、ステップ２４２へ進み、次のコーディングスキームが選択されて上記のステップが繰り返される。
【００６３】
すべての望ましいエンコーディングステップが評価されると、フローはステップ２４４へと進み、実行のために、最適なエンコーディングスキームが選択される。そして、ルーチンはステップ２４８で終了するが、必要に応じて新しい置換エンコーディングを実行するために、ルーチン内のさまざまなステップが何度も繰り返されてもよいことが理解されるであろう。
【００６４】
エンコーディングスキーム選択処理は、電力消費、回路複雑性の低減、速度、動作寿命への影響等のような、多くのパラメータを考慮してもよい。これらの異なるパラメータの荷重和も用いられ得る。
【００６５】
いくつかの実施形態においては、実験的アプローチが採用され、それにおいては、利用可能なエンコーディングスキームの各々は、同じまたは類似の読出／書込シーケンスを用いて、個別に評価される。そのような場合においては、最良のエンコーディングスキームは、図９において記載した最良の電力消費要件のような、テスト中に最良の結果を生成したスキームとして選択され得る。
【００６６】
他の実施形態においては、ステップ２３２からの状態遷移データおよびステップ２３８からの頻度統計の評価が、アレイについての最適なエンコーディングスキームを選択するのに十分であるかもしれない。たとえば、読出／書込シーケンスにおいて最も頻繁に生じるそれらの論理の組み合わせを有する最小の書込努力を必要とするそれらの状態遷移をリンクすることが可能であるかもしれない。この後者のアプローチは、各利用可能なエンコーディングスキームが実際に順次テストされることを、必ずしも必要としているわけではない。
【００６７】
またさらなる実施形態においては、状態遷移データおよび頻度統計は、改善された性能を与える有望な指標を示すエンコーディングスキームの選択されたサブセットを識別するために用いられ、これらのスキームは、個別にテストされるとともに評価されて、最終スキームを選択する。いくつかの場合においては、代替的な非連続エンコーディングスキームを従来的に適用される連続スキームと比較して、代替スキームの効果を評価することが望ましい。
【００６８】
個別の書込遷移特性が表１のように定量化されているか否か、実際の頻度統計が表２のように収集されているか否か、および／または、各利用可能なエンコーディングスキームが図９のように個別に評価されているか否かにかかわらず、ルーチンは、概して、セルのさまざまな物理状態を達成するための書込努力に基づく最終エンコーディングスキームを実行するように動作する。
【００６９】
選択されたエンコーディングスキームを用いて、データがアレイ内に書込まれると、後続の読出動作中に、制御回路によって変換表が参照されて、アレイ内に事前に書込まれたデータを復元（デコード）することが理解されるであろう。変換表は、アレイ内のメタデータ領域に記憶され、装置の初期化の間に、ローカル揮発性メモリ（たとえば、図２におけるレジスタ１２４）へ読み出される。
【００７０】
本明細書において示されたさまざまな実施形態は、メモリアレイ配列の領域における利益を提供し得ることが理解されるであろう。テストされた論理状態組み合わせ頻度に具体的にチューニングされたコーディングスキームで、アレイまたはアレイの一部を最適化する能力は、最小の追加回路または処理で強化されたメモリアレイ性能を提供する。
【００７１】
さらに、ページごと（page-by-page）にアレイについてのコーディングスキームをカスタマイズする能力は、アレイ性能を改善する高められたチューニング要素を提供する。しかしながら、本明細書で議論されたさまざまな実施形態は、多くの潜在的な用途を有し、電子媒体の特定の分野またはデータ記憶装置の特定のタイプには限定されないことが理解されるであろう。
【００７２】
本発明のさまざまな実施形態の多くの特徴および利点が、本発明のさまざまな実施形態の構造および機能とともに上述の説明に記載されたが、この詳細な説明は単に例示である。そして、添付の特許請求の範囲で表現される事項の広範な一般的意味によって示される全内容に対して、本発明の原理内で、特に部分の構造および配置の点で、詳細において変更がなされてもよい。
【符号の説明】
【００７３】
１００  データ記憶装置、１０２  コントローラ、１０４  メモリモジュール、１０６，２００  メモリセル、１０８  制御ロジック、１１０，１１２，１１４  マルチバスライン経路、１１６，１１８  コーディング回路、１２０  書込回路、１２２  読出回路、１２４  レジスタ、１３０，１３２，１４６，１５６  トンネリング接合、１３４  スイッチングデバイス、１３６，２１８  ビットライン、１３８  ソースライン、１４２，１５０  基準層、１４４，１５２，１５４  自由層、２０２  半導体基板、２０４  ドープ領域、２０６  ゲート構造、２０８  フローティングゲート、２１０  制御ゲート、２１２，２１４  絶縁層、２１６  ワードライン、２２０，２２２  制御トランジスタ。
【図１】
0005412541.tif 000004
【図２】
0005412541.tif 000005
【図３】
0005412541.tif 000006
【図４】
0005412541.tif 000007
【図５】
0005412541.tif 000008
【図６】
0005412541.tif 000009
【図７】
0005412541.tif 000010
【図８】
0005412541.tif 000011
【図９】
0005412541.tif 000012
【図１０】
0005412541.tif 000013
【図１１】
0005412541.tif 000014
【図１２】
0005412541.tif 000015
【図１３】
0005412541.tif 000016