(58)【調査した分野】(Int.Cl.,DB名)
前記第1のグループのメモリセルがプログラムする前記電圧が、前記第1のグループのメモリセルが最初にプログラミング閾値を超える前記電圧を含む、請求項1に記載の装置。
前記メモリデバイス内部のそれぞれの数のオープンブロックのどのブロックにプログラムする前記第1のページが含まれるかの前記指示を維持することが、前記書き込み要求に関連して前記外部コントローラからの前記指示を受信する前記メモリデバイスを置き換える、請求項12に記載の方法。
前記メモリデバイスへの前記書き込みコマンドが開始されると、前記書き込みコマンドに対応するブロックアドレスを含む、第1のエントリを前記メモリデバイス内部のオープンブロックリストに自動的に追加することをさらに含む、請求項12〜13のいずれか1項に記載の方法。
【発明を実施するための形態】
【0007】
本開示は、自動動的ワード線開始電圧(ADWLSV)のための装置及び方法に関する。ワード線開始電圧は、本明細書で説明されるように、ワード線に関連する(例えば、ワード線に結合する)メモリセルをプログラムする(例えば、メモリセルへの書き込み動作を実行する)ために、本明細書で「アクセス線」とも呼ばれる、ワード線に印加される(例えば、パルス電圧のシーケンスから選択される)開始電圧を意味することを意図している。
【0008】
例示的な装置は、コントローラ及びメモリデバイスを含む。メモリデバイスは、メモリデバイスの内部で、メモリデバイスのいくつかのオープンブロックのステータスを維持するように構成される。ステータスは、それぞれの数のオープンブロックで開始されているプログラミング動作を含むことができる。コントローラからの、プログラミング動作の開始をワード線に指示する要求の受信に応答して、ワード線に関連する他のグループのメモリセルに対して最初にプログラムするワード線に関連するグループのメモリセルを決定し、オープンブロックのステータスに含まれる、メモリセルのグループがプログラムする第1のグループである電圧を維持する。
【0009】
いくつかの実施形態では、第1のグループのメモリセルがプログラムする電圧は、第1のグループのメモリセルが、最初にプログラミング閾値を超える電圧を含むことができる。プログラミング閾値は、例えば、閾値数に遷移(例えば、0から1に、またはその逆に)するか、または閾値数を超えるメモリセルのグループ(例えば、ページ)の単一レベルセル(SLC)の数であり得る。閾値数は、いくつかの実施形態では、可能な閾値の中でも、メモリセルの総数のうちの特定の数のメモリセル及び/またはメモリセルの割合であり得る。
【0010】
本開示の以下の詳細な説明では、本明細書の一部を形成する添付の図面を参照し、本開示のいくつかの実施形態を実施し得る方法を例として示す。これらの実施形態は、当業者が本開示の実施形態を実施することを可能にするために十分に詳細に説明されており、他の実施形態を利用し得ること、及び本開示の範囲から逸脱することなく、プロセス、電気的、及び/または構造的な変更を加え得ることを理解されたい。
【0011】
本明細書で使用される場合、「いくつかの(a number of)」特定のものは、そのようなもののうちの1つまたは複数を指すことができる(例えば、いくつかのメモリデバイスは、1つまたは複数のメモリアレイを指すことができる)。「複数(plurality of)」とは、そのようなもののうちの2つ以上を指すことを意図している。さらに、「することができる(can)」及び「し得る(may)」という用語は、本出願を通して、強制的な意味(すなわち、しなければならない(must))ではなく、寛容な意味(すなわち、可能性がある、可能である)で使用される。「含む(include)」という用語、及びその派生語は、「含むが、限定されない」ことを意味する。「結合(coupled)」及び「結合(coupling)」という用語は、文脈に応じて、直接的または間接的に、物理的に接続されている、またはコマンド及び/またはデータへのアクセス及び移動(伝送)を意味する。
【0012】
本明細書の図は、最初の1つまたは複数の数字が図の番号に対応し、残りの数字が図面内の要素または構成要素を識別する番号付け規則に従う。異なる図間の類似の要素または構成要素は、類似の数字の使用によって識別され得る。例えば、
図1の104は要素「04」を参照し得て、同様の要素を
図2の204として参照し得る。理解されるように、本明細書の様々な実施形態に示される要素は、本開示のいくつかの追加の実施形態を提供するために追加、交換、及び/または排除することができる。さらに、理解されるように、図中に提供される要素の割合及び相対的な縮尺は、本開示の実施形態を例示することを意図しており、限定的な意味で解釈されるべきではない。
【0013】
図1は、本開示のいくつかの実施形態による、ADWLSVのコンピューティングシステム100の形の装置のブロック図である。本明細書で使用される場合、ホスト(例えば、102)、メモリデバイスシステム(例えば、104)、ホストコントローラ(例えば、システムコントローラ118)、メモリデバイスコントローラ(例えば、デバイスコントローラ120)、またはADWLSVオープンブロックリスト(例えば、122)も、それぞれが別々に「装置」と見なされる可能性がある。
【0014】
コンピューティングシステム100は、デバイスインターフェイス108を通じてホスト102に結合されたメモリデバイスシステム104(例えば、SSD)を含む。本明細書で使用される場合、「結合される(coupled to)」は、電気的、光学的、磁気的などの接続を含む、有線または無線を問わず、(例えば、構成要素を介さない)間接通信接続または直接通信接続であり得る、構成要素間の接続を指すことを意図する。メモリデバイスシステム104は、例えば、いくつかのSSDを使用して実装されたソリッドステートストレージアプライアンスであり得る。コンピューティングシステム100は、ホストの内部のコントローラ(例えば、システムコントローラ118)に加えて、メモリデバイスシステム104の内部のコントローラ(例えば、デバイスコントローラ120)を含むことができる。デバイスコントローラ120は、いくつかの適切なメモリインターフェイス(図示せず)を介して、メモリデバイスシステム104のいくつかのメモリリソースに結合し得る。メモリリソースは、いくつかの実施形態では、揮発性メモリデバイス124及び/または不揮発性メモリデバイス126などのいくつかのSSDメモリリソースを含み得る。
【0015】
SSDなどのメモリデバイスのメモリセルに適用されるP/Eサイクルが多いほど、メモリセルの(例えば、経過時間、速度、及び/またはプログラミング速度によって測定される)プログラミング時間は、メモリデバイスの寿命の第1のP/Eサイクルに近いプログラミング時間と比較して速くなり得る。第1のP/Eサイクルの近くで使用されるプログラム電圧と比べて、徐々に減少したプログラム電圧でプログラムされるようになるメモリセルは、プログラミング時間が速くなることに寄与し得る。プログラミング時間は、メモリセルの閾値電圧(Vt)に達するために選択されたワード線に印加される、いくつかのプログラミングパルスによって、さらに影響を受け得る(例えば、Vtも減少し得る)。
【0016】
いくつかの従来の実施態様では、固定ワード線開始電圧は、メモリセルの投影された最後のP/Eサイクルの近くで使用されるように投影された電圧に設定され得る。いくつかの従来の実施態様では、メモリセルのための一定のプログラミング時間を維持するために、メモリデバイスの寿命を通して同じ数のプログラミングパルスを使用し得る。しかし、様々な考慮事項の中でも、異なるグループのメモリセルに関連する及び/またはワード線の異なる位置にあるメモリセル(例えば、本明細書で説明されるように、ページ、ブロック、スーパーブロック)のVtは、メモリデバイスの寿命内の同時点で変化し得る。それによって、異なるグループのメモリセル及び/またはワード線の異なる位置の適切なワード線開始電圧に影響を及ぼす。
【0017】
本明細書に記載されるADWLSVは、メモリデバイスの寿命を通して、ワード線開始電圧を、ワード線に関連するメモリセルに動的に一致させる。一致は、例えば、グループのメモリセル(例えば、1ページのメモリセル)のVt移動を、(例えば、パルス電圧のシーケンスの印加によって)動的にサンプリングすることを含み得る。これは、(例えば、ホストではなく)メモリデバイスがワード線に関連するメモリセルのVtsを追跡し、それに応じてワード線開始電圧を動的に調整(例えば、増加)することによってプログラミング時間を改善(例えば、短縮)し得る。
【0018】
例えば、プログラミング時間は、ワード線に関連して及び/またはページのブロックでプログラムするメモリセルの第1の(例えば、最速の)グループ(例えば、ページ)の電圧とより厳密に一致させるために、ワード線開始電圧を増加させ、他のページに対して同じ増加されたワード線開始電圧を使用することによって短縮させ得る。プログラムする第1のページの適切なワード線開始電圧を決定することにより、パルス電圧のシーケンスのより低いワード線開始電圧をバイパス(例えば、スキップ)することが可能になり、それによって、ワード線開始電圧を、プログラムする第1のページの電圧に近くなるように増加させ得る。プログラムする第1のページに対して決定された増加させたワード線開始電圧を利用することは、本明細書で説明されるように、同じワード線及び/または同じブロックに関連する他のページに対する適切なワード線開始電圧を決定するために、パルス電圧のシーケンスを利用しないことを可能にし得る。さらに、プログラムする第1のページを利用することは、第1のページをプログラムするために有効なパルス電圧のシーケンスのうちの低い(例えば、最も低い)パルス電圧が、すべてのページに対するワード線開始電圧として選択されることを示す。それにより、他のページのメモリセルのVtのオーバーシュートの可能性が減少する。
【0019】
ADWLSVオープンブロックリスト(例えば、122)は、メモリデバイスシステム104の内部のデバイスコントローラ120と関連付けられ得る(例えば、その一部として形成され得る)。いくつかの実施形態では、エントリは、削除される(例えば、消去される)まで、(例えば、
図5に関連して522で示され、説明されるような)ADWLSVオープンブロックリストに格納され得る。
【0020】
本開示のいくつかの実施形態は、従来の手法と比較して、ページ、ブロック、及び/またはスーパーブロックなどのメモリセルのグループでの(例えば、メモリセルで実行される可能なプログラミング動作の中でも、書き込み、読み出し、消去、リフレッシュ動作の)プログラミング性能を改善するなどの利点を提供することができる。本明細書で説明されるように、ブロックは、複数のページ(例えば、論理ページ)のデータを格納するように構成されるメモリセルの物理ブロックを指し得る。
【0021】
「オープン」ブロックは、ブロックに結合されたワード線へのプログラミング動作の開始を指示する要求(例えば、書き込み動作を開始するためのコマンド)の受信に応答して、開始されたプログラミング動作のインジケータ(例えば、エントリ)が、ブロックが開いていることを文書化するために格納される、メモリセルの物理ブロックを指し得る。いくつかの実施形態では、ブロック及び/またはスーパーブロックは、ブロック及び/またはスーパーブロックの最後のページがプログラムされるまで開いたままであり得て、プログラミング動作の開始を、既にプログラムされているブロック及び/またはスーパーブロックの第1のページに指示するための要求(例えば、書き込みコマンド)が受信され、及び/またはブロック及び/またはスーパーブロックの特定のエントリを削除(例えば、クリア、消去、上書き)するためのコマンドが受信される。
【0022】
いくつかの実施形態では、スーパーブロックは、マルチプレーンメモリデバイスのワー
ド線に関連する第1のページグループとしての第1のプレーンの第1のブロック及び、ワード線に関連する第2のページグループとしての第2のプレーンの第2のブロックを指し得る。本明細書で使用される場合、第1、第2などのような用語は、1つの要素を類似の要素(例えば、マルチプレーンメモリデバイスのプレーン)から区別するために利用され得て、文脈に応じて、そのような要素の順序シーケンス及び/またはそのような要素のシーケンスのそのような要素の位置を示し得ない(例えば、「第1のブロック」の記載は、そのブロックが、ブロックのシーケンスの最初または最後の第1のブロックであることを意味し得ない)。さらに、マルチプレーンメモリデバイスは、3個以上のプレーン(例えば、
図3に関連して343で示され、説明されるような4個のプレーン)を含み得る。例えば、いくつかの実施形態では、マルチプレーンメモリデバイスは、可能な数のプレーンの中でも、2、4、8、16個などのプレーンを含み得る。
【0023】
プログラミング動作の開始を指示する要求は、いくつかの実施形態では、ホスト102からホストコントローラ(例えば、システムコントローラ118)を介して、メモリデバイスコントローラ(例えば、デバイスコントローラ120)に発行し得る。機能設定インターフェイス(例えば、119)は、システムコントローラ118と関連付けられ得る(例えば、その一部として形成され得る)。機能設定インターフェイス119の一実施形態が、
図6に関連して619で示され、説明される。
【0024】
例示的なホスト102は、とりわけ、ホストシステムの中でも、ラップトップコンピュータ、パーソナルコンピュータ、デジタルカメラ、デジタル記録及び再生デバイス、携帯電話、PDA(パーソナルデジタルアシスタント)、メモリカードリーダ、及びインターフェイスハブを含むことができる。ホストインターフェイス106は、ホストコンポーネントと相互作用するためのコネクタ及びインターフェイスの中でも、serial advanced technology attachment(SATA)、peripheral component interconnect express(PCIe)、またはユニバーサルシリアルバス(USB)を含み得る。概して、デバイスインターフェイス108と組み合わせたホストインターフェイス106は、メモリデバイスシステム104とホスト102との間で制御、アドレス、データ、及び他の信号を渡すためのインターフェイスを提供することができる。
【0025】
ホスト102は、メモリ及びバス制御107に結合された、いくつかのプロセッサ105(例えば、並列プロセッサ、コプロセッサ、中央処理装置(CPU)など)を含むことができる。プロセッサ105は、いくつかのマイクロプロセッサ、または、例えば、いくつかの特定用途向け集積回路(ASIC)などの他のタイプの制御回路であり得る。コンピューティングシステム100の他の構成要素もプロセッサを有し得る。メモリ及びバス制御107は、メモリ116及び/またはそれに結合された他の構成要素を有することができる。この例では、メモリ及びバス制御107は、ホストメモリ116に結合され、いくつかの実施形態では、ホストメモリ116は、メモリの種類の中でも、揮発性メモリ(例えば、DRAM)及び/または不揮発性メモリ(例えば、NAND)を含み得る。この例では、周辺機器及びバス制御部109は、(例えば、ホストインターフェイス106を介して)ホストメモリ116に、(例えば、ユニバーサルシリアルバス(USB)インターフェイスを介して)フラッシュドライブ(図示せず)に、不揮発性メモリホスト制御インターフェイス(NVMHCI)フラッシュメモリ(図示せず)に、及び/または(例えば、システムコントローラ118を介し、デバイスインターフェイス108を通じて)メモリデバイスシステム104に結合され得る。メモリデバイスシステム104は、いくつかの異なるコンピューティングシステムのハードディスクドライブ(HDD)に加えて、またはその代わりに使用することができる。
図1に示すコンピューティングシステム100は、そのようなシステムの一例であるが、本開示の実施形態は、
図1に示される構成に限定されない。
【0026】
一例として、メモリデバイスシステム104はSSDとすることができる。メモリデバイスシステム104は、バスを介していくつかのメモリリソース(例えば、揮発性メモリデバイス124及び/または不揮発性メモリデバイス126)に結合されるデバイスコントローラ120(例えば、メモリ制御回路、ファームウェア、及び/またはソフトウェア)を含むことができる。SSDメモリリソースの例は、
図2及び
図3に関連してさらに説明される。デバイスコントローラ120を単一ユニットメモリデバイス230に結合するためのバス(例えば、ピン)の例は、
図2に関連して232で示され、説明される(例えば、入力/出力(I/O)線のI/O0、I/O1、…、I/O7のように示されるが、そのようなI/O線の数は、8本のI/O線に限定されない)。デバイスコントローラ120を、複数のプレーン343を含むマルチプレーンメモリデバイス340に結合するためのバス(例えば、ピン)の例が、
図3に関連して342で示され、説明される(例えば、データ(DQ)バスDQ0、DQ1、…、DQ7のように示されるが、そのようなDQバスの数は、8本のI/O線に限定されない)。
図2に示されるI/O線232を有する単一ユニットメモリデバイス230及び
図3に示されるDQバス342を有するマルチプレーンメモリデバイス340が、例として提示されているが、本開示の実施形態は、これらのバスの例に限定されない。
【0027】
システムコントローラ118は、実現可能な中でも、ホスト102と通信するためのホストインターフェイス106及び、バス232及び/または342を介して、揮発性メモリリソース124及び/または不揮発性メモリリソース126の今説明されたメモリデバイス230及び/または340と通信するためのデバイスインターフェイス108を含む。様々なバスはまた、メモリデバイス140及び/またはそのデバイスコントローラ120とシステムコントローラ118との間で様々な信号(例えば、とりわけ、データ信号、制御信号、及び/またはアドレス信号)を送信及び/または受信することができる。
【0028】
図1に示す例は、バスとして機能する単一のデバイスインターフェイス108を含むが、メモリデバイスシステム104は、別個のデータバス(DQバス)、制御バス、及び/またはアドレスバスを含むことができる。そのようなバスは、限定されないが、Open
NAND Flash Interface (ONFI)、コンパクトフラッシュインターフェイス、マルチメディアカード(MMC)、セキュアデジタル(SD)、CE−ATA、Industrial Standard Architecture (ISA)、マイクロチャネルアーキテクチャ(MSA)、Extended ISA (EISA)、Intelligent Drive Electronics (IDE)、VESAローカルバス(VLB)、Peripheral Component Interconnect (PCI)、カードバス、ユニバーサルシリアルバス(USB)、Advanced Graphics Port (AGP)、Personal Computer Memory Card International Association bus (PCMCIA)、Firewire (IEEE 1394)、及びSmall Computer Systems Interface (SCSI)に関連するバス構造を含む様々な種類のバス構造を有することができる。システムコントローラ118は、メモリデバイスシステム140に関連する様々なデータインターフェイスの種類(例えば、NV−DDR、NV−DDR2、NV−DDR3など)をサポートするように構成することができる。
【0029】
システムコントローラ118は、いくつかの実施形態では、変換コンポーネント(図示せず)を含み得て、変換コンポーネントは、例えば、ホスト102とメモリデバイスシステム104との間の論理アドレスから物理アドレスへの変換に関連する、フラッシュ変換レイヤ(FTL)とすることができる。例えば、変換コンポーネントは、論理ブロックアドレス(LBA)から物理ブロックアドレス(PBA)へのマッピングテーブルを含み得
る。本明細書に記載されるページ、ブロック、プレーン、スーパーブロック、及び/または関連するワード線も、(例えば、デバイスコントローラ120によって)論理アドレスから物理アドレスにマッピングし得る。例えば、
図4及び
図5に関連して表に記載され、説明されるようなスーパーブロック446及び551、ブロック552、及びプレーン443は、それぞれ、それらが関連付けられている(例えば、結合されている)各ワード線へのアドレスと組み合わせて、その物理アドレスへのリンクを含み得る。
図1には示されていないが、デバイスコントローラ120は、ハードウェア、ファームウェア、及び/またはソフトウェアに実装され、メモリデバイスシステム104の管理に関連する様々な他の構成要素も含み得る。
【0030】
図2は、本開示のいくつかの実施形態による、ADWLSV動作を実行するように構成されるメモリデバイス230の形の装置のブロック図である。
図2に示すメモリデバイス230は、本明細書で説明されるように、いくつかの実施形態では、ADWLSV動作の実行に利用し得る単一ユニットメモリデバイスの一例を示す。メモリデバイス230は、揮発性メモリリソース(例えば、揮発性メモリデバイス構成の中でも、DRAM)として、または不揮発性メモリリソース(例えば、不揮発性メモリデバイス構成の中でも、NAND)として構成され得る。
【0031】
図1に関連して説明されるように、
図2に示すメモリデバイス230は、(例えば、デバイスインターフェイス106を介して、ホスト102の内部のシステムコントローラ118によって指示されるようなプログラミング動作の入力及び/または出力のために)メモリデバイス230を含むメモリデバイスシステム104の内部のデバイスコントローラ120に結合するためのいくつかのバス232(例えば、I/O0、I/O1、…、I/O7)を含むことができる。メモリデバイス230は、いくつかの実施形態では、本明細書で説明されるように、複数のブロックを含み得る。一例として、単一のブロック(例えば、231)は、いくつかのワード線(図示せず)に関連付けられた64ページを含み得る。この例では、各ワード線が単一のバスに結合されている(例えば、
図2の8個のバス232)、単一のワード線にそれぞれ関連付けられた8ページは、単一ブロック231に対して64ページを生成する。いくつかの実施形態では、各ページは、2048(2K)バイトのデータ記憶容量を有し得て、メモリデバイス230は、1024(1K)ブロックを有し得るが、本開示の実施形態は、
図2に示される構成に限定されない。
【0032】
図2に関連して説明される各ワード線は、バス232に結合され得る。いくつかの実施形態では、各バスは1つまたは複数のワード線に結合され得る。例えば、バス232ごとの複数のワード線は、ブロック231ごとのワード線の数として、バス232ごとの複数のワード線の数を掛けたバスの数の倍数(例えば、
図2の8個)を形成するようにブロック231で垂直に配向(例えば、積層)され得る。
【0033】
図3は、本開示のいくつかの実施形態による、ADWLSV動作を実行するように構成されるマルチプレーンメモリデバイス340の形の装置のブロック図である。
図3に示すマルチプレーンメモリデバイス340は、いくつかの実施形態では、ADWLSV動作の実行に利用し得る4個のプレーンメモリデバイスの一例を示す。(例えば、343ではプレーン0、プレーン1、プレーン2、及びプレーン3で示しているが、実施形態は、2、4、8、16個などのプレーンを含み得る)。マルチプレーンメモリデバイス340の複数のプレーンの組み合わせは、論理ユニット(LUN)と呼ばれ得る。マルチプレーンメモリデバイス340は、揮発性メモリリソース(例えば、揮発性メモリデバイス構成の中でも、DRAM)として、または不揮発性メモリリソース(例えば、不揮発性メモリデバイス構成の中でも、NAND)として構成され得る。明確にするために、
図3に示されるマルチプレーンメモリデバイス340は、不揮発性NAND構成で以下に説明される。
【0034】
いくつかの実施形態では、LUN340は、
図1に関連して示され説明されるメモリデバイスシステム104のための記憶ボリュームを提供し得る。プレーン343はダイまたはチップとすることができ、これらを組み合わせるとLUN340と呼ぶことができる。例えば、プレーン343は、それぞれがいくつかのダイを含むマルチチップパッケージ(MCP)とすることができる。ダイは、例えば、いくつかのNANDフラッシュメモリセルアレイ及び関連する周辺回路(例えば、書き込み回路、読み取り回路、I/O回路、バッファなど)を含むNANDダイとすることができる。
【0035】
図1に関連して説明されるように、
図3に示すLUN340は、(例えば、デバイスインターフェイス106を介して、ホスト102の内部のシステムコントローラ118によって指示されるようなプログラミング動作の入力及び/または出力のために)メモリデバイスシステム104の内部のデバイスコントローラ120に結合するためのいくつかのバス342(例えば、データバスDQ0、DQ1、…、DQ7)を含むことができる。メモリプレーン343のそれぞれは、いくつかの実施形態では、本明細書で説明されるように、複数のブロックを含み得る。一例として、各プレーンの単一のブロック(例えば、341)は、いくつかのワード線(図示せず)に関連付けられた128ページを含み得る。この例では、各ワード線が単一のバスに結合されている(例えば、
図3の8個のバス342)、単一のワード線にそれぞれ関連付けられた16ページは、各プレーン343の単一ブロック341に対して128ページを生成する。いくつかの実施形態では、各ページは、8192(8K)バイトのデータ記憶容量を有し得て、LUN340の各プレーン343は、2048(2K)ブロックを有し得る。
図3に示すように、LUNのプレーンの組み合わせは、8192(8K)ブロック(4プレーン×プレーン当たり2048ブロック=8192ブロック)を含み得るが、本開示の実施形態は、
図3に示される構成に限定されない。
【0036】
システムコントローラ118及び/またはデバイスコントローラ120は、単一のユニットとして、LUN340の(その中のページと共に)ブロック(例えば、
図4に関連して446で示され、説明されるようなスーパーブロック)の組み合わせをアドレス指定し得る。例えば、
図3に示す4個のプレーンLUN340が、8192個のブロックを含む場合、プレーン0はブロック0、4、…、8188を含み得て、プレーン1はブロック1、5、…、8189を含み得て、プレーン2はブロック2、6、…、8190を含み得て、プレーン3はブロック3、7、…、8191を含み得る。したがって、一例として、スーパーブロックは、ADWLSV動作の実行を含むプログラミング動作の実行のために、対応するプレーン0、1、2、及び3のブロック0、ブロック1、ブロック2、及びブロック3でアドレス指定され得る。
【0037】
図3に関連して説明される各ワード線は、バス342に結合され得る。いくつかの実施形態では、各バスは1つまたは複数のワード線に結合され得る。例えば、バス342ごとの複数のワード線は、ブロック341ごとのワード線の数として、バス342ごとの複数のワード線の数を掛けたバスの数の倍数(例えば、
図3の8個)を形成するように各プレーン343の各ブロック341で垂直に配向(例えば、積層)され得る。
【0038】
図3の例では、クロック0、1、2、及び3のそれぞれからのブロックから形成された各ブロック0、1、…、8191及び/またはスーパーブロックは、単位として共に消去することができるメモリセルを含む(例えば、各物理ブロックのセルは、消去単位として実質的に同時に消去することができる)。各ブロックは、それぞれのワード線(例えばアクセス線)にそれぞれが結合することができるメモリセルのいくつかの物理行を含み得る。各ブロックの行数は、32、64、または128とすることができるが、実施形態は、特定の行数に限定されず、ブロックごとの行として集合的に呼ぶことができる。
【0039】
当業者には理解されるように、ワード線に結合された各行はセルのいくつかの物理ページを含むことができる。セルの物理ページは、共にまたは機能グループとしてプログラム及び/または書き込み得るいくつかのメモリセルを指すことができる。例えば、各行は、セルの複数の物理ページ(例えば、偶数のビット線に結合されたセルに関連付けられた偶数ページ、及び奇数のビット線に結合されたセルに関連付けられた奇数ページ)を含むことができる。さらに、マルチレベルセルを含む実施形態の場合、物理ページは、論理的な下位ページへのビット、論理的な上位ページへのビット、及びそれぞれの数の論理中間ページへの1つまたは複数のビットに寄与する物理ページ内の各セルと共にデータの複数論理ページを格納することができる。
【0040】
図2に示されるメモリデバイス230及び/または
図3に示されるLUN340のための例示的なメモリリソースとして説明されるNANDメモリデバイスは、いくつかの実施形態では、単一のデータユニット(例えば、1ビット)を格納するように構成される単一レベルセル(SLC)、及び/または複数のデータユニットを格納するように構成されるマルチレベルセル(MLC)を有するNANDダイ(例えば、NANDフラッシュアレイ)を含み得る。さらに、セルは、セルごとに格納されているデータユニットの量に依存する可能性がある、様々な異なるプログラミングプロセスを介してプログラム可能であり得るが、セルごとに特定の量のデータユニット(例えば、2ビット、3ビット、4ビットなど)を格納するように構成されるセルは、異なるプログラミングプロセスを介してプログラム可能であり得る。例えば、3ビットMLCは、2パスプログラミングプロセス(例えば、第1のプログラミングパスが、セルの閾値電圧を消去状態から、下位ページ及び中間ページデータ状態に基づいて4個の分布のうちの1個に配置する、及び第2のプログラミングパスが、上位ページデータ状態に基づいて、4個の分布のうちの1個から8個の分布のうちの1個にセルの閾値電圧を配置する4−8プロセス)、または3パスプログラミングプロセス(例えば、2−4−8プロセス)を介してプログラム可能であり得る。
【0041】
本開示の実施形態は、
図3に示される例に限定されない。例えば、本開示の実施形態によるメモリシステムは、LUN340ごとに4個より多いまたは少ないプレーン343を含むことができ、特定のメモリアレイアーキテクチャ(例えば、NAND、NOR、DRAM、PCMなど)に限定されない。さらに、
図1ではメモリデバイスシステムごとに1個のデバイスコントローラ120が示されているが、実施形態は、
図2のメモリデバイス230ごとにデバイスコントローラ120、及び/または
図3のLUN340またはそのプレーン343ごとにデバイスコントローラ120を含み得る(例えば、NANDダイごとに1個のコントローラ)。
【0042】
メモリデバイスシステム104のメモリデバイス230及び/または340は、デバイスコントローラ120と共に、プログラミング動作(例えば、書き込み動作)を追跡及び/または制御するように構成される。いくつかの実施形態では、デバイスコントローラ120は、(例えば、
図5に関連して522で示され、説明される関連するADWLSVオープンブロックリストと組み合わせて)メモリデバイスシステム104の内部で、メモリデバイスのいくつかのオープンブロック(例えば、ADWLSVオープンブロックリスト522)のステータスを維持することができる。ステータスは、(例えば、ADWLSVオープンブロックリスト522に表示されるブロックによって)それぞれの数のオープンブロックで開始されているプログラミング動作を含むことができる。ステータスは、プログラミング動作の開始をワード線に指示する要求の(例えば、システムコントローラ118からの)受信に応答して、ADWLSVオープンブロックリスト522に文書化することができる。さらに要求に応答して、ワード線に関連するメモリセルの第1のグループ(例えば、本明細書で説明されるように、メモリセルのページ、ブロック、及び/またはスーパーブロック)は、ワード線に関連するメモリセルの他のグループに対して最初にプログラムするように決定され得る。
【0043】
オープンブロックのステータスに含まれる、第1のグループのメモリセルがプログラムする電圧が維持され得る。本明細書で説明されるように、第1のグループのメモリセルがプログラムする電圧は、いくつかの実施形態では、第1のグループのメモリセルが最初にプログラミング閾値を超える電圧であり得る。ステータスは、ADWLSVオープンブロックリスト522のオープンブロックのページ、ブロック、プレーン、スーパーブロック、及び/または関連ワード線の線を示すいくつかの論理アドレス及び/または物理アドレスの記憶(例えば、リンク先)を含むオープンブロックリストをさらに含むことができる。
【0044】
メモリデバイスシステム104のデバイスコントローラ120は、ワード線に関連する第1のグループのメモリセルが、(例えば、動的にサンプリングするVtの動きを介して)最初にプログラムするシーケンスの特定の電圧を決定するために、ワード線にパルス電圧のシーケンスを印加するようにさらに構成することができる。第1のグループのメモリセルがプログラムする電圧は、第2のグループのメモリセルで実行されるプログラミング動作のために、ワード線に関連する第2のグループのメモリセルに印加される電圧として利用することができる。例えば、ADWLSVオープンブロックリスト522の555で示すように、スーパーブロック1は、(例えば、スーパーブロック1を形成するために組み合わされるブロック4、9、10、及び11の中で)最初にプログラムするブロックであると決定された(例えば、522で文書化されている)ブロック11を有し得る。ブロック11が第1の最上位プログラムであると決定される電圧は、ADWLSVオープンブロックリスト522のステータスに含まれる情報(例えば、553で文書化される)の中に含まれ得る。第1のグループのメモリセルがプログラムする電圧は、ワード線に関連する第2のグループのメモリセル(例えば、ブロック4、9、及び10)で実行されるプログラミング動作のためのADWLSVとして利用することができる。
【0045】
メモリデバイスシステム104のデバイスコントローラ120は、パルス電圧のシーケンスをワード線に印加し、第1のグループのメモリセルがプログラムする電圧として、プログラミング動作のために、(例えば、ADWLSVオープンブロックリスト522の)オープンブロックのステータスで、ADWLSVを自動的に(例えば、動的に)更新するようにさらに構成することができる。ADWLSVは、いくつかの実施形態では、ワード線に関連するブロックの削除(例えば、消去)に対応して、オープンブロックのワード線に対して動的に更新され得る。例えば、ブロックが削除され得るのは、そのブロックが最初にプログラムするブロックではないと決定されたからである。ブロックは、パルス電圧のシーケンスの印加により、最初にプログラムすることが決定された別のブロックと自動的に置き換えられ得る。
【0046】
メモリデバイスシステム104のデバイスコントローラ120は、本明細書で説明されるように、第1のグループのメモリセルが、第2のグループのメモリセルで実行されるプログラミング動作のワード線に関連する第2のグループのメモリセルに印加されるパルス電圧のシーケンスのいくつかの開始電圧をバイパス(例えば、スキップ)するようにプログラムする電圧を利用するようにさらに構成することができる。第1のページ及び/またはブロックをプログラムするためのワード線開始電圧を利用することにより、パルス電圧のシーケンスのより低いワード線開始電圧をバイパスして、ワード線開始電圧を第1のプログラムの開始電圧に近づけるように調整する(例えば、増やす)ことが可能になり得る。調整されたワード線開始電圧を利用することにより、他のページ及び/または同じワード線に関連するブロックのための適切なワード線開始電圧を決定するために、パルス電圧のシーケンスを利用しないことが可能になり得る。
【0047】
システムコントローラ118は、いくつかの実施形態では、ホストインターフェイス1
06を介してホスト102(例えば、本明細書で説明されるようなホストの構成要素)に結合することができ、さらにデバイスインターフェイス108を介して(例えば、メモリデバイスシステム104の内部の)いくつかのメモリデバイスに結合することができる。システムコントローラ118は、書き込み動作の開始をワード線に関連するブロックのページに指示するように構成することができる。(例えば、230及び/または340に示すように)例示的なメモリデバイスは、データのページを記憶するように構成される複数のブロックを含むことができる。メモリデバイスは、ブロックを開き、システムコントローラ118からの書き込み動作の開始を指示する書き込み要求の受信に応答して、最初にプログラムするオープンブロックの特定のページを決定するように構成することができる。メモリデバイスは、メモリデバイスの内部で、メモリデバイスのいくつかのオープンブロックのステータスを維持するようにさらに構成することができる。ステータスは、いくつかの実施形態では、それぞれの数のオープンブロックで開始されている書き込み動作及び、特定のページ(例えば、特定のブロックの一部であるページ)が、それぞれの数のオープンブロックでプログラムする第1のページである電圧を含むことができる。
【0048】
デバイスコントローラ120とは対照的に、システムコントローラ118は、いくつかの実施形態では、メモリデバイスのページに対応するオープンブロックを追跡するようには構成されていない。システムコントローラ118はまた、第1のページがプログラムする電圧として、書き込み動作のためのDWLSVを含むように、オープンブロックのステータスを更新するようには構成されていない。さらにデバイスコントローラ120とは対照的に、システムコントローラは、メモリデバイスの内部に維持されているADWLSVオープンブロックリスト522のエントリ554の削除を指示するように構成される(例えば、
図1の119及び
図6の619で示すような)機能設定インターフェイスを含むことができる。エントリは、オープンブロックを開く第1のページのADWLSV553を含めることができる。
【0049】
システムコントローラ118とは対照的に、内部デバイスコントローラ120は、メモリデバイスのページに対応するオープンブロックを追跡するように構成することができる。さらに、システムコントローラ118とは対照的に、デバイスコントローラ120は、追跡されたオープンブロックに対して、特定のページがプログラムする第1のページである電圧を含む、ADWLSV情報553を動的に更新するように構成することができる。
【0050】
(例えば、システムコントローラ118からの)書き込み要求は、いくつかの実施形態では、ブロック識別子及び/またはページ識別子(例えば、書き込み動作の指示のためのブロック及び/またはページの物理アドレス)を含むことができる。しかし、システムコントローラ118は、書き込み要求を送信するときに、ブロック識別子がオープンブロックに対応するかどうかを認識していない可能性がある。対照的に、開いている特定のブロックのステータスは、デバイスコントローラ120に関連するADWLSVオープンブロックリスト522のブロック及び/またはスーパーブロック551のエントリ554であることによって文書化することができる。
【0051】
ホスト102に結合されたシステムコントローラ118は、いくつかの実施形態では、バス(例えば、デバイスインターフェイス108)を介して、(例えば、デバイスコントローラ120として動作する)メモリデバイスの内部SSDデバイスコントローラにさらに結合することができるシステムSSDコントローラとすることができる。内部SSDデバイスコントローラに結合されたメモリデバイスシステム104内のメモリデバイスは、いくつかの実施形態では、(例えば、
図1及び本明細書の他の箇所に関連して124で示され、説明されるような)揮発性メモリリソースとして及び/または(例えば、
図1及び本明細書の他の箇所に関連して126で示され、説明されるような)不揮発性メモリリソースとして構成される、いくつかのSSDとすることができる。
【0052】
不揮発性メモリリソースの一例は、不揮発性マルチプレーンメモリリソース(例えば、
図3に関連して説明されるLUN340)として構成することができる。マルチプレーンメモリリソースは、それぞれが複数のプレーン443を含むことができるスーパーブロック(例えば、
図4に関連して説明されるスーパーブロック446)を形成するように構成することができる。スーパーブロックの例には、ワード線に関連する第1のページグループとしての第1のプレーン(例えば、プレーン1)の第1のブロック及び、ワード線に関連する第2のページグループとしての第2のプレーン(例えば、プレーン2)の第2のブロックを含むことができる。第1のプレーンの第1のブロック及び第2のプレーンの第2のブロックは、メモリデバイスシステムの内部のSSDコントローラによって指示されるように、同時に書き込み動作を実行するように構成することができる。本明細書で説明されるように、メモリデバイス(例えば、メモリデバイスシステムの内部のSSDコントローラ)は、第1のプレーンの第1のページまたは第2のプレーンの第2のページが、ワード線に関連する他のプレーンの別のグループのメモリセルへの書き込み動作で印加される電圧として最初にプログラムされる電圧を利用するようにさらに構成することができる。
【0053】
図4は、本開示のいくつかの実施形態による、スーパーブロック446に組み合わされたマルチプレーンメモリデバイス343のメモリセルの特定のブロックの例を示す表を示す図である。メモリセルのグループは、本開示のいくつかの実施形態に従って、いくつかの物理ブロックとして編成することができる。
図3に示す一例として、物理ブロックの数は、マルチプレーンメモリデバイス340のプレーン0のブロック0、4、…、8188、プレーン1のブロック1、5、・・・、8189、プレーンのブロック2、6、・・・、8190、プレーン3のブロック3、7、…、8191として編成することができる。
【0054】
図4に示された表は、プログラミング動作(例えば、書き込み動作)のオープンスーパーブロックを形成するために、利用された、または利用される可能性があるプレーン0、1、2、及び3のそれぞれからの1つのブロックを組み合わせる、いくつかのスーパーブロック446の例を示す。スーパーブロック(例えば、スーパーブロック0、1、…、8)は、(例えば、
図5に関連して522で示され、説明されるように)各スーパーブロックについて適切なワード線開始電圧を決定するために、本明細書で説明されるように、ADWLSV動作の実行の対象になり得る。
【0055】
いくつかの例では、スーパーブロックを形成するために、ブロックの様々な組み合わせを組み合わせ得る。
図4は、これらの例のいくつかを示しているが、本開示の実施形態は、
図4に示されるスーパーブロックの構成に限定されない。例えば、スーパーブロック0は、対応するプレーン0、1、2、及び3に、ブロック0、ブロック5、ブロック6、及びブロック7を含むように示される。スーパーブロック1は、対応するプレーン0、1、2、及び3に、ブロック4、ブロック9、ブロック10、及びブロック11を含むように示される。その他のスーパーブロックでは、対応するプレーン0、1、2、及び3に、ブロック816、ブロック817、ブロック818、及びブロック819を含むようにスーパーブロック8も表に示される。
【0056】
スーパーブロック446を形成するブロックの組み合わせの数は、
図4では9個で示されているが、実施形態は、表に列挙されている特定の数のスーパーブロックに限定されない。例えば、表中の省略記号によって示されるように、適切なプレーン0、1、2、及び3からのブロック0、1、…、8191の任意の組み合わせが表に列挙され得る。さらに、明確にするために、スーパーブロックはスーパーブロック番号0、1、…、8として列挙されている。しかし、スーパーブロック3と4との間及びスーパーブロック5と6との間の省略記号によって示されるように、これらの連続して列挙されたスーパーブロックの間、及びスーパーブロック8の後には、任意の数のスーパーブロックが存在する可能性が
あり、それは番号付けシーケンス及び/またはスーパーブロックの総数に影響を及ぼし得る。
【0057】
図5は、本開示のいくつかの実施形態による、マルチプレーンメモリデバイスの内部に維持されているADWLSVオープンブロックリスト522の例を示す表を示す図である。
【0058】
本明細書で説明されるように、オープンブロックは、ブロックに結合されたワード線へのプログラミング動作の開始を指示する要求の受信に応答して、開始されたプログラミング動作のインジケータ(例えば、エントリ)が、ブロックが開いていることを文書化するために格納される、メモリセルの物理ブロックを指し得る。いくつかの実施形態では、ブロック及び/またはスーパーブロックは、ブロック及び/またはスーパーブロックの最後のページがプログラムされるまで開いたままであり得て、プログラミング動作の開始を、既にプログラムされているブロック及び/またはスーパーブロックの第1のページに指示するための要求(例えば、デバイスコントローラ120を介したシステムコントローラ118からの書き込みコマンド)が受信され、及び/またはブロック及び/またはスーパーブロックの特定のエントリを削除(例えば、消去)するためのコマンドが受信される。いくつかの実施形態では、いくつかのエントリを削除するコマンドは、(例えば、119及び619で示され、
図6に関連してさらに説明されるように)機能設定インターフェイスを利用して、デバイスコントローラ120を介してシステムコントローラ118から受信され得る。
【0059】
メモリデバイスシステム104は、メモリデバイスシステム104の内部のADWLSVオープンブロックリスト522で、メモリデバイスシステム104内のいくつかのオープンブロックのステータスを維持するように構成され得る。ステータスには、ADWLSVオープンブロックリストに列挙されている特定のブロックによって(例えば、プログラミング動作の開始をワード線に指示する要求の受信に応答して)、オープンブロック数でプログラミング動作が開始されたことが含まれることがある。
【0060】
本明細書で説明されるように、オープンブロックリストは、いくつかの実施形態では、削除されるまでそこに格納されるいくつかのエントリ554を含み得る。一例として、
図5に示されるADWLSVオープンブロックリスト522は、8個のエントリ(例えば、8個のエントリに限定すること)が可能であり得る(例えば、エントリ0、エントリ1、…、エントリ7。ただし、ADWLSVオープンブロックリストの実施形態は、
図5に示されるエントリの数に限定されない)。例えば、ADWLSVオープンブロックリストは、可能な数のエントリの中でも、4、8、16、32個などのオープンブロックエントリを可能にするように構成され得る。ADWLSVオープンブロックリスト522のエントリ数は、考慮事項の中でも、メモリデバイス及び/またはそのコントローラの利用可能な領域、複雑さ、及び/またはそのコストによって決定され得る。
【0061】
図5に示される例示的なADWLSVオープンブロックリスト522は、いくつかの実施形態では、マルチプレーンメモリデバイス(例えば、
図3に関連して示され、説明されるLUN340)を含むメモリデバイスシステム104の内部及び/またはマルチプレーンメモリデバイスに関連する(例えば、結合する)デバイスコントローラ(例えば、
図1に関連してメモリデバイスシステム104に示され、説明されるデバイスコントローラ120)の内部に維持され得る。ADWLSVオープンブロックリスト522は、プログラミングアクティビティLUN304に応じて、任意の時点で、オープンスーパーブロックを含み得ない、1個のオープンスーパーブロック、または複数のオープンスーパーブロック(例えば、
図5に示すようなスーパーブロック0、…、7)を含み得る、いくつかのオープンスーパーブロック551を列挙し得る。
【0062】
各オープンスーパーブロック551の場合、メモリデバイスシステム104は、(例えば、動的にVt移動をサンプリングすることにより)ワード線に関連し、スーパーブロックに含まれる他のブロックに対して最初にプログラムするメモリセルのグループ(例えば、ブロック552)を決定し得る。最初にプログラムするブロック552は、プログラミング動作(例えば、書き込み動作)が指示される特定のワード線と関連付けられ得る。ブロック552(例えば、
図4のプレーン0、1、2、及び3に関連して示され説明されるようないくつかのブロック)のインジケータは、各エントリ544及び/または各オープンスーパーブロック551のステータスの一部として、ADWLSVオープンブロックリスト522に維持(例えば、文書化)され得る。別のADWLSV情報(info)は、いくつかの実施形態では、各エントリ544及び/または各オープンスーパーブロック551のステータスの一部として、ADWLSVオープンブロックリスト522に記録され得る。一例として、別のADWLSV info553は、特定のブロック552がプログラムする最初のブロックである特定の電圧を含み得る。
【0063】
例えば、第1の時点(例えば、下位のADWLSVオープンブロックリスト522が文書化される前)で、文書化された上位ADWLSVオープンブロックリスト522の(555で太字で示されるような)エントリ1は、(例えば、
図4に示すような)スーパーブロック1を開いているものとして文書化するためのエントリ1を示す。
図4に示すように、ブロック11はプレーン3にあり、プレーン0のブロック4、プレーン1のブロック9、及びプレーン2のブロック10と組み合わされた、スーパーブロック1の一部である。
図5の555のエントリ1は、スーパーブロック1の他のブロック4、9、及び10に対して、ブロック11の522を最初にプログラムするものとして示している。ブロック11のADWLSV info553は、ブロック11がプログラムする最初のブロックであると決定される特定の電圧を含む。したがって、ブロック11の特定の電圧は、ワード線に関連する(例えば、結合される)及び/またはブロック11と組み合わされてスーパーブロック1を形成する他のブロックのメモリセルをプログラム(例えば、メモリセルへの書き込み動作を実行)するためのワード線開始電圧として利用され得る。
【0064】
第2の時点(例えば、上位のADWLSVオープンブロックリスト522が文書化された後)で、文書化された上位のリストに示されているのと同じオープンブロックリストであり得る、下位のADWLSVオープンブロックリスト522の(556で太字で示されるような)エントリ1は、(例えば、
図4に示すような)スーパーブロック8を開いているものとして文書化するためのエントリ1を示す。
図4に示すように、ブロック817はプレーン1にあり、プレーン0のブロック816、プレーン2のブロック818、及びプレーン3のブロック819と組み合わされた、スーパーブロック8の一部である。
図5の556のエントリ1は、スーパーブロック8の他のブロック816、818、及び819に対して、ブロック817の522を最初にプログラムするものとして示している。ブロック817のADWLSV info553は、ブロック817がプログラムする最初のブロックであると決定される特定の電圧を含む。したがって、ブロック817の特定の電圧は、ワード線に関連する及び/またはブロック817と組み合わされてスーパーブロック8を形成する他のブロックのメモリセルをプログラムするためのワード線開始電圧として利用され得る。
【0065】
他のオープンブロック及び/またはスーパーブロックに関する同様のステータス情報(例えば、エントリ0、1、...、7のそれぞれについて)は、(例えば、LUN304のプログラミングアクティビティを動的に文書化するために)様々な時点で動的に文書化(例えば、更新)され得る。例えば、もはや開かれておらず(例えば、スーパーブロック1)、それにより、ADWLSVオープンブロックリスト522から自動的に削除(例えば、消去)されているスーパーブロックに関するエントリ(例えば、エントリ1)の情報
は、現在開かれているスーパーブロック(例えば、スーパーブロック8)に関するエントリ(例えば、同じエントリ1)によって自動的に置き換えられ得る。少なくともいくつかの実施形態では、エントリは、以前に文書化されたステータス情報を、現在開いているスーパーブロックに関する情報に上書きすることによって置き換えられ得る。
【0066】
ADWLSVオープンブロックリスト522の許可されたエントリ(例えば、8個のエントリ)がすべて利用されるとき、追加のオープンスーパーブロックエントリ(例えば、スーパーブロック8)に関する情報(例えば、ステータス)は、ADWLSVオープンブロックリスト522に既に文書化されているエントリ(例えば、スーパーブロック1)の少なくとも1つに関する情報が、(例えば、開かれていないために)削除されるまで許可され得ない。いくつかの実施形態では、追加のオープンスーパーブロックに関する情報は、ADWLSVオープンブロックリスト522に既に格納されているエントリに関する情報が削除されるまで(例えば、バッファに)格納され得る。代替的にまたは追加的に、デバイスコントローラ120及び/またはシステムコントローラ118(例えば、
図6に関連して619で示され、説明される機能設定インターフェイス)は、いくつかの実施形態では、メモリデバイスシステム104の内部に維持されているADWLSVオープンブロックリスト522に許可されたエントリの数を直接調整するように構成され得る。
【0067】
いくつかの実施形態では、ADWLSVオープンブロックリスト522に既に文書化されているエントリに関する情報(例えば、スーパーブロックに関するステータス)は、例えば、スーパーブロックの複数のブロックへの書き込み動作が、(例えば、プログラムされているスーパーブロックの最後のブロックの最後のページで)完了しているために削除され得る。いくつかの実施形態では、ADWLSVオープンブロックリスト522のエントリに関する情報は、ブロック及び/またはスーパーブロックの特定のエントリに関する情報を削除(例えば、クリア、消去、上書き)するために受信されたコマンドに応答して削除され得る。特定のエントリに関する情報を削除するためのコマンドは、(例えば、デバイスコントローラ120を介して)システムコントローラ118から受信され得る。一例では、システムコントローラ118は、
図6に関連して619で示され、説明される機能設定インターフェイスを介して特定のエントリに関する情報の削除を指示し得る。
【0068】
ADWLSVオープンブロックリスト522のエントリは、プログラミング動作の開始を、既にプログラムされたブロック及び/またはスーパーブロックの第1のページに指示するために受信された要求(例えば、書き込みコマンド)により削除され得る。既にプログラムされているブロック及び/またはスーパーブロックの第1のページをプログラムするように指示することは、ブロック及び/またはスーパーブロックの別のP/Eサイクルを開始することと見なされ得る。別のP/Eサイクルを開始することにより、スーパーブロックのページ及び/またはブロックの別のラウンドのVt移動のサンプリングの実行が促され得て、その結果、既に文書化されているステータス情報は削除され、更新されたステータス情報と同じものに置き換えられる。スーパーブロックの更新されたステータス情報は、Vt移動の動的サンプリングに基づいてプログラムする最初のブロックの修正(例えば、増加)された電圧を含む異なるADWLSV info553を有する異なるブロック552の文書を含み得る。
【0069】
メモリデバイスシステム104の内部のデバイスコントローラ120は、外部コントローラ(例えば、システムコントローラ118)から、複数のブロック及び/またはスーパーブロックとして形成されたメモリセルのアレイを含むメモリデバイス(例えば、メモリデバイス230及び/または340)への書き込みコマンドを受信するように構成することができる。
【0070】
一例として、書き込みコマンドは、ワード線の第1のページに発行することができる。
書き込みコマンドを発行することにより、ワード線に関連する特定のページが、ワード線に関連する他のページに対して、最初にプログラムされる印加されたパルス電圧のシーケンスでの特定の電圧を決定することができる。特定の電圧は、ADWLSVオープンブロックリスト522のエントリ(例えば、553に文書化されている)のステータスに追加することができる。ワード線の次のページに書き込みコマンドが発行されることにより、書き込み動作の実行中に、ワード線の次のページへの特定の電圧を自動的にADWLSVとして印加することができる。
【0071】
書き込みコマンドの開始により、いくつかのブロックを開き、メモリデバイス(例えば、デバイスコントローラ120)の内部で、メモリデバイスのいくつかのオープンブロックのステータスを維持することができる。(例えば、ADWLSVオープンブロックリスト522に文書化されているような)ステータスは、それぞれの数のオープンブロックで開始されている書き込み動作、(例えば、553で示すような)それぞれの数のオープンブロックの特定のブロックがプログラムする第1のページを含む電圧、及び(例えば、552で示すような)それぞれの数のオープンブロックのどのブロックが、(例えば、ブロック番号を文書化することによって)プログラムする第1のページを含むかの指示を含むことができる。
【0072】
ブロックを書き込む前に、メモリデバイス(例えば、デバイスコントローラ120)は、ステータスから、第1のページがプログラムされる電圧を決定することができる。メモリデバイスは、書き込み動作の実行中に、特定のオープンブロック及び、(例えば、スーパーブロックの)それぞれの数のオープンブロックの残りに、決定された電圧をADWLSVとして印加することができる。
【0073】
(例えば、デバイスコントローラ120に関連するADWLSVオープンブロックリスト522の)メモリデバイス内部のそれぞれの数のオープンブロックのどのブロックに、プログラムする第1のページが含まれるかの指示を維持することは、書き込み要求に関連して外部コントローラ(例えば、ホスト102の内部のシステムコントローラ118)からの指示を受信するメモリデバイスの代わりとする(例えば、置き換える)ことができる。例えば、以前の様々な手法は、ホスト及び/またはそのシステムコントローラ118が、メモリデバイスのオープンブロックを追跡すること、及び/またはワード線開始電圧に関する情報を管理することを含むことができる。しかし、考慮事項の中でも、ホスト102及び/またはシステムコントローラ118の利用可能な領域、複雑さ、及び/またはそのコストにより、ホスト内でのこれらの動作の適切な実行は制限され得る。
【0074】
対照的に、そのような動作は、そのような動作に関連する情報を格納(例えば、文書化)し得る、メモリデバイス及び/またはメモリデバイスシステム104の内部のデバイスコントローラによって実行され得る。プログラミング動作を実行するためのシステムコントローラ118からのコマンドは、ページ、ブロック、スーパーブロック、及び/またはワード線に関するアドレス情報を含み得る。そのようなアドレス情報は、オープンブロックを追跡する、及び/またはワード線開始電圧に関する情報を管理する性能において、メモリデバイス及び/またはメモリデバイスシステム104の内部のデバイスコントローラによって利用され得る。
【0075】
いくつかの実施形態では、外部コントローラは、システムSSDコントローラであり得て、メモリデバイスは、内部SSDコントローラ(例えば、メモリデバイスシステム104の内部のデバイスコントローラ120)を含むマルチプレーンメモリデバイスであり得る。オープンブロックの数のステータスに基づいて、内部SSDコントローラは、第1のページが複数のオープンブロックにプログラムする、いくつかの異なる電圧の中からどの電圧をADWLSVとして印加するかを決定することができる。そのような決定は、書き
込みコマンドに含まれるスーパーブロックワード線アドレスを、スーパーブロックアドレスでのそれぞれの数のオープンブロックのどのブロックに、プログラムする第1のページが含まれるかの指示に関連するスーパーブロックアドレスと照合することによって行われ得る。
【0076】
メモリデバイスへの書き込みコマンドが開始されると、書き込みコマンドに対応するブロックアドレスを含む(例えば、ADWLSVオープンブロックリスト522の555で示すような)第1のエントリが、メモリデバイスの内部のADWLSVオープンブロックリストに自動的に追加(例えば、文書化)され得る。ADWLSVオープンブロックリスト522は、特定の数のエントリ(例えば、
図5に示す例に示されるような8個のエントリ)を可能にするように構成され得る。(例えば、第1のエントリと異なり得るか、または同じであり得る)第2のエントリは、エントリに対応するワード線の第1のページに書き込みコマンドが発行されるか、または書き込みコマンドを実行することにより、ブロックの第1のページから最後のページまでの書き込み動作が実行されるとき、ADWLSVオープンブロックリスト522から自動的に削除(例えば、消去または上書き)できる。いくつかの実施形態では、削除された第2のエントリの代わりに、第1のエントリをADWLSVオープンブロックリスト522に自動的に追加することができる。一例として、第2のエントリは、ADWLSVオープンブロックリスト522のエントリの数を許容される特定の数にし得て、追加される第1のエントリの発生は、第2のエントリが削除されることを条件とし得る。
【0077】
図6は、本開示のいくつかの実施形態による、ホスト102の内部に維持されている機能設定インターフェイス619の一例を示す表を示す図である。
図1に関連して119で示され、説明されるように、ホスト102の内部の機能設定インターフェイス619は、システムコントローラ118と関連付けられ(例えば、その一部として形成され)得る。
【0078】
メモリデバイスシステム104の内部のデバイスコントローラ120が、例えば、ワード線に関連するメモリセルのVtsの追跡を能動的に直接指示し、それに応じて、ワード線開始電圧を能動的に直接調整(例えば、増加)するように構成されているのとは対照的に、システムコントローラ118の機能設定インターフェイス619は、そのような動作を監視及び/または制御するように代わりに構成され得る。いくつかの実施形態では、
図6に示される機能設定インターフェイス619の表は、複数のオプション662を有するいくつかの機能661を含み得る。機能設定インターフェイス619の機能661及び/またはオプション662は、コマンドの入力を介して選択的に有効に(例えば、適用)し得る。様々な実施形態では、コマンドは、実現可能な中でも、プロセッサ105、メモリ及びバス制御107、周辺機器及びバス制御109、ホストメモリ116、システムコントローラ118、及び/またはユーザ(図示せず)から入力され得る。
【0079】
機能設定インターフェイス619の機能661の例は、(例えば、
図5に関連して522で示され、説明されるように)ADWLSVオープンブロックリストからのブロック及び/またはスーパーブロックの削除663の指示とすることができる。そのような削除は、いくつかの実施形態では、特定のI/O線232及び/またはデータバス342(例えば、642で示すDQ0、DQ1、…、DQ7)ならびに関連するページ、ブロック、スーパーブロック、及び/またはワード線アドレスに対して選択的に可能に(例えば、指示)され得る。
【0080】
例えば、ブロックの削除663は、ADWLSVオープンブロックリスト522からのデータバスDQ6及びDQ7に関して(例えば、デフォルトオプション662として)任意選択で有効化されない(664)。オプションの非有効化は、機能設定インターフェイス619の特定のデータバスの0のデータ値を入力すること、またはデフォルト値を変更
せずにエントリをそのまま残すことによって実現し得る。ADWLSVオープンブロックリスト522からの選択されたブロック及び/またはスーパーブロックの削除665は、有効にし得る別のオプション662である。例えば、選択されたブロック及び/またはスーパーブロックの削除は、DQ7に対して(例えば、1のデータ値の入力により)有効にされ得て、DQ6に対して(例えば、0のデータ値の入力により)無効にされ得る。ADWLSVオープンブロックリスト522からのすべてのブロック及び/またはスーパーブロックの削除666は、有効にし得る別のオプション662である。例えば、すべてのブロック及び/またはスーパーブロックの削除は、DQ6に対して(例えば、1のデータ値の入力により)有効にされ得て、DQ7に対して(例えば、0のデータ値の入力により)無効にされ得る。
【0081】
機能設定インターフェイス619の機能661の別の例は、ADWLSVオープンブロックリスト522のステータスの読取667のための指示であり得る。そのようなステータスの読み取りは、いくつかの実施形態では、特定のDQ(例えば、642で示すDQ0、DQ1、…、DQ7)及び関連するページ、ブロック、スーパーブロック、及び/またはワード線アドレスに対して選択的に有効に(例えば、指示)され得る。例えば、オプション668(例えば、デフォルトオプション)は、(例えば、まだ利用されていない許可されたエントリの数に基づいて)いくつかのエントリがまだ利用可能であるときに、ADWLSVオープンブロックリスト522のステータスを読み取ることであり得る。デフォルトオプションは、機能設定インターフェイス619の特定のデータバスに(例えば、デバイスコントローラ120によって指示されるように)0のデータ値を入力することによって、またはデフォルト値を変更せずにエントリをそのまま残すことによって実現し得る。例えば、DQ7ではデフォルトのオプションが有効になっている。有効にし得る別のオプション669は、すべての許可されたエントリが利用されたときに、ADWLSVオープンブロックリスト522のステータスを読み取ることである。例えば、このオプションは、(例えば、デバイスコントローラ120によって指示されるように)DQ7に1のデータ値を入力することによって実現され得る。いくつかの実施形態では、システムコントローラ118は、デバイスコントローラ120によって有効にされている、今説明したオプションのいずれかに基づいて、ADWLSVオープンブロックリスト522のステータスにアクセス(例えば、読み取り)し得る。
【0082】
他の機能661及び/またはオプション662は、(例えば、「予約済み」によって示されるように)機能設定インターフェイス619で利用可能であり得る。さらに、コンピューティングシステム100に対して、2つ以上の機能設定インターフェイス619及び/またはADWLSVオープンブロックリスト522を維持し得る。例えば、いくつかの実施形態では、メモリデバイスシステム104が、複数の揮発性メモリリソース124及び/または不揮発性メモリリソース124を含むとき、複数の機能設定インターフェイス619及び/またはADWLSVオープンブロックリスト522を維持し得る。
【0083】
本明細書では特定の実施形態を例示し説明してきたが、同じ結果を達成するために計算された構成を、示された特定の実施形態に置換できることを当業者なら理解するであろう。本開示は、本開示のいくつかの実施形態の適合形態または変形形態を包含することを意図している。上記の説明は例示的な方法で行われたものであり、限定的なものではないことを理解されたい。上記の実施形態と本明細書に具体的に記載されていない他の実施形態との組み合わせは、上記の説明を検討すれば当業者には明らかであろう。本開示のいくつかの実施形態の範囲は、上記の構造及び方法が使用される他の用途を含む。したがって、本開示のいくつかの実施形態の範囲は、そのような特許請求の範囲が権利を与えている等価物の全範囲と共に、添付の特許請求の範囲を参照して決定されるべきである。
【0084】
前述の詳細な説明では、本開示を簡素化するために、いくつかの特徴が単一の実施形態
にまとめられている。本開示方法は、本開示の開示された実施形態が、各特許請求の範囲に明示的に列挙されているよりも多くの特徴を使用しなければならないという意図を反映していると解釈されるべきではない。むしろ、次の特許請求の範囲が反映するように、発明の主題は、単一の開示された実施形態のすべての特徴より少ないことにある。したがって、次の特許請求の範囲は、詳細な説明に組み込まれ、各特許請求の範囲は、分離した実施形態として自立している。