(57)【要約】【課題】メモリ・セルの特性パラメータに関してレベル数を最大化する費用効率の高い方法を提供する操作手順を提供する。【解決手段】この手順は、特性パラメータ値と関連付けられた最も可能性のある２進値を決定するために、統計分析を利用する。１つの実施形態において、受信ユニットが、目標メモリ・セルを含むメモリ・セル集合体中の各メモリ・セルについての特性パラメータの値を読み取る。生成ユニットが、メモリ・セル集合体についての可能な２進値の各々についての特性パラメータの確率分布関数を生成する。生成ユニットは、目標メモリ・セルの特性パラメータのシフトされた値についての可能な値域を決定するために、確率分布関数を用いる。目標メモリ・セルについての特性パラメータの値は、確率が最も高い２進値に変換される。【選択図】図１
2008171543.tif 000002
【特許請求の範囲】
【請求項１】
メモリ・セル集合体を操作するための方法であって、前記メモリ・セル集合体は、複数のメモリ・セルを含み、前記メモリ・セル集合体中の各メモリ・セルは、特性パラメータの予め設定された値域により区切られた少なくとも１つの可能な２進値を格納しており、前記特性パラメータの前記値域は、経時的にシフトし、前記方法は、
目標メモリ・セルについての前記特性パラメータのシフトされた値を検出することと、
前記メモリ・セル集合体中の各メモリ・セルについての前記特性パラメータのシフトされた値を検出することと、
前記メモリ・セル集合体中の各メモリ・セルについての前記特性パラメータの前記シフトされた値から、前記可能な２進値の各々についての前記特性パラメータの確率分布関数を生成することと、
前記可能な２進値の各々について、前記目標メモリ・セルについての前記特性パラメータの前記シフトされた値がその確率分布関数内にある確率を決定することと、
前記目標メモリ・セルについての前記特性パラメータの前記シフトされた値を、前記確率が最も高い２進値に変換することと、
を含む、方法。
【請求項２】
前記メモリ・セルの前記特性パラメータの前記値を、前記可能な２進値の１つについての予め設定された値域の中心に設定することにより、前記メモリ・セル集合体中の各メモリ・セルをプログラムすることをさらに含む、請求項１に記載の方法。
【請求項３】
前記特性パラメータの前記確率分布関数の各々が、前記メモリ・セル集合体中の各メモリ・セルについての前記特性パラメータの前記シフトされた値からの最尤推定を用いて決定される、請求項１に記載の方法。
【請求項４】
前記特性パラメータが、ダイナミック・ランダム・アクセス・メモリ（ＤＲＡＭ）における電荷ストレージ変化である、請求項１に記載の方法。
【請求項５】
前記特性パラメータが、電気的消去書き込み可能リード・オンリー・メモリ（ＥＥＰＲＯＭ）におけるフローティング・ゲートにおけるしきい値電圧変化である、請求項１に記載の方法。
【請求項６】
前記特性パラメータが、相変化メモリ（ＰＣＭ）の抵抗変化である、請求項１に記載の方法。
【請求項７】
前記特性パラメータが、抵抗ランダム・アクセス・メモリ（ＲＲＡＭ）の抵抗変化である、請求項１に記載の方法。
【請求項８】
前記特性パラメータが、光学式ストレージ・デバイスの光屈折率である、請求項１に記載の方法。
【請求項９】
メモリ・セル集合体を操作するためのメモリ・コントローラであって、前記メモリ・セル集合体は、複数のメモリ・セルを含み、前記メモリ・セル集合体中の各メモリ・セルは、特性パラメータの予め設定された値域により区切られた少なくとも１つの可能な２進値を格納しており、前記メモリ・コントローラは、
前記メモリ・セル集合体中の各メモリ・セルについての前記特性パラメータの前記値を受信するための受信ユニットと、
前記メモリ・セル集合体についての前記可能な２進値の各々について前記特性パラメータの確率分布関数を生成するための生成ユニットと、
を含み、前記生成ユニットは、目標メモリ・セルの前記特性パラメータの前記シフトされた値についての前記可能な値域を決定するために前記確率分布関数を用い、前記生成ユニットは、前記目標メモリ・セルについての前記特性パラメータの前記値を、前記確率が最も高い２進値に変換する、
メモリ・コントローラ。
【請求項１０】
前記メモリ・コントローラが、前記中央処理装置および前記メモリ・セル集合体から分離されている、請求項９に記載のメモリ・コントローラ。
【請求項１１】
前記受信ユニットが、前記アナログ信号を、前記特性パラメータを表すデジタル信号に変換するアナログ・センス・アンプで構成される、請求項９に記載のメモリ・コントローラ。
【請求項１２】
前記目標メモリ・セルの前記特性パラメータの前記シフトされた値の前記可能な値域が、最尤推定器により生成される、請求項９に記載のメモリ・コントローラ。
【請求項１３】
メモリ・チップであって、
複数のメモリ・セルを含むメモリ・セル集合体であって、該メモリ・セル集合体中の各メモリ・セルが、特性パラメータの値域により区切られる少なくとも１つの可能な２進値を格納するメモリ・セル集合体と、
前記メモリ・セル集合体中の各メモリ・セルについての前記特性パラメータの前記値を受信するための受信ユニットと、
前記メモリ・セル集合体についての前記可能な２進値の各々について前記特性パラメータの確率分布関数を生成するための生成ユニットと、
を含み、前記生成ユニットは、目標メモリ・セルの前記特性パラメータの前記シフトされた値についての前記可能な値域を決定するために前記確率分布関数を用い、前記生成ユニットは、前記目標メモリ・セルについての前記特性パラメータの前記値を、前記確率が最も高い２進値に変換する、
メモリ・チップ。
【請求項１４】
複数のメモリ・セル集合体が組み込まれる、請求項１３に記載のメモリ・チップ。
【請求項１５】
前記受信ユニットが、前記アナログ信号を、前記特性パラメータを表すデジタル信号に変換するアナログ・センス・アンプで構成される、請求項１３に記載のメモリ・チップ。
【請求項１６】
前記目標メモリ・セルの前記特性パラメータの前記シフトされた値の前記可能な値域が、最尤推定器により生成される、請求項１３に記載のメモリ・チップ。
【請求項１７】
複数のメモリ・セルを含み、各メモリ・セルが、特性パラメータの予め設定された値域により区切られた少なくとも１つの可能な２進値を格納し、前記特性パラメータの前記値域が経時的にシフトする、メモリ・セル集合体を操作するためのコンピュータ・プログラムであって、
目標メモリ・セルについての前記特性パラメータのシフトされた値を受信し、
前記メモリ・セル集合体中の各メモリ・セルについての前記特性パラメータのシフトされた値を受信し、
前記可能な２進値の各々について、前記特性パラメータの前記シフトされた値から、前記特性パラメータの確率分布関数を生成し、
前記可能な２進値の各々について、前記目標メモリ・セルについての前記特性パラメータの前記シフトされた値がその値域内にある確率を決定し、
前記目標メモリ・セルについての前記特性パラメータの前記シフトされた値を、前記確率が最も高い２進値に変換する、
ことをコンピュータに実行させるための、コンピュータ・プログラム。
【請求項１８】
前記特性パラメータの前記確率分布関数の各々が、前記特性パラメータの前記シフトされた値からの最尤推定を用いて決定される、請求項１７に記載のコンピュータ・プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、２進データ・ストレージに関する。より具体的には、本発明は、半導体コンピュータ・メモリ中で情報を格納および取り出す方法に向けられている。
【背景技術】
【０００２】
典型的な半導体コンピュータ・メモリは、多数の物理メモリ・セルのアレイから成る半導体基板上で製造される。一般に、２進データの１つのビットがメモリ・セルと関連付けられた物理パラメータの変化として表される。一般的に用いられる物理パラメータとしては、不揮発性電気的消去書き込み可能リード・オンリー・メモリ（ＥＥＰＲＯＭ：Ｅｌｅｃｔｒｉｃａｌｌｙ  Ｅｒａｓａｂｌｅ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）におけるフローティング・ゲートまたはトラップ層中に蓄えられた電荷量による金属酸化物電界効果トランジスタ（ＭＯＳＦＥＴ：Ｍｅｔａｌ  Ｏｘｉｄｅ  Ｆｉｅｌｄ  Ｅｆｆｅｃｔ  Ｔｒａｎｓｉｓｔｏｒ）のしきい値電圧変化、相変化ランダム・アクセス・メモリ（ＰＲＡＭ：Ｐｈａｓｅ−ｃｈａｎｇｅ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）またはオボニック・ユニファイド・メモリ（ＯＵＭ：Ｏｖｏｎｉｃ  Ｕｎｉｆｉｅｄ  Ｍｅｍｏｒｙ）の中の相変化メモリ素子の抵抗変化、および揮発性ダイナミック・ランダム・アクセス・メモリ（ＤＲＡＭ：Ｄｙｎａｍｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）における電荷ストレージ変化が含まれる。
【０００３】
単一の物理半導体メモリ・セル中に蓄えられるビット数を増大させることは、ビットあたり製造コストを下げる効果的な方法である。物理パラメータの変化を複数ビット値と関連付けることができる場合には、複数ビットのデータも単一のメモリ・セル中に蓄えることができる。この複数ビット格納メモリ・セルは、マルチレベル・セル（ＭＬＣ：Ｍｕｌｔｉ−Ｌｅｖｅｌ  Ｃｅｌｌ）として一般に知られている。単一の物理メモリ・セル中に蓄えられるビット数を最大化するために、コンピュータ・メモリ・デバイスおよび回路設計において多大な努力が傾注されている。このことは、マス・ストレージ・デバイスとして一般に用いられる普及している不揮発性フラッシュ・メモリのようなストレージ・クラス・メモリの場合に特に当てはまる。
【０００４】
半導体メモリ・セル中の複数ビット・ストレージのための基本要件は、複数の重ならない値のバンドに対応する物理パラメータ変化の範囲を有することである。ｎ−ビット・セルについて必要とされるバンドの数は、２ｎである。２−ビット・セルは４つのバンドを必要とし、３−ビット・セルは８つのバンドを必要とし、以下同様である。従って、半導体メモリ・セルにける物理パラメータの利用可能な範囲は、複数ビット・メモリ・ストレージにとっての制約要因である。
【０００５】
制約範囲幅に加え、温度、パワー、および時間のような環境変数の変動は、典型的な半導体ストレージ・デバイスのすべての操作およびデータ保全性に影響する。データ保全性は、環境変数の変動のためにデータ・ストレージ・システムにとっての主要な問題である。半導体ストレージ・システム中に格納されたデータの保全性を維持する費用効率の高い方法を考え出すことが望ましい。
【発明の開示】
【発明が解決しようとする課題】
【０００６】
半導体ストレージ・システム中に格納されたデータの保全性を維持する費用効率の高い方法を提供することが望ましい。
【課題を解決するための手段】
【０００７】
本発明の１つの代表的な実施形態は、メモリ・セル集合体（ｍｅｍｏｒｙ  ｃｅｌｌ  ｃｏｌｌｅｃｔｉｏｎ）を操作するための方法である。メモリ・セル集合体は、複数のメモリ・セルを含んでおり、メモリ・セル集合体中の各メモリ・セルは、特性パラメータの現在の値域により区切られた少なくとも１つの可能な２進値を格納する。加えて、特性パラメータの値域（ｖaｌｕｅ  ｒａｎｇｅ）は、経時的にシフトする。
【０００８】
メモリ・コントローラ操作のためのこの方法は、目標メモリ・セルについての特性パラメータのシフトされた値の検出を伴う。別の検出操作は、メモリ・セル集合体中の各メモリ・セルについての特性パラメータのシフトされた値を検出する。生成操作は、可能な２進値の各々について特性パラメータの確率分布関数を提供する。確率分布関数は、メモリ・セル集合体中の各メモリ・セルについての特性パラメータのシフトされた値から生成される。決定操作は、目標メモリ・セルについての特性パラメータのシフトされた値が確率分布関数内にある確率を決定する。変換操作は、目標メモリ・セルについての特性パラメータのシフトされた値を、確率が最も高い２進値に変換する。
【０００９】
この実施形態は、メモリ・セルの特性パラメータの値を当初の基準点に設定することによりメモリ・セル集合体中の各メモリ・セルをプログラムすることを含み得る。しかしながら、実際には、メモリ・セルの製造における自然のばらつきは、メモリ・セル中に格納される特性パラメータ値に正規分布を形成させ、従って、特性パラメータ値域を作り出す。加えて、特性パラメータ値の確率分布関数は、メモリ・セル集合体中の各メモリ・セルについての特性パラメータのシフトされた値からの最尤推定量を用いて決定できる。
【００１０】
特性パラメータは、ダイナミック・ランダム・アクセス・メモリ（ＤＲＡＭ：Ｄｙｎａｍｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）における電荷ストレージ変化、電気的消去書き込み可能リード・オンリー・メモリ（ＥＥＰＲＯＭ：Ｅｌｅｃｔｒｉｃａｌｌｙ  Ｅｒａｓａｂｌｅ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）中のフローティング・ゲートにおけるしきい値電圧変化、相変化メモリ（ＰＣＭ：Ｐｈａｓｅ  Ｃｈａｎｇｅ  Ｍｅｍｏｒｙ）の抵抗変化、または光学式ストレージ・デバイス中の相変化材料の光屈折率であり得る。
【００１１】
本発明のもう１つの代表的な実施形態は、メモリ・セル集合体を操作するためのメモリ・コントローラである。メモリ・セル集合体は複数のメモリ・セルを含み、メモリ・セル集合体中の各メモリ・セルは、特性パラメータの値域により区切られた少なくとも１つの可能な２進値を格納する。メモリ・コントローラは、受信ユニットおよび生成ユニットを含む。受信ユニットは、メモリ・セル集合体中の各メモリ・セルについての特性パラメータの値を受信する。生成ユニットは、メモリ・セル集合体についての可能な２進値の各々について特性パラメータの確率分布関数を生成する。生成ユニットは、目標メモリ・セルの特性パラメータのシフトされた値についての可能な値域を決定するために確率分布関数を用いる。さらに、生成ユニットは、目標メモリ・セルについての特性パラメータの値を、確率が最も高い２進値に変換する。
【００１２】
メモリ・コントローラは、アナログ信号を、特性パラメータを表すデジタル信号に変換するアナログ・センス・アンプを含み得る。加えて、目標メモリ・セルの特性パラメータのシフトされた値の考えられる値域は、生成ユニットにおいて最尤推定器により生成され得る。
【００１３】
本発明の特定の実施形態において、メモリ・コントローラは、中央処理装置およびメモリ・セル集合体から分離されている。他の実施形態においては、メモリ・コントローラは、複数のメモリ・セル集合体を含みメモリ・チップ内にパッケージされ得る。従って、本発明のさらなる態様は、メモリ・セル集合体を含むメモリ・チップである。メモリ・セル集合体は複数のメモリ・セルを含み、メモリ・セル集合体中の各メモリ・セルは、特性パラメータの値域により区切られた少なくとも１つの可能な２進値を格納する。メモリ・チップは加えて、受信ユニットおよび生成ユニットを含む。受信ユニットは、メモリ・セル集合体中の各メモリ・セルについての特性パラメータの値を受信する。生成ユニットは、メモリ・セル集合体についての可能な２進値の各々についての特性パラメータの確率分布関数を生成する。生成ユニットは、目標メモリ・セルの特性パラメータのシフトされた値についての考えられる値域を決定するために、確率分布関数を用いる。さらに、生成ユニットは、目標メモリ・セルについての特性パラメータの値を、確率が最も高い２進値に変換する。
【００１４】
本発明のもう１つの代表的な実施形態は、コンピュータ・プログラムである。このコンピュータ・プログラムは、メモリ・セル集合体を操作するためのコンピュータ・プログラム・コードを具体化する実体のあるコンピュータ可読媒体を含む。メモリ・セル集合体は複数のメモリ・セルを含み、メモリ・セル集合体中の各メモリ・セルは、特性パラメータの予め設定された値域により区切られた少なくとも１つの可能な２進値を格納する。特性パラメータの値域は、経時的にシフトする。コンピュータ・プログラム・コードは、目標メモリ・セルについての特性パラメータのシフトされた値を受信し、メモリ・セル集合体中の各メモリ・セルについての特性パラメータのシフトされた値を受信し、可能な２進値の各々について特性パラメータのシフトされた値から確率分布関数を生成し、可能な２進値の各々について目標メモリ・セルについての特性パラメータのシフトされた値がその値域内にある確率を決定し、目標メモリ・セルについての特性パラメータのシフトされた値を確率が最も高い２進値に変換する。
【発明を実施するための最良の形態】
【００１５】
本発明は、本明細書中で単に例として、添付図面に関連して説明される。
【００１６】
本発明は、図１〜９に関連して説明される。図を参照する場合、全体を通し示される同様の構造は、同様の参照符号で示される。
【００１７】
図１は、本発明により考察されるシステム１０２についての代表的な実施形態を例示する。システム１０２は、メモリ・バス１０８を介して１つ以上のメモリ・ユニット１０６に結合されたメモリ・コントローラ１０４を含む。
【００１８】
メモリ・ユニット１０６は、個別にパッケージされたメモリ・チップであってもよい。代わりに、メモリ・ユニット１０６は、単一のパッケージ中に存在し、一緒に多重化されてもよい。さらに、メモリ・コントローラ１０４は、別個にパッケージされてもよいし、またはメモリ・ユニット１０６と共に組み込まれてもよい。
【００１９】
メモリ・ユニット１０６は、特定のメモリ・ストレージ技術に限定されない。当業者は、異なるメモリ技術が、データを格納するために異なる特性パラメータを用いることを認めるであろう。例えば、ランダム・アクセス・メモリ（ＤＲＡＭ：Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）技術は、２進データを保有するための特性パラメータとして電荷ストレージ変化を用いる。相変化メモリ（ＰＣＭ：Ｐｈａｓｅ  Ｃｈａｎｇｅ  Ｍｅｍｏｒｙ）および抵抗ランダム・アクセス・メモリ（ＲＲＡＭ：Ｒｅｓｉｓｔｉｖｅ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）技術は、２進データを格納するための特性パラメータとして抵抗変化を用いる。
【００２０】
示されるように、各メモリ・ユニット１０６は、複数のメモリ・セル集合体１１０に分割される。各メモリ・セル集合体１１０は、複数のメモリ・セル１１２で構成される。さらに、各個別のメモリ・セル１１２は、特性パラメータの予め設定された値域により当初区切られた少なくとも１つの可能な２進値を含んでいる。上記で論じられたように、特性パラメータは、ＤＲＡＭにおける電荷ストレージ変化、電気的消去書き込み可能リード・オンリー・メモリ（ＥＥＰＲＯＭ）のフローティング・ゲートにおけるしきい値電圧変化、光学式メモリ（ＣＤ、ＤＶＤ）の光屈折率、および抵抗変化（ＰＣＭおよびＲＲＡＭ）であり得るが、これらに限定されるものではない。
【００２１】
以下でより詳細に論じられるように、メモリ・コントローラ１０４は、メモリ・ユニット１０６を操作するように構成される。メモリ・コントローラは、目標メモリ・セル１１２の特性パラメータ値だけでなく、その目標メモリ・セル１１２を含んでいるメモリ・セル集合体１１０の特性パラメータ値も読み取ることにより、経時的な特性パラメータ値のシフトを有利に補償する。
【００２２】
集合体１１０内のメモリ・セルは、物理的に目標セル１１２のすぐ近くに位置しており、従って、同様な特性パラメータ劣化をこうむる。１つの実施形態において、メモリ・コントローラ１０４は、メモリ・バス１０８を介して目標メモリ・セル１１２についての特性パラメータのアナログ値を受信する。メモリ・コントローラ１０４は、メモリ・セル集合体１１０からの特性パラメータ値も検出する。メモリ・コントローラ１０４は次に、目標メモリ・セル１１２の特性パラメータ値をメモリ・セル集合体１１０の特性パラメータ値と比較する。統計分析を用いて、メモリ・コントローラ１０４は、目標メモリ・セル１１２中に格納される可能性が最も高い２進値を決定する。
【００２３】
メモリ・コントローラ１０４が、当業者に知られている様々な手法を用いて電子デバイスとインタフェースすることが理解される。メモリ・コントローラ１０４によって決定された２進データは、例えば、コンピュータ・システム中の中央データ・バス１１４へ出力され得る。データ・バス１１４は、メモリ・ユニット１０６での記録のためにメモリ・コントローラ１０４へ２進データを送り出すこともできる。
【００２４】
システム１０２中の目標メモリ・セル１１２のプログラミングは、メモリ・コントローラ１０４により実行される統計的操作を伴う。１つの実施形態において、メモリ・コントローラ１０４は、中央データ・バス１１４からデータを受信する。このデータは、プログラミングおよび目標メモリ・セル１１２が格納する必要がある２進値を要求する１つ以上の目標メモリ・セル１１２の指示を含む。
【００２５】
それに応じて、メモリ・コントローラ１０４は、セルの特性パラメータを所定の値に設定することにより、目標メモリ・セル１１２を所望の２進値へプログラムする。例えば、メモリ・コントローラは、０１の２進値を、目標セルのフローティング・ゲート中に格納された２００個の電子の特性パラメータ値と対応付けることができる。
【００２６】
ひとたび目標セル１１２がプログラムされると、メモリ・コントローラ１０４は、目標メモリ・セル１１２を含んでいるメモリ・セル集合体１１０中のすべてのメモリ・セルもプログラムする。目標セル１１２を読み取るために同じ統計分析手法を用いて、コントローラ１０４は、メモリ・セル集合体１１０中のすべてのメモリ・セルを読み取り、その中に格納された２進値を決定する。メモリ・コントローラ１０４は次に、各メモリ・セルを、読み取られた２進値に対応する所定の特性パラメータ値に再プログラムする。このように、目標セル１１２およびその目標セル１１２が属しているメモリ・セル集合体１１０全体の双方がほぼ同時にプログラムされる。メモリ・セル集合体１１０中のすべてのセルを一度にプログラムすることにより、各セルにおける寄生効果は、以下で説明される統計的手法を用いて補償され得る。本発明の他の実施形態が、目標メモリ・セル１１２のプログラミングの前にメモリ・セル集合体１１０をプログラムし得ることが検討される。
【００２７】
図２は、本発明によるメモリ・セル中にデータを格納および取り出すための手順を一般に示している。ステップ２０２において、格納されるべきデータが取得される。データ２０２は、メモリ・セルを含んでいるメモリ・ユニットに結合された中央処理装置（ＣＰＵ）または周辺機器のような様々なソースから来ることがある。
【００２８】
プログラミング操作２０４において、取得されたデータは、メモリ・セルに書き込まれる。用いられるストレージ技術に応じて、データを書き込むことは、電荷を電荷格納用キャパシタ中に格納することと、しきい値変化のためのフローティング・ゲート・トランジスタ中のソース、ドレイン、またはコントロール・ゲートへ電圧を印加することと、光屈折率を変えるために相変化材料を融解および冷却すること、または抵抗を変えるために相変化材料を融解および冷却することと、から構成され得る。データがメモリに書き込まれた後、そのデータは、格納操作２０６においてある期間格納される。
【００２９】
将来ある時、そのデータは、読み取り操作２０８の間に、メモリ・セルから取り出される。データを再び取り出すための正確なプロセスは、用いられた技術に依存する。例えば、ＤＲＡＭメモリを読み取る場合、トランジスタが作動させられ、メモリ・セル・キャパシタを検出ラインに接続する。ＰＣＭメモリ・セルを読み取る場合、非・非晶質化／結晶化電流がセルの相変化材料を通って流される。データは、ステップ２１０において最終的に取り出される。
【００３０】
例示されるように、環境２１２（メモリ・セルの内部および外部双方）は、データのプログラミング２０４、格納２０６、および読み取り２０８に影響する。湿度、時間、温度、磁場、および電場のような、ただしこれらに限定されない環境因子は、ＤＲＡＭにおける電荷リーク、ＥＥＰＲＯＭにおけるしきい値電圧シフト、光学式メモリにおける相変化材料の光屈折率の変化、またはＰＣＭおよびＲＲＡＭにおける抵抗の変化を引き起こすことがある。より一般的には、メモリ・セル中の２進値を描くために用いられる特性パラメータは、環境条件のせいで経時的にシフトし得る。環境因子２１２は、データの歪みを引き起こし、その結果、メモリ・セルから抽出されたデータが、メモリ・セルへ入力されたデータと同じではないことがある。以下で論じられるように、本発明の１つの実施形態は、経時的な特性パラメータのシフトを補償する操作手順である。そうすることにより、メモリ・セルのストレージ密度を増大させることができる。
【００３１】
ここで図３を見ると、メモリ・セル集合体における特性パラメータ・シフトを表したものが示してある。理想的には、メモリ・セル集合体中に格納された２進値は、正確な特性パラメータ値３１８、３２０、３２２、および３２４により表される。しかしながら、実際には、特性パラメータは、当初の基準点３１８、３２０、３２２、３２４を中心にして値域３０２、３０４、３０６、３０８（一般的にはガウス分布曲線）を形成する。これは一般的には、メモリ・セル製造時の自然のばらつきのせいである。従って、当初の基準点３１８、３２０、３２２、３２４は、データが最初にメモリ・セル集合体においてプログラムされた時の特性パラメータの平均値である。値域および基準点は、データの２進値に対応する。例えば、値域３０２および基準点３１８は、２進値００に対応し、値域３０４および基準点３２０は、２進値０１に対応し、値域３０６および基準点３２２は、２進値１０に対応し、値域３０８および基準点３２４は、２進値１１に対応し得る。
【００３２】
さらに、特性パラメータ値は、上記で論じられたように、環境要因の結果として経時的にシフトする。従って、シフトされた値域３１０、３１２、３１４、３１６は、当初の値域３０２、３０４、３０６、３０８から経時的にシフトされた特性パラメータ値域を表している。シフトされた値域３１０、３１２、３１４、３１６は、シフトされた基準点３２６、３２８、３３０、３３２を中心に集中している。例えば、値域３１０は、当初の値域３０２が以前表していた２進データを表し、値域３１２は、当初の値域３０４がかつて表していた２進データを表しており、以下同様である。
【００３３】
以下で説明されるように、本発明によるメモリ・コントローラは、読み取られる目標メモリ・セルに最も近いメモリ・セル集合体に基づいてシフトされた特性パラメータ曲線３１０、３１２、３１４、３１６を構成する。目標セルの特性パラメータ値は、構成されたシフトされた特性パラメータ曲線３１０、３１２、３１４、３１６と比較され、目標メモリ・セルについて最も可能性のある２進値が決定される。本発明の１つの実施形態において、メモリ・セル集合体のシフトされた特性パラメータ曲線３１０、３１２、３１４、３１６は、目標メモリ・セルまたはメモリ・セル・ブロックが読み取られるたびに再構成される。本発明の他の実施形態が、最後の曲線構成からしきい値時間間隔が満了した後、パラメータ曲線３１０、３１２、３１４、３１６を再構築し得ることが考えられる。これは、データが、しきい値時間間隔後またはメモリ・セルのプログラムまたは再プログラムされる時あるいはその両方において再書き込みされるべきであることを伴う。
【００３４】
上記で論じられたように、時間、熱、および他の環境因子は、特性パラメータ値およびそれらの範囲をシフトする。ある時間期間にわたって、値域は、それらが１つの連続的な曲線になるのに十分なだけシフトする。例えば、シフトされた値域３１０、３１２、３１４、３１６は、大きな重なり領域を示さないが、十分な時間があれば値域が大きく重なるであろうことはまったく明らかである。重なり領域に位置する値についてのより良好な推定値を生成するために最尤推定量が使用できるが、重なりが増大するにつれて最尤推定量の精度は低下する。
【００３５】
値域における有害な重なりは、シフトされた値域３１０、３１２、３１４、３１６およびそれらの対応する基準点３２６、３２８、３３０、３３２を再構築および再書き込みすることによって防止され得る。これは、シフトの前に書き込まれた特性パラメータ値を用いてメモリ・セル集合体中のセルを再プログラムすることによって達成される。従って、シフトされた基準点３２６、３２８、３３０、３３２は、当初の基準点３１８、３２０、３２２、３２４へそれぞれ本質的に戻される。このように、曲線は最小の重なりに戻され、データはメモリ・セル内でより良好に保持される。このプロセスの論理操作を以下で論じる。
【００３６】
本発明の１つの実施形態において、特性パラメータ曲線は、以下の確率分布関数により作り出される。
【００３７】
【数１】
2008171543.tif 000003
【００３８】
式中、ｎｋは、ｋ番目の値域における特性パラメータを有するメモリ・セルの数であり、ｍは、メモリ・セルあたりのビット・ストレージ値の数であり、ｘｋは、特定の曲線に関するメモリ・セルから読み取られた特性パラメータ値の値であって、ｘのｋ乗ではなく、従って、ｘ１１は、メモリ・セル集合体中の第１の特性パラメータ値域からの第１の特性パラメータを示すであろう。値域／曲線（ｋ）の数および読み取られた特性パラメータ値の平均
【００３９】
【数２】
2008171543.tif 000004
【００４０】
は、以下によって定義される。
【００４１】
【数３】
2008171543.tif 000005
【００４２】
加えて、μｋは、図３において基準点としても用いられる、ｋ番目の値域の平均であり、σｋ２は、ｋ番目の値域の分散である。
【００４３】
最尤推定量は、以下により与えられる。
【００４４】
【数４】
2008171543.tif 000006
【００４５】
式中、
【００４６】
【数５】
2008171543.tif 000007
【００４７】
は、ｋ番目の値の平均推定量であり、
【００４８】
【数６】
2008171543.tif 000008
【００４９】
は、ｋ番目の分散推定量である。最尤推定量は、特定の値が属する値域、そして今度はメモリ・セルが含む２進データを、最小自乗法を用いて決定するために用いられる。メモリ・セルからの検出値は、メモリ・セル集合体の各個別の値域中に置かれ、確率が、値および値域の平均とのその関係に基づいて各値域に割り当てられる。
【００５０】
もし各個別のメモリ・セルが別個にプログラムされれば、新しい分布曲線を構成する際に問題が生じる。各特性パラメータのシフトは変化する。なぜならば、各メモリ・セルが、プログラミングの間に、種々の期間にわたって環境因子にさらされ得るからである。例えば、ＥＥＰＲＯＭにおいて、フローティング・ゲート中に格納された電子は、時間および熱の結果としてリークすることがある。異なる時点でプログラムされたメモリ・セルは、当初のプログラミングに続く環境露出の期間に応じて異なる量の電子リークを有する。さらに、特性パラメータ曲線は、メモリ・セル集合体ごとに大きく異なり得る。
【００５１】
プログラミングを必要とするメモリ・セルの数に関わらず、全体がプログラムされたメモリ・セル集合体は、メモリ・セル集合体全体にわたる一貫したデータ・シフトを見越している。これにより、単一のメモリ・セル集合体においてメモリ・セルごとに特性パラメータ値シフトの量が異なるという前記の問題が防止される。確率分布関数および最尤推定量を用いて、一貫してシフトされたデータにより新しい分布曲線が作成できる。
【００５２】
図４は、本発明によるメモリ・セルを操作するための代表的なメモリ・コントローラ１０４を示す。メモリ・コントローラ１０４は、受信ユニット４０４および生成ユニット４０６を含んでいる。受信ユニット４０４は、メモリ配列４０２中の各メモリ・セルについての特性パラメータの値を受信する。受信ユニット４０４により試験されるメモリ・セルは、例えば、メモリ配列４０２へのブロック・アドレス入力を用いてアドレスされることがある。生成ユニット４０６は、受信ユニット４０４に結合されており、メモリ配列４０２についての可能な２進値の各々についての特性パラメータの確率分布関数を生成するように構成されている。
【００５３】
より具体的には、データは、所望のデータを含んでいるメモリ配列４０２のブロック・アドレスの位置を特定することによりアクセスされる。生データは、アナログ・センス・アンプ４０８によってアナログ信号として読み取られる。アナログ・センス・アンプ４０８は、信号を増幅し、その信号をアナログ・デジタル変換器４１０に送る。アナログ・デジタル変換器４１０は、アナログ信号を、生成ユニット４０６が読み取りおよび処理できるデジタル・データに変換する。本発明の１つの実施形態において、アナログ・デジタル変換器４１０の解像度は、各メモリ・セル中に格納されたビット数の倍数である。例えば、アナログ・デジタル変換器４１０の解像度は、メモリ・セルあたり格納されたビット数の３倍の解像度を有し得る。２ビットを格納しているメモリ・セルについては、解像度は従って、６ビットになるであろう。
【００５４】
生成ユニット４０６中の分布パラメータ推定器４１２は、確率分布関数によってメモリ・ブロックについての正規分布曲線を作り出す。これらの分布曲線の平均および分散も、分布パラメータ推定器４１２によって計算される。パラメータ推定器４１２に結合された２進データ取り出しユニット４１４は、目標メモリ・セルについての特性パラメータの値を確率が最も高い２進値に変換する。
【００５５】
図５は、本発明の実施形態により検討されるメモリ・セル集合体を操作するための流れ図を示す。示される論理操作が、本明細書中ですべて一般に「回路」、「モジュール」または「システム」と呼ばれることがある完全にハードウェアの実施形態、完全にソフトウェアの実施形態（ファームウェア、常駐ソフトウェア、マイクロコード等を含む）またはソフトウェアおよびハードウェアの側面を組み合わせた実施態様によって実施され得ることに留意されるべきである。さらに、本発明は、媒体に組み入れられたコンピュータ使用可能プログラム・コードを有するコンピュータ使用可能ストレージ媒体上のコンピュータ・プログラム製品の形を取ることができる。
【００５６】
任意の適切なコンピュータ使用可能またはコンピュータ可読媒体が利用できる。コンピュータ使用可能またはコンピュータ可読媒体は、例えば、電子的、磁気的、光学的、電磁的、赤外線、または半導体のシステム、装置、またはデバイスであり得るが、これらに限定されない。コンピュータ可読媒体のより具体的な例（非網羅的なリスト）としては、以下のものが含まれるであろう。すなわち、１本以上のワイヤを有する電気接続、ポータブル・コンピュータ・ディスケット、ハードディスク、ランダム・アクセス・メモリ（ＲＡＭ）、リード・オンリー・メモリ（ＲＯＭ）、消去可能プログラマブル・リード・オンリー・メモリ（ＥＰＲＯＭまたはフラッシュ・メモリ）、光ファイバ、またはポータブル・コンパクト・ディスク・リード・オンリー・メモリ（ＣＤ−ＲＯＭ）、光学式ストレージ・デバイスまたは磁気ストレージ・デバイスである。
【００５７】
本発明の操作を実行するためのコンピュータ・プログラム・コードは、Ｊａｖａ(登録商標）、Ｓｍａｌｌｔａｌｋ、Ｃ＋＋等のオブジェクト指向プログラミング言語によって書かれ得る。しかしながら、本発明の操作を実行するためのコンピュータ・プログラム・コードは、「Ｃ」プログラミング言語または同様なプログラミング言語のような従来の手順向きプログラミング言語によっても書かれ得る。
【００５８】
検出操作５０２において、目標メモリ・セルについての特性パラメータのシフトされた値が受信される。言い換えれば、目標メモリ・セルの特性パラメータ値が読み取られる。これの例は、ＰＣＭセルの抵抗を検出するために非・非晶質化／結晶化電圧の電流を用いることであろう。検出操作５０２の完了後、制御は検出操作５０４へ移る。
【００５９】
検出操作５０４において、メモリ・セル集合体中の各メモリ・セルについての特性パラメータのシフトされた値が受信される。上記で論じられたように、シフトされた値は、経時的に特性パラメータを変える寄生因子の結果である。検出操作５０４の間に検出されたメモリ・セル集合体が、すべての２進値について正確な特性パラメータ曲線が生成できるように十分な数のメモリ・セルを含むことが考えられる。本発明の１つの実施形態において、メモリ・セル集合体中のセルの数は、１０２８個のセルである。集合体を定義するために多数の他のセルが用いられ得ることが考えられる。検出操作５０４の完了後、プロセス・フローは、生成操作５０６へ移る。
【００６０】
生成操作５０６において、メモリ・セルが格納できる可能な２進値の各々について、特性パラメータの確率分布関数が生成される。シフトされた値の平均および分散も、確率分布関数から抽出される。本発明の特定の実施形態において、確率分布関数は、検出操作５０４の間に各メモリ・セルの検出されたアナログ信号から得られる。上記で論じられたように、メモリ・セル集合体中のすべてのメモリ・セルが同時にプログラムされるので、確率分布関数は、当初のプログラミング以来の同じ時間間隔の間のすべてのメモリ・セルについての特性パラメータ・シフトを反映する。生成操作５０６の完了後、制御は決定操作５０８へ移る。
【００６１】
決定操作５０８において、目標メモリ・セルについての特性パラメータのシフトされた値が各生成された確率分布関数の値域内にある確率が、シフトされた値の最尤推定量ならびに平均および分散を用いて計算される。従って、検出操作５０２において目標メモリ・セルから検出されたアナログ・データは、生成操作５０６において構成された確率分布関数の値域と比較される。ひとたび決定操作５０８が完了すると、制御は変換操作５１０へ移る。
【００６２】
変換操作５１０において、目標メモリ・セルについての特性パラメータのシフトされた値は、決定操作５０８の間に計算された確率が最も高い２進値に変換される。メモリ・コントローラは、データ・バスまたは２進値を要求する他の回路に２進値を出力する。
【００６３】
図６に例示される流れ図は、データをメモリ・セル集合体中の目標メモリ・セルへプログラムする際の代表的なメモリ・コントローラにより実行される操作を詳しく述べている。再度、これらの論理操作は、完全にソフトウェアの実施形態または、完全にソフトウェアの実施形態、またはハードウェアとソフトウェアとを組み合わせる実施形態で実施され得る。
【００６４】
目標メモリ・セルのプログラミングは、検出操作６０２と共に開始する。この操作の間に、特性パラメータのシフトされた値が、目標メモリ・セルを含むメモリ・セル集合体中の各メモリ・セルについて検出される。上記で説明されたように、シフトされた特性パラメータ値の検出は、メモリ・セル集合体中の各セルに電気的に結合されたアナログ・センス・アンプからのアナログ信号を読み取ることにより実行され得る。アナログ・デジタル変換器を、アナログ信号をデジタル・データに変換するために使用できる。検出操作６０２の完了後、制御は決定操作６０４へ移る。
【００６５】
決定操作６０４において、メモリ・セル集合体中の各セルによりに格納された２進値は、上述の統計的分析を用いて決定される。簡潔に言えば、シフトされた特性パラメータの確率分布関数が、メモリ・セル集合体中の各可能な２進値について生成される。メモリ・セル集合体中の各セルのシフトされた特性パラメータが各関数の範囲内にある確率が計算される。最後に、確率分布関数に対応する２進値が、メモリ・セルに割り当てられる。決定操作６０４の完了後、制御は再書き込み操作６０６へ移る。
【００６６】
再書き込み操作６０６においては、決定操作６０４において計算された２進値が、メモリ・セル集合体中のセルにプログラムして戻される。このステップの間に、各セルの特性パラメータは基本的に、その所定の値に復元される。例えば、２進値０１を格納するためにそのフローティング・ゲート中の２００個の電子で当初プログラムされたセルを検討する。時間の経過に伴い、電子電荷は、１７５個の電子にまで劣化したかもしれない。決定操作６０４は、メモリ・セル集合体に基づいて、１７５個の電子の特性パラメータ値が２進値０１に対応すると決定する。再書き込み操作６０６は、メモリ・セルを、２００個の電子のその当初の電荷に戻すように再プログラムするためにこの情報を用いる。
【００６７】
操作６０４においてすべての２進値が一度に決定された後、再書き込み操作６０６が実行され得ることが考えられる。代わりに、検出操作６０２、決定操作６０４、および再書き込み操作６０６は、メモリ・コントローラがメモリ・セル集合体をステップ・スルーするにつれ、各セルについて再帰的に実行され得る。
【００６８】
書き込み操作６０８において、目標メモリ・セルは、そのセルに割り当てられた２進値に対応する所定の特性パラメータ値にプログラムされる。書き込み操作６０８が、検出操作６０２の前に実行され得ることが考えられる。
【００６９】
図７は、メモリ・コントローラ１０４が個々のメモリ・ユニット１０６に組み入れられる、本発明により考えられるメモリ・システムの実施形態を例示する。この実施形態において、各メモリ・ユニット１０６は、それ自身のメモリ・コントローラ１０４を含んでいる。従って、データの処理（データの変換、曲線の生成、２進データの取り出し）は、各メモリ・ユニット１０６において独立して実行される。各メモリ・ユニット１０６は、２進データを、その２進データを中央処理装置（図示せず）に送ることができるデータ・バス１１４に送る。メモリ・コントローラ１０４がハンドシェイクを実行できること、またはデータ・バス１１４へのデータの同時書き込みを回避するために別の方法で構成されることが考えられる。
【００７０】
図８は、本発明により考えられるメモリ・システムの別の実施形態を示す。この実施形態において、メモリ・コントローラ１０４は、メモリ・ユニット１０６の外に置かれる。メモリ・ユニット１０６において検出されたアナログ値は、中央メモリ・コントローラ１０４に送られる。メモリ・コントローラ１０４は、上述のようにこのデータを処理する（データの変換、曲線の生成、２進値の取り出し）。メモリ・コントローラ１０４は、２進データを、このデータを中央処理装置（図示せず）に転送できるデータ・バス１１４にさらに送る。
【００７１】
メモリ・コントローラが、埋め込み型コンピュータとして具体化されることが考えられる。そのようなコンピュータの要素のいくつかが図９に提示されており、そこでは、プロセッサ９０２が入力／出力（Ｉ／Ｏ）ユニット９０４、中央処理装置（ＣＰＵ）９０６、およびメイン・メモリ・ユニット９０８を有しているのが示してある。メイン・メモリ・ユニット９０８は一般に、プロセッサ９０２により使用されるプログラム命令およびデータを格納する。本発明を実施する命令および命令シーケンスは、例えば、メモリ９０８中に組み入れることができる。ランダム・アクセス・メモリ（ＲＡＭ）、リード・オンリー・メモリ（ＲＯＭ）、およびフラッシュ・メモリのような様々なタイプのメモリ技術を主記憶ユニット９０８において利用できる。
【００７２】
Ｉ／Ｏユニット９０４は、入力デバイス・ユニット９１２および出力デバイス・ユニット９１４と接続する。入力デバイス・ユニット９１２は、アナログ・デジタル変換器のような入力ハードウェアを含み得る。出力デバイス・ユニット９１４は、データ・バッファのような出力ハードウェアであり得る。図９における矢印は、コンピュータのシステム・バス・アーキテクチャを表しているが、これらの矢印は例示を目的とするにすぎない。
【００７３】
本明細書中で用いられる専門用語は、特定の実施形態を説明することのみを目的とするのであり、本発明を限定することを意図するものではない。本明細書中で用いられるように、文脈により特に明確に示されない限り、単数形「ａ」、「ａｎ」、および「ｔｈｅ」は、複数形も含むことを意図している。用語「含む（ｃｏｍｐｒｉｓｅ）」または「含んでいる（ｃｏｍｐｒｉｓｉｎｇ）」あるいはその両方が、本明細書中で用いられる場合に、言明された特徴、整数、ステップ、操作、要素、または構成要素あるいはそれらのいずれかを指すが、１つ以上の他の特徴、整数、ステップ、操作、要素、構成要素、またはそれらのグループあるいはそれらのいずれかの存在または不可を除外するものではないことがさらに理解される。
【００７４】
特許請求の範囲におけるすべての手段またはステップに加えて機能要素の対応する構造、材料、行為、および均等物は、具体的に特許請求された他の特許請求された要素と組み合わせて機能を実行するためのどのような構造、材料、または行為も含むことを意図している。本発明の説明は、例示および説明の目的で提示されたが、網羅的であることまたは開示された形での本発明に限定されることを意図するものではない。本発明の範囲および趣旨を逸脱することなく、多くの修正および変型が当業者にとり明白であろう。実施形態は、本発明の原理および実際的な応用を最もよく説明するために、そして他の当業者が、考えられた特定の用途に適した様々な修正と共に本発明を理解できるようにするために、選ばれそして説明された。
【００７５】
本出願の本発明をこのように詳細かつその実施形態を参照して説明してきたので、添付の特許請求の範囲に規定される本発明の範囲を逸脱することなく修正および変型が可能であることは明白であろう。
【図面の簡単な説明】
【００７６】
【図１】複数のメモリ・セル、メモリ・セル集合体、およびメモリ・ユニットを操作するシステムについての代表的な実施形態を例示する。
【図２】メモリ操作におけるデータ・プログラミング、ストレージ、および取り出しに対する環境の効果を例示する流れ図である。
【図３】特性パラメータ値のシフト前およびシフト後の特性パラメータ値域および基準点を例示する。
【図４】メモリ・システムを操作するために利用されるメモリ・コントローラを例示する。
【図５】メモリ・システムからのデータ読み取りに関係する論理操作の流れ図である。
【図６】メモリ・システムへのデータ書き込みに関係する論理操作の流れ図である。
【図７】メモリ・コントローラが各メモリ・ユニットと共にパッケージされるメモリ・システムの実施形態を例示する。
【図８】メモリ・コントローラが各個別のメモリ・ユニットの外に置かれ、システム中のすべてのメモリ・ユニットを操作するメモリ・システムの実施形態を例示する。
【図９】メモリ・コントローラがソフトウェア製品に含まれ実施される形態の典型的な要素を例示する。
【符号の説明】
【００７７】
１０２  システム
１０４  メモリ・コントローラ
１０６  メモリ・ユニット
１０８  メモリ・バス
１１０  メモリ・セル集合体
１１２  目標メモリ・セル
【図１】
2008171543.tif 000009
【図２】
2008171543.tif 000010
【図３】
2008171543.tif 000011
【図４】
2008171543.tif 000012
【図５】
2008171543.tif 000013
【図６】
2008171543.tif 000014
【図７】
2008171543.tif 000015
【図８】
2008171543.tif 000016
【図９】
2008171543.tif 000017