(57)【要約】ホットメモリブロックルックアップテーブル（ＨＢＬＴ）へ格納するための半導体記憶装置および方法が開示されている。かかる一方法では、不揮発性メモリブロックのアクセスされたページテーブルまたはメモリマップへの指標がＨＢＬＴ内に格納される。ページテーブルまたはメモリマップが既にＨＢＬＴに存在する場合、そのページテーブルまたはメモリマップの優先度位置がその次の優先度位置に上げられる。ページテーブルまたはメモリマップがＨＢＬＴ内にもう格納されていない場合、そのページテーブルまたはメモリマップがＨＢＬＴ内の中間点などのある優先度位置に格納され、その優先度位置はそのページテーブルまたはメモリマップに対する以降の各アクセスで上げられる。
2012506093.tif 000002
【特許請求の範囲】
【請求項１】
ホットメモリブロックルックアップテーブルの格納方法であって、
ページテーブルがアクセスされたときに、
前記アクセスされたページテーブルの指標が既に前記ホットメモリブロックルックアップテーブルの第１の優先度位置にある場合は、前記第１の優先度位置を前記第１の優先度位置よりも高い優先度を持つ第２の優先度位置に上げ、
前記アクセスされたページテーブルの指標が前記ホットメモリブロックルックアップテーブルにない場合は、前記指標を前記ホットメモリブロックルックアップテーブルの初期優先度位置に格納することを判断すること
を含む方法。
【請求項２】
Ａが前記ホットメモリブロックルックアップテーブルの最上位の優先度位置であるとき、前記初期優先度位置がＡ／２である、
請求項１に記載の方法。
【請求項３】
前記アクセスされたページテーブルの前記指標が前記アクセスされたページテーブルへのポインタである、
請求項１に記載の方法。
【請求項４】
前記ホットメモリブロックルックアップテーブルがフラッシュトランスレーションレイヤで実行されるように構成された前記フラッシュトランスレーションレイヤの部分である、
請求項１に記載の方法。
【請求項５】
前記アクセスされたページテーブルが前記ホットメモリブロックルックアップテーブルに存在する場合は、前記アクセスされたページテーブルの前記優先度位置を上げて前記アクセスされたページテーブルよりも高い優先度位置を持つページテーブルの優先度位置を下げ、さらに、
前記ページテーブルが前記ホットメモリブロックルックアップテーブルに存在しない場合は、前記アクセスされたページテーブルの前記指標を前記ホットメモリブロックルックアップテーブルの中間点の優先度位置で前記ホットメモリブロックルックアップテーブルに格納し、前記アクセスされたページテーブルの指標を前記ホットメモリブロックルックアップテーブルの最下位の優先度位置から除去する、
請求項１に記載の方法。
【請求項６】
前記ソリッドステートドライブが、前記ソリッドステートドライブを構成する各並列ユニットに関連付けられたホットメモリブロックルックアップテーブルから構成される、
請求項５に記載の方法。
【請求項７】
前記アクセスされたページテーブルをアクセス時間がより低速のメモリ位置からアクセス時間がより高速のメモリ位置へ移動するステップをさらに含む、請求項５に記載の方法。
【請求項８】
前記アクセスされたページテーブルの前記優先度位置の格上げにおいて、前記アクセスされたページテーブルの前記優先度位置を１優先度位置だけ上げ、かつより高い優先度位置を持つ前記ページテーブルの前記優先度位置を１優先度位置だけ下げる、
請求項５に記載の方法。
【請求項９】
前記ページテーブルが前記ホットメモリブロックルックアップテーブルに存在しない場合に、前記中間点の優先度位置より低い前記ホットメモリブロックルックアップテーブルの優先度位置を持つページテーブル指標の優先度位置を下げるステップをさらに含む、請求項５に記載の方法。
【請求項１０】
前記アクセスされたページテーブルを不揮発性メモリ位置からＲＡＭ位置へ移動することをさらに含む、請求項５に記載の方法。
【請求項１１】
前記ホットメモリブロックルックアップテーブルに格納された各新エントリに対して前記ホットメモリブロックルックアップテーブルから１エントリを削除することをさらに含む、請求項５に記載の方法。
【請求項１２】
メモリマップの少なくとも一部分がアクセスされた場合に、前記メモリマップの前記部分を前記ホットメモリブロックルックアップテーブルの優先順位位置に格納し、かつ
前記メモリマップの前記部分へのその後の各アクセスに対して、前記優先度位置を前記ホットメモリルックアップテーブルの最上位の優先度位置方向に上げることをさらに含む、請求項１に記載の方法。
【請求項１３】
前記ソリッドステートドライブ内の各並列ユニットに異なるホットメモリブロックルックアップテーブルが割り当てられている、
請求項１２に記載の方法。
【請求項１４】
半導体メモリ装置であって、
複数のメモリアレイと、
少なくとも１本の通信チャネルを介して前記複数のメモリアレイに結合された制御装置とを備え、
前記制御装置が前記複数のメモリアレイの各々に対するメモリマップへのアクセス操作を追跡するようになされた装置であって、
メモリマップがアクセスされたときに前記アクセスされたメモリマップの指標がホットメモリブロックルックアップテーブル内の優先度位置にもうない場合に前記指標が前記ホットメモリブロックルックアップテーブルに格納され、かつ前記指標が前記ホットメモリブロックルックアップテーブル内に既にある場合に前記制御装置が前記アクセスされたメモリマップの前記優先度位置を上げるようにさらになされた装置。
【請求項１５】
Ａが前記ホットメモリブロックルックアップテーブルの最上位優先度であってかつ０が最下位優先度であるとき、前記指標が前記ホットメモリブロックルックアップテーブルにもう格納されていない場合に、前記制御装置が前記指標を前記ホットメモリブロックルックアップテーブルのＡ／２の優先度位置に格納するようにさらになされた、
請求項１４に記載の装置。
【請求項１６】
前記複数のメモリアレイがＮＡＮＤ構造で構成された、
請求項１４に記載の装置。
【請求項１７】
前記制御装置が、受信したディスクドライブセクタのインディケータをメモリマップ位置に変換するフラッシュトランスレーションレイヤを実行するようにさらに構成された、
請求項１４に記載の装置。
【請求項１８】
前記ルックアップテーブルが、関連付けられているメモリアレイのどのメモリブロックが他のブロックより頻繁に使用されているかを追跡する、
請求項１４に記載の装置。
【請求項１９】
前記制御装置が前記指標を前記ホットメモリブロックルックアップテーブル内の全位置の中間点以外の優先度位置に格納するようにさらに構成された、
請求項１４に記載の装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、一般にメモリ装置に関し、特定の実施形態においては、本発明は不揮発性メモリ装置に関する。
【背景技術】
【０００２】
メモリ装置は、コンピュータまたはその他の電子機器において、内部半導体集積回路を含むことができる。メモリには、ランダムアクセスメモリ（ＲＡＭ）、読出し専用メモリ（ＲＯＭ）、ダイナミックランダムアクセスメモリ（ＤＲＡＭ）、スタティックＲＡＭ（ＳＲＡＭ）、シンクロナスダイナミックＲＡＭ（ＳＤＲＡＭ）、および不揮発性メモリ（例えば、フラッシュメモリ）など、多くの種類がある。
【０００３】
フラッシュメモリ装置は、広範囲にわたる電子用途向けの不揮発性メモリによく利用されるようになってきた。フラッシュメモリ装置は通常、高記憶密度、高信頼性、および低消費電力を可能にする１トランジスタメモリセルを使用する。フラッシュメモリの一般的な用途として、パーソナルコンピュータ、パーソナルデジタルアシスタント（ＰＤＡ）、デジタルカメラ、および携帯電話などがある。基本入出力システム（ＢＩＯＳ）などのプログラムコードおよびシステムデータは、パーソナルコンピュータシステムで使用するために、通常、フラッシュメモリ装置に格納される。
【０００４】
フラッシュメモリ装置は、ソリッドステートドライブなどのソリッドステート記憶装置に組み込むこともできる。ソリッドステートドライブは、各パッケージが多数のメモリダイで構成可能な複数のフラッシュパッケージで構成される。ソリッドステートドライブは、大量のデータを保存するために、よく磁気ディスクや光ディスクを使用していたハードディスクドライブと置き換えるためにコンピュータで使用される。ハードディスクドライブは磁気／光ディスクとやりとりするための複雑で高感度のドライブおよび読み書きヘッド機構を必要とするのに対して、ソリッドステートドライブは可動部品を使用する必要がない。したがって、ソリッドステートドライブは、振動や衝撃によるデータの損傷および損失に対してより耐性がある。
【発明の概要】
【発明が解決しようとする課題】
【０００５】
ソリッドステートドライブ内のフラッシュトランスレーションレイヤ（ＦＴＬ）は、オペレーティングシステムと連動して動作して、ソリッドステートドライブをオペレーティングシステムに対してディスクドライブとして見えるようにする。これは、フラッシュ消去ブロックからデータの小さな仮想ブロック（セクタとも呼ばれる）を形成するＦＴＬによって達成される。ＦＴＬはまた、ソリッドステートドライブ上のデータを管理およびマッピングして、そのデータが、ウェアレベリングの目的で、実際にはフラッシュメモリ全体にわたってさまざまな位置に保存されているとき、システムに対してはある位置に書き込まれたように見えるようにする。
【０００６】
ＦＴＬは、これらのタスクを実行するため、ディスクドライブの１セクタへのホスト要求をソリッドステートドライブのフラッシュメモリダイ内の実際のデータ位置にマッピングするための大規模なテーブルをメモリ内に作成および維持する。これらのテーブルは大規模すぎてシステムＲＡＭがそれらを保持できない可能性があり、テーブルの一部を保持するためにフラッシュメモリをオーバーフローメモリとして使用しなければならない。フラッシュメモリに対する読取り書込み操作は、ＲＡＭに対する読取り書込み操作よりも時間がかかるため、フラッシュメモリ内にあるこれらのテーブルへのアクセスは、システム性能を低下させる可能性がある。
【０００７】
前述の理由、および当技術分野に精通した当業者が本明細書を読み理解することにより明らかになる以下の理由により、当技術分野ではより効率的なフラッシュトランスレーションレイヤが必要である。
【図面の簡単な説明】
【０００８】
【図１】フラッシュトランスレーションレイヤを組み込んだソリッドステートドライブを示す図である。
【図２】図１のソリッドステートドライブに従って、フラッシュメモリアレイおよびメモリ通信チャネルを組み込む不揮発性メモリ装置の一実施形態を示すブロック図である。
【図３】図１および図２の不揮発性メモリ装置に従った不揮発性メモリアレイの一部の一実施形態を示す回路図である。
【図４】ホットメモリブロックルックアップテーブルへの格納方法の一実施形態を示すフロー図である。
【図５】図４の格納方法に従ったホットメモリブロックルックアップテーブルの一実施形態を示す図である。
【発明を実施するための形態】
【０００９】
本発明の以下の詳細な説明においては、本明細書の一部を成し、かつ実例として本発明が実施される可能性のある具体的な実施形態が示された添付の図に対する参照がなされている。図中で、同様の数字は、複数の図全部にわたって実質的に同様の要素を表す。これらの実施形態は、当技術分野に精通した当業者が本発明を実施できるように十分に詳細に説明されている。本発明の範囲から逸脱することなく、他の実施形態が利用され、構造的、論理的、および電気的変更が加えられてもよい。そのため、次の詳細な説明が限定的な意味で解釈されるのではなく、本発明の範囲は添付の請求項およびその均等物によってのみ定義される。
【００１０】
図１は、ホットメモリブロックルックアップテーブルを使用するフラッシュトランスレーションレイヤ（ＦＴＬ）１２０を組み込むソリッドステートドライブの一実施形態のブロック図を示す。一実施形態では、ホットメモリブロックルックアップテーブルはＦＴＬの一部である。
【００１１】
図１のドライブは、８つの通信チャネル１０１〜１０８を有し、ＦＴＬ１２０を実行する制御装置１３０から構成される。１０１〜１０８の各チャネルは、４つの積層メモリパッケージに接続されている。これらの装置はＮＡＮＤメモリパッケージとして図示されている。別の実施形態では、他の種類のソリッドステートメモリを使用することができる。
【００１２】
各積層ＮＡＮＤメモリパッケージは論理ユニット（ＬＵＮ）とも呼ばれ、並列にアクセスでき、後に並列ユニット（ＰＵ）として参照される。各ＰＵには、固有の番号またはその他の固有の識別子を割り当てることができる。後に図４および図５に関連して説明するように、各ＰＵまたは他の記憶装置には独自のホットメモリブロックルックアップテーブルが割り当てられる。
【００１３】
各論理ユニットは、同一のチップセレクト（ＣＥ）信号を共有し、各論理ユニットが１つのアドレスビットでアクセスされるようにしてパッケージ内の複数のダイを区別してもよい。複数のダイは、異なるコマンドで並列して同時に動作することもできる。つまり、あるダイが書込み操作を受けている間に、別のダイは読取り操作を受けている。パッケージの各メモリダイは、そのパッケージ内の異なるプレーンに割り当てられていることがある。
【００１４】
図２は、集積回路ダイに組み込むことが可能な不揮発性メモリ装置２００の機能ブロック図である。一実施形態において、不揮発性メモリ装置２００は、フラッシュメモリである。
【００１５】
不揮発性メモリ装置２００は、図３に示して後で説明するフローティングゲートメモリセルなどの不揮発性メモリセルのアレイ２３０を含む。メモリアレイ２３０は、アクセス回線（例えば、ワード線）行とデータ回線（例えば、ビット線）列のバンクに配列される。一実施形態では、メモリアレイ２３０の列はメモリセルの直列ストリングから構成される。当技術分野で周知のように、ビット線へのセルの接続により、そのアレイがＮＡＮＤ構造、ＡＮＤ構造、またはＮＯＲ構造のいずれであるかが決定される。
【００１６】
メモリアレイ２３０はメモリブロックに編成することができる。メモリブロックの量は、通常、メモリ装置のサイズ（すなわち、５１２ＭＢ、１ＧＭ）によって決定される。一実施形態では、各メモリブロックは６４ページに編成される。
【００１７】
アドレスバッファ回路２４０は、入出力回路２６０を介して提供されるアドレス信号をラッチするために提供されている。アドレス信号は、メモリアレイ２３０にアクセスするため、行デコーダ２４４および列デコーダ２４６で受信および復号される。当技術分野に精通した当業者には、本説明により、アドレス入力接続数がメモリアレイ２３０の密度および構造に依存することが理解されるであろう。すなわち、アドレス数は、メモリセル数の増加ならびにバンクおよびブロック数の増加に伴って増加する。データも、制御信号２７２のタイミングに基づき、入出力回路２６０を介して入出力される。
【００１８】
不揮発性メモリ装置２００は、センス増幅器回路２５０を用いてメモリアレイ列内の電圧または電流の変化を感知することによりメモリアレイ２３０内のデータを読み取る。一実施形態では、センス増幅器回路２５０は、メモリアレイ２３０から一列のデータを読み取ってラッチするために結合されている。入出力回路２６０が含まれているのは、外部の制御装置を用いた複数のデータ接続２６２を介して、双方向データ通信のほかにアドレス通信を行うためである。書込み回路２５５は、データをメモリアレイに書き込むために提供されている。
【００１９】
メモリ制御回路２７０は、外部制御装置から制御バス２７２に提供される信号を復号する。これらの信号には、読取り／書込み（Ｒ／）、チップイネーブル（ＣＥ）、コマンドラッチイネーブル（ＣＬＥ）、アドレスラッチイネーブル（ＡＬＥ）のほかに、メモリアレイ２３０およびメモリ装置２００の他の回路上での操作を制御するために使用されるその他の制御信号がある。一実施形態では、これらの信号はアクティブローであるが、別の実施形態ではアクティブハイの信号を使用することもできる。メモリ制御回路２７０は、状態機械、シーケンス制御装置、またはメモリ制御信号を生成する他の種類の制御装置でもよい。
【００２０】
不揮発性メモリ装置２００は、図２に示すとおり、通信チャネル２９０を介して外部制御装置と通信する。一実施形態では、チャネル２９０は、メモリアドレス、データ、およびソリッドステートドライブ制御装置とメモリ装置２００との間の制御信号から構成される。図２の実施形態では、アドレスとデータが１本のバスとして入出力回路２６０に結合されている。別の実施形態では、アドレスバスおよびデータバスは、メモリ装置２００を用いた別個の入力／出力である。
【００２１】
図３は、不揮発性メモリセルの直列ストリングから構成されるＮＡＮＤ構造のメモリアレイの一部を示す概略図である。以降の説明でＮＡＮＤメモリ装置に言及するが、本実施形態はかかる構造に限定されるものではない。
【００２２】
メモリアレイは、直列ストリング３０４、３０５などの列に配列されている不揮発性メモリセル３０１（例えば、フローティングゲート）のアレイから構成されている。セル３０１の各々は、各直列ストリング３０４、３０５内のソース線への結合ドレインである。複数の直列ストリング３０４、３０５の全体にわたるワード線ＷＬ０〜ＷＬ３１は、行内のメモリセルの制御ゲートにバイアスを印加するため、行内の各メモリセルの制御ゲートに接続されている。ビット線ＢＬ１、ＢＬ２は、最終的には、特定のビット線上の電流を感知して各セルの状態を検出するセンス増幅器（図示されていない）に接続されている。
【００２３】
メモリセルの直列ストリング３０４、３０５の各々は、ソース選択ゲート３１６、３１７でソース線３０６に結合され、かつドレイン選択ゲート３１２、３１３で個々のビット線ＢＬ１、ＢＬ２に結合されている。ソース選択ゲート３１６、３１７は、それらの制御ゲートに結合されているソース選択ゲート制御線ＳＧ（Ｓ）によって制御される。ドレイン選択ゲート３１２、３１３は、ドレイン選択ゲート制御線ＳＧ（Ｄ）３１４によって制御される。
【００２４】
各メモリセルは、シングルレベルセル（ＳＬＣ）またはマルチレベルセル（ＭＬＣ）としてプログラム可能である。各セルの閾値電圧（Ｖｔ）は、セル内に格納されているデータを示す。例えば、ＳＬＣでは、０．５ＶのＶｔはプログラムされたセルを示し、−０．５ＶのＶｔは消去されたセルを示すかもしれない。ＭＬＣは、各々が異なる状態を示す複数のＶｔウィンドウを有することがある。マルチレベルセルは、セル上に格納された特定の電圧範囲にビットパターンを割り当てることにより、従来のフラッシュセルのアナログ的性質を利用することができる。この技術では、セルに割り当てられた電圧範囲の量に応じて、１セル当たり２ビット以上格納できる。
【００２５】
図４は、図１のソリッドステートドライブのようなソリッドステートメモリ装置用のホットメモリブロックルックアップテーブルへ格納する方法の一実施形態を示すフローチャートである。このテーブルは、関連する並列ユニットのどのメモリブロックが「ホット」（すなわち、他のブロックよりも頻繁に使用される）とみなされるかを追跡するために使用される。ＦＴＬが受信したディスクドライブセクタをメモリ消去ブロックにマッピングするために使用するメモリマップの「ホット」な部分が、不揮発性メモリ内のオーバーフロー領域からＲＡＭに移動される。これにより、頻繁に使用されるマップが、低速のフラッシュメモリからよりも、高速のＲＡＭからより迅速にアクセスされるようになる。
【００２６】
ＦＴＬで変換されるデータのセクタ位置（例えば、論理ブロックアドレス）を含むフラッシュメモリブロックのページテーブルまたはメモリマップが、ＦＴＬにより最初にアクセスされる（４０１）。この特定のページテーブルへのポインタは、次にホットメモリブロックルックアップテーブルに格納される（４０３）。後の議論のため、ホットメモリブロックルックアップテーブルは、０〜Ａ（Ａは最上位の優先度のテーブルを示し、０は最下位の優先度のテーブルを示す）の「Ａ」エントリの量から構成されると仮定する。
【００２７】
アクセスされたテーブルがもうホットメモリブロックルックアップテーブルに存在していない場合（４０５）、そのテーブルは初期優先度のＡ／２でホットメモリブロックルックアップテーブルに格納される（４０７）。別の実施形態では、アクセスされたテーブルをＡ／２以外の初期優先度で格納する可能性がある。ホットメモリブロックルックアップテーブルにＡ／２より低い優先度で既に格納されているテーブルは、次に、優先度が下げられる（４０９）。優先度が０だったテーブルは、その後ホットメモリブロックルックアップテーブルから落とされる（４１３）。本方法を用いると、ホットメモリブロックルックアップテーブルは常により高い優先度のテーブル／マップで更新される一方、より低い優先度のテーブル／マップは落とされて、対応するマップ／ページテーブルが高速ＲＡＭ領域から移動される。ＦＴＬで変換されるデータのセクタ位置を含むフラッシュメモリブロックのページテーブルまたはメモリマップは、低速の不揮発性メモリ内のオーバーフロー領域から高速のＲＡＭへ移動される（４１７）。
【００２８】
アクセスされたテーブルが既にホットメモリブロックルックアップテーブルに存在している場合（４０５）、このテーブルの優先度が上げられる（４１１）。アクセスされたテーブルの優先度が上げられるとき、優先度がＡ／２より上で最も低いテーブルがその後優先度を下げられる（４１５）。例えば、アクセスされたテーブルが優先度Ａ／２であって２度目にアクセスされた場合、そのテーブルは現在優先度位置Ａ／２＋１であり、以前Ａ／２＋１の位置を占めていたテーブルは優先度が下げられて位置Ａ／２にある。これは、アクセスされたテーブルが、ホットメモリブロックルックアップテーブルの最上位の優先度位置である位置Ａになるまで続く。この場合、新しいテーブルが追加されていないため、以前の優先度位置が０のテーブルは位置０にとどまるので落とす必要がない。
【００２９】
図５は、図４の方法で生成されたホットメモリブロックルックアップテーブルの一実施形態を示す。ホットメモリブロックルックアップテーブルの各エントリは、関連する並列ユニットまたはその他のメモリユニット内のフラッシュメモリブロックへのページテーブルポインタまたはメモリマップポインタを含む。各エントリは、優先度位置０の最下位優先度から優先度位置Ａの最上位優先度まで順序付けされている。前述のように、最初のエントリポイントは、テーブルの中間点（すなわち、Ａ／２）の優先度位置である。
【００３０】
（結論）
要約すれば、ソリッドステートメモリ装置のためのホットブロックルックアップテーブルの１つまたは複数の実施形態は、そのホットメモリブロックルックアップテーブルに関連付けられている並列ユニット内のＮＡＮＤフラッシュメモリブロックのページテーブルまたはメモリマップに対する素早いアクセスを提供する。最初にアクセスされたメモリマップは、テーブルの中間点のＡ／２に格納され、アクセスされるたびにテーブルの優先度位置が上げられる。ルックアップテーブルのエントリでポイントされているマップ部分は、低速の不揮発性メモリから高速のＲＡＭへ移動される。
【００３１】
本明細書において具体的な実施形態を解説および説明しているが、当技術分野において通常の技術を有する当業者には、同様の目的を達成するために予想されるいかなる組合せも提示された具体的な実施形態と置換え可能であることを理解されたい。当技術分野において通常の技術を有する当業者には本発明の多くの応用が明らかであろう。従って、本出願は本発明のいかなる応用または改変も含むことを意図するものである。本発明が請求項およびその均等物によってのみ限定されることを明白に目的とする。
【図１】
2012506093.tif 000003
【図２】
2012506093.tif 000004
【図３】
2012506093.tif 000005
【図４】
2012506093.tif 000006
【図５】
2012506093.tif 000007
【国際調査報告】
2012506093.tif 000008
2012506093.tif 000009