(57)【要約】圧縮データを、メモリアレイ、メモリ装置、およびメモリシステムにプログラミングする方法を開示する。そのような１つの方法では、有効データを用いて一部がプログラミングされたメモリページまたはメモリブロックを検知する。これらの一部がプログラミングされたページまたはブロックからデータを収集し、そのデータを圧縮する。次に、圧縮データを、メモリ装置のメモリアレイにおける異なる場所に再びプログラミングする。
2011527807.tif 000002
【特許請求の範囲】
【請求項１】
固体記憶装置におけるデータ収集および圧縮のための方法であって、
有効データを用いて一部がプログラミングされたメモリページからデータを収集することと、
前記収集データを圧縮することと、
前記圧縮データを前記固体記憶装置にプログラミングすることと、を含む方法。
【請求項２】
データ収集が、一部がプログラミングされたメモリブロックからデータを収集することを含む、請求項１に記載の方法。
【請求項３】
前記圧縮データのプログラミングが、前記圧縮データを前記固体記憶装置の異なるページにプログラミングすることを含む、請求項１に記載の方法。
【請求項４】
前記圧縮データに関連するメモリ域にビットを設定することによって、前記圧縮データを識別することをさらに含む、請求項１に記載の方法。
【請求項５】
前記固体記憶装置からデータを読み出すことと、
前記データを復元することと、をさらに含む、請求項１に記載の方法。
【請求項６】
前記圧縮データのプログラミングが、メモリページにおける部分的なプログラミングが生じないようにプログラミングすることを含む、請求項１に記載の方法。
【請求項７】
前記収集データの圧縮が、前記読み出しデータの圧縮のためにＧＺＩＰアルゴリズムを用いることを含む、請求項６に記載の方法。
【請求項８】
前記固体記憶装置から前記圧縮データを読み出すこと、および前記圧縮データを復元するためにＬｅｍｐｅｌ−Ｚｉｖ（ＬＺ）圧縮、ＤＥＦＬＡＴＥ、ＰＫＺＩＰ、およびＧＺＩＰのうちの１つを用いることをさらに含む、請求項７に記載の方法。
【請求項９】
前記収集データの圧縮に用いられた圧縮アルゴリズムの形式を識別することをさらに含む、請求項１に記載の方法。
【請求項１０】
前記一部がプログラミングされたメモリページから前記データを読み出した後に、前記一部がプログラミングされたメモリページを消去することをさらに含む、請求項１に記載の方法。
【請求項１１】
データが第一のメモリページから移動した時に、前記第一のメモリページが、有効データを用いてただ一部がプログラミングされたことの表示を生成することをさらに含む、請求項１に記載の方法。
【請求項１２】
前記固体記憶装置に再びプログラミングする前に、前記圧縮データと他の圧縮データとを組み合わせることをさらに含む、請求項１に記載の方法。
【請求項１３】
複数のメモリページおよびブロックに編成されたメモリアレイと、
前記メモリアレイに接続されており、メモリ装置の動作を制御するメモリ制御回路と、を備えたメモリ装置であって、
前記メモリ制御回路が、一部がプログラミングされたページまたはブロックを検知するように前記メモリアレイを読み出し、前記一部がプログラミングされたページまたはブロックからデータを読み出し、前記読み出しデータを圧縮し、前記圧縮データを前記メモリアレイの別の場所にプログラミングするように構成される、メモリ装置。
【請求項１４】
前記メモリアレイが、ＮＡＮＤアーキテクチャフラッシュメモリアレイである、請求項１３に記載のメモリ装置。
【請求項１５】
各メモリブロックが、複数のメモリページから構成される、請求項１３に記載のメモリ装置。
【請求項１６】
前記メモリ制御回路が、前記読み出しデータが圧縮されたことの表示を生成し、前記表示をメモリにプログラミングするようにさらに構成される、請求項１３に記載のメモリ装置。
【請求項１７】
前記メモリ制御回路が、１つの論理アドレスの書き込み動作に応じて、複数の物理アドレスに前記圧縮データを書き込むことによって劣化レベル均一化を実行するようにさらに構成される、請求項１３に記載のメモリシステム。
【請求項１８】
前記メモリ制御回路が、前記一部がプログラミングされたメモリブロックを消去するようにさらに構成される、請求項１３に記載のメモリシステム。
【請求項１９】
前記メモリ制御回路が、圧縮形式の表示を読み出し、前記圧縮形式の表示に応じて前記圧縮データを復元するようにさらに構成される、請求項１３に記載のメモリシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、概してメモリ装置の分野に関し、特定の実施形態において本発明は、不揮発性メモリ装置に関する。
【背景技術】
【０００２】
メモリ装置は、コンピュータまたは他の電子デバイスの内部における半導体集積回路を含み得る。ランダムアクセスメモリ（ＲＡＭ）、リードオンリーメモリ（ＲＯＭ）、ダイナミックランダムアクセスメモリ（ＤＲＡＭ）、スタティックＲＡＭ（ＳＲＡＭ）、同期ダイナミックＲＡＭ（ＳＤＲＡＭ）、およびフラッシュメモリを含む多くの異なる種類のメモリが存在する。
【０００３】
フラッシュメモリ装置は、電子機器での応用における広い適用性のために、不揮発性メモリに多く使用されている。フラッシュメモリ装置は、通常、高い記憶密度、高信頼性、および低消費電力を可能にする１つのトランジスタメモリセルを用いる。フラッシュメモリは、通常、パーソナルコンピュータ、携帯情報端末（ＰＤＡ）、デジタルカメラ、および携帯電話に用いられる。基本入出力システム（ＢＩＯＳ）等のプラグラムコードおよびシステムデータは、通常、パーソナルコンピュータシステムに用いられるためにフラッシュメモリ装置に記憶される。
【０００４】
フラッシュメモリ装置の１つの欠点は、プログラミングに用いられる物理的プロセスに起因して、それらは通常、限られた消去／プログラミングサイクルの回数においてのみ正しく動作することである。ほとんどのフラッシュメモリ装置は、１００Ｋ回の消去／プログラミングサイクルにおいて動作できる。
【０００５】
別の欠点は、記憶装置における１ビットあたりのコストが、他のメモリ技術と比べ、比較的高価なことである。それ故、フラッシュメモリアレイ内のメモリセルの取り扱いを、使用されないメモリ域を残すことなく、可能な限り多くのメモリアレイを効率的に利用するように改善する必要がある。
【発明の概要】
【発明が解決しようとする課題】
【０００６】
上述した理由、および本明細書の解釈および理解を通じて当業者に明らかとなる下記に記述する他の理由により、当業界において不揮発性メモリの管理を改善する手段が要求される。
【図面の簡単な説明】
【０００７】
【図１】データ圧縮を含むデータ収集の方法の一実施形態を具体化するメモリシステムの一実施形態におけるブロック図である。
【図２】図１のメモリアレイに従った不揮発性メモリアレイの一部の一実施形態における回路図である。
【図３】データ圧縮を含むデータ収集を実行する方法の一実施形態におけるフローチャートである。
【図４】圧縮データを読み出す方法の一実施形態におけるフローチャートである。
【発明を実施するための形態】
【０００８】
以下の発明を実施するための形態では、例示として、本明細書の一部を成す添付の図面を参照し、そこでは、本発明が実行され得る特定の実施形態を示す。図面において、同様の参照番号は、複数の図面において、実質的に同様の構成要素を示す。これらの実施形態は、当業者が本発明を実行するのに十分な詳細が記述される。他の実施形態が利用され得、構造的、論理的、および電気的な変形が、本発明の範囲から逸脱せずに実施され得る。それ故、以下の発明を実施するための形態は限定的な意味で解釈するべきではなく、本発明の範囲は、添付の請求項およびその相当物によってのみ定義される。
【０００９】
図１は、固体記憶装置１００を含むメモリシステム１２０の機能ブロック図を示す。固体記憶装置１００は、フラッシュメモリ等の不揮発性メモリ１００であり得る。固体記憶装置１００は、本発明のプログラミングにおける実施形態の理解に役立つメモリの特徴に焦点を合わせるように簡易化されている。固体記憶装置１００は、外部のシステム制御装置１１０に連結される。制御装置１１０は、マイクロプロセッサ、または他の種類の制御回路であり得る。
【００１０】
固体記憶装置１００は、図２に示し、下記に記述するフローティングゲートメモリセル等の不揮発性メモリセルのアレイ１３０を含む。メモリアレイ１３０は、ワード線の行等のアクセス線、およびビット線の列等のデータ線のバンクに配列される。一実施形態では、メモリアレイ１３０の列は、メモリセルの直列ストリングにより構成される。当業界で公知のように、セルとビット線との接続は、アレイがＮＡＮＤアーキテクチャ、ＡＮＤアーキテクチャ、またはＮＯＲアーキテクチャであるかを決定する。
【００１１】
メモリアレイ１３０は、メモリブロックに編成することができる。メモリブロックの大きさは、通常、メモリ装置のサイズ（すなわち、５１２ＭＢ、１ＧＢ）によって決定される。一実施形態では、各メモリブロックは、６４ページのメモリセルにより形成される。各ページは、通常、２０４８バイトのデータにより構成される。
【００１２】
メモリ制御回路１７０は、アレイ１３０に書き込まれた非圧縮データが圧縮され得、アレイ１３０から読み出された圧縮データが復元され得るように、圧縮／復元ブロック１９０を含み得／それと連携できる。圧縮／復元１９０は、これらのタスクを実行するハードウェア回路を通じて達成され得る。別の実施形態では、ファームウェアルーチンを通じて圧縮／復元１９０が実行される。
【００１３】
揮発性メモリの記憶域（例えばＤＲＡＭ）１９１は、一時的にデータを記憶するために備えられる。揮発性メモリは、メモリアレイ１３０に書き込まれるデータの一時的な記憶、メモリアレイから読み出されたデータの一時的な記憶、およびメモリ制御回路１７０に用いられる他のデータの記憶のために制御装置１１０により使用される。例えば、下で記述するように、圧縮／復元ブロック１９０は、データを記憶するために揮発性メモリ１９１を用いることができる。
【００１４】
アドレスバッファ回路１４０は、Ｉ／Ｏ回路１６０を通じて供給されるアドレス信号をラッチするために備えられる。アドレス信号は、メモリアレイ１３０にアクセスするために、行デコーダ１４４および列デコーダ１４６により受け取られ復号される。本発明の記述により、アドレス入力接続の数がメモリアレイ１３０の密度およびアーキテクチャによって決定されることが当業者によって理解されるであろう。すなわち、アドレスの数は、メモリセルの総数が増加すること、バンクおよびブロックの総数が増加することの両方により、増加する。
【００１５】
固体記憶装置１００は、センス増幅器回路１５０を用いてメモリアレイの列における電圧または電流の変化を検知することによって、メモリアレイ１３０におけるデータを読み込む。センス増幅器回路１５０は、一実施形態では、メモリアレイ１３０からデータの行を読み出し、かつラッチするように接続される。データ入力および出力バッファ回路１６０は、制御装置１１０との双方向データ通信の他に、複数のデータ接続１６２を通じたアドレス通信のために備えられる。書き込み回路１５５は、データをメモリアレイに書き込むために備えられる。
【００１６】
メモリ制御回路１７０は、制御装置１１０から制御接続部１７２に供給された信号を復号する。これらの信号は、データの読み出し、データの書き込み（プログラム）、および消去動作を含む、メモリアレイ１３０による動作の制御に用いられる。メモリ制御回路１７０は、メモリ制御信号を生成するような状態機械、シーケンス制御装置、または他の種類の制御装置であり得る。制御回路１７０は、下に記述するデータ収集動作を実行するように構成される。追加的に、圧縮／復元動作１９０がファームウェアルーチンである場合、メモリ制御回路１７０は、圧縮／復元ならびに図３の実施形態における方法を実行するように構成される。
【００１７】
図２は、下に記述するデータ収集および圧縮／復元の実施形態を実施可能な、不揮発性メモリセルの連続ストリングを備えるＮＡＮＤアーキテクチャメモリアレイ１３０の一部における回路図を示す。下の記述はＮＡＮＤメモリ装置を参照するが、本発明の実施形態は、このようなアーキテクチャに限定されずに、他のメモリ装置アーキテクチャも同様に用いられ得る。
【００１８】
メモリアレイは、直列ストリング２０４、２０５のような、列に配置された不揮発性メモリセル１３０のアレイ（例えば、フローティングゲート）により構成される。セル１３０の各々は、各直列ストリング２０４、２０５においてドレインソース接続する。複数の直列ストリング２０４、２０５全体に及ぶワード線ＷＬ０−ＷＬ３１は、行におけるメモリセルの制御ゲートをバイアスするために、行における各メモリセルの制御ゲートに接続される。ビット線ＢＬ１、ＢＬ２は、特定のビット線における電流を検知して各セルの状態を検出するセンス増幅器（不図示）に最終的に接続される。
【００１９】
メモリセルの各直列ストリング２０４、２０５は、ソース選択ゲート２１６、２１７によりソース線２０６、およびドレイン選択ゲート２１２、２１３により個々のビット線ＢＬ１、ＢＬ２に接続される。ソース選択ゲート２１６、２１７は、それらの制御ゲートに接続されたソース選択ゲート制御線ＳＧ（Ｓ）２１８により制御される。ドレイン選択ゲート２１２、２１３は、ドレイン選択ゲート制御線ＳＧ（Ｄ）２１４により制御される。
【００２０】
各メモリセルは、シングルレベルセル（ＳＬＣ）またはマルチレベルセル（ＭＬＣ）としてプログラミングされ得る。各セルの闘値電圧（Ｖｔ)は、セルに記憶されたデータを示す。例えば、ＳＬＣにおいて、０．５ＶのＶｔは、プログラミングされたセルを示し得、−０．５ＶのＶｔは、消去済のセルを示し得る。ＭＬＣは、それぞれが異なる状態を示す複数のＶｔ範囲を有し得る。マルチレベルセルは、ビットパターンをセルが記憶する特定の電圧範囲に割り当てることによって、従来のフラッシュセルのアナログ性質を利用できる。この技術は、セルに割り当てられた電圧範囲の量に応じて、セルあたり２ビット以上の記憶を可能にする。
【００２１】
当業界において情報源符号化としても言及されるデータ圧縮は、元のデータストリングを、元のストリングと同一または実質的に同一の情報を含むが、それらの長さが低減される新しいデータストリングに変換するプロセスである。データ圧縮は、損失性であるか無損失となり得る。
【００２２】
無損失データ圧縮は、より少ないビットを用いつつ同一の元の情報を保持する。この種類のデータ圧縮は、通常、損失性の圧縮と同程度の圧縮は達成できないが、プログラムのソースコードといったデータ損失が許容され得ない状況で用いられる。典型的な無損失データ圧縮アルゴリズムの例には、Ｌｅｍｐｅｌ−Ｚｉｖ（ＬＺ）圧縮、ＤＥＦＬＡＴＥ、ＰＫＺＩＰ、およびＧＺＩＰが挙げられる。本開示の実施形態は、いかなる種類の圧縮／復元にも限定されることはない。
【００２３】
図３は、データ収集および圧縮の方法の一実施形態におけるフローチャートを示す。データ収集動作は、どのメモリページおよび／またはメモリブロックが、有効データを用いてただ一部がプログラミングされたかを決定する３０１（有効データは、その特定のページに実際にプログラミングされ、かつ他の場所に移動していないプログラムされた情報であり得る）。これは、ページ／ブロックを読み出して、どのページ／ブロックが、ただ一部プログラミングされたかを決定することによって達成され得る。他の実施形態では、一部がプラグラミングされたページ／ブロックは、ページ／ブロックからデータの一部が移動した時点で特定され得る（例えば、フラグされる）。この実施形態では、ページ／ブロックの一部のみが有効データを保持することを示すビットを、ページまたはブロック状態レジスタに設定することができる。その後、読み出し動作は、一部がプログラミングされたページ／ブロックを検知するために、状態ビットを読み出すことのみが要求される。
【００２４】
一部がプログラミングされたメモリページおよびメモリブロックは、通常、３つの状況から生じ得る。一部がプログラミングされたメモリページの１つの原因は、メモリページを満たすのに十分な書き込みトラフィックが発生せず、制御装置が、それが有するデータを書き込んで、記憶装置が動作の完了信号をシステムに送信できるようになることである。一部がプログラミングされたメモリページの別の原因は、装置の１つ論理ブロックにデータの一部が書き込まれるが、その同一の論理ブロックは、前に書き込まれたページに既に含まれていることである。前に書き込まれたブロックはここで「無効」とマークされ、それによって、そのページがその中に利用可能な空のスポットを有し、データ収集候補となる。最後に、より一般的でない状況は、システムが装置に、論理ブロックを無効にすることを指示する命令を送信することである。その論理ブロックが前に満たされたページの一部である場合、このページはここでデータ収集候補となる。
【００２５】
これらの動作は、移動していない有効データをを有する、ただ一部がプログラミングされたページまたはブロックを残し得る。データ収集は、メモリの内容を読み出し、および圧縮をバックグラウンドタスクとする機会を提供する。
【００２６】
これらの一部がプログラミングされたメモリページ／ブロックにおける有効データを読み出す３０２。読み出したデータ３０２を、圧縮ブロックおよび同時に固体記憶装置のＤＲＡＭに入力する。データを圧縮し３０３、ＤＲＡＭの異なる領域に一時的に記憶する。上述した圧縮ルーチンのうちの１つか、または他の圧縮ルーチンを用い得る。圧縮は、ハードウェアまたはソフトウェアのいずれかにおいて達成され得る。
【００２７】
転送が完了すると、データが圧縮可能であったか否かを決定するために圧縮を評価する３０４。データが圧縮可能でない場合３０５、非圧縮データをメモリページに書き込む３０６。
【００２８】
データが圧縮可能である場合３０５、圧縮データを他の圧縮データと組み合わせて、メモリページを満たす３０７。一実施形態では、１つのメモリページは、２ページに相当するデータを含み得る。
【００２９】
圧縮データは、圧縮済としてフラグが立てられ３０８、それによって、読み出し時に復元するように圧縮データとして認識されることができる。このようなフラグは、メモリアレイの別個のメモリ域（例えば、ＤＲＡＭの変換テーブル）、またはメモリ制御回路の一部であるレジスタにおけるビット表示を含み得る。圧縮データの圧縮形式も、メモリ域／レジスタにおける類似のビットまたはマルチビット表示によって示され得る。他の実施形態では、メモリアレイに書き込まれている全てのデータを圧縮して、読み出し動作が全ての読み出しデータを復元するようにする。
【００３０】
図４は、固体記憶装置からデータを読み出す方法の一実施形態を示す。最初に、メモリセルからデータを読み出す４０１。これは、デジタル的に動作するメモリアレイにおける各セルからデジタルパターンを読み出すか、またはアナログ型で動作するメモリアレイにおける各読み出しメモリセルにおける闘値電圧を決定することにより達成され得る。
【００３１】
読み出しデータが、書き込み時に圧縮されているか否か４０３、またはデータが既に非圧縮形式で存在するか否かを次に決定する。上述のように、全ての読み出しデータが圧縮形式で存在し、それ故全ての読み出しデータに復元が要求されるか、または圧縮表示ビットが関連データに関して読み出される必要があることが想定され得る。一実施形態では、復元中に同一の復元アルゴリズムが用いられ得るように、使用される圧縮アルゴリズムの種類も決定され得る。
【００３２】
データが圧縮済の場合４０５、その圧縮に用いられた圧縮アルゴリズムに従って、次に復元し４０７、そして、復元データを要求ルーチンに転送する４１１。データが非圧縮状態において記憶されている場合４０５、読み出されたのと同一の形態において読み出しデータを転送する４１１。
【００３３】
結び
要約すれば、１つ以上の実施形態では、一部がプログラミングされたメモリブロックに残る有効データを読み出すことによってデータ収集を実行し、有効データをひとまとめにし、データを圧縮し、データを新規のメモリブロックに保存して、新規のメモリブロックが満たされるようにする。次に、一部がプログラミングされたブロックは、後の使用のために消去されて戻される。有効データのこの再書き込みは、実際に発生する書き込みの量がメモリ装置に書き込まれている元のデータの量と比較して増幅されるので、通常、書き込み増幅と呼ばれる。結果として生じた増加したメモリ容量は、メモリ制御回路によって実行される劣化レベル均一化（ウェアレベリング）を分散させることによって書き込み増幅を低減する。
【００３４】
特定の実施形態が本明細書に示され、説明されたが、等しい目的を達成するように意図された任意の構成が、示された特定の実施形態の代わりとなることが当業者に理解される。本発明の多くの改変が当業者に明らかになるであろう。従って、この適応は、本発明の任意の改変形態または変形を含むように意図される。この発明が、下記の請求項およびそれの同等物によってのみ限定されることが明らかに意図される。
【図１】
2011527807.tif 000003
【図２】
2011527807.tif 000004
【図３】
2011527807.tif 000005
【図４】
2011527807.tif 000006
【国際調査報告】
2011527807.tif 000007
2011527807.tif 000008