(57)【要約】      （修正有）【課題】シングルレベル及びマルチレベルのメモリセルを利用するハイブリッドメモリデバイスを備えた電子システムを提供する。【解決手段】論理アドレスは、実行される書き込み動作の頻度等210に基づいて、シングルレベル214およびマルチレベル206のメモリセルのそれぞれに割り当てられる。メモリ内の論理アドレスに対応するデータの初期の格納は、最初に全てのデータをシングルレベルメモリへ書き込むか、または、最初に全てのデータをマルチレベルメモリへ書き込むこと等を含む、種々の方法によって決定できる。他の方法では、ホストは、論理アドレスへのデータの書き込みを、予想される使用に基づき、シングルレベル又はマルチレベルのメモリセルに対して行うよう命令する。【選択図】図２
2014116031.tif 000002
【特許請求の範囲】
【請求項１】
標準的なインターフェースを介してメモリデバイスに結合されたプロセッサを備える電子システムであって、
前記メモリデバイスは、
各メモリセルが第１の密度を有する、第１のメモリセルアレイと、
各メモリセルが第２の密度を有する、第２のメモリセルアレイと、
制御回路と、
を備え、
前記プロセッサは、前記メモリデバイスの論理アドレスの使用データに基づき、前記使用に少なくとも部分的に基づいて前記第１及び第２のメモリセルアレイのうちの一方に前記論理アドレスに関連付けられたデータを格納するよう、前記制御回路に命令するように構成されており、
前記プロセッサは、前記第２のメモリセルアレイ内の位置が利用可能である場合に、データを前記第１のメモリセルアレイから前記第２のメモリセルアレイへ移動させることにより、前記第１のメモリセルアレイ内に少なくとも特定の数のスペア位置を維持するよう、前記制御回路に命令するように更に構成されている、電子システム。
【請求項２】
前記使用データは、前記論理アドレスで実行された書き込み動作の回数を含む、請求項１記載の電子システム。
【請求項３】
前記使用データは、前記論理アドレス上で最も最近の書き込み動作がいつ発生したかを表すタイムスタンプを含む、請求項２記載の電子システム。
【請求項４】
前記プロセッサは、前記第１及び第２のメモリセルアレイ上でウェアレベリング動作を実行するよう、前記制御回路に命令するように構成されている、請求項１記載の電子システム。
【請求項５】
前記使用データは、前記論理アドレス上で最も最近の書き込み動作が実行されてから経過した時間を前記使用データから決定できるように、データを含む、請求項１記載の電子システム。
【請求項６】
標準的なインターフェースを有するプロセッサと、
少なくとも一部が前記標準的なインターフェースを介して前記プロセッサに結合された、メモリデバイスと、
を備える電子システムであって、
前記メモリデバイスは、
第１のタイプの第１のメモリセルアレイと、
前記第１のタイプとは異なる第２のタイプの第２のメモリセルアレイと、
制御回路であって、前記制御回路によって決定された、前記第１のタイプの前記第１のメモリセルアレイに格納すべきデータを、前記第１のタイプの前記第１のメモリセルアレイに格納し、また、前記制御回路によって決定された、前記第２のタイプの前記第２のメモリセルアレイに格納すべきデータを、前記第２のタイプの前記第２のメモリセルアレイに格納するように構成された制御回路と、
を備え、
前記プロセッサは、データを前記第１のメモリセルアレイに格納するのか、それとも前記第２のメモリセルアレイに格納するのかを、前記データの特性に基づいてどのように決定すべきかを、前記制御回路に命令するようになされており、
前記制御回路は、前記プロセッサによる要求に応答して、前記第１のメモリセルアレイのサイズ及び前記第２のメモリセルアレイのサイズを出力するように、更に構成されている、電子システム。
【請求項７】
前記制御回路は、前記第１のタイプの前記第１のメモリセルアレイ内のスペア位置の数に基づき、前記第１及び第２のメモリセルアレイのうちの一方に論理ブロックアドレスを割り当て、また、前記第１のタイプの前記第１のメモリセルアレイは前記第２のタイプの前記第２のメモリセルアレイよりも低い密度を有する、請求項６記載の電子システム。
【請求項８】
前記制御回路は、
ｉ）前記第２のメモリセルアレイ内の位置が利用可能である場合に、データを前記第１のメモリセルアレイから前記第２のメモリセルアレイへ移動させることにより、前記第１のメモリセルアレイ内に少なくとも特定の数のスペア位置を維持するか、又は、
ｉｉ）前記プロセッサによって提供される情報に基づき、メモリ内の論理位置に関連付けられるデータの特性を決定し、かつ、前記特性に少なくとも部分的に基づき、前記第１のメモリセルアレイ及び前記第２のメモリセルアレイのうちの一方に前記データを格納する、
ように構成されている、請求項６記載の電子システム。
【請求項９】
前記メモリデバイスは不揮発性メモリデバイスであり、前記不揮発性メモリデバイスは、論理アドレスに関連付けられた物理的格納位置を有し、前記論理アドレスはデータに関連付けられており、
ｉ）前記制御回路は、前記第１のメモリセルアレイ上又は前記第２のメモリセルアレイ上で書き込み動作を選択的に実行し、かつ、各論理アドレス上で実行された書き込み動作の数に少なくとも部分的に基づいて前記物理的格納位置に前記論理アドレスを割り当て、かつ、前記書き込み動作の数が閾値を超える場合、前記第１のメモリセルアレイに論理アドレスを割り当てし直すように、前記プロセッサによって構成されるか、又は、
ｉｉ）前記制御回路は、前記メモリデバイスの前記制御回路に結合された前記プロセッサからの命令に応答して前記プロセッサから受信したコマンドに少なくとも部分的に応答して、前記第１のメモリセルアレイ又は前記第２のメモリセルアレイにデータを書き込むように、前記プロセッサによって構成されるか、又は、
ｉｉｉ）前記制御回路は、前記第２のメモリセルアレイ内の位置が利用可能である場合に、実行された書き込み動作の最低数を有する論理アドレスに関連付けられたデータを、前記第２のメモリセルアレイへ移動させることにより、又は、実行された書き込み動作を特定の期間よりも長い間有していない論理アドレスに関連付けられたデータを、前記第２のメモリセルアレイへ移動させることにより、前記第１のメモリセルアレイ内に少なくとも前記特定の数のスペア位置を維持するように、前記プロセッサによって構成されるか、又は、
ｉｖ）前記制御回路は、前記第２のメモリセルアレイ内に格納されている論理アドレスに関連付けられたデータを、前記論理アドレス上で実行された書き込み動作の数が閾値を超えていることに少なくとも部分的に応答して、前記第１のメモリセルアレイへ移動させるように、前記プロセッサからの命令に応答して構成されるか、又は、
ｖ）前記制御回路は、前記第１のメモリセルアレイに現在割り当てられている、最も少なく使用されている論理アドレスの使用が、特定の値を超える場合に、前記第１のメモリセルアレイへの書き込み動作を禁止するように、更に構成されている、請求項１記載の電子システム。
【請求項１０】
メモリデバイス制御信号を生成するプロセッサと、
標準的なインターフェースを介して前記プロセッサに結合され、かつ、前記メモリデバイス制御信号を受信するように構成された、メモリデバイスと、
を備える電子システムであって、
前記メモリデバイスは、
各メモリセルが第１の密度を有する、第１のメモリセルアレイと、
各メモリセルが第２の密度を有する、第２のメモリセルアレイと、
制御回路と、
を備え、
前記制御回路は、データを、前記データの論理アドレスに発せられた受信済みの書き込み動作の追跡履歴の解釈に基づき、前記第１のメモリセルアレイ又は前記第２のメモリセルアレイに格納するように構成されており、
前記制御回路は、前記第２のメモリセルアレイ内の位置が利用可能である場合に、データを前記第１のメモリセルアレイから前記第２のメモリセルアレイへ移動させることにより、前記第１のメモリセルアレイ内に少なくとも特定の数のスペア位置を維持するように、更に構成されている、電子システム。
【請求項１１】
前記データは、前記プロセッサによって生成され且つ前記メモリデバイスによって受信されるコマンドに応答して、前記第１のメモリセルアレイ内又は前記第２のメモリセルアレイ内に格納され、
前記プロセッサによって生成される前記コマンドは、前記メモリデバイス内に格納されるデータに対して実行される書き込み動作の予測される周波数に応答して生成される、請求項１０記載の電子システム。
【請求項１２】
ｉ）前記プロセッサは、論理アドレス上で実行された書き込み動作の数が閾値を超えているとホストが判断した時に、前記論理アドレスに対応するデータを前記第２のメモリセルアレイから前記第１のメモリセルアレイへ移動させるよう、前記制御回路に命令するように構成されており、
ｉｉ）前記プロセッサは、前記第１のメモリセルアレイ内に少なくとも特定の数のスペア論理アドレス位置を維持するために、前記第１のメモリセルアレイにマッピングされた論理アドレスであって且つ前記第１のメモリセルアレイにマッピングされた全ての論理ブロックアドレスについて実行された書き込み動作の最少数を有する論理アドレスに対応するデータを、前記第２のメモリセルアレイへ移動させるよう、前記制御回路に命令するように更に構成されている、請求項１０記載の電子システム。
【請求項１３】
前記プロセッサはブートロード動作を実行するように構成されている、請求項１０記載の電子システム。
【請求項１４】
メモリデバイス制御信号を生成するプロセッサと、
標準的なインターフェースを介して前記プロセッサに結合され、かつ、前記メモリデバイス制御信号を受信するように構成された、メモリデバイスと、
を備える電子システムであって、
前記メモリデバイスは、
各メモリセルが第１の密度を有する、第１のメモリセルアレイと、
各メモリセルが第２の密度を有する、第２のメモリセルアレイと、
制御回路と、
を備え、
前記制御回路は、データを、前記データの論理アドレスに発せられた受信済みの書き込み動作の追跡履歴の解釈に基づき、前記第１のメモリセルアレイ又は前記第２のメモリセルアレイに格納するように構成されており、
前記プロセッサは、データを、前記データに関連付けられた論理アドレスが前記プロセッサによって実行されたブートロード動作中にアクセスされたかどうかに少なくとも部分的に基づいて、前記第１のメモリセルアレイ又は前記第２のメモリセルアレイに格納するよう、前記制御回路に命令する、電子システム。
【請求項１５】
論理アドレスに関連付けられた物理的格納位置を更に備え、
前記制御回路は、前記第１のメモリセルアレイ上又は前記第２のメモリセルアレイ上で読み出し動作を選択的に実行し、かつ、前記データの特性に基づき、前記読み出されたデータを、前記第１の密度の前記第１のメモリセルアレイに格納すべきか、前記第２の密度の前記第２のメモリセルアレイに格納すべきかを決定するように構成されており、
前記制御回路は、各論理アドレス上で実行された読み出し動作の数に少なくとも部分的に基づいて、前記物理的格納位置に論理アドレスを割り当て、かつ、前記読み出し動作の数が閾値を超える場合、前記第１のメモリセルアレイに論理アドレスを割り当てし直す、請求項１記載の電子システム。
【請求項１６】
ｉ）前記制御回路は、前記メモリデバイスの前記制御回路に結合されたホストから受信されたコマンドに少なくとも部分的に応答して、前記読み出されたデータを前記第１のメモリセルアレイ又は前記第２のメモリセルアレイに書き込むように、更に構成されるか、又は、
ｉｉ）前記制御回路は、前記第２のメモリセルアレイ内の位置が利用可能である場合に、実行された読み出し動作の最低数を有する論理アドレスに関連付けられたデータを、前記第２のメモリセルアレイへ移動させることにより、又は、実行された読み出し動作を特定の期間よりも長い間有していない論理アドレスに関連付けられたデータを、前記第２のメモリセルアレイへ移動させることにより、前記第１のメモリセルアレイ内に少なくとも前記特定の数のスペア位置を維持するように、更に構成されるか、又は、
ｉｉｉ）前記制御回路は、論理アドレス上で実行された読み出し動作の数が閾値を超えていることに少なくとも部分的に応答して、前記第２のメモリセルアレイに格納された前記論理アドレスに関連付けられたデータを前記第１のメモリセルアレイへ移動させるように、更に構成されるか、又は、前記制御回路は、前記第１のメモリセルアレイに現在割り当てられている、最も少なく使用されている論理アドレスの使用が、特定の値を超える場合に、前記第１のメモリセルアレイへの前記読み出されたデータの書き込み動作を禁止するように、更に構成されている、請求項１５記載の電子システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、概して、メモリデバイスを備えた電子システムに関し、特に、本開示は、シングルレベルおよびマルチレベルのメモリセルの格納機能を有するメモリデバイスに格納されるデータの管理に関する。
【背景技術】
【０００２】
メモリデバイスは、典型的には、コンピュータまたは他の電子デバイス内の、内部的な半導体集積回路として提供される。ランダムアクセスメモリ（ＲＡＭ）、読み込み専用メモリ（ＲＯＭ）、動的ランダムアクセスメモリ（ＤＲＡＭ）、同期型動的ランダムアクセスメモリ（ＳＤＲＡＭ）、およびフラッシュメモリを含む、多くの異なる種類のメモリが存在する。
【０００３】
フラッシュメモリデバイスは、広範囲な電子的利用のために不揮発性メモリの安価な供給源として開発されてきた。フラッシュメモリデバイスは、典型的には、高メモリ密度、高信頼性、および低電力消費量を実現する１トランジスタのメモリセルを使用する。フラッシュメモリが一般的に利用されるものには、パーソナルコンピュータ、パーソナルデジタルアシスタント（ＰＤＡ）、デジタルカメラ、および携帯電話を含む。基本入力／出力システム（ＢＩＯＳ）等のプログラムコードおよびシステムデータは、典型的には、パーソナルコンピュータシステムで使用されるためにフラッシュメモリデバイスに格納される。
【０００４】
フラッシュメモリは、典型的には、ＮＯＲフラッシュおよびＮＡＮＤフラッシュとして公知の２つの基本的なアーキテクチャのうちの１つを利用する。この名称は、デバイスを読み込むために使用される論理に由来している。ＮＡＮＤタイプのフラッシュメモリアレイのアーキテクチャでは、メモリアレイのフローティングゲートメモリセルは行および列のマトリクスで構成される。アレイのメモリセルは、さらに、典型的にはそれぞれ８、１６、３２またはそれ以上のストリングで相互に構成され、ここで、ストリングにおけるメモリセルは、多くの場合ビット線と称される、共通なソース線および列トランスファー線の間を、ソースからドレインへと直列に相互接続される。次に、そのゲートに接続されるワード線を選択することにより、フローティングゲートメモリセルの行をアクティブ化する行デコーダによって、アレイにアクセスされる。さらに、ビット線は、現在実行されている動作によって、高くまたは低く駆動することができる。
【０００５】
電子システムのパフォーマンスおよび複雑性が増加するにつれて、システム内の追加的なメモリの要件も増加している。しかし、システムのコストを低く抑えるためには、パーツ数は少なくしておくことが望ましい。これは、こうした技術をマルチレベルセル（ＭＬＣ）として使用することで、集積回路のメモリ密度を増加させることにより実現できる。例えば、ＭＬＣＮＡＮＤフラッシュメモリは、コスト効率性の高い不揮発性メモリである。
【０００６】
マルチレベルメモリセルは、（例えば、ビットパターンで表される）データの状態を、メモリセルに格納される特定の範囲の閾値電圧（Ｖｔ）に割り当てる。シングルレベルメモリセル（ＳＬＣ）により、各メモリセル上のシングルビットのデータの格納が可能になる。一方で、ＭＬＣ技術は、セルに割り当てられる閾値電圧範囲の量およびメモリセルの寿命動作中に割り当てられる閾値電圧範囲の安定性に従って、セル毎に２ビット以上（例えば、２、４、８、１６ビット）の格納を可能にする。Ｎビットからなるビットパターンを表すために使用される、Ｖｔ分散ウィンドウと称されることもある閾値電圧範囲（例えば、レベル）の数は、２Ｎである。例えば、１ビットは２つのレベルで、２ビットは４つのレベルで、３ビットは８つのレベルであってもよい。
【０００７】
例えば、セルは、それぞれ、２ビットで構成されるビットパターンに対応したデータの状態を表すために使用される、２００ｍＶの４つの異なる電圧範囲のうちの１つの範囲内のＶｔに割り当ててもよい。典型的には、０．２Ｖ〜０．４Ｖのデッドスペース（時にマージンと称される）は、Ｖｔ分散が重複しないように、各範囲内に保たれる。セルに格納される電圧が４つのＶｔ分散のうちの１つめの範囲内である場合、この場合のセルは、論理の「１１」状態を格納し、典型的には、セルの消去された状態と考えられる。電圧が、４つのＶｔ分散のうちの２つめの範囲内である場合、この場合のセルは、論理の「１０」状態を格納する。４つのＶｔ分散のうちの３つめの分散内の電圧は、この場合のセルが論理の「００」状態を格納することを示す。最後に、４つめのＶｔ分散に常駐するＶｔは、論理の「０１」状態がセル内に格納されることを示す。
【０００８】
ＳＬＣまたはＭＬＣメモリの使用に関連して、長所および短所が存在する。ＭＬＣメモリは、例えば、セル毎に１データビットを格納するために従来使用されてきたＳＬＣメモリに対して、シングルメモリセル内にマルチデータビットを格納できるため、ＭＬＣメモリは、概して、メモリ密度に関してよりコスト効率が高いと考えられる。しかし、従来のＳＬＣメモリは、従来のＭＬＣメモリの回数よりも多くの回数（例えば、桁単位で）書き込むことができる。例えば、従来のＭＬＣメモリの特徴として、データを１０，０００回程度、消去および再書き込みすると、メモリの読み込みおよび書き出しエラーが著しく起こりやすくなる、ということがある。他方で、従来のＳＬＣメモリは、データの信頼性が低下し始めるまでに、典型的には１００，０００回程度、消去および再書き込みを行う場合がある。これらの密度およびパフォーマンス特性は、異なる種類のＭＬＣアレイの間にもあてはまる。現在のところ、４および８のレベルを有するＭＬＣデバイスが存在するが、より高密度のメモリの研究が行われている。より多くのレベルを有するＭＬＣは、より少ないレベル（より低密度）を有するＭＬＣよりも効率が高い（より高密度）が、これらのより高密度のデバイスは、より低密度のデバイスに対するパフォーマンスペナルティを有してもよい。ＳＬＣ（２つのレベル）およびＭＬＣ（２つより多いレベル）で構築されるデバイスの場合は、それぞれ、それ自身の密度およびパフォーマンスのトレードオフを有する、複数のメモリアレイを有するデバイスとして一般化できる。一実施例として、ＭＬＣ（４つのレベル）アレイおよびＭＬＣ（８つのレベル）アレイで構築されるデバイスがある。ＳＬＣ、ＭＬＣ（４つのレベル）およびＭＬＣ（８つのレベル）等の、２つよりも多いメモリアレイが存在する場合さえもある可能性がある。一般的な命名規則では、例えば０または１によって表される１ビットのデータを格納するために２つのレベルを利用するＳＬＣメモリとして、ＳＬＣメモリをＭＬＣ（２つのレベル）メモリと称する。２データビットを格納するために構成されるＭＬＣメモリは、ＭＬＣ（４つのレベル）で表すことができ、３データビットはＭＬＣ（８つのレベル）等で表すことができる。ＭＬＣ（４つのレベル）メモリセルは、典型的には、例えば、メモリセル毎に格納されるビット数がより低いために、ＭＬＣ（８つのレベル）メモリより低密度のメモリセルと称される。ＳＬＣ（例えば、ＭＬＣ（２つのレベル））は、典型的には、ＭＬＣ（４つのレベル）メモリより低密度のメモリと称される、等々というようになる。
【０００９】
なお、ＳＬＣメモリ及びＭＬＣメモリの両方を備えた従来のメモリデバイスの一例が、特許文献１や特許文献２等に開示されている。
【先行技術文献】
【特許文献】
【００１０】
【特許文献１】特開２００７−３０５２１０号公報
【特許文献２】特開２００１−３０６３９３号公報
【発明の概要】
【発明が解決しようとする課題】
【００１１】
上記の理由から、および本明細書を読解および理解する際に当業者には公知となる、以下に記載の理由から、当該技術において、ＳＬＣおよびＭＬＣメモリ等の異なる密度のメモリの利用を管理するように適合されるハイブリッドメモリデバイスには、各タイプのメモリに関連付けられる好適な動作特性を利用できることが求められている。
【課題を解決するための手段】
【００１２】
本発明の一態様は、標準的なインターフェースを介してメモリデバイスに結合されたプロセッサを備える電子システムに係り、前記メモリデバイスは、各メモリセルが第１の密度を有する、第１のメモリセルアレイと、各メモリセルが第２の密度を有する、第２のメモリセルアレイと、制御回路と、を備えている。そして、前記プロセッサは、前記メモリデバイスの論理アドレスの使用データに基づき、前記使用に少なくとも部分的に基づいて前記第１及び第２のメモリセルアレイのうちの一方に前記論理アドレスに関連付けられたデータを格納するよう、前記制御回路に命令するように構成されている。更に、前記プロセッサは、前記第２のメモリセルアレイ内の位置が利用可能である場合に、データを前記第１のメモリセルアレイから前記第２のメモリセルアレイへ移動させることにより、前記第１のメモリセルアレイ内に少なくとも特定の数のスペア位置を維持するよう、前記制御回路に命令するように更に構成されている。
【００１３】
本発明の他の態様は、標準的なインターフェースを有するプロセッサと、少なくとも一部が前記標準的なインターフェースを介して前記プロセッサに結合された、メモリデバイスと、を備える電子システムに係る。そして、前記メモリデバイスは、第１のタイプの第１のメモリセルアレイと、前記第１のタイプとは異なる第２のタイプの第２のメモリセルアレイと、制御回路であって、前記制御回路によって決定された、前記第１のタイプの前記第１のメモリセルアレイに格納すべきデータを、前記第１のタイプの前記第１のメモリセルアレイに格納し、また、前記制御回路によって決定された、前記第２のタイプの前記第２のメモリセルアレイに格納すべきデータを、前記第２のタイプの前記第２のメモリセルアレイに格納するように構成された制御回路と、を備えている。また、前記プロセッサは、データを前記第１のメモリセルアレイに格納するのか、それとも前記第２のメモリセルアレイに格納するのかを、前記データの特性に基づいてどのように決定すべきかを、前記制御回路に命令するようになされている。更に、前記制御回路は、前記プロセッサによる要求に応答して、前記第１のメモリセルアレイのサイズ及び前記第２のメモリセルアレイのサイズを出力するように、更に構成されている。
【００１４】
本発明の更に他の態様は、メモリデバイス制御信号を生成するプロセッサと、標準的なインターフェースを介して前記プロセッサに結合され、かつ、前記メモリデバイス制御信号を受信するように構成された、メモリデバイスと、を備える電子システムに係る。そして、前記メモリデバイスは、各メモリセルが第１の密度を有する、第１のメモリセルアレイと、各メモリセルが第２の密度を有する、第２のメモリセルアレイと、制御回路と、を備えている。また、前記制御回路は、データを、前記データの論理アドレスに発せられた受信済みの書き込み動作の追跡履歴の解釈に基づき、前記第１のメモリセルアレイ又は前記第２のメモリセルアレイに格納するように構成されている。更に、前記制御回路は、前記第２のメモリセルアレイ内の位置が利用可能である場合に、データを前記第１のメモリセルアレイから前記第２のメモリセルアレイへ移動させることにより、前記第１のメモリセルアレイ内に少なくとも特定の数のスペア位置を維持するように、更に構成されている。
【００１５】
本発明の更に他の態様は、メモリデバイス制御信号を生成するプロセッサと、標準的なインターフェースを介して前記プロセッサに結合され、かつ、前記メモリデバイス制御信号を受信するように構成された、メモリデバイスと、を備える電子システムに係る。そして、前記メモリデバイスは、各メモリセルが第１の密度を有する、第１のメモリセルアレイと、各メモリセルが第２の密度を有する、第２のメモリセルアレイと、制御回路と、を備えている。また、前記制御回路は、データを、前記データの論理アドレスに発せられた受信済みの書き込み動作の追跡履歴の解釈に基づき、前記第１のメモリセルアレイ又は前記第２のメモリセルアレイに格納するように構成されている。更に、前記プロセッサは、データを、前記データに関連付けられた論理アドレスが前記プロセッサによって実行されたブートロード動作中にアクセスされたかどうかに少なくとも部分的に基づいて、前記第１のメモリセルアレイ又は前記第２のメモリセルアレイに格納するよう、前記制御回路に命令する。
【図面の簡単な説明】
【００１６】
【図１】本開示の一実施形態に従う、メモリモジュールの機能ブロック図である。
【図２】本開示の種々の実施形態に従う、複数の動作を示すフローチャートである。
【図３】本開示の一実施形態に従う、メモリデバイスの格納の一設定を図示する。
【図４】本開示の一実施形態に従う、データの移動動作を図示する。
【図５】本開示の一実施形態に従う、データの書き込み動作を図示する。
【図６】本開示の一実施形態に従う、少なくとも１つのメモリデバイスを有する電子システムの機能ブロック図である。
【発明を実施するための形態】
【００１７】
以下の、発明を実施するための形態において、その一部を成す添付の図面を参照する。図面において、同様の数字は、いくつかの図における本質的に同様のコンポーネントを示す。これらの実施形態は、当業者が発明を実施することを可能にするように、十分詳細に記載されている。他の実施形態を利用してもよく、また、本発明の範囲から逸脱しない限り、構造的、論理的、および電子的な変更を加えてもよい。従って、以下の発明を実施するための形態は、制限的な意味で解釈すべきものではなく、本開示の範囲は、こうした特許請求の範囲が権利を与える同等物の全範囲と共に、添付の特許請求の範囲によってのみ定義される。
【００１８】
上記のように、従来のＳＬＣおよびＭＬＣメモリは、これらに関連付けられる正および負の属性の両方を有する。ＳＬＣメモリはより高速な書き込み動作を可能にするものであり、ＭＬＣメモリと比較して、メモリセルの信頼性が低下し始めるまで持ちこたえることができる書き込み動作数はずっと多い。しかし、ＭＬＣメモリは、各メモリセル上にマルチデータビットを格納できるが、ＳＬＣは、セル毎にシングルビットのみを格納するために使用されるという点で、ＳＬＣメモリはＭＬＣメモリほど効率的ではない。本開示の種々の実施形態は、ＳＬＣメモリに、頻繁に更新されるデータを格納し、ＭＬＣメモリに、それほど頻繁に更新されないデータを格納する。これは、メモリデバイスの効率性および信頼性を向上させるために使用可能である。ＳＬＣおよびＭＬＣメモリの利用に関連して、いくつかの実施形態が開示されているが、種々の実施形態がそのように制限されるわけではない。例えば、一実施形態は、ＭＬＣ（２つのレベル）メモリと称されることもあるＳＬＣメモリと、ＭＬＣ（４つのレベル）メモリとを利用してもよい。別の実施形態は、ＭＬＣ（４つのレベル）およびＭＬＣ（８つのレベル）メモリを利用してもよい。さらに他の実施形態は、例えば同じメモリデバイス内の、ＳＬＣ、ＭＬＣ（４つのレベル）およびＭＬＣ（８つのレベル）メモリ等の３つ以上のメモリアレイを利用できる。本開示の種々の実施形態に従い、他の組み合わせも可能である。このように、実施形態は、メモリデバイス内の異なるレベル（例えば、密度）のメモリの組み合わせを利用できる。
【００１９】
不揮発性メモリデバイス内のデータは、データがデバイスに物理的に常駐する場所を定義しない、論理ブロックアドレス（ＬＢＡ）と称される抽象化によってアクセスできる。デバイスはさらに、物理的位置を定義するが、何のデータがこの位置に保たれるかを定義または示唆しない物理的ブロックアドレス（ＰＢＡ）を有することができる。磁気ディスクデバイスでは、物理的ブロックアドレスは、特定のシリンダ、ヘッド、およびセクタに変換する。固体不揮発性メモリデバイスでは、物理的ブロックアドレスは、典型的には、特定のメモリアレイ内の特定のメモリブロックアドレスを指す。論理ブロックアドレスおよび物理的ブロックアドレスは、当業者に公知である。メモリデバイスは、ＬＢＡをその割り当てられるＰＢＡにマップするルックアップテーブルを保守する。ＳＬＣおよびＭＬＣメモリの両方を有する従来のメモリデバイスは、ＳＬＣメモリまたはＭＬＣメモリのいずれかにデータを格納する。データは、ＳＬＣとＭＬＣメモリとの間を移動しない。これは、メモリデバイス内に格納されるデータが、所与のＬＢＡの使用（例えば、実行される書き込み動作数）等に基づき、ＳＬＣとＭＬＣとの間を移動できるようにする、本開示の種々の実施形態とは対照的である。この使用は、本開示の種々の実施形態に従い、メモリデバイスのＬＢＡ毎に決定される（例えば、追跡される）および維持される。本開示の種々の実施形態はさらに、所与のＬＢＡ毎の使用を予測し、これに従って、これをＳＬＣまたはＭＬＣメモリに割り当ててもよい。例えば、多くのファイルシステムは、ＬＢＡへのファイル割り当てテーブル（ＦＡＴ）等のファイルを参照するために使用されるデータ構造を保持し、こうした構造に関連付けられるＬＢＡは、ファイル書き込み動作毎の書き込み動作の影響を受けやすくなる可能性がある。このため、ＦＡＴに関連付けられるＬＢＡは、最初に、ＭＬＣメモリではなく、ＳＬＣメモリに割り当てられてもよい。他の実施形態は、各ＬＢＡの実際の追跡された使用に応じて作用することにより、ＳＬＣまたはＭＬＣメモリ内の所与のＬＢＡの位置を調整する。本開示のいくつかの実施形態に従い、ＬＢＡは、ＬＢＡが最初に割り当てられた方法には関係なく、メモリデバイスの動作中に、ＬＢＡの実際の使用に基づいて、ＳＬＣとＭＬＣメモリとの間を移動してもよい。
【００２０】
図１は、本開示の一実施形態に従うメモリデバイスを図示する。図１のメモリデバイスは、本開示の種々の実施形態を中心とするために、簡略化されている。メモリデバイス１００は、ＳＬＣまたはＭＬＣのいずれか（または異なる密度のＭＬＣの間）のメモリへのＬＢＡの割り当ての管理を含む、本開示の種々の実施形態に従うメモリデバイス１００の動作の制御および管理のためのコントローラ１７０を含む。コントローラ１７０は、例えば、個別論理またはステートマシンの形態を取ることができる。コントローラ１７０はさらに、プロセッサ１１０等のホストと通信するための種々の手段を組み込む。例えば、コントローラ１７０は、当業者に公知であるように、ユニバーサルシリアルバス（ＵＳＢ）、ＳＡＴＡ、ＰＡＴＡ、ＡＴＡ８−ＡＣＳ、ＳＤ、ＭＭＣ、コンパクトフラッシュ（登録商標)、メモリスティック、ＩＥＥＥ１３９４またはＢＡ−ＮＡＮＤインターフェースを組み込んでもよい。ＳＬＣおよびＭＬＣメモリの物理的ウェアレベリングはさらに、コントローラ１７０によって処理できる。
【００２１】
メモリデバイス１００はさらに、ＳＬＣメモリ１３２のアレイおよびＭＬＣメモリ１３４のアレイを含む。いくつかの実施形態では、ＳＬＣ１３２およびＭＬＣ１３４メモリは、個別のフラッシュメモリチップであってもよく、一方で、ＳＬＣおよびＭＬＣメモリは、１つのチップ上に含まれてもよい。メモリアレイ１３２および１３４はさらに、異なる密度のＭＬＣメモリで構成されてもよい。アレイ１３２はＭＬＣ（４つのレベル）にしてもよく、アレイ１３４は、例えばＭＬＣ（８つのレベル）にしてもよい。図１に示されるＳＬＣ１３２およびＭＬＣ１３４メモリは、それぞれ、複数のバンクおよびメモリブロックでさらに構成されてもよい。図１に示されるＳＬＣ１３２およびＭＬＣ１３４のメモリブロックは、それぞれ複数のメモリチップで構成できる。メモリデバイス１００のＳＬＣおよびＭＬＣメモリの数量（例えば容量）は、等しくてもよい、または等しくなくてもよい。いくつかの実施形態（例えば、ＳＬＣおよびＭＬＣメモリを含むシングルチップ）では、ＳＬＣアレイおよびＭＬＣアレイのサイズは、所与の用途のために、ＳＬＣ対ＭＬＣメモリの所望の数量に従って、割り当て可能にしてもよい。本開示に従う別の実施形態では、図１のメモリデバイスは、２つのＳＬＣチップおよび２つのＭＬＣチップを有する、双方向のインターリーブされたメモリデバイスであってもよい。本開示の種々の実施形態に従い、ＳＬＣおよびＭＬＣチップの他の数量も可能である。
【００２２】
図１のメモリデバイスはさらに、使用テーブル１３６を含む。使用テーブルは、メモリデバイス１００の種々のＬＢＡのための使用データ（例えば実行される書き込み動作）を格納するために、コントローラ１７０によって利用される。例えば、ＬＢＡで書き込み動作が実行されるたびに、そのＬＢＡのために関連付けられる使用データが更新される。使用テーブル１３６はさらに、書き込みがされた回数に対して、所与のＬＢＡが最後に書き込まれた時間を示す、使用情報（例えば、タイムスタンプ）を格納してもよい。例えば、ＬＢＡは、書き込みがされた累計の回数ではなく、特定のＬＢＡが最後に書き込まれてからどれだけの時間が経過したか（例えば、分、日、月等）に基づいてマッピングされてもよい。タイムスタンプのＬＢＡへの割り当てに加えて、ＬＢＡは、代わりに、時間グループに割り当てられてもよい。第１の時間グループに割り当てられるＬＢＡは、今月に使用されたＬＢＡを表してもよく、一方で、例えば、第２の時間グループに割り当てられるＬＢＡが、先月に使用されたＬＢＡを表してもよい。種々の実施形態に従うと、使用は、メモリデバイスの起動時または起動後の特定の時間枠中において、ＬＢＡが利用されるトラッキングをさらに含んでもよい。特定の時間枠はさらに、例えば、リセット動作の後に続くものでもよい。これらのＬＢＡは、次に、典型的には、より高い密度（例えば、ＭＬＣ（４つのレベル））のメモリよりも高速にアクセスできるより低密度（例えば、ＳＬＣ）のメモリに割り当てられてもよい。これは、例えば、起動ローディング動作中のアクセス時間の短縮等の、スタートアップパフォーマンスを向上できる。使用テーブル１３６に格納される使用データは、個々のＬＢＡの使用に制限されない。使用データはさらに、複数回の利用またはＬＢＡの範囲に関して、格納されてもよい。使用テーブルは、所望の場合、クリアにすることもできる。例えば、メモリデバイス１００に接続されるホスト１１０は、使用テーブル１３６のすべてまたは一部をクリアするように命令する特定のコマンドを送信してもよい。使用テーブルの一実施例が、図１のブロック１３６に示されている。
【００２３】
使用テーブル１３６を、揮発性および不揮発性メモリ部分の一方または両方を有する集積回路デバイス等のスタンドアロンのコンポーネントに格納してもよい。揮発性および不揮発性メモリの両方を有する実施形態では、揮発性メモリは、メモリデバイスの動作中に現在の使用テーブルを維持できる。使用テーブルは、定期的に、揮発性メモリから不揮発性メモリへとコピーできる。現在の使用テーブル１３６はさらに、起動時に揮発性メモリにロードされ、メモリデバイスのパワーダウン中に不揮発性メモリに戻るように伝送されることができる。他の実施形態では、使用テーブル１３６のデータを、メモリデバイス１００のメモリアレイ１３２／１３４に格納できる。例えば、使用テーブルデータは、メモリデバイス内のＬＢＡに関連付けられるデータと共に、格納され（例えば補足され）てもよい。他の実施形態では、使用テーブルは、ＳＬＣ１３２またはＭＬＣ１３４メモリのいずれかの専用の位置に格納されてもよい。
【００２４】
図１は、さらに、プロセッサ１１０に連結されるメモリデバイス１００を図示する。メモリデバイス１００は、複数のバスおよび信号を含んでもよい、インターフェース１７４によって、プロセッサ１１０に連結される。例えば、プロセッサによって生成される制御信号は、制御バス１７２によって、メモリデバイスに連結できる。さらに、アドレスバス１４２およびデータバス１６２も図示される。インターフェース１７４は、（例えばＵＳＢ、ＳＡＴＡ、ＰＡＴＡ等の）上記のインターフェースプロトコルのうちの１つに準拠する。
【００２５】
図２は、本開示の実施形態の実施においてコントローラ１７０によって実行される種々のアクティビティのうちのいくつかのフローチャートを図示する。本開示のいくつかの実施形態では、メモリデバイスのコントローラは、ＬＢＡがメモリデバイス１００内のどこに割り当てられるかを決定する（２００）。上記のように、ＦＡＴテーブルは、頻繁に使用される可能性がある。このため、本開示の一実施形態に従い、メモリデバイス１００のコントローラ１７０は、ＦＡＴに関連付けられるＬＢＡを、ＳＬＣ（例えば、ＭＬＣ（２つのレベル））メモリに割り当ててもよい（２１４）。この実施形態に従うＦＡＴＬＢＡはさらに、ＳＬＣメモリに永続的に割り当てられ（例えば「ピン付け」）てもよい。他の実施形態では、コントローラは、ＦＡＴ ＬＢＡをＭＬＣメモリに割り当ててもよく（２０６）、コントローラ１７０は、使用に基づいて、ＦＡＴテーブルを移動できる。このため、一実施形態に従い、全てのＬＢＡを、最初にＭＬＣメモリに書き込んでもよい（２０６）。他の実施形態では、全てのＬＢＡは、最初にＳＬＣメモリに割り当てられてもよい（２１４）。さらに他の実施形態は、そこにおいてＳＬＣメモリへ実行される書き込み動作を有する全てのＬＢＡを割り当ててもよい。これらの実施形態では、現在書き込まれているＬＢＡがＭＬＣメモリに既に割り当てられている場合に、コントローラ１７０は、書き込まれるＬＢＡが、最終的にＳＬＣまたはＭＬＣメモリに割り当てられるべきであるかどうかを決定できる。
【００２６】
コントローラはさらに、動作中のメモリデバイスのＬＢＡで、使用テーブルデータを追跡および維持（例えば、更新）する（２０８／２１６）。ＭＬＣメモリに現在割り当てられるＬＢＡの使用がいくつかの閾値を上回る場合（２１０）、コントローラは、ＬＢＡに関連付けられるデータを、ＳＬＣメモリに移動し（およびＬＢＡをＳＬＣメモリの位置に再び割り当て）ようとする（２１２）。一実施形態では、この閾値は、所与のＬＢＡで実行される１０００の書き込み動作であってもよい。しかし、実施形態は、単一の閾値に制限されない。例えば、閾値は、メモリ上で実行される全書き込み動作のうちの一部であってもよい（２１２）。ＭＬＣメモリに割り当てられる全てのＬＢＡの使用が閾値に達しないままである場合、こうしたＬＢＡは、引き続き、ＭＬＣメモリに割り当てられる。
【００２７】
一実施形態に従い、コントローラによってＬＢＡがＳＬＣメモリに割り当てられるたびに（２１４）、またはＭＬＣメモリに割り当てられるＬＢＡがいくつかの閾値を上回るたびに（２１２）、十分な数のスペア位置がＳＬＣメモリ内に保持されているかが決定される（２１８）。データ処理およびハウスキーピング機能をメモリデバイスで実行できるようにするために、スペア位置が必要とされる。ＳＬＣへの現在の書き込み動作の実行後にＳＬＣに十分な領域が存在する場合、コントローラによるさらなるアクションは不要であり、ＬＢＡは、ＳＬＣメモリに割り当てられる。しかし、ＬＢＡのＳＬＣメモリへの現在の割り当てにより、ＳＬＣメモリ内の残りのスペア位置の数が減少しすぎる場合には、コントローラは、ＳＬＣメモリ内のスペア位置の最小数を保存するために、本開示の種々の実施形態に従ってデータ管理機能を実行する。例えば、コントローラは、ＳＬＣに現在割り当てられる各ＬＢＡの使用データの見直しを行う。ＳＬＣメモリに現在割り当てられるＬＢＡが、これに関連付けられる最小の使用数を有する場合、そのＬＢＡに関連付けられるデータは、ＭＬＣメモリ（例えば、次のより高密度のメモリ）に移動される（２２０）。ＬＢＡの使用を表すためにタイムスタンプを利用する実施形態では、ＳＬＣメモリに割り当てられる、最も以前に使用されたＬＢＡがＭＬＣメモリに移動する。１つ以上の実施形態に従い、ＬＢＡで特定の期間において書き込み動作が行われていない場合、データは、より密度の高いメモリ（例えば、ＳＬＣからＭＬＣへ）に移動してもよい。例えば、対応するＬＢＡのタイムスタンプが、一ヶ月以上ＬＢＡが書き込まれていないことを示す場合に、データは、ＭＬＣ（４つのレベル）からＭＬＣ（８つのレベル）メモリへ移動してもよい。本開示の種々の実施形態に従い、他の期間も可能である。
【００２８】
現在ＳＬＣメモリに割り当てられる最も使用されていないＬＢＡに関連付けられるデータの、ＭＬＣメモリへの移動動作を実行することで（２２０）、ＳＬＣメモリへの現在のＬＢＡ書き込み動作が完了した後、スペア位置の十分な数量がＳＬＣメモリに残るはずである。いくつかの実施形態に従うコントローラはさらに、ＳＬＣメモリに現在割り当てられる最も使用されていないＬＢＡの使用が一定の数量を上回る場合に、ＳＬＣメモリへの書き込み動作が進行することを阻止してもよい。この状況において、ＳＬＣメモリに割り当てられないようにされたＬＢＡは、代わりにＭＬＣメモリに割り当てられてもよい。ＬＢＡに関連付けられるデータが、ＳＬＣからＭＬＣへ（２２０）またはその逆へ（２１２）と移動する場合に、少なくとも本開示の一実施形態に従い、ＬＢＡに関連付けられる使用データは増分されない。
【００２９】
コントローラ１７０はさらに、メモリデバイス上で物理的ウェアレベリング動作を実行することができ、一方で、本開示の種々の実施形態に従い、ＭＬＣおよびＳＬＣメモリ内またはこのＭＬＣメモリとＳＬＣメモリとの間において、ＬＢＡに関連付けられるデータ移動が実行される。例えば、ＭＬＣメモリに割り当てられるＬＢＡは、さらにＭＬＣメモリに配置される別のＰＢＡに再び割り当てられてもよい。このため、ＬＢＡは、メモリ領域の同じ物理的メモリセルにおいて全書き込み動作を実行せずに、メモリ（例えばＭＬＣまたはＳＬＣ）の所望の領域にとどまる。同様の物理的ウェアレベリングはさらに、メモリのＳＬＣ領域で実行される。
【００３０】
図３〜図５は、本開示の一実施形態に従う、データ移動および書き込み動作を示す。図３は、メモリデバイス３００の双方向のインターリーブされた実施形態を図示する。この構成により、大きなデータを、２つのメモリチップで共有できる。しかし、本開示に従うメモリデバイスは、双方向のインターリーブされた設定に制限されない。図３のメモリデバイス３００は、コントローラ３０２、ＳＬＣメモリ３０６、ＭＬＣメモリ３０８および、ＳＬＣならびにＭＬＣメモリをコントローラ３０２に結合させるデータバス３０４を有するものとして示される。図３に示される実施形態では、ＳＬＣメモリ３０６は、２つのフラッシュＳＬＣメモリ集積回路（例えばチップ）３１０／３１２を含む。図３に示されるメモリデバイス３００のＭＬＣメモリ３０８は、２つのフラッシュＭＬＣメモリチップ３１４／３１６を含む。他の実施形態は、例えば、異なる数のＳＬＣおよびＭＬＣチップを有する。図３に示されるメモリデバイスは、本開示の実施形態を中心とするために簡略化されている。他のコンポーネントは、業者に公知であるようにメモリデバイス３００に含まれてもよい。
【００３１】
図３は、その割り当てられるＬＢＡおよびそれぞれの各使用データと共に、ＳＬＣメモリ３０６内の位置３２２を示す。図１について記載されるように、使用データは、ＬＢＡに関連付けられる位置に格納されてもよく、または、異なる位置１３６に格納されてもよい。図３の実施形態は、４つのＬＢＡがＳＬＣメモリに以前に割り当てられた一実施形態を図示する。他の実施形態は、所与の時間においてＭＬＣメモリに割り当てられるＬＢＡを有するのみでもよい。図３に示される本実施形態では、スペアのＳＬＣ位置の最小数は２である。しかし、本開示の実施形態は、２つのスペアの位置を保つということに制限されない。
【００３２】
図４は、図２のブロック２１４に示されるように、ＬＢＡがＳＬＣメモリに割り当てられる動作を図示する。この実施例では、移動動作は、新しいデータのための余地を確保するために、かつ、ＳＬＣメモリ３０６内の必要な２つのスペアの位置を維持できるように実行される。再び図２を参照すると、使用数の最も低いＬＢＡに関連付けられるデータは、ＳＬＣメモリ３０６における最小数のスペア位置を維持するために、ＭＬＣメモリに移動される（２２０）。この実施例では、位置３２２に割り当てられた、ＬＢＡ＝２（ＵＳＡＧＥ＝１を有する）に関連付けられるデータが、ＭＬＣメモリ３０８へ移動する（４１８）。図５は、関連付けられるデータがＳＬＣメモリ３０６に書き込まれる、ＬＢＡ＝７上の書き込み動作５２０を図示する。書き込み動作５２０および移動動作４１８は、いずれの順序で実行されてもよい。実施形態は、書き込み動作５２０の前に移動動作４１８が実行される必要がある、ということに制限されない。図５に示すように、２つの必要なスペアメモリ位置のうちの１つが、ＳＬＣメモリ内において効率的に再配置されている。しかし、書き込み動作５２０の終了時に、２つの必要なスペアの位置は、まだＳＬＣメモリ３０６に存在するように示される。本開示の種々の実施形態に従い、図３〜図５に示されるより多くのメモリ位置およびＬＢＡが可能であることに留意されたい。さらに、種々の実施形態に従う移動動作は、移動動作が望ましいことを決定するために使用されたＬＢＡと共に、多数のＬＢＡの移動を含んでもよい。例えば、いくつかの実施形態に従うと、メモリのいずれかのメモリセグメントが、複数の論理ブロック（例えば、４ＬＢＡ、８ＬＢＡ等）のアクセスと共に最も効率的に使用されるアーキテクチャを有する場合、種々の実施形態は、シングルＬＢＡによってＬＢＡ使用が追跡される場合でも、これらの種々のサイズのＬＢＡのグループを移動してもよい。例えば、ＬＢＡ＝１が移動されることが決定される場合、ＬＢＡ２、３、および４はさらに、本開示の種々の実施形態に従い、同じ動作の間、移動してもよい。
【００３３】
再び図１を参照すると、本開示に従う実施形態は、メモリデバイスをプロセッサ１１０等のホストに結合させるための標準的なインターフェース１７４を有する、メモリデバイス１００を組み込むことができる。ハードディスクドライブ（ＨＤＤ）に適合されるもの等の種々の種類の標準的なインターフェースが存在する。例えば、ＳＡＴＡおよびＰＡＴＡが一般的なＨＤＤインターフェースである。ＵＳＢおよびＳＤインターフェース等、さらなる標準的なＨＤＤに特化していないインターフェースもまた、当該技術に存在する。これらのおよび他の標準的なインターフェースおよびプロトコルを利用する本開示の実施形態は、これらのインターフェースを利用するために既に適合される現在存在するプロセッサおよびコントローラと共に使用可能である。
【００３４】
本開示に従う一実施形態では、インターフェース１７４およびコントローラ１７０は、標準的なＨＤＤインターフェースおよびプロトコルをエミュレートするように構成される。典型的には、ＨＤＤは、キャッシュメモリ（例えばＲＡＭ）および回転磁気媒体の両方を含む。典型的なＨＤＤと相互作用するホストは、データをＨＤＤデータキャッシュ内または磁気媒体上に格納する必要があるかどうかを決定する。例えば、ＦＡＴは、ＦＡＴが頻繁に更新される可能性があるため、多くの場合、ホストによってＨＤＤデータキャッシュに格納される。更新の可能性が低いデータは、ホストによって磁気媒体上に格納される。本開示のいくつかの実施形態に従い、ホスト１１０は、メモリデバイス１００が、典型的なＨＤＤではなく、そのため、メモリデバイス１００と通信する場合に標準的なＨＤＤコマンドを利用することを認識しない。本開示の実施形態に従うと、コントローラ１７０は、ホストからのデータおよび命令を受信し、従って、ＳＬＣ１３２および／またはＭＬＣ１３４メモリ内に格納を方向付けるように構成される。例えば、ホストがＨＤＤデータキャッシュ内に格納されると考えるＦＡＴテーブルは、代わりに、コントローラ１７０によってＳＬＣメモリ１３２内に格納される。ホスト１１０が、ＨＤＤ（例えばそれほど頻繁に更新されないデータ）の磁気媒体上に格納しようとするデータは、ＭＬＣメモリ１３４上に格納される。本開示の種々の実施形態に従うコントローラ１７０は、次に、使用テーブル１３６を更新でき、図２を参照して記載されるもの等のＬＢＡ上の動作を実行できる。例えば、図２の決定ブロック２１０を参照すると、ＭＬＣメモリ１３４に割り当てられるＬＢＡに関連付けられるデータを、ＬＢＡの使用の値がある特定の値を上回る場合に、ＳＬＣメモリ１３２（および、ＳＬＣ内の対応する位置に再び割り当てられるＬＢＡ）に移動可能である。
【００３５】
ＲＡＭキャッシュメモリおよび回転磁気媒体を有する、上記の標準的なＨＤＤインターフェースおよびプロトコルと同様の、別のＨＤＤインターフェースおよびプロトコルが存在する。このインターフェースおよびプロトコルは、Ｔ１３Ｔｅｃｈｎｉｃａｌ Ｃｏｍｍｉｔｔｅｅが管理する、「Ｎｏｎ Ｖｏｌａｔｉｌｅ Ｃａｃｈｅ ＣｏｍｍａｎｄＰｒｏｐｏｓａｌ ｆｏｒ ＡＴＡ８−ＡＣＳ」に記載される。ＡＴＡ８−ＡＣＳの提言は、回転媒体を有し、さらに、上記のように揮発性（例えば、ＲＡＭ）キャッシュメモリの代わりに不揮発性キャッシュメモリをも有する、従来のＨＤＤデバイスとのインターフェース接続について記載されている。本開示の種々の実施形態は、提言されたＡＴＡ８−ＡＣＳプロトコルも利用可能である。例えば、ホスト１１０は、ＡＴＡ８−ＡＣＳプロトコルに従い、ホスト１１０が不揮発性キャッシュメモリであると考えるものの中にデータが格納されるように命令する、不揮発性キャッシュコマンドの利用によって、指示してもよい。種々の実施形態のうちの１つ以上に従うコントローラ１７０は、ＡＴＡ８−ＡＣＳコマンドを解釈し、データをメモリデバイス１００のＳＬＣ（例えば、最も低密度）メモリ１３２に方向付ける。ホスト１１０が回転磁気媒体であると考えるものに、ホスト１１０が格納されるように方向付けるデータは、代わりに、メモリデバイス１００のＭＬＣ（例えば、より高密度）メモリ１３４へと、コントローラ１７０によって方向付けられる。ＡＴＡ８−ＡＣＳプロトコルに従い、ホスト１１０は、ホスト１１０がメモリデバイスの不揮発性キャッシュメモリ部分であると考えるものに、１つ以上のＬＢＡをピン付けしてもよい。種々の実施形態に従い、これらのＬＢＡは、ＳＬＣメモリ１３２、または本開示の実施形態に従うメモリデバイス１００の最も低密度のメモリにピン付けされる。
【００３６】
本開示の他の実施形態では、ホスト１１０は、メモリデバイス１００の真の特性（例えばフラッシュメモリ）を認識してもよい。この実施形態では、ホストは、メモリデバイスのために使用テーブルを保守でき、前述のように、かつ図２に示すように、種々の実施形態の種々の動作を実施するように、メモリデバイスコントローラ１７０に命令できる。例えば、ホスト１１０は、格納されるデータの特性に基づいて、メモリデバイスのＳＬＣメモリ１３２内にデータを格納するように、メモリデバイス１００に命令できる。例えば、ホスト１１０は、ＦＡＴへの頻繁な更新の可能性のために、メモリデバイス１００のＳＬＣメモリ１３２に格納されるように、メモリデバイス１００に対してＦＡＴを割り当ててもよい（２１４）。ホスト１１０はさらに、ＬＢＡが頻繁に使用され（例えば書き込まれ）ない可能性のために、メモリデバイスのＭＬＣメモリに格納されるように、データ２０６を方向付けてもよい。格納されるデータと共に、ホストはさらに、メモリデバイス１００内のデータの意図された送信先（例えばＳＬＣまたはＭＬＣ）を示すコントローラ１７０へ、インジケータ（例えばフラグ）を送信できる。
【００３７】
種々の実施形態に従い、ホストは、全てのＬＢＡをＳＬＣメモリに割り当て、全てのＬＢＡをＭＬＣメモリに割り当て、または、所与のＬＢＡが割り当てられるデータの特性に基づいて、動的に決定してもよい。例えば、データの特性は、所与のＬＢＡに関連付けられるデータの使用の公知のまたは予想される頻度を指してもよい。ＬＢＡが、ＳＬＣ、ＭＬＣに割り当てられるのであっても、または動的に割り当てられるのであっても、図２に示される動作は、本開示の種々の実施形態に従い、ＬＢＡ上で実行されてもよい。例えば、ＭＬＣメモリ１３４への移動動作２２０を、ＳＬＣメモリ１３２内のスペアの位置を十分な数量維持する（２１８）ために行うことが可能である。これらの動作を実行するためのホストによる決定は、ホスト１１０によって保守されるように、使用テーブルデータに基づいて行うことができる。ホスト１１０はさらに、メモリデバイス１００に含まれるＳＬＣおよびＭＬＣメモリの数量に関して、問い合わせることができる。本開示の実施形態はさらに、ＳＬＣ全体、ＭＬＣ全体またはＳＬＣおよびＭＬＣメモリの両方の組み合わせとして構成できるメモリデバイスを利用してもよい。ホストは、さらに、ＳＬＣおよびＭＬＣメモリの組み合わせとして構成されるデバイス内のＳＬＣおよびＭＬＣが指定されたメモリの間の区分に関して、問い合わせてもよい。
【００３８】
さらなる実施形態は、メモリデバイスコントローラ１７０またはホスト１１０が、使用テーブル１３６の利用の代わりにＳＬＣ１３２メモリへ方向付けられたポインタを維持できるようにする。ポインタは、当業者に公知である。これらの実施形態に従い、ＳＬＣ１３２メモリスペース内を進むシングルポインタが使用される。ＳＬＣメモリ１３２内に新しい位置が必要な場合、ポインタが参考にされ（ｃｏｎｓｕｌｔｅｄ）、ポインタによって参照される位置に現在あるＳＬＣデータが、次に、ＭＬＣメモリ１３４に再マッピングおよび移動される。ポインタによって参照されるＳＬＣ位置は、ＳＬＣメモリ１３２内に格納される新しいデータで上書きされ、ポインタは、次のＳＬＣメモリ１３２位置に進む。これらの実施形態はさらに、メモリデバイスまたはホストが、ＳＬＣメモリ内に残ることが適当であると考えるＳＬＣ（例えば、ＦＡＴ）へ、データをピン付けしてもよい。
【００３９】
図６は、本開示の一実施形態に従う、少なくとも１メモリデバイスを有する電子システムの機能ブロック図である。図６に示されるメモリデバイス６００は、プロセッサ６１０に連結される。プロセッサ６１０は、マイクロプロセッサまたはいくつかの他のタイプの制御回路にしてもよい。メモリデバイス６００およびプロセッサ６１０は、電子システム６２０の一部を形成する。メモリデバイス６００は、本開示の実施形態を理解するために役立つメモリデバイスの特徴を中心とするために、簡略化されている。
【００４０】
メモリデバイス６００は、行および列のバンクに構成可能なメモリセルアレイ６３０を含む。メモリアレイ６３０は、異なる密度を有する少なくとも２つのメモリアレイ６３２／６３４を含む。メモリアレイセグメント６３２は、ＳＬＣまたはＭＬＣ（４つのレベル）メモリであってもよく、メモリアレイセグメント６３４は、例えばＭＬＣ（８つのレベル）メモリであってもよい。１つ以上の実施形態に従うと、これらのメモリセルは、フラッシュメモリセルである。各アレイ６３２／６３４は、複数のバンクおよびメモリセルブロックで構成できる。
【００４１】
アドレスバッファ回路６４０は、アドレス入力接続Ａ０〜Ａｘ ６４２上に提供されるアドレス信号をラッチするために提供される。アドレス信号は、メモリアレイ６３０にアクセスするために、行デコーダ６４４および列デコーダ６４６によって受信および復号化される。当業者により、本記載の利点により、アドレス入力接続の数は、メモリアレイ６３０の密度およびアーキテクチャに依存することが理解される。つまり、アドレス数は、増加したメモリセル数および増加したバンクおよびブロック数の両方と共に増加する。
【００４２】
メモリデバイス６００は、感知／データキャッシュ回路６５０を使用してメモリアレイ列内の電圧または電流の変化を感知することで、メモリアレイ６３０内のデータを読み込む。一実施形態では、感知／データキャッシュ回路６５０は、メモリアレイ６３０からのデータ行を読み込みおよびラッチするために、連結される。データ入力および出力バッファ回路６６０は、プロセッサ６１０との、複数のデータ接続６６２による双方向データ通信のために含まれる。書き込み回路６５５は、メモリアレイ６３０にデータを書き込むために提供される。
【００４３】
制御回路６７０は、使用テーブルブロック６６０に連結されてさらに示される。本開示の種々の実施形態に従う使用テーブル６６０は、メモリアレイ６３０のＬＢＡの使用に関するデータを格納する。使用テーブルブロック６６０は、図６に示すように、揮発性メモリ６７４および不揮発性メモリ６７６の両方を利用する個別のメモリデバイスでもよい。しかし、本開示の種々の実施形態はそのように制限されない。他の実施形態は、ＬＢＡの使用データを格納するために、メモリアレイ６３０を利用してもよい。使用データは、メモリアレイ６３０の専用の位置に常駐してもよい、または、メモリアレイ６３０内のＬＢＡに対応する位置に格納されてもよい。
【００４４】
制御回路６７０は、部分的には、本開示の種々の実施形態の特徴を実施するために構成される。一実施形態では、制御回路６７０はステートマシンを利用してもよい。１つ以上の実施形態に従い、制御回路６７０、アドレス回路６４０、入出力回路６６０、行復号６４４、書き込み／消去６５５、列復号６４６および感知／データキャッシュ６５０の機能ブロックは、図１に示されるコントローラ１７０を含んでもよい。制御信号およびコマンドは、コマンドバス６７２を通じてメモリデバイス６００へ、プロセッサ６１０によって送信可能である。コマンドバス６７２は、個別の信号にしてもよい、または、複数の信号（例えばコマンドバス）で構成してもよい。これらのコマンド信号６７２は、データ読み込み、データ書き込み（プログラム）、および消去動作を含む、メモリアレイ６３０上の動作の制御に使用される。コマンドバス６７２、アドレスバス６４２およびデータバス６６２は、多数の標準的なインターフェース６７８を形勢するために、全てを組み合わせてもよい、または、部分的に組み合わせてもよい。例えば、メモリデバイス６００およびプロセッサ６１０の間のインターフェース６７８は、ユニバーサルシリアルバス（ＵＳＢ）インターフェースにしてもよい。インターフェース６７８はさらに、多くのハードディスクドライブ（ＨＤＤ）で使用される標準的なインターフェースにしてもよい。例えば、インターフェースは、ＳＡＴＡまたはＰＡＴＡインターフェースの形態を取ってもよい。他のＨＤＤインターフェースも、当業者に公知である。
【００４５】
［結論］本開示の種々の実施形態は、ＳＬＣおよびＭＬＣメモリの両方を有するハイブリッドメモリデバイスに格納されている論理ブロックアドレスの追跡された使用に基づいて、論理ブロックアドレスを管理する方法を示す。さらに、複数の論理ブロックアドレス管理動作を実行するために構成された装置が開示され、ハイブリッドメモリデバイスに格納される論理ブロックアドレスの追跡された使用に応じて動作が実行される。
【００４６】
本明細書に特定の実施形態を図示および記述したが、当業者は、同じ目的を達成するために計画された任意の変形を、示されている特定の実施形態の代わりに利用できることを理解されよう。本願は、本発明のいずれかの適用または変更を含有することを意図する。従って、本発明は特許請求の範囲およびその同等物によってのみ制限されることが、明示的に意図されている。
【符号の説明】
【００４７】
１００  メモリデバイス
１１０  プロセッサ
１３２  ＳＬＣメモリアレイ
１３４  ＭＬＣメモリアレイ
１３６  使用テーブル
１７０  コントローラ
３００  メモリデバイス
３０２  コントローラ
３０６  ＳＬＣメモリ
３０８  ＭＬＣメモリ
３１０、３１２  フラッシュＳＬＣメモリチップ
３１４、３１６  フラッシュＭＬＣメモリチップ
６００  メモリデバイス
６１０  プロセッサ
６２０  電子システム
６３０  メモリアレイ
６３２  ＳＬＣメモリアレイセグメント
６３４  ＭＬＣメモリアレイセグメント
６４０  アドレス回路
６４４  行復号回路
６４６  列復号回路
６５０  感知／データキャッシュ回路
６５５  書き込み／消去回路
６６０  入出力回路
６７０  制御回路
６７４  揮発性メモリ
６７６  不揮発性メモリ
【図１】
2014116031.tif 000003
【図２】
2014116031.tif 000004
【図３】
2014116031.tif 000005
【図４】
2014116031.tif 000006
【図５】
2014116031.tif 000007
【図６】
2014116031.tif 000008