(57)【特許請求の範囲】
【請求項１】
メモリコントローラであって、
それに関連するプレーンの複数のグループを有する１つ以上のメモリデバイスに結合される制御回路であって、各グループは、スーパーブロックに体系化される物理ブロックの少なくとも２つのプレーンを含み、各スーパーブロックとともに、前記少なくとも２つのプレーンの各々からの１つの物理ブロックを含み、
書き込み動作に関連する第１の未割り当ての論理ブロックアドレス（ＬＢＡ）を受信し、
前記書き込み動作に関連するデータを受信するために、維持されている、前記複数のグループの各々の中の使用可能な空いているブロックの数に基づき、前記複数のグループのうちの選択された１つの内部の特定の空いているスーパーブロックを判定し、
前記第１の未割り当てのＬＢＡに対応する全ての以降の書き込み動作に関連するデータが、それぞれ割り当てられたグループ内部の空いているスーパーブロックに書き込まれるように、前記複数のグループのうちの選択された１つを、前記第１の未割り当てのＬＢＡに割り当て、
前記複数のグループの各々に対して、各グループの中の使用可能な空いているスーパーブロックの数を追跡し、
前記スーパーブロックのうちのどれが古いデータを有するかを判定し、
古いデータを有する前記スーパーブロックがいつ消去されるかを判定し、
前記複数のグループの各々に対して、前記グループがいかなる空いているスーパーブロックをも含まなくなるまで、古いデータを有する前記スーパーブロックが消去されることを防止するように構成される、制御回路を備える、メモリコントローラ。
【請求項２】
前記制御回路は、
消去されたスーパーブロックを、特定の時点で、かつグループごとの方式で、各グループの中の使用可能な空いているスーパーブロックの前記数に追加するように構成される、請求項１に記載のメモリコントローラ。
【請求項３】
前記制御回路は、前記複数のグループの各々に対して、前記グループがいかなる空いているスーパーブロックをも含まなくなるまで、前記消去されたスーパーブロックが、前記グループの中の使用可能な空いているスーパーブロックの前記数に追加されることを防止するように構成される、請求項２に記載のメモリコントローラ。
【請求項４】
前記制御回路は、
以降の書き込み動作に関連する、前記第１の未割り当てのＬＢＡとは異なる未割り当てのＬＢＡを受信し、
前記以降の書き込み動作に関連するデータを受信するために、前記複数のグループのうちの選択された１つの内部の特定の空いているスーパーブロックを判定するように構成される、請求項３に記載のメモリコントローラ。
【請求項５】
前記制御回路は、前記以降の書き込み動作に関連するデータを受信するために、ラウンドロビン方式で、前記複数のグループのうちの前記１つを選択するように構成される、請求項４に記載のメモリコントローラ。
【請求項６】
前記以降の書き込み動作に関連する前記複数のグループのうちの前記選択された１つは、前記書き込み動作に関連する前記複数のグループのうちの前記選択された１つとは異なる、請求項４に記載のメモリコントローラ。
【請求項７】
前記制御回路は、少なくとも部分的に、前記複数のグループの各々に対する、使用されているスーパーブロックに対する空いているスーパーブロックの比率に基づいて、前記書き込み動作に関連するデータを受信するために、前記複数のグループのうちの前記１つを選択するように構成される、請求項１から４のいずれか１項に記載のメモリコントローラ。
【請求項８】
前記制御回路は、以前に未割り当てのＬＢＡに対応する全ての以降の書き込み動作に関連するデータが、前記それぞれ割り当てられたグループ内部の空いているスーパーブロックに書き込まれるように、前記書き込み動作以降に、前記複数のグループのうちの前記それぞれ選択された１つを、前記以前に未割り当てのＬＢＡに割り当てるように構成される、請求項１から４のいずれか１項に記載のメモリコントローラ。
【請求項９】
メモリシステムにおけるブロック選択のための方法であって、
第１の書き込み動作に関連して第１の論理ブロックアドレス（ＬＢＡ）を受信することと、
前記第１の書き込み動作に対応するデータを、プレーンの複数のグループのうちの選択されたグループ内部のいくつかのスーパーブロックのうちの選択された空いているスーパーブロックに書き込むことと、
前記複数のグループの各々に対して、前記グループがいかなる空いているスーパーブロックをも含まなくなるまで、古いデータを有する前記スーパーブロックが消去されることを防止することと、を含み、
前記グループの各々は、少なくとも２つのプレーンの収集物で、前記スーパーブロックの各々とともに、前記少なくとも２つのプレーンの各々からの１つの物理ブロックのそれぞれの収集物であり、
前記第１のＬＢＡは、特定のスーパーブロックに予め割り当てられておらず、かつプレーンの前記複数のグループのうちの特定の１つに予め割り当てられていない、方法。
【請求項１０】
少なくとも部分的に、他のグループの各々の中の空いているスーパーブロックの数と前記それぞれ選択されたグループの中の空いているスーパーブロックの数との比較に基づいて、前記第１の書き込み動作に関連する前記選択されたグループを選択することを含む、請求項９に記載の方法。
【請求項１１】
各グループに対して、
前記グループの中の空いているスーパーブロックの数を追跡することと、
スーパーブロックが書き込まれた以降に、空いているスーパーブロックのリストから、前記スーパーブロックを削除することと、
前記スーパーブロックが消去された以降に、空いているスーパーブロックの前記リストに前記スーパーブロックを追加することと、を含む、請求項９から１０のいずれか１項に記載の方法。
【請求項１２】
前記複数のグループの各々から少なくとも１つのスーパーブロックを実質的に同時に消去することによって、前記メモリシステム上で消去動作を実行することを含む、請求項９から１０のいずれか１項に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、概して、半導体メモリデバイス、方法、およびシステムに関し、より具体的には、メモリブロックの選択に関する。
【背景技術】
【０００２】
メモリデバイスは、典型的に、コンピュータまたは他の電子デバイスの中の内部の、半導体、集積回路として提供される。揮発性および不揮発性メモリを含む、多種多様なメモリが存在する。揮発性メモリは、そのデータを維持するために電源を要求する可能性があり、数ある中でも、ランダムアクセスメモリ（ＲＡＭ）、ダイナミックランダムアクセスメモリ（ＤＲＡＭ）、およびシンクロナスダイナミックランダムアクセスメモリ（ＳＤＲＡＭ）が挙げられる。不揮発性メモリは、電源に接続されていない時に記憶された情報を保持することによって永続的データを提供することができ、数ある中でも、ＮＡＮＤフラッシュメモリ、ＮＯＲフラッシュメモリ、読み出し専用メモリ（ＲＯＭ）、電気的消去可能プログラマブルＲＯＭ（ＥＥＰＲＯＭ）、消去可能プログラマブルＲＯＭ（ＥＰＲＯＭ）、および相変化ランダムアクセスメモリ（ＰＣＲＡＭ）を挙げることができる。
【０００３】
メモリデバイスは、ソリッドステートドライブ（ＳＳＤ）を形成するように一体化することができる。ソリッドステートドライブは、多様な他のタイプの不揮発性および揮発性メモリの中でも、例えば、ＮＡＮＤフラッシュメモリおよびＮＯＲフラッシュメモリ等の不揮発性メモリを含むことができ、かつ／または、例えば、ＤＲＡＭおよびＳＲＡＭ等の揮発性メモリを含むことができる。
【０００４】
ソリッドステートドライブは、性能、サイズ、重量、耐久性、動作温度範囲、電力消費の点においてハードドライブに優る利点を有することができるため、ＳＳＤは、ハードディスクドライブに代わって、コンピュータ用の主記憶装置として使用することができる。例えば、ＳＳＤは、稼動部がないことに起因して、磁気ディスクドライブに比較すると優れた性能を有することができ、磁気ディスクドライブに関連する、シーク時間、待ち時間、および他の電気機械的遅延を改善する場合がある。ＳＳＤ製造者は、内部のバッテリー電源を使用しなくてもよいフラッシュＳＳＤを作成するために不揮発性フラッシュメモリを使用することができ、これによって、ドライブの多用途化および小型化を可能にする。
【０００５】
ＳＳＤは、いくつかのメモリデバイス、例えば、いくつかのメモリチップを含むことができる（本明細書に使用される「いくつかの」物とは１つ以上の該当物を参照することができ、例えば、いくつかのメモリデバイスは、１つ以上のメモリデバイスを参照することができる）。当業者が理解するであろうように、メモリチップがいくつかのダイを含むことができる。各ダイは、いくつかのメモリアレイおよびその上の周辺回路を含むことができる。メモリアレイは、いくつかのプレーンを含むことができ、各プレーンとともに、メモリセルのいくつかの物理ブロックを含む。各物理ブロックは、データのいくつかのセクタを記憶することができる、メモリセルのいくつかのページを含むことができる。
【０００６】
ＳＳＤ内のメモリブロック選択は、例えば、どの物理ブロックにデータを書き込むか、およびどの物理ブロックを消去するか、ならびに物理ブロックが書き込まれかつ消去される順番を判定することが関与する可能性がある。ＳＳＤの中で使用されるメモリセルは、有限数の書き込み‐消去サイクルに限定される可能性があり、これはドライブの寿命を決定する可能性がある。このように、メモリブロックの選択効率および割り当て効率を改善することは、ＳＳＤの寿命を増加することができる。
【図面の簡単な説明】
【０００７】
【図１】複数の物理ブロックを含み、本開示の１つ以上の実施形態に従って動作できる、メモリアレイの図である。
【図２】本開示の１つ以上の実施形態に従って動作することができる、プレーンの複数のグループを有するいくつかのメモリデバイスを示す図である。
【図３】本開示の１つ以上の実施形態に従うメモリシステムの機能ブロック図である。
【図４Ａ】本開示の１つ以上の実施形態に従うメモリブロックの選択を示す機能ブロック図である。
【図４Ｂ】本開示の１つ以上の実施形態に従うメモリブロックの選択を示す機能ブロック図である。
【図４Ｃ】本開示の１つ以上の実施形態に従うメモリブロックの選択を示す機能ブロック図である。
【図４Ｄ】本開示の１つ以上の実施形態に従うメモリブロックの選択を示す機能ブロック図である。
【発明を実施するための形態】
【０００８】
本開示は、メモリブロックの選択のための方法およびデバイスを含む。１つ以上の実施形態において、メモリコントローラは、それに関連するプレーンの複数のグループを有する１つ以上のメモリデバイスに結合される制御回路を含み、各グループは、スーパーブロックに体系化される物理ブロックの少なくとも２つのプレーンを含み、各スーパーブロックとともに、少なくとも２つのプレーンの各々から１つの物理ブロックを含む。制御回路は、書き込み動作に関連する第１の未割り当ての論理ブロックアドレス（ＬＢＡ）を受信し、書き込み動作に関連するデータを受信するために、複数のグループのうちの選択された１つの内部で特定の空いているスーパーブロックを判定するように構成される。
【０００９】
本開示の以下の発明を実施するための形態では、本明細書の一部を形成し、その中で、本開示の１つ以上の実施形態がどのように実践される場合があるかを例として示す、添付の図面を参照する。これらの実施形態は、当業者が本開示の実施形態を実践することを可能にするように十分な詳細が説明され、他の実施形態が利用されてもよいこと、および本開示の範囲を逸脱することなく、プロセス、電気的、および／または構造的変更が行われてもよいことが理解される。本明細書に使用される場合、指定子「Ｍ」、「Ｎ」、「Ｓ」、「Ｒ」および「Ｂ」は、特に図面の参照番号に関して、そのように指定されるいくつかの特定の特徴が、本開示の１つ以上の実施形態と共に含まれる可能性があることを示す。指示子は、特定の特徴の同じまたは異なる数を表すことができる。
【００１０】
本明細書中の図面は、図面番号に対応する上位の桁は、図面の図番号に対応し、残りの桁は、図面の中の要素または構成要素を識別するという、番号規則に従う。異なる図面間の同様な要素または構成要素は、同様な数字の使用によって識別される場合がある。例えば、１１０は、図１の要素「１０」を参照する場合があり、類似要素が、図２の２１０として参照される場合がある。理解されるように、本明細書の多様な実施形態に示される要素は、本開示のいくつかの追加の実施形態を提供するように、追加、交換、および／または削除することができる。加えて、理解されるように、図面の中に提供される要素の比率および相対スケールは、本開示の実施形態を図示することを目的とし、限定の意味で解釈されてはならない。
【００１１】
図１は、複数の物理ブロック１０４‐０（ブロック０）、１０４‐１（ブロック１）、・・・、１０４‐Ｂ（ブロックＢ）を含み、本開示の１つ以上の実施形態に従って動作され得る、メモリアレイ１０２の図である。図１には示されていないが、当業者は、メモリアレイ１０２を、その動作に関連する多様な周辺回路に加えて、特定の半導体ダイ上に配置することができることを理解するであろう。
【００１２】
図１に示される例において、インジケータ「Ｂ」は、アレイ１０２がいくつかの物理ブロックを含むことができることを示すために使用される。例として、アレイ１０２の中の物理ブロックの数は、１２８ブロック、５１２ブロック、または１，０２４ブロックであってもよいが、実施形態は、１２８の特定の倍数、またはアレイ１０２の中の物理ブロックの任意の特定の数に限定されない。さらに、実施形態は、例えば、不揮発性、揮発性等、アレイの中で使用されるメモリのタイプに限定されない。図１に示される実施形態において、メモリアレイ１０２は、例えば、ＮＡＮＤフラッシュメモリアレイ１０２とすることができる。
【００１３】
この例において、各物理ブロック１０４‐０、１０４‐１、・・・、１０４‐Ｂは、ユニットとして一緒に消去することができるメモリセルを含み、例えば、各物理ブロックの中のセルは、実質的に同時の様式で消去でき。例えば、各物理ブロックの中のセルは、単一の動作で一緒に消去することができる。各物理ブロック、例えば、１０４‐０、１０４‐１、・・・、１０４‐Ｂは、アクセスライン、例えば、ワード線に結合されるメモリセルのいくつかの物理列、例えば、１０６‐０、１０６‐１、・・・、１０６‐Ｒを包含する。インジケータ「Ｒ」は、物理ブロック、例えば、１０４‐０、１０４‐１、・・・、１０４‐Ｂがいくつかの列を含むことができることを示すために使用される。いくつかの実施形態において、各物理ブロックの中の列、例えば、ワード線の数は、３２とすることができるが、実施形態は、物理ブロックあたりの列１０６‐０、１０６‐１、・・・、１０６‐Ｒの特定の数に限定されない。
【００１４】
当業者が理解するように、各列１０６‐０、１０６‐１、・・・、１０６‐Ｒは、データの１つ以上のページを記憶することができる。ページとは、プログラミングおよび／または読み出しの単位、例えば、一緒にまたはメモリセルの機能グループとしてプログラムおよび／または読み出されるいくつかのセルを言う。図１に示される実施形態において、各列１０６‐０、１０６‐１、・・・、１０６‐Ｒは、１ページのデータを記憶する。しかしながら、本開示の実施形態はそのように限定されない。例えば、本開示のいくつかの実施形態において、各列は、複数ページのデータを記憶することができる。
【００１５】
本開示の１つ以上の実施形態において、および図１に示されるように、列１０６‐０、１０６‐１、・・・、１０６‐Ｒに関連するページは、データのいくつかの物理セクタ１０８‐０、１０８‐１、・・・、１０８‐Ｓに応じて、データを記憶することができる。インジケータ「Ｓ」は、例えば、１０６‐０、１０６‐１、・・・、１０６‐Ｒ等の列がいくつかの物理セクタを含むことができることを示すために使用される。各物理セクタ１０８‐０、１０８‐１、・・・、１０８‐Ｓは、論理セクタに対応することができ、エラー修正コード（ＥＣＣ）情報、および論理ブロックアドレス（ＬＢＡ）情報等のオーバーヘッド情報、ならびにユーザデータを含むことができる。当業者が理解するように、論理ブロックアドレッシングは、情報の論理セクタを識別するために、ホストによってしばしば使用されるスキーマである。例として、論理セクタは、例えば、２５６バイト、５１２バイト、または１，０２４バイト等、データのいくつかのバイトを表す情報を記憶することができる。実施形態はこれらの例に限定されない。
【００１６】
物理ブロック１０４‐０、１０４‐１、・・・、１０４‐Ｂ、列１０６‐０、１０６‐１、・・・、１０６‐Ｒ、セクタ１０８‐０、１０８‐１、・・・、１０８‐Ｓおよびページに対する他のフォーマットおよび／または構成が可能であることに注意する。例えば、物理ブロック１０４‐０、１０４‐１、・・・、１０４‐Ｂの列１０６‐０、１０６‐１、・・・、１０６‐Ｒは、例えば、おおよそ５１２バイトのデータを含むことができる、単一の論理セクタを含むことができる。
【００１７】
図２は、本開示の１つ以上の実施形態に従って動作することができる、プレーンの複数のグループを有するいくつかのメモリデバイスを示す図である。本明細書に説明される１つ以上の実施形態に従い、メモリセルの物理ブロックのプレーンは、メモリブロックの選択の目的のためにグループに体系化される。１つ以上の実施形態において、グループは、１つ以上の異なるメモリアレイからいくつかのプレーンを含むことができる。１つ以上の実施形態において、１つのグループに対応する１つ以上のプレーンは、異なるメモリデバイスからとすることができる。
【００１８】
図２に示される実施形態は、４つのメモリデバイス２３０‐０、２３０‐１、２３０‐２、および２３０‐３を含む。メモリデバイス２３０‐０、２３０‐１、２３０‐２、および２３０‐３の組み合わせは、図３に関連して本明細書にさらに説明するメモリユニット３２５等のメモリユニットとして参照できる。１つ以上の実施形態において、メモリデバイス２３０‐０、２３０‐１、２３０‐２、および２３０‐３は、ソリッドステートドライブ（ＳＳＤ）のメモリユニットを形成する。
【００１９】
メモリデバイス２３０‐０、２３０‐１、２３０‐２、および２３０‐３は各々、チップあたり複数のダイを含む半導体メモリチップとすることができる。当業者は、特定のチップ上の各ダイがメモリアレイに加えてその動作に関連する多様な周辺回路（図２には図示せず）を含むことができることを理解するであろう。
【００２０】
図２に図示される実施形態において、各メモリデバイス２３０‐０、２３０‐１、２３０‐２、および２３０‐３は、２つのメモリアレイ２０２‐０および２０２‐１（それぞれ、ダイ０およびダイ１として示される）を含む。各メモリアレイ２０２‐０および２０２‐１は、図１に関して説明されたアレイ１０２等のフラッシュメモリアレイとすることができる。例えば、各メモリアレイ２０２‐０および２０２‐１は、図１に示されたブロック１０４‐０、１０４‐２、・・・、１０４‐Ｂ等のメモリセルの複数の物理ブロックを含む。
【００２１】
当業者が理解するであろうように、例えば、２０２‐０および２０２‐１等のアレイの物理ブロックは、複数のプレーンに体系化することができる。例えば、図２に図示される実施形態において、メモリアレイの各々は、物理ブロックの第１のプレーン（プレーン０）および物理ブロックの第２のプレーン（プレーン１）に分割される。しかしながら、本開示の実施形態は、アレイあたり特定の数のプレーンに限定されない。例えば、多様な実施形態において、メモリアレイは、１つのプレーンだけを含んでもよく、または２つを超えるプレーンを含んでもよい。
【００２２】
図２に示される実施形態において、メモリデバイス２３０‐０、２３０‐１、２３０‐２、および２３０‐３に関連する物理ブロックのプレーンは、２つのグループ、例えば、２４０‐０（グループ０）および２４０‐１（グループ１）に体系化される。図２に図示される実施形態において、各グループ２４０‐０および２４０‐１は、４つのメモリアレイの各々からのプレーンの各々を含む。例えば、グループ２４０‐０は、４つのメモリデバイス２３０‐０、２３０‐１、２３０‐２、および２３０‐３の各々の内部のアレイ２０２‐０（ダイ０）のプレーン（プレーン０およびプレーン１）を含む。グループ２４０‐１は、４つのメモリデバイス２３０‐０、２３０‐１、２３０‐２、および２３０‐３の各々の内部のアレイ２０２‐１（ダイ１）のプレーン（プレーン０およびプレーン１）を含む。
【００２３】
実施形態は、図２に示される例に限定されない。例えば、１つ以上の実施形態において、グループは、単一のアレイ内部のプレーンの収集物を含むことができる。例として、１つのグループは、デバイス２３０‐０のアレイ２０２‐０のプレーン０およびプレーン１を含むことができ、別のグループは、デバイス２３０‐０のアレイ２０２‐１のプレーン０およびプレーン１を含むことができ、別のグループは、デバイス２３０‐１のアレイ２０２‐０のプレーン０およびプレーン１を含むことができる。
【００２４】
いくつかの実施形態において、グループは、単一のメモリデバイスの異なるアレイ内部にいくつかのプレーンを含むことができる。例として、１つのグループは、デバイス２３０‐０のアレイ２０２‐０のプレーン０およびアレイ２０２‐１のプレーン０を含むことができ、別のグループは、デバイス２３０‐０のアレイ２０２‐０のプレーン１およびアレイ２０２‐１のプレーン１を含むことができる。別の例として、１つのグループは、デバイス２３０‐０のアレイ２０２‐０のプレーン０およびプレーン１ならびにアレイ２０２‐１のプレーン０およびプレーン１を含むことができ、別のグループは、デバイス２３０‐１のアレイ２０２‐０のプレーン０およびプレーン１ならびにアレイ２０２‐１のプレーン０およびプレーン１を含むことができる。
【００２５】
例えば、２０２‐０および２０２‐１等のアレイが複数のプレーンを含む実施形態において、プレーンのグループは、いくつかの実施形態においては、異なるメモリデバイスの１つ以上のアレイの各々から１つのプレーンを含んでもよい。例えば、図２を参照すると、１つ以上の実施形態において、いくつかのグループの各々は、４つのそれぞれのメモリデバイス内部の４つのメモリアレイの各々から１つのプレーンの収集物を含むことができる。例えば、１つのグループは、４つのメモリデバイス２３０‐０、２３０‐１、２３０‐２、および２３０‐３の各々内部のアレイ２０２‐０（ダイ０）のプレーン０を含むことができる。第２のグループは、４つのメモリデバイス２３０‐０、２３０‐１、２３０‐２、および２３０‐３の各々内部のアレイ２０２‐０（ダイ０）のプレーン１を含むことができる。第３のグループは、４つのメモリデバイス２３０‐０、２３０‐１、２３０‐２、および２３０‐３の各々内部のアレイ２０２‐１（ダイ１）のプレーン０を含むことができ、第４のグループは、４つのメモリデバイス２３０‐０、２３０‐１、２３０‐２、および２３０‐３の各々内部のアレイ２０２‐１（ダイ１）のプレーン１を含むことができる。
【００２６】
１つ以上の実施形態において、および図２に図示されるように、グループ２４０‐０および２４０‐１は各々、例えば、スーパーブロック０、スーパーブロック１、・・・、スーパーブロックＮ等、それに関連するいくつかのスーパーブロックを有する。本明細書に使用される場合、スーパーブロックとは、対応するグループ内部の各プレーンからの１つの物理ブロックを含む、物理ブロックの収集物を示すことができる。１つ以上の実施形態において、スーパーブロックは、複数のメモリデバイス全体に及ぶことができる。例えば、スーパーブロックは、対応するグループ内部に、異なるメモリデバイス内部の少なくとも２つのメモリアレイの各々の内部のプレーンからの１つの物理ブロックを含む、物理ブロックの収集物とすることができる。
【００２７】
実施形態は、グループあたり特定の数のスーパーブロックに限定されない。例として、１つのグループ、例えば、２４０‐０および２４０‐１は、グループあたり６４、５１２、または１，０２４のスーパーブロックを含むことができる。図２に図示された実施形態において、グループ２４０‐０に関連するスーパーブロック２４５‐０、２４５‐１、・・・、２４５‐Ｎは各々、例えば、４つのそれぞれのメモリデバイス２３０‐０、２３０‐１、２３０‐２、および２３０‐３に関連するダイ０等、４つのアレイ２０２‐０の各々からのいくつかの物理ブロックを含む物理ブロックのそれぞれの収集物である。また、グループ２４０‐１に関連するスーパーブロック２４５‐０、２４５‐１、・・・、２４５‐Ｎは各々、４つのアレイ２０２‐１、例えば、４つそれぞれのメモリデバイス２３０‐０、２３０‐１、２３０‐２、および２３０‐３に関連するダイ１、の各々からのいくつかの物理ブロックを含む物理ブロックのそれぞれの収集物、である。
【００２８】
本開示の１つ以上の実施形態において、スーパーブロックは、特定のグループに対応するいくつかのプレーンの各々に対して、プレーンあたり１つの物理ブロックの収集物とすることができる。例えば、図２に図示される実施形態において、スーパーブロック２４５‐０、２４５‐１、・・・、２４５‐Ｎの各々は、８つの物理ブロック（グループの４つの異なるメモリデバイス２３０‐０、２３０‐１、２３０‐２、および２３０‐３の各アレイ２０２‐０に対してプレーンあたり１つのブロック）のそれぞれの収集物であり得る。
【００２９】
しかしながら、１つ以上の実施形態において、スーパーブロックは、例えば、２０２‐０および２０２‐１等の所与のメモリアレイの中のあらゆるプレーンから１つの物理ブロックを含む必要はない。例えば、図２に図示される実施形態において、スーパーブロック２４５‐０、２４５‐１、・・・、２４５‐Ｎの各々は、例えば、グループの４つの異なるメモリデバイス２３０‐０、２３０‐１、２３０‐２、および２３０‐３の各アレイ２０２‐０の中のプレーンのうちの１つからの１つのブロック、または４つの異なるメモリデバイス２３０‐０、２３０‐１、２３０‐２、および２３０‐３の各アレイ２０２‐１の中のプレーンのうちの１つからの１つのブロック等、４つの物理ブロックのそれぞれの収集物とすることができる。
【００３０】
多様な実施形態において、消去動作は、スーパーブロックの物理ブロック上で同時に実行することができる。つまり、特定のスーパーブロックの物理ブロックの収集物は、実質的に同時に消去することができる。また、多様な実施形態において、特定のスーパーブロックに関連する物理ブロックのページは、同時に読み出しおよび書き込みすることができる。
【００３１】
本開示の実施形態は、図２に図示される例に限定されない。例えば、１つ以上の実施形態において、グループは、おおよそ４つぐらいのメモリアレイ内部の物理ブロックのプレーンを含むことができる。例として、図２に示される実施形態は、次のように４つのグループに体系化できる可能性がある。第１のグループは、メモリデバイス２３０‐０および２３０‐１内部のアレイ２０２‐０（ダイ０）のプレーンを含むことができる可能性があり、第２のグループは、メモリデバイス２３０‐２および２３０‐３内部のアレイ２０２‐０（ダイ０）のプレーンを含むことができる可能性があり、第３のグループは、メモリデバイス２３０‐０および２３０‐１内部のアレイ２０２‐１（ダイ１）のプレーンを含むことができる可能性があり、第４のグループは、メモリデバイス２３０‐２および２３０‐３内部のアレイ２０２‐１（ダイ１）のプレーンを含むことができる可能性がある。この例において、４つのグループに関連するスーパーブロックは、２つの物理ブロック（特定のグループに関連する２つのアレイの各々から１つの物理ブロック）を含むことができる可能性があるか、または４つの物理ブロック（特定のグループに関連する２つのアレイの各々に対して、プレーンあたり１つの物理ブロック）を含むことができる可能性がある。例として、４つの物理ブロック（特定のグループに関連する２つのアレイの各々に対してプレーンあたり１つの物理ブロック）のスーパーブロックは、物理ブロックあたり１２８ページ、およびページあたり８つの物理セクタ（４ＫＢページを想定）、合計でスーパーブロックあたり４，０９６物理セクタを含むことができる。この例において、ＬＢＡの４，０９６アドレスの範囲を、特定の４，０９６セクタの物理スーパーブロックにマップすることができる。しかしながら、本開示の実施形態は、特定のページ、サイズ、セクタサイズ、および／または物理ブロックサイズに限定されない。例えば、実施形態は、スーパーブロックあたり特定の数のセクタに限定されない。
【００３２】
１つ以上の実施形態において、例えば、２４５‐０から２４５‐Ｎ等の特定のスーパーブロック内の物理ブロックは、異なるブロック位置番号を有することができる。つまり、特定のスーパーブロック内部の物理ブロックは、例えば、２４０‐０および２４０‐１等の所与のグループに対応するプレーン内部の異なる場所に位置付けることができる。１つの例として、グループ２４０‐０のスーパーブロック２４５‐０に対応する物理ブロックを検討する。スーパーブロック２４５‐０に対応する物理ブロックの収集物は、デバイス２３０‐０のアレイ２０２‐０の上位部分近傍に位置付けられる物理ブロックを含むことができ、かつ、デバイス２３０‐１、２３０‐２、および２３０‐３のアレイ２０２‐０の中位または下位部分近傍に位置付けられる物理ブロックを含むことができる。
【００３３】
図３に関して以下にさらに説明するように、ソリッドステートドライブ等のメモリシステムは、メモリアクセスデバイス、例えば、ラップトップ、ＰＣ、メディアプレーヤ、デジタルカメラ等のホストデバイスのプロセッサから、データ書き込み動作に関連する論理ブロックアドレス（ＬＢＡ）を受信することが可能なコントローラを含むことができる。コントローラは次いで、書き込み動作に対応するデータが書き込まれる特定の物理的場所、例えば、物理ブロックアドレス（ＰＢＡ）を判定することができる。コントローラは、データが書き込まれる空いているブロックの場所を判定するための多様な方法を使用してもよい。例えば、ＬＢＡを空いているＰＢＡにマッピングするための１つ以上の参照テーブル（ＬＵＴ）が維持されてもよい。
【００３４】
図３は、本開示の１つ以上の実施形態に従うメモリシステム３００の機能ブロック図である。１つ以上の実施形態において、システム３００は、ソリッドステートドライブである。つまり、図３の実施形態は、ソリッドステートドライブ３００の実施形態の構成要素およびアーキテクチャを示すことができる。図３に図示される実施形態において、システム３００は、コントローラ３２０と、ホストインターフェース３２４と、アレイインターフェース３２６と、ソリッドステートメモリユニット３２５と、を含む。
【００３５】
図３に図示される実施形態において、メモリユニット３２５は、いくつかのメモリデバイス３３０‐０、３３０‐１、・・・、３３０‐Ｎを含む。例として、メモリデバイスは、数ある中でも、例えば、ＮＡＮＤフラッシュまたはＮＯＲフラッシュデバイス等のフラッシュメモリのような不揮発性メモリデバイスとすることができる。メモリデバイス３３０‐０、３３０‐１、・・・、３３０‐Ｎは、図２に関して説明されるメモリデバイス２３０‐０、２３０‐１、２３０‐２、および２３０‐３等のメモリデバイスとすることができる。図３には示されないが、１つ以上の実施形態において、メモリデバイス３３０‐０、３３０‐１、・・・、３３０‐Ｎの各々は、ＳＳＤ３００の特定のチャネルに組み込むことができる。つまり、システム３００は、マルチチャネルシステムとすることができる。
【００３６】
１つ以上の実施形態において、および図３に図示されるように、メモリデバイス３３０‐０、３３０‐１、・・・、３３０‐Ｎの各々は、いくつかのメモリアレイ３０２‐０、３０２‐１、３０２‐３、・・・、３０２‐Ｍを含む。メモリアレイ３０２‐０、３０２‐１、３０２‐３、・・・、３０２‐Ｍは、図１に関して説明されたメモリアレイ１０２または図２に関して説明されたメモリアレイ２０２‐０および２０２‐１等のアレイとすることができる。例えば、メモリアレイ３０２‐０、３０２‐１、３０２‐３、・・・、３０２‐Ｍの各々は、複数の物理ブロックのメモリセルを含むことができる。１つ以上の実施形態において、メモリアレイ３０２‐０、３０２‐１、３０２‐３、・・・、３０２‐Ｍの各々は、単一のダイを表すことができ、メモリデバイス３３０‐０、３３０‐１、・・・、３３０‐Ｎの各々は、チップあたり複数のダイを有するメモリチップを表すことができる。
【００３７】
１つ以上の実施形態において、メモリユニット３２５内部のメモリセルの物理ブロックのプレーンは、図２に関して上記で説明したように、複数のグループに体系化され得る。例えば、グループは、それに関連するいくつかのスーパーブロックを有することができる。スーパーブロックは、グループに対応する複数のプレーンから物理ブロックを含む各収集物を備える物理ブロックのそれぞれの収集物とすることができる。
【００３８】
図３に図示されるように、メモリユニット３２５は、アレイインターフェース３２６を介してコントローラ３２０に結合することができる。アレイインターフェース３２６は、メモリユニット３２５とコントローラ３２０との間で情報を通信するために使用することができる。コントローラ３２０は、ホストインターフェース３２４を介して、例えば、ホストデバイス（図示せず）のプロセッサ等のメモリアクセスデバイスに結合することができる。ホストデバイスは、多様な他のコンピューティングデバイスの中でも、パーソナルコンピュータ（ＰＣ）、ラップトップコンピュータ、デジタルカメラ、メディアプレーヤ、または携帯電話等のコンピューティングデバイスを含むことができる。例として、メモリユニット３２５が、図３に図示されるように、コンピューティングデバイスの中のデータストレージのために使用される場合、ホストインターフェース３２４は、数ある中でも、シリアルアドバンスドテクノロジアタッチメント（ＳＡＴＡ）とすることができ、例えば、コントローラ３２０は、数ある中でも、ＳＡＴＡコントローラまたはＵＳＢコントローラとすることができる。つまり、実施形態は、特定のタイプのコントローラ３２０および／またはホストインターフェース３２４に限定されない。
【００３９】
１つ以上の実施形態において、および図３に図示されるように、コントローラ３２０は、制御回路３２２を含む。制御回路３２２は、メモリシステム３００の動作のために、他の制御回路（図示せず）の中でも、プロセッサ３２３と、スペースマネージャ３２７と、例えば、ＲＡＭ等のメモリ３２９と、を含む。１つ以上の実施形態において、コントローラ３２０は、メモリユニット３２５へデータを書き込み、かつメモリユニット３２５からデータを読み出すために使用される。
【００４０】
１つ以上の実施形態において、コントローラ３２０は、ホストインターフェース３２４を介して、ホストデバイスから論理ブロックアドレス（ＬＢＡ）３３１を受信することができる。メモリブロックの選択に対する先行技術の手法とは対照的に、本開示の１つ以上の実施形態において、コントローラ３２０によって受信されるＬＢＡ３３１は、未割り当てのＬＢＡとすることができる。つまり、受信されるＬＢＡ３３１は、特定のグループ、例えば、図２に示されるグループ２４０‐０および２４０‐１等のプレーンのグループに予め割り当てられていない。また、多様な実施形態において、受信されるＬＢＡ３３１は、特定のスーパーブロック、例えば、図２に示されるスーパーブロック２４５‐０から２４５‐Ｎまでに予め割り当てられていない。
【００４１】
例えば、１つ以上の実施形態において、制御回路、例えば、制御回路３２２は、第１の書き込み動作に関連する第１の未割り当てのＬＢＡを受信し、第１の書き込み動作に関連するデータを受信するために、複数のグループのうちの選択された１つの内部の特定の空いているスーパーブロックを判定するように構成される。本明細書で使用される場合、未割り当てのＬＢＡとは、特定のグループに予め割り当てられていないＬＢＡを言い、つまり、ＬＢＡが書き込み動作と共に受信される時、書き込み動作に関連するデータが書き込まれる予定の、例えばグループ等の場所は予め決定されていない。
【００４２】
１つ以上の実施形態において、制御回路３２２は、第１の未割り当てのＬＢＡを含むＬＢＡの範囲を、複数のグループのうちの選択された１つの内部の特定の空いているスーパーブロックに割り当てるように構成される。多様な実施形態において、制御回路３２２は、第２の書き込み動作に関連する第２のＬＢＡを受信し、第２のＬＢＡが、選択されたスーパーブロックに割り当てられたＬＢＡの範囲内にある（例えば、第２のＬＢＡは書き込まれていない、またはアクセスされていないが、特定のスーパーブロックに以前に割り当てられたＬＢＡの範囲内にある）場合、第２の書き込み動作に対応するデータを同じ選択されたスーパーブロックに書き込むように構成することができる。
【００４３】
１つ以上の実施形態において、第２のＬＢＡは、未割り当てのＬＢＡとすることができる（例えば、第２のＬＢＡは、特定のスーパーブロックに以前に割り当てられたＬＢＡ範囲内にないＬＢＡとすることができる）。このような実施形態において、制御回路は、第２の未割り当てのＬＢＡを異なる選択されたスーパーブロックに割り当てるように構成することができる（例えば、第１の書き込み動作に対応するデータが書き込まれる、選択されたスーパーブロック以外のスーパーブロック）。
【００４４】
多様な実施形態において、制御回路３２２は、複数のグループの各々に対して、各グループの中で使用可能な空いているスーパーブロックの数を追跡するように構成される。制御回路３２２は、少なくとも部分的に、複数のグループの各々の中で使用可能な空いているスーパーブロックの数に基づいて、第１の書き込み動作に関連するデータを受信するために、複数のグループのうちの１つを選択するように構成することができる。１つ以上の実施形態において、制御回路は、少なくとも部分的に、複数のグループの各々について、使用されているスーパーブロックに対する空いているスーパーブロックの比率に基づいて、第１の書き込み動作に関連するデータを受信するために、複数のグループのうちの１つを選択するように構成される。
【００４５】
１つ以上の実施形態において、制御回路３２２は、第１の書き込み動作以降の複数のグループのうちのそれぞれ選択された１つを、以前に未割り当てのＬＢＡに割り当てるように構成されるので、以前に未割り当てのＬＢＡに対応する全ての以降の書き込み動作に関連するデータは、それぞれ割り当てられたグループ内部の空いているスーパーブロックに書き込まれる。
【００４６】
図４Ａ〜図４Ｄを参照して以下にさらに説明するように、１つ以上の実施形態において、制御回路３２２は、第２の書き込み動作に関連する第２のＬＢＡ、例えば、以降の書き込み動作に関連する異なるＬＢＡを受信し、第２の書き込み動作に関連するデータを受信するために、複数のグループのうちの選択された１つの内部の特定の空いているスーパーブロックを判定するように構成される。制御回路３２２は、ラウンドロビン方式で、以降の書き込み動作に関連するデータを受信するために、複数のグループのうちの１つを選択するように構成することができる。多様な実施形態において、以降の書き込み動作に関連する複数のグループのうちの選択された１つは、書き込み動作に関連する複数のグループのうちの選択された１つとは異なる。
【００４７】
本明細書に使用される場合、第１の書き込み動作および第２の書き込み動作という用語は、例えば、特定の書き込み動作および以降の書き込み動作等、異なる書き込み動作を示すために使用することができる。つまり、第１および第２の書き込み動作という用語は、連続的な動作または実行の特定時間に限定されない。
【００４８】
多様な実施形態において、未割り当てのＬＢＡが特定のグループ（例えば、第１の書き込み動作における複数のグループのうちの選択された１つの内部の特定のスーパーブロック）に割り当てられると、特定のＬＢＡ（例えば、以前に未割り当てのＬＢＡ）は、第２の（例えば、以降の）書き込み動作に関連して更新されてもよい。１つ以上の実施形態において、新しい空いているスーパーブロックは、第２の書き込み動作に関連して、以前に未割り当てのＬＢＡに割り当てられるので、第２の書き込み動作に対応する更新されたデータは、新しいスーパーブロック（例えば、第１の動作において特定のＬＢＡに対応するデータが書き込まれたスーパーブロックとは異なるスーパーブロック）に書き込まれるようになる。１つ以上のこのような実施形態において、新しいスーパーブロックは、第１の動作において特定のＬＢＡに対応するデータが書き込まれたスーパーブロックと同じグループまたは異なるグループとすることができる。
【００４９】
本明細書に説明されるように、新しいスーパーブロックは、第２の書き込み動作に関連して、多様な様式で選択することができる（例えば、グループ各々に対して判定される空いているスーパーブロックのカウントに基づく、グループ各々に組み込まれる、使用されているスーパーブロックに対する空いているスーパーブロックの比率に基づく、グループの中でのラウンドロビン方式等）。例えば、いくつかの実施形態において、制御回路３２２は、複数のグループの各々に対して、空いているスーパーブロックの現在の数を判定し、少なくとも部分的に、複数のグループの各々に対して判定された空いているスーパーブロックの現在の数に基づいて、第２の書き込み動作に対応するデータを受信するために、複数のグループのうちの１つを選択するように構成することができる。多様な実施形態において、第２の書き込み動作に対応するデータは、最多数の空いているスーパーブロックを有するグループ内部のスーパーブロックに書き込まれる。
【００５０】
例として、いくつかの実施形態において、スーパーブロックの各々は、４，０９６ＬＢＡに対応することができる、４，０９６セクタのデータを記憶することが可能である場合がある（例えば、この例において、１つのＬＢＡは、１つのセクタのデータに対応すると想定する）。この例において、４，０９６ＬＢＡの範囲を、スーパーブロックの各々に割り当てることができる。多様な実施形態において、制御回路が、特定のスーパーブロックに以前に割り当てられたＬＢＡ範囲内にあるＬＢＡを受信する場合、ＬＢＡに対応するデータは、同じ特定のスーパーブロックに書き込まれる。受信されるＬＢＡが未割り当てのＬＢＡ（例えば、スーパーブロックに以前に割り当てられたＬＢＡの範囲の外側にあるＬＢＡ）である場合、そのＬＢＡに対応するデータは、新しい（例えば、異なる）スーパーブロックに書き込まれる。
【００５１】
メモリユニット３２５等のメモリユニットのメモリセルの物理ブロックが、図２に示されるグループ２４０‐０および２４０‐１等の複数のグループに体系化される、メモリブロックの選択に対する多様な先行技術の手法において、コントローラによって受信される各ＬＢＡまたは特定の範囲のＬＢＡは、書き込み動作に伴い、特定のグループに予め割り当てられる。このような先行手法において、コントローラは、特定のＬＢＡを受信し、次いで、データがその後書き込まれる特定のグループ内の空いているスーパーブロックを検出するために、ＬＢＡが予め割り当てられている特定のグループを検索する。
【００５２】
しかしながら、多様な事例において、ホストデバイスに関連するオペレーティングシステムまたはアプリケーションプログラムは、同じＬＢＡまたはＬＢＡ範囲にデータを、例えば、再書き込みする等、更新してもよい。例えば、特定のＬＢＡに対応するデータは頻繁に更新することができる。このような場合、特定のＬＢＡは特定のグループに予め割り当てられているので、特定のＬＢＡに対応する各以降の書き込み動作は、コントローラが同じグループ内部の選択された物理ブロックにデータを書き込むことになる。このような先行技術のメモリブロックの選択手法は、一定のグループ内部の物理ブロックが、例えば、書き込まれかつ消去される等、頻繁にプログラムされる一方で、他のグループ内部の物理ブロックはめったに使用されないままであるように、メモリユニット全体にわたって不均一なウェアをもたらす可能性がある。メモリユニット３２５等のメモリユニット全体にわたる不均一なウェアは、使用頻度の高い物理ブロックに関連する修正不可能な書き込みエラーおよび消去エラーのような問題につながる可能性があり、メモリユニットの耐用年数を削減する可能性がある。
【００５３】
１つ以上の実施形態において、第１の書き込み動作に関連するデータが書き込まれる特定のグループの選択、および第２の書き込み動作に関連するデータが書き込まれる特定のグループとの選択は、ラウンドロビン方式で実行される。つまり、第１の書き込み動作に関連するデータを受信するために特定のグループが選択される場合、第２の書き込み動作に関連するデータを受信するために異なるグループが選択される。１つ以上の実施形態において、少なくとも１回データを受信するためにグループの各々が選択されるまで、以降の書き込み動作に関連するデータを受信するために異なるグループを選択することができる。
【００５４】
１つ以上の実施形態において、制御回路、例えば３２２は、メモリアレイの複数のグループの各々に対して、各グループ、例えば、図２に関して説明されたグループ２４０‐０および２４０‐１の中で使用可能な空いているスーパーブロックの数を追跡するように構成することができる。例として、各グループ内部の空いているスーパーブロックの数のカウントを維持することができる。別の例として、１つ以上の実施形態において、各グループに対して使用可能な空いているスーパーブロックの数を示すリスト、例えば、参照テーブル（ＬＵＴ）を維持することができる。カウントおよび／またはリストは、数ある場所の中でも、コントローラ３２０のメモリ３２９内部またはメモリユニット３２５内部等の多様な場所に記憶され得る。当業者が理解するように、制御回路３２２の機能は、他のタイプのハードウェア、ソフトウェア、および／またはファームウェアによって実行されてもよい。
【００５５】
１つ以上の実施形態において、特定の書き込み動作に関連するデータが書き込まれる特定のグループと、以降の書き込み動作に関連するデータが書き込まれる特定のグループとの選択は、少なくとも部分的に、複数のグループの各々で使用可能な空いているスーパーブロックの数に基づく。例えば、多様な実施形態において、最多数の空いているスーパーブロックを有する特定のグループは、第１の書き込み動作に関連するデータを受信するために選択される。また、多様な実施形態において、最多数の空いているスーパーブロックを有する特定のグループは、以降の書き込み動作に関連するデータを受信するために選択される。特定のグループが最多数の空いているスーパーブロックを有するグループに基づいて選択される実施形態において、選択されるグループは、特定および以降の書き込み動作の両方で同じであってもよい。
【００５６】
１つ以上の実施形態において、特定の書き込み動作に関連するデータが書き込まれる特定のグループ、および以降の書き込み動作に関連するデータが書き込まれる特定のグループの選択は、少なくとも部分的に、複数のグループの各々について、使用されているスーパーブロックに対する空いているスーパーブロックの比率に基づく。多様な実施形態において、制御回路は、グループ、例えば、図２に示されたグループ２４０‐０および２４０‐１の各々について、使用されているスーパーブロックに対する空いているスーパーブロック（例えば、初期化時）の初期の比率を判定するように構成することができ、次いで、空いているスーパーブロックに書き込まれる時に各グループの比率を更新することができる。例として、多様な実施形態において、使用されているスーパーブロックに対する空いているスーパーブロックとの最高比率を有する特定のグループは、第１の書き込み動作に関連するデータを受信するために選択される。また、多様な実施形態において、使用されているスーパーブロックに対する空いているスーパーブロックの最高比率を有する特定のグループは、以降の書き込み動作に関連するデータを受信するために選択される。特定のグループが使用されているスーパーブロックに対する空いているスーパーブロックの最高比率を有するグループに基づいて選択される実施形態において、選択されるグループは、特定および以降の書き込み動作の両方で同じであってもよい。
【００５７】
１つ以上の実施形態において、制御回路、例えば、３２０は、特定の受信されたＬＢＡに対応するデータが書き込まれる、選択されたグループ内部の特定のスーパーブロックを判定するように構成される。例えば、選択されたグループに関連するテーブルは、選択されたグループ内の適当な空いているスーパーブロックを判定するために検索することができる。１つ以上の実施形態において、制御回路は、第１の書き込み動作以降に、複数のグループのうちの選択された１つを第１の特定の未割り当てのＬＢＡに割り当てるように構成することができるので、以前の未割り当てのＬＢＡに対応する全ての以降の書き込み動作に関連するデータは、割り当てられたグループ内部の空いているスーパーブロックに書き込まれる。
【００５８】
つまり、１つ以上の実施形態において、未割り当てのＬＢＡが特定の書き込み動作に伴いコントローラによって受信され、それに関連するデータが選択されたグループ内部のスーパーブロックに書き込まれると、コントローラは、特定のＬＢＡを特定の選択されたグループに割り当てることができるので、コントローラが、以降の書き込み動作に伴い同じ特定のＬＢＡを受信する時、データは割り当てられたグループに書き込まれる。いくつかのこのような実施形態において、第２の特定の未割り当てのＬＢＡが、次の特定の書き込み動作に伴いコントローラによって受信され、それに関連するデータが異なる選択されたグループ、例えば、第１の特定の未割り当てのＬＢＡに関連する特定の選択されたグループとは異なる選択されたグループに書き込まれると、コントローラは、その第２の特定のＬＢＡを異なる選択されたグループに割り当てることができるので、コントローラが、以降の書き込み動作に伴い第２の特定のＬＢＡを受信する時、データは、割り当てられた異なるグループに書き込まれる。
【００５９】
図４Ａ、図４Ｂ、図４Ｃ、および図４Ｄは、本開示の１つ以上の実施形態に従うメモリブロックの選択を示す機能ブロック図である。図４Ａに図示される実施形態において、論理ブロックアドレス４３１は、特定の書き込み動作に関連して、コントローラ４２０によって受信される特定の未割り当てのＬＢＡ（ＬＢＡ０）を表す。図４Ｂは、図４Ａの書き込み動作以降、例えば、第１の書き込み動作以降、プレーンのいくつかのグループ（例えば、図２に示されたグループ２４０‐０および２４０‐１）内部の物理スーパーブロック（例えば、図２に示されたスーパーブロック２４５‐０から２４５‐Ｎ）のステータスを図示する。
【００６０】
図４Ｃに図示される実施形態において、論理ブロックアドレス４３１は、以降の書き込み動作、例えば、図４Ａおよび４Ｂの動作以降の書き込み動作に関連して、コントローラ４２０によって受信される同じ特定のＬＢＡ（ＬＢＡ０）を表す。つまり、図４Ｃの論理ブロックアドレス４３１は、更新された状態のＬＢＡ０を表し、例えば、ＬＢＡ０に関連するデータは、更新されたデータである。同様に、図４Ｄに図示される実施形態において、論理ブロックアドレス４３１は、図４Ａおよび図４Ｂの動作以降の書き込み動作に関連して、コントローラ４２０によって受信される同じ特定のＬＢＡ（ＬＢＡ０）を表す。つまり、図４Ｄの論理ブロックアドレス４３１もまた、更新された状態のＬＢＡ０を表し、例えば、ＬＢＡ０に関連するデータは、更新されたデータである。コントローラ４２０は、図３に関して上記で説明したコントローラ３２０等のコントローラとすることができる。
【００６１】
図４Ａ、図４Ｂ、図４Ｃおよび図４Ｄに図示される実施形態において、コントローラ４２０は、メモリユニット４２５、例えば、図３に関して説明されたメモリユニット３２５等のメモリユニットに結合される。図示されるように、メモリユニット４２５は、示されるように、いくつかのグループ、例えば、グループ０、グループ１、グループ２、およびグループ３に体系化される。図４Ａ、図４Ｂ、図４Ｃ、および図４Ｄに図示されるグループは、図２に関して説明されたグループ２４０‐０および２４０‐１等のプレーンのグループとすることができる。例えば、図４Ａ、図４Ｂ、図４Ｃ、および図４Ｄに図示される実施形態において、複数のグループは各々、グループに対応する少なくとも２つのプレーンの各々からの物理ブロックのそれぞれの収集物を含むことができる（例えば、グループは、図２に関して説明されたスーパーブロック２４５‐０、２４５‐１、・・・、２４５‐Ｎ等のスーパーブロックを含むことができる）。図示されるように、各グループは、８つのスーパーブロックを含む。つまり、各グループは、位置ＳＢ０からＳＢ７までのうちの各１つに位置付けられるスーパーブロックを含む。図２に関して上記で説明したように、多様な実施形態において、スーパーブロックは、異なるメモリアレイ（例えば、２０２‐０および２０２‐１）内部および／または異なるメモリデバイス（例えば、２３０‐０、２３０‐１、２３０‐２、および２３０‐３）内部に位置付けられるプレーンから物理ブロックを含むことができる。
【００６２】
図４Ａに図示される実施形態は、論理ブロックアドレス４３１に対応する書き込み動作、例えば、第１の書き込み動作の時点でのグループ（グループ０からグループ３まで）の各々の内部のスーパーブロックのステータスを図示し、一方で、図４Ｂは、書き込み動作後および以降の動作、例えば、第２の書き込み動作の前のグループの各々の内部のスーパーブロックのステータスを図示する。図４Ｃに示される実施形態は、論理ブロックアドレス４３１に対応する以降の書き込み動作、例えば、第２の書き込み動作後のグループの各々の内部のスーパーブロックのステータスを図示する。図４Ｄに示される実施形態もまた、論理ブロックアドレス４３１に対応する以降の書き込み動作、例えば、第２の書き込み動作後のグループの各々の内部のスーパーブロックのステータスを図示する。
【００６３】
図４Ａ、図４Ｂ、図４Ｃ、および図４Ｄに図示される実施形態において、「使用されている」と記載されたスーパーブロックは、有効なデータを含有するスーパーブロックを表し、書き込み動作に関連するデータを受信するためには現在使用不可能である。「旧」と記載されたスーパーブロックは、古いデータを含有するスーパーブロック、例えば、もはや有効ではなくなったデータを含有するスーパーブロックを表し、書き込みデータを受信するために使用可能になる前に消去されなければならない。「使用されている」または「旧」と記載されていないスーパーブロックは、空いているスーパーブロックであり、例えば、書き込みデータを受信するために現在使用可能である、消去されたスーパーブロックである。
【００６４】
上記のように、１つ以上の実施形態において、制御回路、例えば、コントローラ４２０の制御回路は、第１の書き込み動作において、特定のＬＢＡ、例えばＬＢＡ０に対応するデータを、複数のグループのうちの選択された１つの内部のスーパーブロックのうちの選択された１つに書き込み、第２の書き込み動作、例えば、以降の書き込み動作において、特定のＬＢＡに対応する更新されたデータを、複数のグループのうちの選択された１つの内部のスーパーブロックのうちの選択された１つに書き込むように構成することができる。
【００６５】
上記のように、１つ以上の実施形態において、複数のグループ、例えば、グループ０からグループ３までの各々に対して空いている物理ブロックの数を追跡することができる。例えば、図４Ａに図示されるように、この例では、グループ０は、４つの空いているスーパーブロックを有するように判定され、グループ１は、４つの空いているスーパーブロックを有するように判定され、グループ２は、５つの空いているスーパーブロックを有するように判定され、グループ３は、６つの空いているスーパーブロックを有するように判定される。図４Ａに図示される実施形態において、グループ４３５（グループ３）は、複数のグループの各々の中の空いているスーパーブロックの判定された数に基づいて、ＬＢＡ０  ４３１に対応するデータを受信するために選択される。
【００６６】
この例では、グループ３は、最多数の空いているスーパーブロックを有するグループであるという事実に基づいて、ＬＢＡ０  ４３１に対応するデータを受信するために選択される。つまり、図４Ａにおいては、グループ３が他のグループの中で使用可能な空いているスーパーブロックの数よりも多い、６つの空いているスーパーブロックを有するために、グループ４３５が選択される。
【００６７】
１つ以上の実施形態において、コントローラ４２０は、受信されたＬＢＡ、例えば、図４Ａに示された例においてはＬＢＡ０  ４３１を、選択されたグループ、例えば、グループ４３５内部の特定の空いている物理スーパーブロックに割り当てる。例えば、選択されたグループ４３５は、関連する書き込み動作に対応するデータを受信するために、好適な空いているスーパーブロックを判定するために検索することができる。図４Ａに示される例において、受信されたＬＢＡ、例えば、ＬＢＡ０  ４３１は、選択されたスーパーブロック４４１である、グループ３の中の位置ＳＢ２に配置されたスーパーブロックに割り当てられる。このように、図４Ａに示された例に関連する第１の書き込み動作に応答するデータは、選択されたグループ４３５内の選択されたスーパーブロック４４１に対応するＰＢＡに書き込まれることになる。
【００６８】
図４Ｂは、図４Ａの第１の書き込み動作以降の、グループ０からグループ３までの内部のスーパーブロックのステータスを示す。このように、スーパーブロック４４１は現在、有効なデータを含有し、もはや空いている物理スーパーブロックではないため、選択されたスーパーブロック４４１のステータスは、図４Ｂにおいて「使用されている」と示される。
【００６９】
図４Ｃに図示される実施形態において、論理ブロックアドレス４３１は、第２の書き込み動作、例えば、図４Ａおよび図４Ｂの書き込み動作以降の書き込み動作に関連して、コントローラ４２０によって受信される同じ特定のＬＢＡ（ＬＢＡ０）を表す。つまり、図４Ｃの論理ブロックアドレス４３１は、更新された状態のＬＢＡ０を表し、例えば、ＬＢＡ０に関連するデータは、更新されたデータである。コントローラ４２０は、ＬＢＡ０  ４３１に対応する更新されたデータを、第２の書き込み動作、例えば、以降の書き込み動作において、複数のグループのうちの選択された１つの内部のスーパーブロックのうちの選択された１つに書き込むように構成される。
【００７０】
１つ以上の実施形態において、および図４Ｃに示された例に図示されるように、以降の書き込み動作に関連する更新されたデータを受信するために選択されたグループは、第１の書き込み動作において選択されたのと同じグループとすることができる。つまり、１つ以上の実施形態において、特定のＬＢＡがグループに割り当てられると、そのＬＢＡは、グループに割り当てられたままとすることができるので、以降の書き込み動作において特定のＬＢＡに関連する更新されたデータは、同じグループ内部の選択されたスーパーブロックに書き込まれる。
【００７１】
例えば、図４Ａおよび図４Ｂに図示される例において、第１の書き込み動作に関連する受信されたＬＢＡ、例えば、ＬＢＡ０  ４３１は、グループ３に割り当てられた。図４Ｃに図示される例において、同じＬＢＡ、例えば、ＬＢＡ０  ４３１は、以降の書き込み動作に関して受信され、更新されたデータは、同じグループ、例えば、この例においてグループ３内部の空いているスーパーブロックに書き込まれる。図４Ｃに示される例において、更新されたデータを受信するために選択された空いているスーパーブロックは、選択されたグループ４３８内部の位置ＳＢ３に位置付けられる。このように、選択されたスーパーブロック４４３は、有効なデータを現時点で含有しているため、「使用されている」と記載される。図４Ｃに示されるように、スーパーブロック４４１内部のデータは現在古い、例えば、無効であるため、スーパーブロック４４１のステータスは、「使用されている」から「旧」に変更されている。
【００７２】
１つ以上の実施形態において、および図４Ｄに関して以下に説明するように、以降の書き込み動作（例えば、第２の書き込み動作）において特定のＬＢＡに対応するデータを受信するための、複数グループのうちの選択された１つは、前の書き込み動作（例えば、第１の書き込み動作）において同じ特定のＬＢＡに対応するデータを受信するために、複数のグループのうちの選択された１つとは異なる可能性がある。つまり、１つ以上の実施形態において、特定のＬＢＡがグループに割り当てられると、そのＬＢＡを、異なるグループに割り当てることができるので、以降の書き込み動作において特定のＬＢＡに関連する更新されたデータは、異なるグループ内部の選択されたスーパーブロックに書き込まれる。
【００７３】
例えば、図４Ｄに図示される実施形態において、論理ブロックアドレス４３２は、第２の書き込み動作、例えば、図４Ａおよび図４Ｂの書き込み動作以降の書き込み動作に関連して、コントローラ４２０によって受信される同じ特定のＬＢＡ（ＬＢＡ０）を表す。つまり、図４Ｄの論理ブロックアドレス４３２は、更新された状態のＬＢＡ０を表し、例えば、ＬＢＡ０に関連するデータは、更新されたデータである。コントローラ４２０は、第２の書き込み動作、例えば、以降の書き込み動作において、ＬＢＡ０  ４３２に対応する更新されたデータを、複数のグループのうちの選択された１つの内部のスーパーブロックのうちの選択された１つに書き込むように構成される。
【００７４】
例えば、図４Ａおよび図４Ｂに図示される例において、第１の書き込み動作に関連する受信されたＬＢＡ、例えば、ＬＢＡ０  ４３１は、グループ３に割り当てられた。図４Ｄに図示される例において、同じＬＢＡ、例えば、ＬＢＡ０は、以降の書き込み動作に関して受信され、更新されたデータは、異なるグループ、例えば、この例のグループ２内部の空いているスーパーブロックに書き込まれる。図４Ｄに示される例において、更新されたデータを受信するために選択されたグループ４３８内部の選択された空いているスーパーブロックは、選択されたグループ４３８内部の位置ＳＢ３に位置付けられる。このように、選択されたスーパーブロック４４７は、有効なデータを現時点で含有しているため、「使用されている」と記載される。図４Ｄに示されるように、スーパーブロック４４１内部のデータは現在古い、例えば、無効であるため、スーパーブロック４４１のステータスは、「使用されている」から「旧」に変更されている。
【００７５】
図４Ａ〜図４Ｄに図示される実施形態において、グループ４３５およびグループ４３８は、複数のグループのうちのどれが最多数の空いている物理ブロックを有するかに基づいて選択することができる。つまり、図４Ａおよび図４Ｂにおいて、グループ３が、他のグループの中で使用可能な空いているスーパーブロックの数より多い、６つの空いているスーパーブロックを有するため、グループ４３５が選択される。同様に、図４Ｄにおいては、グループ２が、以降の書き込み動作の前に、他のグループの中で使用可能な空いているスーパーブロックの数より多い、５つの空いているスーパーブロックを有するため、グループ４３８が選択される。
【００７６】
図４Ａ〜図４Ｄに図示される実施形態において、受信されたＬＢＡ、例えば、ＬＢＡ０は、複数のグループ、例えば、グループ０からグループ３までのうちの特定の１つに予め割り当てられていない。つまり、ＬＢＡ０は、第１の書き込み動作において、選択されたグループ４３５に割り当てられる前に、特定のグループに予め割り当てられておらず、例えば、ＬＢＡ０は、第１の書き込み動作以前には未割り当てのＬＢＡである。
【００７７】
図４Ｄに図示される実施形態において、ＬＢＡ０は、第２の書き込み動作において選択されたグループ４３５に割り当てられたままではない。特定のＬＢＡに関連する以降の書き込み動作のために異なるグループを選択することは、複数のグループの中でより効率的なウェアレベリング等の利点をもたらすことができる。
【００７８】
上記のように、１つ以上の実施形態において、複数のグループの各々の内部の空いているスーパーブロックのカウントを維持することができ、特定の受信されたＬＢＡ、例えば、図４Ａ〜図４Ｄに示される実施形態におけるＬＢＡ０は、少なくとも部分的に、特定のグループに関連する空いているスーパーブロックのカウントに基づいて、複数のグループのうちの１つに割り当てることができる。
【００７９】
本開示の１つ以上の実施形態は、複数のグループ内部に古いデータを有する物理的ブロックを判定すること、ならびに古いブロックがいつ消去されるかを判定することを含むことができる。複数のグループ内部の古いブロックが消去される様式は、それぞれ図３および図４に示されるメモリユニット３２５および４２５等のメモリユニットの寿命に影響を及ぼし得る。
【００８０】
１つ以上の実施形態において、消去されている古い物理ブロック（例えば、「旧」と記載されたブロック）は、特定の時点およびグループごとの方式で、各グループの中の使用可能な空いている物理ブロックの数に追加することができる。例えば、１つ以上の実施形態において、コントローラ、例えば、４２０は、複数のグループの各々に対して、グループがいかなる空いている物理ブロックをも含まなくなるまで、古いデータを有する物理ブロックが消去されることを防止するように構成することができる。例として、図４Ｃおよび図４Ｄに示されるグループの中の「旧」と記載されたスーパーブロックは、特定のグループがいかなる使用可能な空いているスーパーブロックをも有しなくなるまで、消去されることから防止され得る。
【００８１】
また、１つ以上の実施形態において、コントローラは、複数のグループの各々に対して、グループがいかなる空いているスーパーブロックをも含まなくなるまで、グループ内部の消去されたスーパーブロックが、グループに関連する空いているスーパーブロックの数に追加されることを防止するように構成することができる。例えば、使用可能な空いているスーパーブロックのリストが維持される実施形態において、新しい書き込みデータを受信することができるように消去されている、古いブロックは、特定のグループがいかなる空いているスーパーブロックをも含まなくなるまで、使用可能な空いているスーパーブロックのリストに追加されることから防止され得る。
【００８２】
１つ以上の実施形態において、特定グループ内部の古いブロックは、グループがまだ空いているスーパーブロックを有する間に消去することができる。いくつかのこのような実施形態において、消去されている古いブロックは、好適な時点まで、空いているスーパーブロックのリストに追加されなくてもよい。消去された古いブロックが、空いているスーパーブロックのリストに直ちに返されることを防止することは、新しく消去された古いブロックにＬＢＡが割り当てられ、リスト上にまだ書き込まれていない空いているスーパーブロックが書き込まれる前に、新しい書き込みデータを受信することを防止することによって、メモリユニットのウェアを改善することができる。
【００８３】
１つ以上の実施形態において、消去動作は、特定のスーパーブロック内部の物理ブロックの各々を実質的に同時に消去することによって実行される。例えば、図２を参照すると、グループ２４０‐０のスーパーブロック２４５‐０内部の物理ブロックの各々は、実質的に同時に消去することができる。１つ以上の実施形態において、古いブロックの消去は、異なるグループ全体にわたって均一に実行することができる。例えば、図２を参照すると、グループ２４０‐０および２４０‐１両方のスーパーブロック２４５‐１内部の物理ブロックは、同時に消去することができる。１つ以上の実施形態において、古いブロックの消去は、ラウンドロビン様式で実行することができる。例えば、図４Ａを参照すると、グループ０からのスーパーブロックは消去することができ、グループ０からの別のスーパーブロックは、グループ１、グループ２、およびグループ３の各々からのスーパーブロックが消去されてしまうまで、消去されることから防止されてもよい。
【００８４】
結論
本開示は、メモリブロックの選択のための方法およびデバイスを含む。本開示の実施形態は、メモリユニット内部のウェアを改善することによって、フラッシュメモリユニット等のメモリユニットの寿命を増加することができる。
１つ以上の実施形態において、メモリコントローラは、それに関連するプレーンの複数のグループを有する１つ以上のメモリデバイスに結合される制御回路を含み、各グループは、スーパーブロックに体系化される少なくとも２つのプレーンの物理ブロックを含み、各スーパーブロックとともに、少なくとも２つのプレーンの各々からの１つの物理ブロックを含む。制御回路は、書き込み動作に関連する第１の未割り当ての論理ブロックアドレス（ＬＢＡ）を受信し、書き込み動作に関連するデータを受信するために、複数のグループのうちの選択された１つの内部で特定の空いているスーパーブロックを判定するように構成される。
【００８５】
本明細書には具体的な実施形態が図示および説明されているが、当業者は、同じ結果を達成するように考案された配設を、示された具体的な実施形態に代えることができることを理解するであろう。本開示は、本開示の１つ以上の実施形態の適応または変形を包含することを意図する。
【００８６】
上記の説明は、制限の様式ではなく、図説の様式において行われたものである。上記の実施形態の組み合わせ、および本明細書に具体的に説明されない他の実施形態が、上記の説明を検討することによって、当業者には明らかとなるであろう。本開示の１つ以上の実施形態の範囲は、上記の構造および方法が使用される他の用途を含む。したがって、本開示の１つ以上の実施形態の範囲は、添付の特許請求の範囲に加えて、このような特許請求の範囲が権利を与えられる均等物の完全な範囲を参照して決定されなければならない。
【００８７】
前述の発明を実施するための形態では、開示を簡素化するために、いくつかの特徴が単一の実施形態にまとめられている。この開示方法は、本開示の開示される実施形態が、各請求項に明記されるよりも多くの特徴を有するという意図を反映するものとして解釈されるべきではない。
【００８８】
そうではなく、以下の特許請求の範囲が反映するように、発明の主題は、単一の開示される実施形態の全ての特徴に満たない中に存する。したがって、以下の特許請求の範囲がここで発明を実施するための形態に組み入れられ、各特許請求の範囲は個別の実施形態として独立する。
【図１】
0005458419.tif 000002
【図２】
0005458419.tif 000003
【図３】
0005458419.tif 000004
【図４Ａ】
0005458419.tif 000005
【図４Ｂ】
0005458419.tif 000006
【図４Ｃ】
0005458419.tif 000007
【図４Ｄ】
0005458419.tif 000008