本開示は、添付の図面を参照して説明される。
特定の構成および配置が論じられているが、これは例示のみを目的として行われていることを理解されたい。したがって、本開示の範囲から逸脱することなく、他の構成および配置を使用することができる。また、本開示は、様々な他の用途にも使用することができる。本開示に記載された機能的および構造的特徴は、これらの組み合わせ、調整、および修正が本開示の範囲内にあるように、図面に具体的に示されていない方法で、互いに組み合わせ、調整、および修正することができる。
一般に、専門用語は、文脈における使用法から少なくとも部分的に理解することができる。例えば、本明細書で使用される「1つまたは複数」という用語は、少なくとも部分的に文脈に応じて、任意の機能、構造、または特徴を単数で説明するために使用することができ、または機能、構造、または特徴の組み合わせを複数で説明するために使用することができる。同様に、「a」、「an」、または「the」などの用語は、少なくとも部分的に文脈に応じて、単数の用法を伝えるか、または複数の用法を伝えると理解され得る。さらに、「に基づく」という用語は、排他的な要因のセットを伝えることを必ずしも意図するものではなく、代わりに、少なくとも部分的に文脈に応じて、必ずしも明示的に説明されていない追加の要因の存在を許容し得ると理解され得る。
メモリセルの数が増加し続けて、より大きな記憶容量に対する絶え間ない要求を満たすために、メモリデバイスの製造中にメモリセルが故障する可能性も増加する。故障メモリセルに対処する1つの方法は、メインメモリセル領域(例えば、メインバンク、別名メイン列またはメイングループ)のほかに冗長メモリセル領域(例えば、冗長バンク、別名冗長列または冗長グループ)を追加することである。各メモリデバイスについて、製造後テスト中に識別された不良メモリセル領域の数が制限を下回る場合(例えば、冗長メモリセル領域の数を超えない場合)、次に、メモリデバイスの動作時にデータの読み取りおよび書き込みのために、冗長メモリセル領域が故障メモリセル領域を置き換えることができるように、修復方式を採用することができる。
NANDフラッシュメモリデバイスなどの一部の既知のメモリデバイスは、物理的に分離された8つのメインメモリセル領域(メインバンクなど)に、またはそこから8個のデータ(例えば8バイト)を読み書きするための同時データ入出力(I/O)動作を実行できる。メインメモリセル領域には、同数の8つの冗長メモリセル領域(例えば、冗長バンク)がそれぞれ結合される。メインメモリセル領域が故障メインメモリセル領域として識別されると、対応する冗長メモリセル領域が、既知の修復方式に従って、データ入力および出力において故障メモリセル領域に置き換わる。しかし、このような修復方式と冗長バンク設計には様々な問題がある。例えば、多数の冗長バンクは、多くの場合それらのすべてが使用され得るとは限らないため、チップ領域を浪費し得る。比較的多数の冗長バンクも、修復方式の柔軟性に影響を与える可能性がある。また、各メインバンクおよびそれぞれの冗長バンクを結合するための追加のルーティング長により、データ線のスキューが増加し得る。
前述の問題の1つまたは複数に対処するには、本開示は、NANDフラッシュメモリデバイスなどのメモリデバイス内の故障メインバンクを処理するために、メインバンクよりも少数の冗長バンクを柔軟な修復方式とともに使用できる解決策を紹介する。本開示の特定の態様と一致して、入力または出力データが隣接するバンク(メインバンクまたは冗長バンクのいずれか)間でシフトできるように、マルチプレクサを使用して隣接するバンクを結合することができる。その結果、冗長バンクは特定のメインバンク専用ではなくなり、代わりに各メインバンクに結合することなく、故障メインバンクを置き換えることができる。したがって、冗長バンクの合計チップ領域、ならびに冗長バンク領域を浪費する可能性を大幅に削減できる。さらに、データシフトベースの修復方式により、各バンクが隣接するバンクのみに接続されるため、各データ線間のスキューも削減され得、データ線の配線長が短くなる。本明細書で開示される冗長バンク設計およびデータシフトベースの修復方式は、既知のアプローチと比較して少数の冗長バンクでも修復の柔軟性を高めることができる。
本開示の特定の態様と一致して、本明細書で開示されるデータシフトベースの修復方式は、メモリデバイスのダイレベル(または平面レベル)で実装することができる。データシフトベースの修復方式を実装するために使用されるI/O回路およびI/O制御ロジックは、ダイ内の複数の平面によって共有される(または平面内の複数の平面セクションによって共有される)ことができる。例えば、すべての平面の各平面セクションにI/O回路のインスタンスおよびI/O制御ロジックのインスタンスを実装する代わりに、I/O回路およびI/O制御ロジックをダイに実装し、ダイ内の異なる平面で共有できる。あるいは、I/O回路のインスタンスおよびI/O制御ロジックのインスタンスを各平面に実装し、それぞれの平面内の異なる平面セクションによって共有することができる。その結果、ダイの異なる平面(またはそれぞれの平面の異なる平面セクション)でI/O回路およびI/O制御ロジックが共有されるため、回路領域のオーバーヘッドを削減でき、データシフトベースの修復方式のタイミング制御の最適化をより容易に実装できる。
図1は、本開示のいくつかの態様による、メモリデバイスを有する例示的なシステム100のブロック図を示す。システム100は、携帯電話、デスクトップコンピュータ、ラップトップコンピュータ、タブレット、車載コンピュータ、ゲーム機、プリンタ、測位デバイス、ウェアラブル電子デバイス、スマートセンサ、仮想現実(VR)デバイス、引数現実(AR)デバイス、またはストレージを有する他の適切な電子デバイスとすることができる。図1に示すように、システム100は、ホスト108と、1つまたは複数のメモリデバイス104およびメモリコントローラ106を有するメモリシステム102とを含み得る。ホスト108は、中央処理装置(CPU)などの電子デバイスのプロセッサ、またはアプリケーションプロセッサ(AP)などのシステムオンチップ(SoC)であり得る。ホスト108は、メモリデバイス104との間でデータを送信または受信するように構成することができる。
メモリデバイス104は、本開示で開示される任意のメモリデバイスであり得る。以下で詳細に開示されるように、NANDフラッシュメモリデバイスなどのメモリデバイス104は、メインバンクよりも少数の冗長バンクを含むことができ、メモリデバイス104の製造後テスト中に識別された故障メインバンクを処理するために、データ入力および出力動作で柔軟なデータシフトベースの修復方式を実装できる。
いくつかの実装によれば、メモリコントローラ106は、メモリデバイス104およびホスト108に結合され、メモリデバイス104を制御するように構成される。メモリコントローラ106は、メモリデバイス104に記憶されたデータを管理し、ホスト108と通信することができる。いくつかの実装では、メモリコントローラ106は、セキュアデジタル(SD)カード、コンパクトフラッシュ(登録商標)(CF)カード、ユニバーサルシリアルバス(USB)フラッシュドライブ、または、パソコン、デジタルカメラ、携帯電話などの電子機器で使用するその他のメディアのような低デューティサイクル環境で動作するように設計されている。いくつかの実装では、メモリコントローラ106は、高デューティサイクル環境SSDまたは、スマートフォン、タブレット、ラップトップコンピュータなどのモバイルデバイスおよびエンタープライズストレージアレイのデータストレージとして使用される組み込み型マルチメディアカード(eMMC)で動作するように設計されている。メモリコントローラ106は、読み取り、消去、およびプログラム動作などのメモリデバイス104の動作を制御するように構成することができる。メモリコントローラ106はまた、不良ブロック管理、ガベージコレクション、ロジックアドレスから物理アドレスへの変換、ウェアレベリング等を含むがこれらに限定されない、メモリデバイス104に記憶された、または記憶される予定のデータに関する様々な機能を管理するように構成することができる。いくつかの実装では、メモリコントローラ106は、メモリデバイス104から読み取られた、またはメモリデバイス104に書き込まれたデータに関してエラー訂正コード(ECC)を処理するようにさらに構成される。例えば、メモリデバイス104をフォーマットするなど、任意の他の適切な機能もメモリコントローラ106によって実行され得る。メモリコントローラ106は、特定の通信プロトコルに従って外部デバイス(例えば、ホスト108)と通信することができる。例えば、メモリコントローラ106は、USBプロトコル、MMCプロトコル、周辺構成要素の相互接続(PCI)プロトコル、PCI-express(PCI-E)プロトコル、アドバンスト・テクノロジー・アタッチメント(ATA)プロトコル、シリアルATAプロトコル、パラレルATAプロトコル、小型コンピュータ小型インターフェース(SCSI)プロトコル、強化された小型ディスクインターフェース(ESDI)プロトコル、統合ドライブ・エレクトロニクス(IDE)プロトコル、ファイアワイヤープロトコルなど様々なインターフェースプロトコルのうちの少なくとも1つを介して外部デバイスと通信することができる。
メモリコントローラ106および1つまたは複数のメモリデバイス104は、様々なタイプのストレージデバイスに統合することができ、例えば、ユニバーサルフラッシュストレージ(UFS)パッケージまたはeMMCパッケージなどの同じパッケージに含めることができる。すなわち、メモリシステム102は、様々なタイプの最終電子製品に実装およびパッケージ化することができる。図2Aに示す一例では、メモリコントローラ106および単一のメモリデバイス104は、メモリカード202に統合され得る。メモリカード202は、PCカード(PCMCIA、パーソナルコンピュータメモリカード国際協会)、CFカード、スマートメディア(SM)カード、メモリースティック、マルチメディアカード(MMC、RS-MMC、MMCmicro)、SDカード(SD、miniSD、microSD、SDHC)、UFSなどを含み得る。メモリカード202は、メモリカード202をホスト(例えば、図1のホスト108)に結合するメモリカードコネクタ204をさらに含むことができる。図2Bに示す別の例では、メモリコントローラ106および複数のメモリデバイス104は、SSD206に統合され得る。SSD206は、SSD206をホスト(例えば、図1のホスト108)に結合するSSDコネクタ208をさらに含むことができる。いくつかの実装では、SSD206の記憶容量および/または動作速度は、メモリカード202のものよりも大きい。
図3は、本開示のいくつかの態様による、周辺回路を含む例示的なメモリデバイス300の概略回路図を示す。メモリデバイス300は、図1のメモリデバイス104の一例であり得る。メモリデバイス300は、メモリセルアレイ301と、メモリセルアレイ301に結合された周辺回路302とを含み得る。メモリセルアレイ301は、メモリセル306がそれぞれ基板(図示せず)の上方に垂直に延びるNANDメモリストリング308のアレイの形態で提供されるNANDフラッシュメモリセルアレイとすることができる。いくつかの実装では、各NANDメモリストリング308は、直列に結合され、垂直に積み重ねられた複数のメモリセル306を含む。各メモリセル306は、メモリセル306の領域内に捕捉された電子の数に依存する、電圧または電荷などの連続的なアナログ値を保持することができる。各メモリセル306は、フローティングゲートトランジスタを含むフローティングゲートタイプのメモリセル、または電荷トラップトランジスタを含む電荷トラップタイプのメモリセルのいずれかであり得る。
いくつかの実装では、各メモリセル306は、2つの可能なメモリ状態を有し、したがって1ビットのデータを記憶できる単一レベルセル(SLC)である。例えば、第1メモリ状態「0」は電圧の第1範囲に対応することができ、第2メモリ状態「1」は電圧の第2範囲に対応することができる。いくつかの実装では、各メモリセル306は、4つを超えるメモリ状態で1ビットを超えるデータを記憶することができるマルチレベルセル(MLC)である。例えば、MLCはセルあたり2ビット、セルあたり3ビット(トリプルレベルセル(TLC)とも呼ばれる)、またはセルあたり4ビット(クワッドレベルセル(QLC)とも呼ばれる)を記憶できる。各MLCは、可能な公称記憶値の範囲を想定するようにプログラムできる。一例では、各MLCが2ビットのデータを記憶する場合、MLCは、3つの可能な公称記憶値のうちの1つをセルに書き込むことによって、消去された状態から3つの可能なプログラミングレベルのうちの1つを取るようにプログラムすることができる。第4公称記憶値は、消去された状態に使用できる。
図3に示すように、各NANDメモリストリング308は、そのソース端にソース選択ゲート(SSG)310を含み、そのドレイン端にドレイン選択ゲート(DSG)312を含むことができる。SSG310およびDSG312は、読み取りおよびプログラム動作中に、選択されたNANDメモリストリング308(アレイの列)をアクティブ化するように構成することができる。いくつかの実装では、同じブロック304内のNANDメモリストリング308のSSG310は、同じソース線(SL)314、例えば共通SLを介して、例えば接地に結合される。いくつかの実装によれば、各NANDメモリストリング308のDSG312は、出力バス(図示せず)を介してデータを読み書きできるそれぞれのビット線316に結合される。いくつかの実装では、各NANDメモリストリング308は、選択電圧(例えば、DSG312を有するトランジスタの閾値電圧以上)もしくは選択解除電圧(例えば、0V)を、1つまたは複数のDSG線313を介してそれぞれのDSG312に適用することによっておよび/または選択電圧(例えば、SSG310を有するトランジスタの閾値電圧を超える)もしくは選択解除電圧(例えば、0V)を、1つまたは複数のSSG線315を介してそれぞれのSSG310に適用することによって、選択または選択解除されるように構成される。
図3に示すように、NANDメモリストリング308は、複数のブロック304に編成することができ、各ブロックは共通ソース線314を有することができる。いくつかの実装では、各ブロック304は、消去動作の基本データ単位である。すなわち、同じブロック304上のすべてのメモリセル306が同時に消去される。隣接するNANDメモリストリング308のメモリセル306は、メモリセル306のどの行が読み取りおよびプログラム動作によって影響を受けるかを選択するワード線318を介して結合することができる。いくつかの実装では、各ワード線318は、プログラム動作の基本データ単位であるメモリセル306のページ320に結合される。ビット単位の1ページ320のサイズは、1ブロック304内のワード線318によって結合されたNANDメモリストリング308の数に関連し得る。各ワード線318は、それぞれのページ320内の各メモリセル306に複数の制御ゲート(ゲート電極)と、制御ゲートを結合するゲート線とを含むことができる。
周辺回路302は、ビット線316、ワード線318、ソース線314、SSG線315、およびDSG線313を介してメモリセルアレイ301に結合することができる。周辺回路302は、ビット線316、ワード線318、ソース線314、SSG線315、およびDSG線313を介して、各ターゲット・メモリ・セル306に、またはそこから電圧信号および/または電流信号を適用し、感知することにより、メモリセルアレイ301の動作を容易にするために、任意の適切なアナログ、デジタル、および混合信号回路を含むことができる。周辺回路302は、金属酸化物半導体(MOS)技術を使用して形成された様々なタイプの周辺回路を含むことができる。例えば、図4は、ページバッファ/感知増幅器404、列デコーダ/ビット線ドライバ406、I/O回路407、行デコーダ/ワード線ドライバ408、電圧発生器410、制御ロジック413、レジスタ414、インターフェース416、およびデータバス418を含むいくつかの例示的な周辺回路302を示す。制御ロジック413は、I/O回路407の動作を制御するように構成されたI/O制御ロジック412を含み得る。いくつかの例では、図4に示されていない追加の周辺回路も含まれ得ることが理解される。
ページバッファ/感知増幅器404は、制御ロジック413からの制御信号に従って、メモリセルアレイ301から、およびメモリセルアレイ301にデータを読み取り、かつプログラム(書き込み)するように構成することができる。一例では、ページバッファ/感知増幅器404は、メモリセルアレイ301の1つのページ320にプログラムされる1ページのプログラムデータ(書き込みデータ)を記憶することができる。別の例では、ページバッファ/感知増幅器404は、プログラム確認動作を実行して、選択されたワード線318に結合されたメモリセル306にデータが適切にプログラムされたことを確認することができる。さらに別の例では、ページバッファ/感知増幅器404は、メモリセル306に記憶されたデータビットを表すビット線316からの低電力信号を感知し、読み取り動作において小さな電圧スイングを認識可能なロジックレベルに増幅することもできる。
列デコーダ/ビット線ドライバ406は、制御ロジック413によって制御され、電圧発生器410から生成されたビット線電圧を適用することによって1つまたは複数のNANDメモリストリング308を選択するように構成することができる。I/O回路407は、ページバッファ/感知増幅器404および/または列デコーダ/ビット線ドライバ406に結合することができ、データバス418からのデータ入力をメモリセルアレイ301の所望のメモリセル領域(例えば、バンク)に向ける(経路指定する)ように構成され、ならびに所望のメモリセル領域からデータバス418にデータ出力を向けるように構成され得る。以下に詳細に説明するように、I/O回路407は、制御ロジック413(I/O制御ロジック412を含む)によって制御されるように、本明細書に開示される柔軟なデータシフトベースの修復方式を実装するために、書き込みマルチプレクサ(MUX)アレイおよび読み取りMUXアレイを含むことができる。
行デコーダ/ワード線ドライバ408は、制御ロジック413と、メモリセルアレイ301の選択ブロック304と、選択されたブロック304のワード線318とによって制御されるように構成することができる。行デコーダ/ワード線ドライバ408は、電圧発生器410から生成されたワード線電圧を使用して、選択されたワード線318を駆動するようにさらに構成することができる。電圧発生器410は、制御ロジック413によって制御され、メモリセルアレイ301に供給されるワード線電圧(例えば、読み取り電圧、プログラム電圧、パス電圧、ローカル電圧、および確認電圧)を生成するように構成することができる。
周辺回路302の一部として、制御ロジック413は、上述の他の周辺回路に結合され、他の周辺回路の動作を制御するように構成され得る。レジスタ414は、制御ロジック413に結合することができ、各周辺回路の動作を制御するためのステータス情報、コマンド動作コード(OPコード)、およびコマンドアドレスを記憶するためのステータスレジスタ、コマンドレジスタ、およびアドレスレジスタを含むことができる。インターフェース416は、制御ロジック413に結合され、ホスト(図示せず)から受信した制御コマンドをバッファリングし、制御ロジック413に中継し、制御ロジック413から受信したステータス情報をホストに中継する制御バッファとして機能することができる。インターフェース416はまた、データバス418を介してI/O回路407に結合され、データI/Oインターフェースおよびデータバッファとして機能することができ、ホスト(図示せず)から受信した書き込みデータをバッファリングしてI/O回路407に中継し、I/O回路407からの読み取りデータをホストに中継する。例えば、インターフェース416は、データバス418に結合されたデータI/O417を含み得る。
図5は、冗長バンクを使用して故障メインバンク修復方式を実装するメモリデバイス500のブロック図を示す。メモリデバイス500内のメモリセルアレイ301は、8つのメインバンク502(<0>…および<7>)のiセットと、8つの冗長バンク504(<0>…および<7>)のjセットとを含み、各メインバンク502は、それぞれのデータ線(L<0>・・・またはL<7>)を介してそれぞれの冗長バンク504に結合される。すなわち、各メインバンク502は、メインバンク502が製造後のテスト中に故障メインバンクとして識別された場合のバックアップとして専用の冗長バンク504を有する。メモリデバイス500は、8個のメインバンク502にそれぞれ8個のデータ(例えば、8バイト)を同時に入力または出力することができる。メモリデバイス500は、8つのメインバンク502のiセットと、8つの冗長バンク504のjセットとを含む。
メモリデバイス500の列デコーダ/ビット線ドライバ406は、8個のメインバンク502バンクのiセットにそれぞれ結合されたi個のメインデコーダ510と、8個の冗長バンク504のjセットにそれぞれ結合されたj個の冗長デコーダ511とを含む。メモリデバイス500の列デコーダ/ビット線ドライバ406はまた、i個のメインデコーダ510に結合されたメインプレデコーダ506と、j個の冗長デコーダ511に結合された冗長(RED)プレデコーダ508とを含む。メモリデバイス500のI/O制御ロジック412は、冗長有効信号(RED_EN)などの制御信号を介してメインプレデコーダ506および冗長プレデコーダ508を制御することにより、故障メインバンク修復方式を実装する。I/O制御ロジック412からの制御信号に基づいて、メインプリデコーダ506は、i個のメインデコーダ510のそれぞれに、選択/非選択信号(YSEL<0>…、YSEL<i>)を使用して、それぞれのメインバンクセット内の故障メインバンクである8つのメインバンク502のいずれかを無効にする。一方、I/O制御ロジック412からの制御信号に基づいて、冗長プリデコーダ508は、j個の冗長デコーダ511のそれぞれに、8個の冗長バンク504のいずれかを有効にさせ、これは、選択/選択解除信号(YREDSEL<0>…、およびYREDSEL<j>)を使用して、それぞれの冗長バンクセット内で、それぞれのビット線を介して対応する故障メインバンクに結合される。メモリデバイス500のページバッファ/感知増幅器404は、メインバンク502および冗長バンク504によって共有され、読み取りおよび書き込み動作を行う。
図6Aおよび図6Bは、図5のメモリデバイス500によって実装される冗長バンクを使用する故障メインバンク修復方式を示す。図6Aおよび図6Bは、8つの主バンク502の1つのセットおよび8つの冗長バンク504の1つのセットを示す。8つのメインバンク502は、バンク0低(B0_L)、バンク0高(B0_H)、バンク1低(B1_L)、バンク1高(B1_H)、バンク2低(B2_L)、バンク2高(B2_H)、バンク3低(B3_L)、およびバンク3高(B3_H)を含む。8つのメインバンク502は互いに分離されている。すなわち、1つのメインバンク502を対象とするデータは、データ線によって結合されていないため、別のメインバンク502に向け直しできない。代わりに、各メインバンク502は、それらの間のデータ線(例えば、図5のL<0>…、またはL<7>)を介してそれぞれの冗長バンク504(図6Aおよび図6Bに示すように、右側に隣接するもの)に結合される。
図6Aは、8つのメインバンク502のすべてが作業バンクである場合、すなわち製造後テストによって識別された故障メインバンクがない場合を示している。この場合、第1の8個のデータ(0、...、および7)は、それぞれ8つのメインバンク502に、またはそこから向けられ、一方、8つのすべての冗長バンク704は使用されない、すなわち、データなし(「x」とラベル付けされている)である。同様に、第2の8個のデータ(8...、および15)は、それぞれ8つのメインバンク502に、またはそこから向けられ、一方、8つの冗長バンク504はすべて未使用のまま、すなわちデータなしのままである(「x」とラベル付けされている)。
図6Bは、8つのメインバンク502のうちの1つが製造後テストによって識別された故障メインバンクである場合を示す。B2_Hが故障メインバンクである1つの例では、第1の8個のデータのうちの7個(0、1、2、3、4、6、および7)は、それぞれ7つの作業メインバンク502(B2_Hを除く)に、またはそこから向けられ、一方、データ(5)はB2_Hに、またはそこから向け直される。すなわち、故障メインバンクB2_Hは、専用のバックアップ(データの入出力用にB2_Hに結合された冗長バンク504)に置き換えられる。B0_Lが故障メインバンクである別の例では、第2の8個のデータのうちの7個(9...、および15)は、それぞれ7つの作業メインバンク502(B0_Lを除く)に、またはそこから向けられ、一方、データ(8)は、B0_Lに結合された冗長バンク504に、またはそこから向け直される。すなわち、故障メインバンクB0_Lは、専用のバックアップ(データの入出力用にB0_Lに結合された冗長バンク504)に置き換えられる。
上述のように、図5、図6A、および図6Bに示される冗長バンク設計および関連する修復方式は、様々な問題を抱えている。第1に、8個の冗長バンク504のうちの7個が浪費され、冗長バンク504のうちの1つだけが、1つの故障メインバンクを修復するために使用される。第2に、故障メインバンクは、事前に割り当てられた専用の冗長バンク504にしか置き換えできないため、修理方式は柔軟性に欠ける。第3に、各メインバンク502は、データ線を介してそれぞれの冗長バンク504に結合される必要があり、これにより、データ線のルーティング長およびデータ線のスキューが増加する。
これらの問題の1つまたは複数を克服するために、本開示は、より少ない数の冗長バンクおよび関連する柔軟なデータシフトベースの修復方式を有する改善された冗長バンク設計を提供する。本開示の範囲と一致して、メモリデバイスは、メモリセルのアレイ(例えば、図3および4のメモリセルアレイ301)、I/O回路(例えば、図4のI/O回路407)、および制御ロジック(例えば、図4のI/O制御ロジック412)を含むことができる。メモリセルのアレイには、N個のメインバンクおよびM個の冗長バンクを含めることができ、NおよびMはそれぞれ正の整数であり、NはMよりも大きい。すなわち、メモリセルのアレイは、メインバンクよりも少ない数の冗長バンクを有することができる。図5のメモリデバイス500と同様に、メモリセルのアレイは、N個のメインバンクの複数のセットならびにM個の冗長バンクの複数のセットを含み得ることが理解される。それにもかかわらず、Nは、メモリセルのアレイに同時に入力(書き込み/プログラム)および出力(読み取り)できるデータの数である。本明細書で使用される「バンク」という用語(「メインバンク」、「冗長バンク」、または「作業バンク」のいずれかの文脈で)は、N個の同時データのうちの1つが向けられるか、またはそこから向けられるメモリセル領域を指し得るということも理解される。バンクは、例えば、メモリセルのアレイ内のページ、ブロック、または平面の一部であり得る。
I/O回路は、N個のメインバンクおよびM個の冗長バンクに結合され、N個のデータをN個の作業バンクに、またはそこからそれぞれ向けるように構成することができる。いくつかの実装では、I/O回路は、N個のメインバンクおよびM個の冗長バンクの隣接するバンクの各対に結合されるため、I/O回路は、N個のデータのうちの1個のデータを、隣接するバンクの対のいずれかのバンクに、またはそこから向けるように構成される(例えば、以下の図7および図8を参照)。
いくつかの実装では、Mは1に等しい。すなわち、単一の冗長バンクを使用して、N個(2、3、4、5など)のメインバンクのセットを修復できる。これにより、冗長バンクのチップ領域および未使用の冗長バンクの無駄を大幅に削減できる。例えば、図7および図8は、本開示のいくつかの態様による、それぞれデータ入力およびデータ出力に冗長バンクを使用する故障メインバンク修復方式を実装する例示的なメモリデバイス700のブロック図を示す。メモリデバイス700は、図3および図4のメモリデバイス300の例であり得る。説明を簡単にするために、メモリデバイス300内の構成要素の詳細は、メモリデバイス700の説明において省略されてもよく、同様にメモリデバイス700に適用されてもよい。図7および図8に示すように、メモリデバイス700は、8つのメインバンク702(B0_L、B0_H、B1_L、B1_H、B2_L、B2_H、B3_L、およびB3_H)、および1つの冗長バンク704(RED)を有するメモリセルアレイ301を含むことができる。すなわち、メモリデバイス700において、Nは8に等しく、Mは1に等しい。換言すれば、メモリセルアレイ301は、いくつかの実装によれば、8つのメインバンク702および1つの冗長バンク704を含む9つのバンクを含む。
I/O回路407は、例えば、ページバッファ/感知増幅器404および列デコーダ/ビット線ドライバ406を介して、8つのメインバンク702および1つの冗長バンク704に結合することができる。図7に示すいくつかの実装では、データ入力(例えば、書き込み動作)において、ページバッファ/感知増幅器404および列デコーダ/ビット線ドライバ406は、8つのメインバンク702および1つの冗長バンク704にそれぞれ結合された9つのドライバ706を含む。図8に示すいくつかの実装では、データ出力(例えば、読み取り動作)において、ページバッファ/感知増幅器404および列デコーダ/ビット線ドライバ406は、8つのメインバンク702および1つの冗長バンク704にそれぞれ結合された9つの感知増幅器802を含む。
I/O回路407は、8個のデータを8個の作業バンクに、またはそこからそれぞれ向けるように構成することができる。図7に示すいくつかの実装では、データ入力において、I/O回路407は、8個の入力データ(例えば、書き込みデータ:gwd<7:0>、gwd<15:8>、gwd<23:16>、gwd<31:24>、gwd<39:32>、gwd<47):40>、gwd<55:48>、およびgwd<63:56>)を9つのバンクのうちの8つの作業バンク(すなわち、8つのメインバンク702および1つの冗長バンク704)、例えば、7つのメインバンク702および1つの冗長バンク704に向けるように構成される。図8に示すいくつかの実装では、データ出力において、I/O回路407は、9つのバンクのうちの8つのバンク、例えば、7つのメインバンク702および1つの冗長バンク704から、8個の出力データ(例えば、読み取りデータ:grd<7:0>、grd<15:8>、grd<23:16>、grd<31:24>、grd<39:32>、grd<47):40>、grd<55:48>、およびgrd<63:56>)を向けるように構成される。図7および図8に示すように、いくつかの実装では、I/O回路407は、隣接するバンクの各対に結合されるため、I/O回路407は、1つの書き込みデータ(gwd)を隣接するバンクの対のいずれかのバンクに向けるか、または1つの読み取りデータ(grd)を隣接するバンクの対のいずれかのバンクから向けるように構成される。隣接するバンクの対は、両方のメインバンク702、または1つのメインバンク702および1つの冗長バンク704のいずれかであり得る。いくつかの実装では、冗長バンク704は、I/O回路407を介して2つのメインバンク702に結合される。冗長バンク704は、図7および図8に示されるように、8つのメインバンク702の中間にあるI/O回路407によって、2つのメインバンク702(B1_HおよびB2_L)にそれぞれ結合されるが、いくつかの例では、冗長バンク704は、I/O回路407によって任意の2つのメインバンク702にそれぞれ結合されるか、または8つのメインバンク702の端で1つのメインバンク702(例えば、B0_LまたはB3_H)のみに結合されてもよいことが理解される。
I/O回路407は、1つまたは複数のMUXアレイで実装することができる。図7に示されるように、いくつかの実装において、メモリデバイス700のI/O回路407は、書き込みMUXアレイ707を含む。書き込みMUXアレイ707は、データ入力のために8つのメインバンク702および1つの冗長バンク704にそれぞれ結合された9つの書き込みMUX708のセットを含むことができる。各書き込みMUX708は、出力(Out)、2つの入力(AおよびB)、および選択ポート(S)を含むことができる。各書き込みMUX708の出力は、それぞれのバンク702または704に結合される。書き込みMUX708の選択ポートは、1つの入力(AまたはB)の選択を示す書き込み選択信号(red_en_b0_l_wt、...、red_en_b12_wt、...、またはred_en_b3_h_wt)を受信するように構成することができる。例えば、正バイアス書き込み選択信号、すなわち、書き込み選択信号が有効化されると、入力Bを選択することができる。
いくつかの実装では、両端で2つのメインバンク702(B0_LおよびB3_H)に結合された(すなわち、1つの別のメインバンク702のみに結合された)書き込みMUX708を除いて、それぞれのメインバンク702に結合された各書き込みMUX708は、2つのデータを入力するように構成された2つの入力を有し、それぞれ、それぞれのメインバンク702を対象とする1つの書き込みデータと、隣接するメインバンク702を対象とする別の書き込みデータを含む。例えば、B0_Hに結合された書き込みMUX708は、書き込みデータgwd<15:8>を入力するように構成された入力Aと、書き込みデータgwd<7:0>を入力するように構成された入力Bとを有することができる。
冗長バンク704に結合された書き込みMUX708に関しては、2つのデータを入力するように構成された2つの入力を有することができ、それぞれ、1つの隣接するメインバンク702を対象とする1つの書き込みデータ、および別の隣接するメインバンク702を対象とする別の書き込みデータを含む。例えば、REDに結合された書き込みMUX708は、書き込みデータgwd<31:24>を入力するように構成された入力Aと、書き込みデータgwd<39:32>を入力するように構成された入力Bとを有することができる。
端で2つのメインバンク702(B0_LおよびB3_H)に結合された書き込みMUX708に関して、その入力の1つは、それぞれのメインバンク702を対象とする書き込みデータの1つの部分を入力するように構成され得、その入力のうちの別の1つは、バンク故障によるデータ禁止を示す信号、例えばシステム電圧Vddを入力するように構成できる。その結果、各書き込みデータを隣接する2つのバンクの2つの入力に結合し、隣接する2つのバンクのいずれかの入力に入力することができる。
いくつかの実装では、図8に示されるように、メモリデバイス700のI/O回路407は、読み取りMUXアレイ807を含む。読み取りMUXアレイ807は、データ出力のために、8つのメインバンク702および1つの冗長バンク704に結合された8つの読み取りMUX804のセットを含み得る。各読み取りMUX804は、出力(Out)、2つの入力(AおよびB)、および選択ポート(S)を含むことができる。読み取りMUX804の選択ポートは、1つの入力(AまたはB)の選択を示す読み取り選択信号(red_en_b0_l_rd、...またはred_en_b3_h_rd)を受信するように構成することができる。例えば、正のバイアスの読み取り選択信号、すなわち読み取り選択信号が有効になると、入力Bが選択され得る。
いくつかの実装では、各読み取りMUX804は、2つの隣接するバンクに結合された2つの入力を有する。例えば、最も左の読み取りMUX804は、B0_Lに結合された入力Aと、B0_Hに結合された入力Bとを有することができる。中間読み取りMUX804は、B1_Hに結合された入力Aと、REDに結合された入力Bとを有することができる。換言すれば、両端の2つのメインバンク702(B0_LおよびB3_H)を除いて、各バンク702または704は、2つの読み取りMUX804の入力にそれぞれ結合することができる。各読み取りMUX804の出力は、それぞれの読み取り選択信号に基づいて、入力AまたはBのいずれかから1つのデータ、すなわち2つの隣接するバンクに記憶されたデータのいずれかを出力するように構成することができる。例えば、一番左の読み取りMUX804から出力される読み取りデータgwd<7:0>は、B0_LまたはB0_Hのいずれかからのものであり得、中間読み取りMUX804から出力される読み取りデータgwd<31:24>は、B1_HまたはREDのいずれかからのものであり得る。
図7および図8に関して上述したように、I/O回路407は、隣接するバンクの各対に結合され、隣接するバンクの各対のいずれかのバンクに、またはそこからデータを向けるように構成され得る。I/O回路407内の書き込みMUXアレイ707および読み取りMUXアレイ807の例示的な設計は、メモリデバイス700に関して上で説明され、これは8個のメインバンク702および1個の冗長バンク704を有するが、N個のメインバンクおよびM個の冗長バンクを有するメモリデバイスに同様の設計を一般に適用することができ、NおよびMはそれぞれ正の整数であり、NはMより大きい。メモリセルアレイ内の冗長バンクおよびI/O回路内のMUXアレイの設計に基づいて、柔軟なデータシフトベースの修復方式を実装できる。I/O制御ロジックは、I/O回路に結合され、N個のメインバンクのうちのK個の故障メインバンクを示すバンク故障情報に基づいて、N個のメインバンクおよびM個の冗長バンクからN個の作業バンクを決定するように構成され得る。N個の作業バンクには、M個の冗長バンクのうちのK個の冗長バンクを含めることができ、Kは、M以下の正の整数である。I/O制御ロジック412は、I/O回路を制御して、N個のデータのうちのK個のデータをそれぞれK個の冗長バンクに、またはそこから向けるようにさらに構成することができる。
例えば、図9に示すように、I/O制御ロジック412は、読み取り冗長有効ロジック902、書き込み冗長有効ロジック904、および作業バンクロジック906を含み得る。各ロジック902、904、または906は、マイクロプロセッサ、マイクロコントローラ(別名マイクロコントローラユニット(MCU))、デジタルシグナルプロセッサ(DSP)、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)、プログラマブルロジックデバイス(PLD)、ステートマシン、ゲートロジック、ディスクリートハードウェア回路、ならびに以下で詳細に説明する様々な機能を実行するように構成されたその他の適切なハードウェア、ファームウェア、および/またはソフトウェアにより実装され得る。いくつかの実装では、読み取り冗長有効ロジック902、書き込み冗長有効ロジック904、および作業バンクロジック906のうちの1つまたは複数がコンテント・アドレッサブル・メモリ(CAM)で実装される。
いくつかの実装では、作業バンクロジック906は、レジスタ414に結合され、メモリデバイス(例えば、メモリデバイス700)のメインバンクの1つまたは複数の故障メインバンク、例えば、N個のメインバンクのK個の故障メインバンクを示すバンク故障情報を取得するように構成されている。製造後のテスト中に、メモリデバイスから不良(機能しない)メモリセルが検出され得、少なくとも1つの不良メモリセルを含む各メインバンクが故障メインバンクとして識別され得る。いくつかの実装では、バンク故障情報は、メモリデバイスの故障メインバンクのそれぞれを示し、メモリデバイス、例えばレジスタ414に保存される。したがって、各メモリデバイスは、それ自体のバンク故障情報を有することができる。メモリデバイスを動作させる前に、作業バンクロジック906は、レジスタ414からバンク故障情報を取得し、データ入力および出力に使用できるメモリデバイスのN個の作業バンクを決定することができる。いくつかの実装によれば、作業バンクの数(N)は、同時入力/出力データの(N)個(例えば、メモリデバイス700内の8個)と同じである。すなわち、作業バンクロジック906は、N個の作業バンクがK個の冗長バンクおよびN-K個のメインバンクを含むことができるように、K個の故障メインバンクを同じ数(K)の冗長バンクに置き換えることができる。メモリデバイス700では、I/O制御ロジック412の作業バンクロジック906によって決定されるように、8つのメインバンク702のうちの1つの故障メインバンクを冗長バンク704と置き換えて、8つの作業バンクを形成することができる。
決定されたN個の作業バンクに基づいて、読み取り冗長有効ロジック902、書き込み冗長有効ロジック904は、I/O回路407を制御して、N個のデータのうちのK個のデータをそれぞれK個の冗長バンクに、またはそこから向けるように構成することができる。いくつかの実装では、データ入力のために、書き込み冗長有効ロジック904は、I/O回路407の書き込みMUX708に結合され、決定された8つの作業バンクに基づいて、9つの書き込み選択信号(例えば、red_en_b0_l_wt,...,red_en_b12_wt...,およびred_en_b3_h_wt)を9つの書き込みMUX708にそれぞれ提供するように構成される。いくつかの実装では、データ出力のために、読み取り冗長有効ロジック902は、I/O回路407の読み取りMUX804に結合され、決定された8つの作業バンクに基づいて、8つの読み取り選択信号(例えば、red_en_b0_l_rd、...、およびred_en_b3_h_rd)を8つの読み取りMUX804にそれぞれ提供するように構成される。いくつかの実装では、読み取り冗長有効ロジック902および書き込み冗長有効ロジック904はまた、それぞれ読み取りMUX804および書き込みMUX708のストローブクロックに同期信号を提供して、データおよび選択信号を整列させる。
各選択信号は、K個の故障メインバンクに基づいて有効化(例えば、正バイアス)または無効化(例えば、負バイアス)することができる。いくつかの実装では、隣接するバンクの対の第1バンクが、K個の故障メインバンクのうちの1つの故障メインバンクである場合、読み取り冗長有効ロジック902および書き込み冗長有効ロジック904は、I/O回路407を制御して、隣接するバンクの対の第2バンクに、またはそこからデータを向けるように構成される。すなわち、I/O制御ロジック412は、いくつかの実装によれば、バンク故障情報に基づいて隣接するバンクの各対の1つのバンクを選択し、I/O回路407を制御するように構成され、隣接するバンクの各対の選択されたバンクに、またはそこからデータを向ける。
ここで図7を参照すると、データ入力において、書き込み冗長有効ロジック904は、第1バンク(すなわち、故障メインバンク)に結合された第1書き込みMUX708を制御するように構成することができ、第1書き込みMUX708の入力Aからデータを入力し、データを第1バンクに出力することを禁止する。代わりに、書き込み冗長有効ロジック904は、第2バンク(例えば、メインバンク702または第1バンクに隣接する冗長バンク704)に結合された第2書き込みMUX708を制御して、第2の書き込みMUX708の入力Bからデータを入力し、データを第2のバンクに出力することを可能にする。すなわち、故障メインバンクを対象とするデータを書き込み冗長有効ロジック904によって制御されるように、故障メインバンクに結合された書き込みMUX708によって、メインバンク702または冗長バンク704のいずれかの隣接するバンクに向け直すことができる。データ入力が隣接するバンク間でシフトされるように、隣接するバンクの各対に同じ動作を適用することができる。
例えば、B0_Lが故障メインバンクであると仮定すると、書き込み冗長有効ロジック904は、red_en_b0_l_wtおよびred_en_b0_h_wtを有効にすることができるため、Vddは入力BからB0_Lに入力され、gwd<7:0>は入力BからB0_Hに向け直されて入力される。データ入力をシフトするために、書き込み冗長有効ロジック904は、red_en_b1_l_wtおよびred_en_b1_h_wtを有効にすることもできるため、gwd<15:8>は入力BからB1_Lに向け直されて入力され、gwd<23:16>は入力BからB1_Hに向け直されて入力される。書き込み冗長有効ロジック904は、gwd<31:24>が入力AからREDに向け直され、入力されるように、red_en_b12_wtをさらに無効にすることができる。すなわち、それに応じて入力データが故障メインバンクB0_Lから冗長バンクREDにシフトされてもよい。他のメインバンクB2_L、B2_H、B3_L、およびB3_Hについては、書き込み冗長有効ロジック904がred_en_b2_l_wt、red_en_b2_h_wt、red_en_b3_l_wt、およびred_en_b3_h_wtを無効にすることができるように、入力データシフトは必要とされないことがある。その結果、B2_L、B2_H、B3_L、およびB3_Hのそれぞれは依然として、データシフトなしで入力Aからデータを入力することができる。
ここで図8を参照すると、データ出力において、読み取り冗長有効ロジック902は、第1および第2バンク(すなわち、故障メインバンク、および故障メインバンクに隣接するメインバンク702または冗長バンク704)に結合された読み取りMUX804を制御するように構成することができ、第2バンク(例えば、故障メインバンクに隣接するメインバンク702または冗長バンク704)からのデータの出力を可能にする。すなわち、故障メインバンクを対象とするデータは、読み取り冗長有効ロジック902によって制御される読み取りMUX804によって、メインバンク702または冗長バンク704のいずれかの隣接するバンクから向け直すことができる。データ出力が隣接するバンク間でシフトされるように、隣接するバンクの各対に同じ動作を適用することができる。
例えば、B0_Lが故障メインバンクであると仮定すると、読み取り冗長有効ロジック902は、grd<7:0>が入力Bに結合されたB0_Hから向け直され、出力されるように、red_en_b0_1_rdを有効することができる。データ出力をシフトするために、読み取り冗長有効ロジック902は、red_en_b0_h_rd、red_en_b1_l_rd、およびred_en_b1_h_rdを有効にすることもできるため、grd<15:8>が入力Bに結合されたB1_Lから向け直され、出力され、grd<23:16>は入力Bに結合されたB1_Hから向け直され、出力され、grd<31:24>は入力Bに結合されたREDから向け直され、出力される。すなわち、それに応じて、出力データが故障メインバンクB0_Lから冗長バンクREDにシフトされ得る。他のメインバンクB2_L、B2_H、B3_L、およびB3_Hについては、出力データシフトは不要であり、読み取り冗長有効ロジック902は、red_en_b2_l_rd、red_en_b2_h_rd、red_en_b3_l_rd、およびred_en_b3_h_rdを無効にすることができる。その結果、データは依然として、データシフトなしで入力AからB2_L、B2_H、B3_L、およびB3_Hから出力され得る。
図10A~10Cは、本開示のいくつかの態様による、メモリデバイス700によって実装される冗長バンク704を使用する故障メインバンク修復方式のさらなる例を示す。図10Aは、8つのメインバンク702のすべてが作業バンクである場合、すなわち製造後テストによって識別された故障メインバンクがない場合を示している。この場合、第1の8個のデータ(0、...、および7)はそれぞれ8つのメインバンク702に、またはそこから向けられるが、冗長バンク704は使用され得ない、すなわち、データなし (「x」とラベル付け)。同様に、第2の8個のデータ(8...、および15)は、再び、8つのメインバンク702に、またはそこからそれぞれ向けられ、一方、冗長バンク704は未使用、すなわちデータなし(「x」とラベル付け)のままであり得る。
図10Bおよび図10Cは、8つのメインバンク702のうちの1つが製造後テストによって識別された故障メインバンクである場合を示す。図10Bに示すように、B2_Hが故障メインバンクである一例では、第1の8つのデータのうちの第1の4つ(1、2、3、および4)は、4つの対応する作業メインバンクB0_L、B0_H、B1_L、およびB1_Hに、またはそこからそれぞれ向けられ得る。これらは冗長バンク704によってB2_Hから分離されている。B2_Hを対象とするデータ(5)は、隣接する作業メインバンクB2_Lに向け直され、B2_Lを対象とするデータ(4)は、冗長バンク704に向け直され得る(左にシフトするデータ)。B2_Hは未使用になる可能性がある。すなわち、B2_Hと冗長バンク704との間でデータシフトが発生し得る。第1の8個のデータのうちの最後の2個(6および7)は、データシフトなしで、対応する2つの作業メインバンクB3_LおよびB3_Hに、またはそこからそれぞれ向けられ得る。B0_Lが故障メインバンクである別の例では、第2の8個のデータの第1の4個(8、9、10、および11)は、隣接する作業メインバンクB0_H、B1_L、およびB1_Hならびに冗長バンク704(データを右にシフト)に、またはそこからそれぞれ向け直すことができる。B0_Lは未使用になる可能性がある。すなわち、B0_Lと冗長バンク704の間でデータシフトが発生し得る。第2の8個のデータのうちの最後の4個(12、13、14、および15)は、データシフトなしで、対応する4つの作業メインバンクB2_L、B2_H、B3_L、およびB3_Hに、またはそこからそれぞれ向けられ得る。
図10Cに示されるように、B1_Lが故障メインバンクである一例では、第1の8個のデータのうちの第1の2つ(0および1)は、2つの対応する作業メインバンクB0_LおよびB0_Hに、またはそこからそれぞれ向けられ得る。第1の8個のデータのうちの次の2個(2および3)は、隣接する作業メインバンクB1_Hならびに冗長バンク704(右にシフトするデータ)に、またはそこからそれぞれ向け直され得る。B1_Lは未使用になる可能性がある。すなわち、B1_Lと冗長バンク704との間でデータシフトが発生し得る。第2の8個のデータのうちの最後の4個(4、5、6、および7)は、データシフトなしで、対応する4つの作業メインバンクB2_L、B2_H、B3_L、およびB3_Hに、またはそこからそれぞれ向けられ得る。B2_Lが故障メインバンクである別の例では、第2の8個のデータのうちの第1の4個(8、9、10、および11)は、対応する作業メインバンクB0_L、B0_H、B1_L、およびB1_Hに、またはそこから向けられ、冗長バンク704によってB2_Lから分離されている。B2_Lを対象とするデータ(12)は、冗長バンク704に、またはそこから向け直すことができ(データは左にシフトする)、B2_Lは未使用になる可能性がある。すなわち、B2_Lと冗長バンク704との間でデータシフトが発生し得る。第2の8個のデータのうちの最後の3個(13、14、および15)は、データシフトなしで、対応する3つの作業メインバンクB2_H、B3_L、およびB3_Hに、またはそこからそれぞれ向けられ得る。
図11は、本開示のいくつかの態様による、故障メインバンクおよび冗長バンクを有するメモリデバイスを動作させるための例示的な方法1100のフローチャートを示す。メモリデバイスは、本明細書に開示される任意の適切なメモリデバイスであり得る。方法1100は、I/O制御ロジック412によって実装され得る。方法1100に示される動作は網羅的なものではなく、図示された動作のいずれかの前、後、またはその間に他の動作も同様に実行できることが理解される。さらに、動作のいくつかは、同時に、または図11に示される順序とは異なる順序で実行されてもよい。
図11を参照すると、方法1100は動作1102で開始し、複数のメインバンクのうちの故障メインバンクを示すバンク故障情報が取得される。故障メインバンクは、メモリデバイスの製造後のテストによって識別できる。例えば、作業バンクロジック906は、メモリデバイスを動作させる前に、レジスタ414からバンク故障情報を取得することができる。
方法1100は、図11に示されるように、動作1104に進む。ここでは、バンク故障情報に基づいて、複数のメインバンクおよび冗長バンクから複数の作業バンクが決定される。複数の作業バンクは、冗長バンクを含むことができる。例えば、作業バンクロジック906は、冗長バンクおよび残りのメインバンクを含む作業バンクを決定することができる。
方法1100は、図11に示されるように、動作1106に進む。ここでは、バンク故障情報に基づいて、複数のバンクの隣接するバンクの各対の1つのバンクが選択される。いくつかの実装によれば、選択されたバンクは作業バンクである。例えば、作業バンクロジック906は、バンク故障情報に基づいて、隣接するバンクの各対の1つの作業バンクを選択することができる。
方法1100は、図11に示されるように、動作1108に進む。ここでは、隣接するバンクの各対の選択されたバンクへの、または選択されたバンクからデータを向けることが制御される。データを向けることを制御するには、いくつかの実装によれば、隣接するバンクの1つの対の第1バンクが故障メインバンクであると決定され、隣接するバンクの対の第2バンクに向けられ、またはそこからデータが向けられる。一例では、書き込み冗長有効ロジック904は、第1書き込みMUX708を制御して、データを第1バンクに出力することを禁止し、第2書き込みMUX708を制御して、データを第2バンクに出力できるようにすることができる。別の例では、読み取り冗長有効ロジック902は、読み取りMUX804を制御して、第2バンクからのデータの出力を可能にすることができる。
図12は、本開示のいくつかの態様による、故障メインバンクおよび冗長バンクを有するメモリデバイスを動作させるための別の例示的な方法1200のフローチャートを示す。メモリデバイスは、本明細書に開示される任意の適切なメモリデバイスであり得る。方法1200は、I/O制御ロジック412によって実装され得る。方法1200に示される動作は網羅的ではなく、図示された動作のいずれかの前、後、または間に他の動作も同様に実行できることが理解される。さらに、動作のいくつかは、同時に、または図12に示される順序とは異なる順序で実行されてもよい。
図12を参照すると、方法1200は動作1202で始まり、ここでN個のメインバンクのうちのK個の故障メインバンクを示すバンク故障情報が取得される。Kは、N以下の正の整数にすることができる。K個の故障メインバンクは、メモリデバイスの製造後テストによって識別できる。例えば、作業バンクロジック906は、メモリデバイスを動作させる前に、レジスタ414からバンク故障情報を取得することができる。
方法1200は、図12に示すように、動作1204に進む。ここで、バンク故障情報に基づいて、N個のメインバンクおよびM個の冗長バンクからN個の作業バンクが決定される。N個の作業バンクは、M個の冗長バンクのうちのK個の冗長バンクを含むことができる。例えば、作業バンクロジック906は、K個の冗長バンクおよび残りのメインバンクを含むN個の作業バンクを決定することができる。いくつかの実装では、Mは1に等しく、1つの作業バンクが、バンク故障情報に基づいて、N個のメインバンクおよび冗長バンクの隣接するバンクの各対から選択される。
方法1200は、図12に示されるように、動作1206に進む。図12では、N個のデータのうちのK個のデータがそれぞれK個の冗長バンクに、またはそこから向けられる。いくつかの実装では、Mは1に等しく、K個のデータのうちの1個のデータは、N個のメインバンクおよび冗長バンクの隣接するバンクの各対の選択された作業バンクに、またはそこから向けられる。
図13は、本開示のいくつかの態様による、複数の平面1302を含む例示的なメモリデバイス1300の概略図を示す。複数の平面1302は、ダイ1301に含まれ得る。いくつかの実装では、平面1302は、読み取り動作、プログラム動作、または消去動作を実行する際に相互に独立し得る。例えば、各平面1302は、制御ロジック413からの読み取り制御信号の受信に応答して、独立して読み取り動作を実行するように構成され得る。いくつかの実装では、各平面1302は、読み取りおよびプログラムデータのローカルバッファリングをカバーし、動作を並行して処理できるため、動作速度が向上する。その独立した動作を可能にするために、各平面1302は、メモリセルアレイ301のブロック304のセットと、ページバッファ/感知増幅器404、列デコーダ/ビット線ドライバ406、および行デコーダ/ワード線ドライバ408などの周辺回路のセットとを含むことができる。
いくつかの他の実装では、平面1302は、読み取り動作、プログラム動作、または消去動作を連続して実行するように構成することができる。例えば、読み取り動作、プログラム動作、または消去動作は、制御ロジック413からの対応する制御信号の受信に応答して、複数の平面1302において1つずつ実行され得る。
図14Aは、本開示のいくつかの態様による、平面1302の例示的なレイアウトを示す。図14Bは、本開示のいくつかの態様による、図14Aの平面1302における例示的なデータバスの概略図を示す。いくつかの実装では、平面1302内のメモリセルは、複数のセクション(本明細書では平面セクションと呼ばれる)に分割することができる。平面1302は、複数の部分1406(本明細書ではページバッファ/感知増幅器部分1406と呼ぶ)に分割されたページバッファ/感知増幅器404を含むことができる。各ページバッファ/感知増幅器部分1406は、平面1302内の平面セクションに対応することができ、制御ロジック413からの制御信号に従って、平面セクション内のメモリセルからデータを読み取り、かつメモリセルにデータをプログラムする(書き込む)ように構成され得る。
図14Aに示すように、ページバッファ/感知増幅器404は、4つの物理的に分離された部分1406a、1406b、1406c、および1406d(例えば、4等分)を含む。部分の数は4つに限定されず、1よりも大きい任意の整数(例えば、2、3、4、5、6など)、例えば2等分であってもよいことが理解される。ページバッファ/感知増幅器404は、平面1302内のメモリセルから読み取られるか、またはメモリセルに書き込まれるデータの1つまたは複数のページを一時的に記憶(バッファリング)するための複数の記憶ユニット(例えば、ラッチ、キャッシュ、またはレジスタ)を含むことができる。いくつかの実装では、各部分1406a、1406b、1406c、または1406dは、同じサイズ、すなわち、ページバッファ/感知増幅器404の4分の1を有する。例えば、ページバッファ/感知増幅器404は、16Kバイトのデータを記憶することができ、各部分1406a、1406b、1406c、または1406dは、4Kバイトのデータを記憶することができる。
いくつかの実装では、グローバルデータバス1418は、各ページバッファ/感知増幅器部分1406a、1406b、1406c、または1406dにそれぞれ結合され得る。図14Aおよび図14Bを合わせて参照すると、グローバルデータバス1418は、各ジャンクション1401、1402、1404a、または1404bで分岐して、その分岐データバスを形成することができる。例えば、グローバルデータバス1418は、ジャンクション1401で2つの平面分岐データバス1403aおよび1403bに分岐し得る。平面分岐データバス1403aは、ジャンクション1402で2つのセクション分岐データバス1405aおよび1405bに分岐することができる。セクション分岐データバス1405aは、ジャンクション1404aで2つのセクションサブ分岐データバス1407aおよび1407bに分岐することができる。同様に、セクション分岐データバス1405bは、ジャンクション1404bで2つのセクションサブ分岐データバス1407cおよび1407dに分岐することができる。その結果、グローバルデータバス1418は、分岐データバス(例えば、1403a、1405a、1405b、1407a、1407b、1407c、および1407d)のうちの1つまたは複数を介してそれぞれのページバッファ/感知増幅器部分1406a、1406b、1406c、または1406dに結合され得る。
いくつかの実装では、平面1302は、複数の行デコーダ/ワード線ドライバ部分に分割することができる行デコーダ/ワード線ドライバ408を含むことができる。各行デコーダ/ワード線ドライバ部分は、平面1302内の平面セクションに対応することができ、制御ロジック413によって制御され、平面セクション内のメモリセルアレイ301のブロック304を選択し、選択されたブロック304のワード線318を選択するように構成することができる。
いくつかの実装では、平面1302は、複数の列デコーダ/ビット線ドライバ部分に分割できる列デコーダ/ビット線ドライバ406を含むことができる。各列デコーダ/ビット線ドライバ部分は、平面1302内の平面セクションに対応することができ、制御ロジック413によって制御され、電圧発生器410から生成されたビット線電圧を適用することによって平面セクション内の1つまたは複数のNANDメモリストリング308を選択するように構成され得る。
図15Aは、本開示のいくつかの態様による、複数の第2レベルのメモリユニットおよびI/O回路を有する第1レベルのメモリユニットを含む例示的なメモリデバイス1500のブロック図を示す。例えば、メモリデバイス1500は、第1レベルのメモリユニット1514を含むメモリセルのアレイを含み得る。第1レベルのメモリユニット1514は、第2レベルのメモリユニット1515aおよび1515bを含み得る。各第2レベルのメモリユニット1515aまたは1515bは、1つまたは複数のバンクのグループを含み得、バンクの各グループは、同時データ入力および/またはデータ出力のためのN個のメインバンクおよび冗長バンクを含む。
各第2レベルのメモリユニット1515aまたは1515bは、それぞれのページバッファ/感知増幅器404(またはそれぞれのページバッファ/感知増幅器部分1406)、それぞれの列デコーダ/ビット線ドライバ406(またはそれぞれの列デコーダ/ビット線ドライバ部分1506)、およびそれぞれの行デコーダ/ワード線ドライバ408(またはそれぞれの行デコーダ/ワード線ドライバ部分1504)に結合され得る。
図15Aに示されるように、第1レベルのメモリユニット1514は、I/O回路407、I/O制御ロジック412、およびレジスタ414を含み得る。I/O回路407およびI/O制御ロジック412は、第2レベルのメモリユニット1515aおよび1515bによって共有され得る。各第2レベルのメモリユニット1515aまたは1515bは、対応する第2レベルのメモリユニット1515aまたは1515bのバンク故障情報を記憶するように構成された1つまたは複数のそれぞれのレジスタ414に対応し得る。いくつかの実装では、I/O回路407、I/O制御ロジック412、およびレジスタ414のうちの1つまたは複数は、第1レベルのメモリユニット1514の外側(例えば、第1レベルのメモリユニット1514の周辺領域)に配置され得る。
いくつかの実装では、I/O回路407は、第1レベルのデータバス1510に結合され得る。第1レベルデータバス1510は、ジャンクション1511で分岐して、分岐データバス1512aおよび1512bを含む2つの分岐データバスを形成することができる。その結果、第1レベルデータバス1510および分岐データバス1512aまたは1512bを介して、I/O回路407をページバッファ/感知増幅器404(またはページバッファ/感知増幅器部分1406)、および第2レベルのメモリユニット1515aまたは1515b内の列デコーダ/ビット線ドライバ406(または列デコーダ/ビット線ドライバ部分1506)に結合することができる。I/O回路407は、第1レベルのデータバス1510および分岐データバス1512aまたは1512bをそれぞれ介して、第2レベルのメモリユニット1515aまたは1515b内のN個の作業バンクに、またはそこからN個のデータを向けるように構成され得る。
I/O制御ロジック412は、I/O回路407に結合され、N個のメインバンクのうちの故障メインバンクを示すバンク故障情報に基づいて、第2レベルのメモリユニット1515aまたは1515b内のN個のメインバンクおよび冗長バンクからN個の作業バンクを決定するように構成され得る。I/O制御ロジック412は、I/O回路407を制御して、N個のデータをN個の作業バンクに、またはそこからそれぞれ向けることができる。I/O制御ロジック412は、図9を参照して上述され、ここでは同様の説明は繰り返さない。
いくつかの実装では、第1レベルのメモリユニット1514は、複数の平面を含むダイであり得、各第2レベルのメモリユニット1515aまたは1515bは、ダイ内の対応する平面であり得る。第1レベルデータバス1510は、ダイ内のグローバルデータバスであり得る。I/O回路407は、グローバルデータバスに結合することができ、対応する平面内のグローバルデータバスおよび1つまたは複数の分岐データバスを介して、それぞれ対応する平面内のN個の作業バンクに、またはそこからN個のデータを向けるように構成することができる。実施例は、図15B~図15Dを参照して示され、第1レベルのメモリユニット1514はダイであり、第2レベルのメモリユニット1515aまたは1515bは平面であり、第1レベルデータバス1510はグローバルデータバスであり、I/O回路407はグローバルデータバスに結合されている。
いくつかの実装では、第1レベルのメモリユニット1514は、複数の平面セクションを含む平面であり得、各第2レベルのメモリユニット1515aまたは1515bは、平面内の対応する平面セクションであり得る。第1レベルデータバス1510は、平面内の平面分岐データバスであり得る。I/O回路407は、平面分岐データバスに結合することができ、平面分岐データバスおよびセクション分岐データバスをそれぞれ介して、対応する平面セクション内のN個の作業バンクに、またはそこから、N個のデータを向けるように構成することができる。例は、図16Aを参照して示され、第1レベルのメモリユニット1514は平面であり、第2レベルのメモリユニット1515aまたは1515bは平面セクションであり、第1レベルデータバス1510は平面分岐データバスであり、I/O回路407は平面分岐データバスに結合されている。
いくつかの実装では、第1レベルのメモリユニット1514は、複数の平面セクションを含む平面であり得、各第2レベルのメモリユニット1515aまたは1515bは、平面内の対応する平面セクションであり得る。第1レベルデータバス1510は、平面内のセクション分岐データバスであり得る。I/O回路407は、セクション分岐データバスに結合され、セクション分岐データバスおよびセクションサブ分岐データバスを介して、それぞれ対応する平面セクション内のN個の作業バンクに、またはそこから、N個のデータを向けるように構成され得る。実施例は、図16Bおよび図16Dを参照して以下に示される。第1レベルのメモリユニット1514は平面であり、第2レベルのメモリユニット1515は平面セクションであり、第1レベルデータバス1510はセクション分岐データバスであり、I/O回路407はセクション分岐データバスに結合されている。
図15Bは、本開示のいくつかの態様による、複数の平面およびI/O回路(例えば、I/O回路407)を有するダイを含む例示的なメモリデバイス1530のブロック図を示す。ダイ(例えば、ダイ1301)は、複数の平面1302aおよび1302bを含み得る。メモリデバイス1530は、本明細書に開示される任意の適切なメモリデバイスの構成要素と同様の構成要素を含むことができ、同様の説明はここでは繰り返されない。
いくつかの実装では、制御ロジック413は、グローバルデータバス1418を介してデータ入力および出力を制御するように構成されたグローバルI/O制御ロジックを含むことができる。例えば、制御ロジック413は、グローバルデータバス1418への、またはグローバルデータバス1418からのデータ入力/出力のバッファリングを制御することができ、入力/出力データに対して完全性チェックを実行することができる。いくつかの例では、レジスタ414も制御ロジック413内に含まれ得る。
I/O制御ロジック412およびI/O回路407は、平面1302aおよび1302bによって共有され得る。I/O回路407は、グローバルデータバス1418に結合され得る。グローバルデータバス1418は、ジャンクション1401で分岐して、平面分岐データバス1403aおよび1403bを形成することができる。I/O回路407は、グローバルデータバス1418および平面分岐データバス1403aまたは1403bをそれぞれ介して、平面1302aまたは1302b内のN個の作業バンクに、またはそこからN個のデータを向けるように構成され得る。
図15Cは、本開示のいくつかの態様による、複数の平面およびI/O回路(例えば、I/O回路407)を有するダイを含む別の例示的なメモリデバイス1550のブロック図を示す。図15Dは、本開示のいくつかの態様による、図15Cのメモリデバイス1550における例示的なデータバスの概略図を示す。図15C~図15Dのダイ(例えば、ダイ1301)は、複数の平面1302aおよび1302bを含むことができ、各平面1302aまたは1302bは、複数の平面セクション1502a、1502b、1502c、および1502dを含む。I/O制御ロジック412およびI/O回路407は、平面1302aおよび1302bによって共有され得る(例えば、各平面1302aまたは1302bの平面セクション1502a、1502b、1502c、および1502dによっても共有され得る)。メモリデバイス1550は、本明細書で開示される任意の適切なメモリデバイスの構成要素と同様の構成要素を含むことができ、同様の説明はここでは繰り返されない。
図15C~図15Dに示されるように、I/O回路407は、グローバルデータバス1418に結合され得る。グローバルデータバス1418は、ジャンクション1401で分岐して、平面分岐データバス1403aおよび1403bを形成することができる。平面1302aに関して、平面分岐データバス1403aは、ジャンクション1402aで分岐して、セクション分岐データバス1405a、1405b、1405c、および1405dを形成することができる。その結果、I/O回路407は、平面1301aの各平面セクション1502a、1502b、1502c、または1502dに結合され、それぞれ、グローバルデータバス1418、平面分岐データバス1403a、およびセクション分岐データバス1405a、1405b、1405c、または1405dを介して各平面セクション1502a、1502b、1502c、または1502d内のN個の作業バンクに、またはそこからN個のデータを向けるように構成され得る。
平面1302bに関して、平面分岐データバス1403bは、ジャンクション1402bで分岐して、セクション分岐データバス1405e、1405f、および1405gを形成することができる。セクション分岐データバス1405gは、ジャンクション1404で分岐して、セクションサブ分岐データバス1407aおよび1407bを形成することができる。その結果、I/O回路407は、平面1302bの平面セクション1502aまたは1502bに結合され、それぞれ、グローバルデータバス1418、平面分岐データバス1403b、およびセクション分岐データバス1405eまたは1405fを介してN個のデータを平面セクション1502aまたは1502b内のN個の作業バンクに、またはそこから向けるように構成され得る。さらに、I/O回路407は、平面1302bの平面セクション1502cまたは1502dに結合することができ、グローバルデータバス1418、平面分岐データバス1403b、セクション分岐データバス1405g、およびセクションサブ分岐データバス1407aまたは1407bを介して、それぞれ平面セクション1502cまたは1502d内のN個の作業バンクに、またはそこからN個のデータを向けるように構成され得る。
図16A~図16Dは、本開示のいくつかの態様による、複数の平面および複数のI/O回路をそれぞれが含む例示的なメモリデバイス1610、1620、1630、および1640の概略図を示す。図16Aを参照すると、メモリデバイス1610は、本明細書に開示される任意の適切なメモリデバイスの構成要素と同様の構成要素を含むことができ、同様の説明はここでは繰り返されない。図16Aでは、各平面1302aまたは1302bは、それぞれのI/O回路407aまたは407bを含むことができる。メモリデバイス1610は、複数の平面1302aおよび1302bによって共有される1つのI/O制御ロジック412を含むが、いくつかの実装では、各平面1302aまたは1302bは、(1)それぞれのI/O回路407aまたは407bに結合されたそれぞれのI/O制御ロジック412、(2)それぞれのI/O制御ロジック412に結合された1つまたは複数のそれぞれのレジスタ414を含み得る。
平面1302aに関して、I/O回路407a(平面1302aに存在する場合、それぞれのI/O制御ロジック412およびそれぞれのレジスタ414も同様)は、平面1302aの平面セクション1502a、1502b、1502c、および1502dによって共有され得る。I/O回路407aは、平面分岐データバス1403aに結合され得る。I/O回路407aは、平面1302aの各平面セクション1502a、1502b、1502c、または1502dに結合することができ、平面分岐データバス1403aおよびセクション分岐データバス1405a、1405b、1405c、または1405dを介して、それぞれ各平面セクション1502a、1502b、1502c、または1502d内のN個の作業バンクに、またはそれらからN個のデータを向けるように構成され得る。
平面1302bに関して、I/O回路407b(平面1302bに存在する場合、それぞれのI/O制御ロジック412およびそれぞれのレジスタ414も同様)は、平面1302bの平面セクション1502a、1502b、1502c、および1502dによって共有され得る。I/O回路407bは、平面分岐データバス1403bに結合され得る。I/O回路407bは、平面1302b内の平面セクション1502aまたは1502bに結合され、それぞれ、平面分岐データバス1403bおよびセクション分岐データバス1405eまたは1405fを介してN個のデータを平面セクション1502aまたは1502b内のN個の作業バンクに、またはそこから向けるように構成され得る。さらに、I/O回路407bは、平面1302bの平面セクション1502cまたは1502dに結合することができ、平面分岐データバス1403b、セクション分岐データバス1405g、およびセクションサブ分岐データバス1407aまたは1407bを介して、それぞれ、平面セクション1502cまたは1502d内のN個の作業バンクに、またはそれらからN個のデータを向けるように構成され得る。
図16Bを参照すると、メモリデバイス1620は、本明細書で開示される任意の適切なメモリデバイスの構成要素と同様の構成要素を含むことができ、同様の説明はここでは繰り返されない。図16Bでは、平面1302aは、平面1302aの平面セクション1405a~1405dによって共有されるI/O回路407aを含み得る。平面1302bは、I/O回路407b、407c、および407dを含み得る。
平面1302bに関して、I/O回路407b(ならびに、平面1302bに存在する場合、それぞれのI/O制御ロジック412およびそれぞれのレジスタ414)は、平面1302bの平面セクション1502cおよび1502dによって共有され得る。I/O回路407bは、セクション分岐データバス1405gに結合され得る。I/O回路407bは、平面1302bの平面セクション1502cまたは1502dに結合され、それぞれ、セクション分岐データバス1405gおよびセクションサブ分岐データバス1407aまたは1407bを介してN個のデータを平面セクション1502cまたは1502d内のN個の作業バンクに、またはそこから向けるように構成され得る。I/O回路407cは、セクション分岐データバス1405fに結合され得る。I/O回路407cは、平面1302bの平面セクション1502bに結合され、セクション分岐データバス1405fを介して平面セクション1502b内のN個の作業バンクに、またはそこからN個のデータをそれぞれ向けるように構成され得る。I/O回路407dは、セクション分岐データバス1405eに結合され得る。I/O回路407dは、平面1302bの平面セクション1502aに結合され、セクション分岐データバス1405eを介して平面セクション1502a内のN個の作業バンクに、またはそこからN個のデータをそれぞれ向けるように構成され得る。
図16Cを参照すると、メモリデバイス1630は、本明細書に開示される任意の適切なメモリデバイスの構成要素と同様の構成要素を含むことができ、同様の説明はここでは繰り返されない。平面1302aは、平面1302a内の平面セクション1502a、1502b、1502c、および1502dにそれぞれ対応するI/O回路407a、407b、407c、および407dを含み得る。I/O回路407aは、平面1302aの平面セクション1502aに結合され、セクション分岐データバス1405aを介して平面セクション1502a内のN個の作業バンクに、またはそこからN個のデータをそれぞれ向けるように構成され得る。I/O回路407bは、平面1302aの平面セクション1502bに結合され、セクション分岐データバス1405bを介して平面セクション1502b内のN個の作業バンクに、またはそこからN個のデータをそれぞれ向けるように構成され得る。I/O回路407cは、平面1302aの平面セクション1502cに結合され、セクション分岐データバス1405cを介して平面セクション1502c内のN個の作業バンクに、またはそこからN個のデータをそれぞれ向けるように構成され得る。I/O回路407dは、平面1302aの平面セクション1502dに結合され、セクション分岐データバス1405dを介して平面セクション1502d内のN個の作業バンクに、またはそこからN個のデータをそれぞれ向けるように構成され得る。
平面1302bは、平面1302b内の平面セクション1502a、1502b、1502c、および1502dにそれぞれ対応するI/O回路407e、407f、407g、および407hを含み得る。I/O回路407eは、平面1302bの平面セクション1502aに結合され、セクション分岐データバス1405eを介して平面セクション1502a内のN個の作業バンクに、またはそこからN個のデータをそれぞれ向けるように構成され得る。I/O回路407fは、平面1302bの平面セクション1502bに結合され、セクション分岐データバス1405fを介して平面セクション1502b内のN個の作業バンクに、またはそこからN個のデータをそれぞれ向けるように構成され得る。I/O回路407gは、平面1302bの平面セクション1502cに結合され、セクションサブ分岐データバス1407aをそれぞれ介して、平面セクション1502c内のN個の作業バンクに、またはそこからN個のデータを向けるように構成され得る。I/O回路407hは、平面1302bの平面セクション1502dに結合され、セクションサブ分岐データバス1407bを介して平面セクション1502d内のN個の作業バンクに、またはそこからN個のデータをそれぞれ向けるように構成され得る。
図16Dを参照すると、メモリデバイス1640は、本明細書に開示される任意の適切なメモリデバイスの構成要素と同様の構成要素を含むことができ、同様の説明はここでは繰り返されない。図16Dでは、平面1302aは、平面1302aの平面セクション1502a、1502b、1502c、および1502dによって共有されるI/O回路407aを含み得る。平面1302bは、I/O回路407bおよび407cを含み得る。
平面1302bに関して、平面分岐データバス1403bは、ジャンクション1402bで分岐して、セクション分岐データバス1405eおよび1405fを形成することができる。セクション分岐データバス1405eは、ジャンクション1404aで分岐して、セクションサブ分岐データバス1407aおよび1407bを形成することができる。セクション分岐データバス1405fは、ジャンクション1404bで分岐して、セクションサブ分岐データバス1407cおよび1407dを形成することができる。I/O回路407b(ならびに、平面1302bに存在する場合、それぞれのI/O制御ロジック412およびそれぞれのレジスタ414)は、平面1302bの平面セクション1502aおよび1502bによって共有され得る。I/O回路407bは、セクション分岐データバス1405eに結合され得る。I/O回路407bは、平面1302bの平面セクション1502aまたは1502bに結合され、それぞれ、セクション分岐データバス1405eおよびセクションサブ分岐データバス1407aまたは1407bを介してN個のデータを平面セクション1502aまたは1502b内のN個の作業バンクに、またはそこから向けるように構成され得る。
I/O回路407c(ならびに、平面1302bに存在する場合、それぞれのI/O制御ロジック412およびそれぞれのレジスタ414)は、平面1302bの平面セクション1502cおよび1502dによって共有され得る。I/O回路407cは、セクション分岐データバス1405fに結合され得る。I/O回路407dは、平面1302bの平面セクション1502cまたは1502dに結合され、それぞれ、セクション分岐データバス1405fおよびセクションサブ分岐データバス1407cまたは1407dを介してN個のデータを平面セクション1502cまたは1502d内のN個の作業バンクに、またはそこから向けるように構成され得る。
図17は、本開示のいくつかの態様による、データ入力に冗長バンクを使用する故障メインバンク修復方式を実装する例示的なメモリデバイス1700の概略図を示す。メモリデバイス1700は、本明細書で説明される任意の適切なメモリデバイスの構成要素と同様の構成要素を含むことができ、同様の説明はここでは繰り返されない。I/O回路407は、例えば、ページバッファ/感知増幅器404および列デコーダ/ビット線ドライバ406(またはページバッファ/感知増幅器部分1406および列デコーダ/ビット線ドライバ部分1506)を介して、N個のメインバンク702(例えば、N=8)および1個の冗長バンク704に結合することができる。図17に示すいくつかの実装では、データ入力(例えば、書き込み動作)において、ページバッファ/感知増幅器404および列デコーダ/ビット線ドライバ406(またはページバッファ/感知増幅器部分1406および列デコーダ/ビット線ドライバ部分1506)は、9個のドライバ706を含み、8つのメインバンク702および1つの冗長バンク704にそれぞれ結合されている。
I/O回路407は、データバス1701と、ワイヤ1702、1704、1706、1708、1710、1712、1714、1716、および1718を含む配線のセットとを介してN個のメインバンク702および冗長バンク704にそれぞれ結合された書き込みMUX708のセットを含み得る。例えば、各書き込みMUX708の出力は、データバス1701のそれぞれのデータ線および配線セット内のそれぞれのワイヤを介してそれぞれのバンクに結合され得る。I/O回路407は、図7の構造と同様の構造を有することができ、ここでは、同様の説明は繰返さない。
いくつかの実装では、I/O回路407は、図15Aに示すように、第1レベルのメモリユニット1514に配置され、複数の第2レベルのメモリユニット1515aおよび1515bによって共有され得る。データバス1701は、図15Aの第1レベルデータバス1510とすることができる。配線のセットは、N個のメインバンク702および冗長バンク704が配置される第2レベルのメモリユニット1515aまたは1515bに応じて、分岐データバス1512aまたは1512bを含み得る。
いくつかの実装では、I/O回路407は、ダイに配置され、複数の平面によって共有され得る(例えば、図15B~図15Dに示されるように)。例えば、データバス1701は、図15Bに示されるグローバルデータバス1418であり得る。配線のセットは、図15Bに示される平面分岐データバス1403aまたは1403bを含み得る。これは、N個のメインバンク702および冗長バンク704がどの平面に配置されているかに依存する。別の例では、データバス1701は、図15Cまたは図15Dに示されるグローバルデータバス1418であり得る。配線のセットは、図15Dに示される平面分岐データバス1403aまたは1403b、セクション分岐データバス1405a~1405g、およびセクションサブ分岐データバス1407aまたは1407bのうちの1つまたは複数を含み得、平面1302aまたは平面1302bのどのセクションにN個のメインバンク702および冗長バンク704が配置されているかに依存する。
いくつかの実装では、I/O回路407は平面に配置され、平面内の複数の平面セクションによって共有され得る。例えば、図17のI/O回路407は、図16AのI/O回路407aまたは407bとすることができる。また、データバス1701は、図16Aに示す平面分岐データバス1403aまたは1403bとすることができる。配線のセットは、図16Aに示されるセクション分岐データバス1405a~1405gおよび/またはセクションサブ分岐データバス1407aまたは1407bを含み得、平面1302aまたは平面1302bのどのセクションにN個のメインバンク702および冗長バンク704が配置されているかに依存する。別の例では、図17のI/O回路407bは、図16DのI/O回路407bとすることができる。データバス1701は、図16Dの平面1302b内のセクション分岐データバス1405eとすることができる。配線のセットは、図16Dに示されるセクションサブ分岐データバス1407aまたは1407bを含み得、N個のメインバンク702および冗長バンク704が配置される平面1302bの平面セクション1502aまたは1502bに依存する。さらに別の例では、図17のI/O回路407cは、図16DのI/O回路407cとすることができる。また、データバス1701は、図16Dの平面1302bのセクション分岐データバス1405fとすることができる。配線のセットは、図16Dに示されるセクションサブ分岐データバス1407cまたは1407dを含み得、N個のメインバンク702および冗長バンク704が、平面1302bのどの平面セクション1502cまたは1502dに配置されるかに依存する。
いくつかの実装では、I/O回路407は、データバス1701および配線のセットを介して、N個のメインバンク702および冗長バンク704の隣接するバンクの各対に結合することができるため、I/O回路407は、N個のデータのうちの対応するデータを隣接するバンクの対応する対のいずれかのバンクに向けるように構成され得る。
例えば、隣接する一対のバンクのうち、第1バンクが故障メインバンクであると仮定する。書き込みMUX708のセットは、第1書き込みMUX708および第2書き込みMUX708を含み得る。第1書き込みMUX708の出力および第2書き込みMUX708の出力は、データバス1701および配線のセットを介して、それぞれ第1バンクおよび第2バンクに結合され得る。第1書き込みMUX708は、2つの入力をさらに含むことができ、そのうちの1つは、対応するデータを入力するように構成される。第2書き込みMUX708は、対応するデータおよび別のデータをそれぞれ入力するように構成された2つの入力をさらに含み得る。I/O制御ロジック412は、I/O回路407を制御して、データバス1701および配線セットを介して隣接するバンクの対の第2バンクに、またはそこから対応するデータを向けるように構成することができる。例えば、I/O制御ロジック412は、第1書き込みMUX708を制御して、対応するデータを第1バンクに出力することを禁止し、第2書き込みMUX708を制御して、対応するデータを第2バンクに出力することを可能にするようにさらに構成することができる。
図18は、本開示のいくつかの態様による、データ出力に冗長バンクを使用する故障メインバンク修復方式を実装する例示的なメモリデバイス1700の概略図を示す。図18に示すいくつかの実装では、データ出力(例えば、読み取り動作)では、ページバッファ/感知増幅器404および列デコーダ/ビット線ドライバ406(またはページバッファ/感知増幅器部分1406および列デコーダ/ビット線ドライバ部分1506)は、8つのメインバンク702および1つの冗長バンク704にそれぞれ結合された9つの感知増幅器802を含み得る。
I/O回路407は、データバス1701、ならびにワイヤ1702、1704、1706、1708、1710、1712、1714、1716、および1718を含む配線のセットを介してN個のメインバンク702および冗長バンク704にそれぞれ結合された読み取りMUX804のセットを含み得る。例えば、各読み取りMUX804の第1入力は、データバス1701のそれぞれのデータ線および配線セット内のそれぞれのワイヤを介してそれぞれのメインバンク702に結合することができる。各読み取りMUX804の第2入力は、データバス1701のそれぞれのデータ線および配線セット内のワイヤ1710を介して、隣接する読み取りMUX804または冗長バンク704の第1入力に結合することができる。I/O回路407は、図8の構造と同様の構造を有することができる。ここでは、同様の説明は繰返さない。
いくつかの実装では、I/O回路407は、データバス1701および配線のセットを介して、N個のメインバンク702および冗長バンク704の隣接するバンクの各対に結合することができ、その結果、I/O回路407は、隣接するバンクの対応する対のいずれかのバンクからのN個のデータのうちの対応するデータを向けるように構成され得る。例えば、隣接するバンク対の第1バンクが故障メインバンクであり、対応するデータが隣接するバンク対の第2バンクに記憶されていると仮定する。I/O回路407は、データバス1701および配線セットをそれぞれ介して第1および第2バンクに結合された2つの入力を含む読み取りMUX804を含むことができ、読み取りMUX804は、対応するデータを出力するように構成された出力をさらに含むことができる。I/O制御ロジック412はさらに、読み取りMUX804を制御して、データバス1701および配線セットを介して第2バンクから対応するデータを出力することを可能にするように構成することができる。
図19は、本開示のいくつかの態様による、故障メインバンクおよび冗長バンクを有するメモリデバイスを動作させるためのさらに別の例示的な方法1900のフローチャートを示す。メモリデバイスは、本明細書に開示される任意の適切なメモリデバイスであり得る。方法1900は、I/O制御ロジック412によって実装され得る。方法1900に示される動作は網羅的でなくてもよく、図示された動作の前、後、または間に他の動作も同様に実行できることが理解される。さらに、動作のいくつかは、同時に、または図19に示される順序とは異なる順序で実行されてもよい。
いくつかの実装では、メモリデバイスはメモリセルのアレイを含むことができ、メモリセルのアレイは第1レベルのメモリユニットを含むことができる。第1レベルのメモリユニットは複数の第2レベルのメモリユニットを含み、各第2レベルのメモリユニットはN個のメインバンクと、N個のデータの同時書き込みまたは読み取りのための冗長バンクとを含む。
図19を参照すると、方法1900は動作1902で開始し、第2レベルのメモリユニット内のN個のメインバンクのうち故障メインバンクを示すバンク故障情報が取得される。故障メインバンクは、メモリデバイスの製造後テストによって識別できる。例えば、作業バンクロジック906は、メモリデバイスを動作させる前に、レジスタ414からバンク故障情報を取得することができる。
方法1900は、図19に示すように動作1904に進む。ここで、バンク故障情報に基づいて、第2レベルのメモリユニット内のN個のメインバンクおよび冗長バンクからN個の作業バンクが決定される。N個の作業バンクには、冗長バンクを含めることができる。例えば、作業バンクロジック906は、冗長バンクおよび残りのメインバンクを含むN個の作業バンクを決定することができる。いくつかの実装では、バンク故障情報に基づいて、N個のメインバンクおよび冗長バンクの隣接するバンクの各対から1つの作業バンクが選択される。
方法1900は、図19に示されるように、動作1906に進む。ここで、N個のデータは、それぞれ第1レベルのメモリユニット内の第1レベルのデータバスおよび第2レベルのメモリユニット内の1つまたは複数の分岐データバスを介して、N個の作業バンクに、またはそこから向けられる。いくつかの実装では、N個のデータのうちの1個のデータが、N個のメインバンクおよび冗長バンクの隣接するバンクの各対の選択された作業バンクに向けられ、またはそこから向けられる。
本開示の一態様によれば、メモリデバイスは、メモリセルのアレイ、I/O回路、およびI/O回路に結合されたI/O制御ロジックを含む。メモリセルのアレイは、第1レベルのメモリユニットを含む。第1レベルのメモリユニットは、複数の第2レベルのメモリユニットを含む。各第2レベルのメモリユニットは、N個のメインバンクおよび冗長バンクを含み、Nは正の整数である。I/O回路は、第1レベルのデータバスに結合され、第1レベルのデータバスおよび1つまたは複数の分岐データバスをそれぞれ介して、対応する第2レベルのメモリユニット内のN個の作業バンクに、またはそこからN個のデータを向けるように構成される。I/O制御ロジックは、N個のメインバンクのうちの故障メインバンクを示すバンク故障情報に基づいて、対応する第2レベルのメモリユニット内のN個のメインバンクおよび冗長バンクからN個の作業バンクを決定するように構成される。I/O制御ロジックはさらに、I/O回路を制御して、N個のデータをN個の作業バンクに、またはそこからそれぞれ向けるように構成されている。
いくつかの実装では、I/O回路およびI/O制御ロジックは、複数の第2レベルのメモリユニットによって共有される。
いくつかの実装では、第1レベルのメモリユニットは、複数の平面を含むダイである。対応する第2レベルのメモリユニットは、ダイ内の対応する平面である。
いくつかの実装では、第1レベルのデータバスは、ダイ内のグローバルデータバスである。I/O回路は、グローバルデータバスに接続され、N個のデータを対応する平面のN個の作業バンクに、またはそこから、それぞれ対応する平面のグローバルデータバスおよび1つまたは複数の分岐データバスを介して向けるように構成される。
いくつかの実装では、対応する平面は、複数の平面セクションを含む。N個のメインバンクおよび冗長バンクは、複数の平面セクションから平面セクションに含まれる。I/O回路は、平面セクションに結合され、N個のデータを、グローバルデータバス、平面分岐データバス、およびセクション分岐データバスを介して、それぞれ平面セクション内のN個の作業バンクに、またはそこから向けるように構成される。
いくつかの実装では、第1レベルのメモリユニットは、複数の平面セクションを含む平面である。対応する第2レベルのメモリユニットは、平面内の対応する平面セクションである。
いくつかの実装では、第1レベルのデータバスは、平面内の平面分岐データバスである。I/O回路は、平面分岐データバスに結合され、平面分岐データバスおよびセクション分岐データバスをそれぞれ介して、対応する平面セクション内のN個の作業バンクに、またはそこからN個のデータを向けるように構成される。
いくつかの実装では、第1レベルのデータバスは、平面内のセクション分岐データバスである。I/O回路は、セクション分岐データバスに結合され、セクション分岐データバスおよびセクションサブ分岐データバスをそれぞれ介して、対応する平面セクション内のN個の作業バンクに、またはそこからN個のデータを向けるように構成される。
いくつかの実装では、I/O回路は、N個のメインバンクおよび冗長バンクの隣接するバンクの各対に結合されるため、I/O回路は、N個のデータの対応するデータを、第1レベルのデータバスおよび1つまたは複数の分岐データバスを介して、隣接するバンクの対のいずれかのバンクに、またはそこから向けるように構成される。
いくつかの実装では、隣接するバンクの対の第1バンクは、故障メインバンクである。I/O制御ロジックは、I/O回路を制御して、第1レベルのデータバスおよび1つまたは複数の分岐データバスを介して、隣接するバンクの対の第2バンクに、またはそこから、対応するデータを向けるように構成される。
いくつかの実装では、I/O回路は、N個のメインバンクおよび冗長バンクにそれぞれ結合された書き込みMUXのセットを含む。書き込みMUXのセットは、第1レベルのデータバスおよび1つまたは複数の分岐データバスを介して第1バンクに結合された出力を含む第1書き込みMUXを含む。第1書き込みMUXはさらに2つの入力を含み、そのうちの1つは対応するデータを入力するように構成される。書き込みMUXのセットは、第1レベルのデータバスおよび1つまたは複数の分岐データバスを介して第2バンクに結合された出力を含む第2書き込みMUXをさらに含む。第2書き込みMUXはさらに、対応するデータおよび別のデータをそれぞれ入力するように構成された2つの入力を含む。
いくつかの実装では、I/O制御ロジックは、第1書き込みMUXを制御して、対応するデータを第1バンクに出力することを禁止し、第2書き込みMUXを制御して、対応するデータを第2バンクに出力することを可能にするようにするようにさらに構成される。
いくつかの実装では、I/O回路は、第1レベルのデータバスおよび1つまたは複数の分岐データバスを介してN個のメインバンクおよび冗長バンクに結合された読み取りMUXのセットを含む。読み取りMUXのセットは、第1レベルのデータバスおよび1つまたは複数の分岐データバスをそれぞれ介して第1および第2バンクに結合された2つの入力を含む読み取りMUXを含み、読み取りMUXは、対応するデータを出力するように構成された出力をさらに含む。
いくつかの実装では、I/O制御ロジックは、読み取りMUXを制御して、第1レベルのデータバスおよび1つまたは複数の分岐データバスを介して第2バンクから対応するデータを出力することを可能にするようにさらに構成される。
いくつかの実装では、N=4または8であり、メモリデバイスは、3D NANDフラッシュメモリデバイスを含む。
本開示の別の態様によれば、システムは、データを記憶するように構成されたメモリデバイスと、メモリデバイスに結合され、メモリデバイスを制御するように構成されたメモリコントローラとを含む。メモリデバイスは、メモリセルのアレイ、I/O回路、およびI/O回路に結合されたI/O制御ロジックを含む。メモリセルのアレイは、第1レベルのメモリユニットを含む。第1レベルのメモリユニットは、複数の第2レベルのメモリユニットを含む。各第2レベルのメモリユニットは、N個のメインバンクおよび冗長バンクを含み、Nは正の整数である。I/O回路は、第1レベルのデータバスに結合され、第1レベルのデータバスおよび1つまたは複数の分岐データバスをそれぞれ介して、対応する第2レベルのメモリユニット内のN個の作業バンクに、またはそこからN個のデータを向けるように構成される。I/O制御ロジックは、N個のメインバンクのうちの故障メインバンクを示すバンク故障情報に基づいて、対応する第2レベルのメモリユニット内のN個のメインバンクおよび冗長バンクからN個の作業バンクを決定するように構成される。I/O制御ロジックはさらに、I/O回路を制御して、N個のデータをN個の作業バンクに、またはそこからそれぞれ向けるように構成されている。
いくつかの実装では、システムは、メモリコントローラに結合され、データを送信または受信するように構成されたホストをさらに含む。
いくつかの実装では、I/O回路およびI/O制御ロジックは、複数の第2レベルのメモリユニットによって共有される。
いくつかの実装では、第1レベルのメモリユニットは、複数の平面を含むダイである。対応する第2レベルのメモリユニットは、ダイ内の対応する平面である。
いくつかの実装では、第1レベルのデータバスは、ダイ内のグローバルデータバスである。I/O回路は、グローバルデータバスに接続され、N個のデータを対応する平面のN個の作業バンクに、またはそこから、それぞれ対応する平面のグローバルデータバスおよび1つまたは複数の分岐データバスを介して向けるように構成される。
いくつかの実装では、対応する平面は、複数の平面セクションを含む。N個のメインバンクおよび冗長バンクは、複数の平面セクションから平面セクションに含まれる。I/O回路は、平面セクションに結合され、N個のデータを、グローバルデータバス、平面分岐データバス、およびセクション分岐データバスを介して、それぞれ平面セクション内のN個の作業バンクに、またはそこから向けるように構成される。
いくつかの実装では、第1レベルのメモリユニットは、複数の平面セクションを含む平面である。対応する第2レベルのメモリユニットは、平面内の対応する平面セクションである。
いくつかの実装では、第1レベルのデータバスは、平面内の平面分岐データバスである。I/O回路は、平面分岐データバスに結合され、平面分岐データバスおよびセクション分岐データバスをそれぞれ介して、対応する平面セクション内のN個の作業バンクに、またはそこからN個のデータを向けるように構成される。
いくつかの実装では、第1レベルのデータバスは、平面内のセクション分岐データバスである。I/O回路は、セクション分岐データバスに結合され、セクション分岐データバスおよびセクションサブ分岐データバスをそれぞれ介して、対応する平面セクション内のN個の作業バンクに、またはそこからN個のデータを向けるように構成される。
いくつかの実装では、I/O回路は、N個のメインバンクおよび冗長バンクの隣接するバンクの各対に結合されるため、I/O回路は、N個のデータの対応するデータを、第1レベルのデータバスおよび1つまたは複数の分岐データバスを介して、隣接するバンクの対のいずれかのバンクに、またはそこから向けるように構成される。
いくつかの実装では、隣接するバンクの対の第1バンクは、故障メインバンクである。I/O制御ロジックは、I/O回路を制御して、第1レベルのデータバスおよび1つまたは複数の分岐データバスを介して、隣接するバンクの対の第2バンクに、またはそこから、対応するデータを向けるように構成される。
いくつかの実装では、I/O回路は、N個のメインバンクおよび冗長バンクにそれぞれ結合された書き込みMUXのセットを含む。書き込みMUXのセットは、第1レベルのデータバスおよび1つまたは複数の分岐データバスを介して第1バンクに結合された出力を含む第1書き込みMUXを含む。第1書き込みMUXはさらに2つの入力を含み、そのうちの1つは対応するデータを入力するように構成される。書き込みMUXのセットは、第1レベルのデータバスおよび1つまたは複数の分岐データバスを介して第2バンクに結合された出力を含む第2書き込みMUXをさらに含む。第2書き込みMUXはさらに、対応するデータおよび別のデータをそれぞれ入力するように構成された2つの入力を含む。
いくつかの実装では、I/O制御ロジックは、第1書き込みMUXを制御して、対応するデータを第1バンクに出力することを禁止し、第2書き込みMUXを制御して、対応するデータを第2バンクに出力することを可能にするようにさらに構成される。
いくつかの実装では、I/O回路は、第1レベルのデータバスおよび1つまたは複数の分岐データバスを介してN個のメインバンクおよび冗長バンクに結合された読み取りMUXのセットを含む。読み取りMUXのセットは、第1レベルのデータバスおよび1つまたは複数の分岐データバスをそれぞれ介して第1および第2バンクに結合された2つの入力を含む読み取りMUXを含み、読み取りMUXは、対応するデータを出力するように構成された出力をさらに含む。
いくつかの実装では、I/O制御ロジックは、読み取りMUXを制御して、第1レベルのデータバスおよび1つまたは複数の分岐データバスを介して第2バンクから対応するデータを出力することを可能にするようにさらに構成される。
いくつかの実施形態では、N=4または8であり、メモリデバイスは、3D NANDフラッシュメモリデバイスを含む。
本開示のさらに別の態様によれば、メモリデバイスを動作させる方法が提供される。メモリデバイスは、メモリセルのアレイを含む。メモリセルのアレイは、第1レベルのメモリユニットを含む。第1レベルのメモリユニットは、複数の第2レベルのメモリユニットを含む。各第2レベルのメモリユニットは、N個のメインバンクおよび冗長バンクを含み、Nは正の整数である。N個のメインバンクのうち故障メインバンクを示すバンク故障情報に基づいて、対応する第2レベルのメモリユニット内のN個のメインバンクおよび冗長バンクからN個の作業バンクが決定される。N個のデータは、第1レベルのメモリユニット内の第1レベルのデータバスおよび対応する第2レベルのメモリユニット内の1つまたは複数の分岐データバスを介して、N個の作業バンクに、またはそこから向けられる。
いくつかの実装では、第1レベルのメモリユニットは、複数の平面を含むダイである。対応する第2レベルのメモリユニットは、ダイ内の対応する平面である。
いくつかの実装では、第1レベルのデータバスは、ダイ内のグローバルデータバスである。N個のデータを向けることは、それぞれ対応する平面内のグローバルデータバスおよび1つまたは複数の分岐データバスを介して、対応する平面内のN個の作業バンクに、またはそこからN個のデータを向けることを含む。
いくつかの実装では、対応する平面は、複数の平面セクションを含む。N個のメインバンクおよび冗長バンクは、複数の平面セクションから平面セクションに含まれる。N個のデータを向けることは、N個のデータを平面セクション内のN個の作業バンクに、またはそこからそれぞれ向けることを含む。
いくつかの実装では、第1レベルのメモリユニットは、複数の平面セクションを含む平面である。対応する第2レベルのメモリユニットは、平面内の対応する平面セクションである。
いくつかの実装では、第1レベルのデータバスは、平面内の平面分岐データバスである。N個のデータを向けることは、平面分岐データバスおよびセクション分岐データバスを介して、対応する平面セクション内のN個の作業バンクに、またはそこからN個のデータを向けることを含む。
いくつかの実装では、第1レベルのデータバスは、平面内のセクション分岐データバスである。N個のデータを向けることは、それぞれセクション分岐データバスおよびセクションサブ分岐データバスを介して、対応する平面セクション内のN個の作業バンクに、またはそこからN個のデータを向けることを含む。
いくつかの実装では、N個のメインバンクのうち故障メインバンクを示すバンク故障情報が取得される。
いくつかの実装では、N個の作業バンクを決定することは、バンク故障情報に基づいて、N個のメインバンクおよび冗長バンクの隣接するバンクの各対から作業バンクを選択することを含む。
いくつかの実装では、N個のデータを向けることは、N個のデータのうちの対応するデータを、第1レベルのデータバスおよび1つまたは複数の分岐データバスを介して、選択された作業バンクに、またはそこから向けることを含む。
いくつかの実装では、N=4または8であり、メモリデバイスは、3D NANDフラッシュメモリデバイスを含む。
特定の実装の前述の説明は、様々なアプリケーションに対して容易に修正および/または適合させることができる。したがって、そのような適応および修正は、本明細書で提示される教示およびガイダンスに基づいて、開示された実装の同等物の意味および範囲内にあることを意図している。
本開示の広さおよび範囲は、上記の例示的な実装のいずれによっても限定されるべきではなく、以下の特許請求の範囲およびそれらの均等物に従ってのみ定義されるべきである。