(57)【特許請求の範囲】
【請求項１】
システムコントローラであって、
ホストインターフェースと、
前記ホストインターフェースに通信可能に結合され、多数のメモリインターフェースを有する、メモリシステムコントローラと、を備え、
前記メモリシステムコントローラは、前記多数のメモリインターフェースに通信可能に結合され、それぞれが多数のメモリデバイスに通信可能に結合された複数のインテリジェントＮＡＮＤ記憶ノード（ＩＮＳＮ）を制御するように構成され、前記メモリシステムコントローラは、ウェアレベリングを行う一のメモリシステムとして、前記複数のＩＮＳＮの全体にわたりウェアレベルを集中管理するように構成される論理を含む、システムコントローラ。
【請求項２】
前記メモリインターフェースは、同期メモリインターフェースである、請求項１に記載のシステムコントローラ。
【請求項３】
前記ＩＮＳＮの第１の部分は、前記多数の同期メモリインターフェースのうちの１つと並列に通信可能に結合される、請求項２に記載のシステムコントローラ。
【請求項４】
前記ＩＮＳＮの第２の部分は、前記多数の同期メモリインターフェースのうちの異なる１つと並列に通信可能に結合される、請求項３に記載のシステムコントローラ。
【請求項５】
前記メモリインターフェースは、シリアルメモリインターフェースである、請求項１に記載のシステムコントローラ。
【請求項６】
前記メモリシステムコントローラは、論理ブロック情報なしで、物理ページメモリアクセスリクエストを生成するように構成される、請求項５に記載のシステムコントローラ。
【請求項７】
前記多数のシリアルメモリインターフェースのそれぞれは、それらに通信可能に結合される少なくとも２つのＩＮＳＮと通信するように構成される、請求項５に記載のシステムコントローラ。
【請求項８】
前記メモリシステムコントローラは、前記ＩＮＳＮの全てにわたりウェアレベルを管理するように構成される論理を含む、請求項５に記載のシステムコントローラ。
【請求項９】
前記ＩＮＳＮはそれぞれ、多数のメモリデバイスを有する、請求項１〜８のいずれか１つに記載されるシステムコントローラ。
【請求項１０】
前記多数のＩＮＳＮにわたりウェアレベルを管理するように構成される前記論理は、特定のＩＮＳＮの前記多数のメモリデバイスにわたりウェアレベリングを管理するための論理を含む、請求項９に記載のシステムコントローラ。
【請求項１１】
前記多数のＩＮＳＮにわたりウェアレベルを管理するように構成される前記論理は、複数のＩＮＳＮの前記多数のメモリデバイスにわたりウェアレベリングを管理するように構成される論理を含む、請求項９に記載のシステムコントローラ。
【請求項１２】
前記多数のＩＮＳＮにわたりウェアレベルを管理するように構成される前記論理は、全てのＩＮＳＮの全てのメモリデバイスにわたりウェアレベリングを管理するように構成される論理を含む、請求項１１に記載のシステムコントローラ。
【請求項１３】
メモリシステムであって、
システムコントローラおよびホストインターフェース（ＳＣＨＩ）であって、
ホストインターフェースと、
前記ホストインターフェースに通信可能に結合され、少なくとも２つのシリアルメモリインターフェースを有する、メモリシステムコントローラと、
前記少なくとも２つのシリアルメモリインターフェースに通信可能に結合される複数の記憶ノードと、を含む、システムコントローラおよびホストインターフェース（ＳＣＨＩ）を備え、
前記メモリシステムコントローラは、ウェアレベリングを行う一のメモリシステムとして、前記複数の記憶ノードの全体にわたりウェアレベリングを集中管理するように構成される、メモリシステム。
【請求項１４】
前記複数の記憶ノードは、インテリジェントＮＡＮＤ記憶ノード（ＩＮＳＮ）である、請求項１３に記載のメモリシステム。
【請求項１５】
前記複数の記憶ノードは、多数のメモリデバイスを含む、請求項１３に記載のメモリシステム。
【請求項１６】
前記複数の記憶ノードは、それぞれ、前記多数のメモリデバイスに通信可能に結合されたノードメモリコントローラを含む、請求項１５に記載のメモリシステム。
【請求項１７】
前記多数のメモリデバイスは、ＮＡＮＤフラッシュメモリデバイスである、請求項１６に記載のメモリシステム。
【請求項１８】
各ノードメモリコントローラは、オープンＮＡＮＤフラッシュインターフェース（ＯＮＦｉ）によって前記多数のＮＡＮＤフラッシュメモリデバイスに通信可能に結合される、請求項１７に記載のメモリシステム。
【請求項１９】
前記複数の記憶ノードは、それぞれ、マルチチップパッケージで構成される、請求項１３〜１８のいずれか１つに記載される前記メモリシステム。
【請求項２０】
前記マルチチップパッケージは、２０未満のピンを有する、請求項１９に記載のメモリシステム。
【請求項２１】
前記マルチチップパッケージは、データおよび制御信号のための３つ以下のピンを有する、請求項２０に記載のメモリシステム。
【請求項２２】
前記複数の記憶ノードは固体ドライブである、請求項１３〜１５のいずれかに記載のメモリシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、概して、半導体メモリデバイス、方法、およびシステムに関し、より具体的には、メモリシステムコントローラに関する。
【背景技術】
【０００２】
メモリデバイスは、一般的に、コンピュータまたは他の電子デバイス内の、内部的回路、半導体回路、集積回路として提供される。揮発性および不揮発性メモリを含む多くの異なる種類のメモリが存在する。揮発性メモリは、そのデータを保守するために電力を必要とする可能性があり、とりわけ、ランダムアクセスメモリ（ＲＡＭ）、ダイナミックランダムアクセスメモリ（ＤＲＡＭ）、および同期ダイナミックランダムアクセスメモリ（ＳＤＲＡＭ）が挙げられる。不揮発性メモリは、電源供給されていない場合に、記憶された情報を保持することによって、持続的なデータを提供でき、また、とりわけ、ＮＡＮＤフラッシュメモリ、ＮＯＲフラッシュメモリ、読み出し専用メモリ（ＲＯＭ）、電気的消去可能プログラマブルＲＯＭ（ＥＥＰＲＯＭ）、消去可能プログラマブルＲＯＭ（ＥＰＲＯＭ）、および相変化ランダムアクセスメモリ（ＰＣＲＡＭ）を挙げることができる。
【０００３】
メモリデバイスは、固体ドライブ（ＳＳＤ）を形成するように、共に組み合わせることができる。固体ドライブは、不揮発性メモリ、例えばＮＡＮＤフラッシュメモリおよびＮＯＲフラッシュメモリを含むことができ、かつ／または、揮発性メモリ、例えば、種々の他の種類の不揮発性および揮発性メモリの中でも、ＤＲＡＭおよびＳＲＡＭを含むことができる。
【０００４】
固体ドライブは、性能、大きさ、重量、耐久性、動作温度範囲、および燃費に関して、ハードドライブを超える利点を有することができるため、コンピュータの主記憶デバイスとしてハードディスクドライブに取って代わるためにＳＳＤを使用できる。例えば、ＳＳＤは、磁気ディスクドライブに関連付けられたシークタイム、待ち時間、および他の電気機械的遅延を改善する場合がある、可動パーツの欠如により、磁気ディスクドライブと比較した場合に優れた性能を示す可能性がある。ＳＳＤの製造業者は、内部電池供給を利用しない場合があるフラッシュＳＳＤを作成するために不揮発性フラッシュメモリを使用できるため、ドライブを、より多機能かつコンパクトにすることができる。
【０００５】
ＳＳＤは、多数のメモリデバイス、例えば多数のメモリチップを含むことができる（本明細書で用いられる場合、「多数の」何かとは、１つ以上のこうしたものを指す可能性があり、例えば、多数のメモリデバイスは、１つ以上のメモリデバイスを指す可能性がある）。当業者は理解するように、メモリチップは、多数のダイを含むことができる。各ダイは、多数のメモリアレイおよびその上の周辺回路を含むことができる。メモリアレイは、多数の平面を含むことができ、各平面は、メモリセルの多数の物理ブロックを含む。各物理ブロックは、データの多数のセクタを記憶可能なメモリセルの多数のページを含むことができる。
【０００６】
大きな記憶装置容量において低待ち時間および高帯域幅の動作を実現するには、ＳＳＤは、並行して動作する複数のチャネルを含む場合があり、各チャネルは、メモリのいくつかの部分を動作させる。このため、メモリチャネルコントローラの複数のコピー、例えばＮＡＮＤフラッシュコントローラ論理は、ＳＳＤのマルチチャネルシステムコントローラ上に統合される場合がある。かかる構成において、各チャネルは、物理から論理へのマッピングおよび例えばウェアレベリングのブロック管理の実行を含む、チャネルによってサービスされる関連付けられたメモリの動作についてのタスクが割り当てられる。従って、複数のメモリチャネルコントローラの各コピーは、複数のチャネルのそれぞれに対応して、マッピングおよびブロック管理機能を実行するために使用される高速バッファメモリを有する場合がある。さらに、複数のメモリチャネルコントローラの各コピーは、各チャネルに方向付けられる「インフライト」データのためのバッファメモリを含む場合がある。
【０００７】
複数のメモリチャネルコントローラの各コピーと対応するメモリ部分との間のパラレル通信において、およそ２０のピンが、それらの間のデータ、制御、電力、および接地接続を確立することが必要となる場合がある。このため、既存のディスクドライブプロトコルとの互換性を確実にするために、大きなピンカウントを有する高価なメモリシステムＡＳＩＣが必要になる可能性がある。
【図面の簡単な説明】
【０００８】
【図１】本開示の１つ以上の実施形態に従う、コンピューティングシステムの機能ブロック図である。
【図２】メモリシステムを含む先行技術のコンピューティングシステムの機能ブロック図である。
【図３】本開示の１つ以上の実施形態に従う、メモリシステムコントローラを含むコンピューティングシステムの機能ブロック図である。
【図４】本開示の１つ以上の実施形態に従う、直列で通信可能に結合される多数のインテリジェント記憶ノードを含むメモリシステムの機能ブロック図である。
【図５】本開示の１つ以上の実施形態に従う、並列で通信可能に結合される多数のインテリジェント記憶ノードを含むメモリシステムの機能ブロック図である。
【図６】本開示の１つ以上の実施形態に従う、並列でこれに通信可能に結合される多数のインテリジェント記憶ノードを有する、直列で通信可能に結合される少なくとも１つのインテリジェント記憶ノードを含むメモリシステムの機能ブロック図である。
【図７】本開示の１つ以上の実施形態に従う、インテリジェント記憶ノードの機能ブロック図である。
【発明を実施するための形態】
【０００９】
本開示は、メモリシステムのコントローラデバイスおよび方法を含む。１つ以上の実施形態において、メモリシステムコントローラは、システムコントローラに通信可能に結合されたホストインターフェースを含む。システムコントローラは、多数のメモリインターフェースを有し、多数のメモリインターフェースに通信可能に結合された複数のインテリジェント記憶ノードを制御するように構成される。システムコントローラは、物理メモリアドレスと論理メモリアドレスとの間をマップするように構成される論理、および複数のインテリジェント記憶ノードにわたりウェアレベルを管理するように構成される論理を含む。
【００１０】
本開示の１つ以上の実施形態は、ＮＡＮＤ制御、物理から論理へのアドレス変換、不具合管理およびブロック管理、例えばウェアレベリング、中央メモリシステムコントローラへの「アップストリーム」等の、従来は分散されていた固体ドライブ機能を集中管理するメモリシステムについて説明する。上記の機能を中央に配置することにより、簡略化されたノードコントローラが、記憶ノード上で利用される場合があり、これにより、低待ち時間、高メモリ密度、設定可能性、およびより安価なメモリシステムコストを提供する。
【００１１】
本明細書中の図は、最初の桁（単数又は複数）が図番号に対応し、残りの桁が、図中の要素またはコンポーネントを識別する、番号付け規則に従う。異なる図の間の同様の要素またはコンポーネントは、同様の桁を用いることにより、識別される場合がある。例えば、１０４は、図１内の要素「０４」を示す場合があり、また、同様の要素が、図２中では２０４として示される場合がある、等々。
【００１２】
図１は、本開示の１つ以上の実施形態に従うコンピューティングシステムの機能ブロック図である。コンピューティングシステム１００は、ホストシステム１０２に通信可能に結合された、メモリシステム１０４、例えば、１つ以上の固体ドライブ（ＳＳＤ）を含む。メモリシステム１０４は、通信インターフェース１０６、例えばシリアルアドバンストテクノロジーアタッチメント（ＳＡＴＡ）インターフェースを介して、ホストシステム１０２に通信可能に結合できる。
【００１３】
ホストシステム１０２は、多数の個別の集積回路を含むことができる、または２つ以上のコンポーネントまたは機能を、同一の集積回路上におくことができる。１つ以上の実施形態に従うと、ホストシステム１０２は、少なくとも一部分を「マザーボード」として、コンピューティングシステム１００内に物理的に実装でき、メモリシステム１０４は、個別に、物理的に実装され、マザーボードおよびメモリシステム１０４は、バックプレーンまたはバス等により、通信インターフェース１０６を介して通信可能に結合される。
【００１４】
ホストシステム１０２は、メモリおよびバス制御１０７に通信可能に結合された、１つ以上のプロセッサ１０５、例えばパラレルプロセッサ、コプロセッサ等を含むことができる。プロセッサ、例えばプロセッサ１０５は、１つ以上のマイクロプロセッサ、または、例えば１つ以上の特定用途向け集積回路（ＡＳＩＣ）等の他の何らかの種類の制御回路にすることができる。コンピューティングシステムの他のコンポーネントもまた、プロセッサを有してもよい。メモリおよびバス制御１０７は、メモリおよび、それに直接通信可能に結合される他のコンポーネント、例えば、ダイナミックランダムアクセスメモリ（ＤＲＡＭ）１１１、グラフィックユーザインターフェース１１３、または他のユーザインターフェース、例えばディスプレイモニタ、キーボード、マウス等を有することができる。
【００１５】
メモリおよびバス制御１０７は、これに通信可能に結合される周辺機器およびバス制御１０９も有することができ、これは今度は、ユニバーサルシリアルバス（ＵＳＢ）インターフェース、不揮発性メモリホスト制御インターフェース（ＮＶＭＨＣＩ）フラッシュメモリ１１７、またはメモリシステム１０４を用いて、フラッシュドライブ１１５等の多数のデバイスに接続可能である。読者は理解されるように、メモリシステム１０４を、多数の異なるコンピューティングシステム内において、ハードディスクドライブ（ＨＤＤ）に加えて、または、これに代わって使用することができる。図１に図示されるコンピューティングシステム１００は、かかるシステムの一例であるが、本開示の実施形態は、図１に示される構成に制限されない。
【００１６】
エンタープライズ固体記憶アプライアンスは、１テラバイト以上の記憶および高速性能機能、例えば１００ＭＢ／秒、毎秒１００Ｋ入力／出力（ＩＯＰＳ）等によって特徴付けることが可能なメモリシステムクラスである。本開示の１つ以上の実施形態に従い、エンタープライズ固体記憶アプライアンスを、固体ドライブ（ＳＳＤ）ビルディングブロックを用いて構成できる。例えば図１について、メモリシステム１０４は、１つ以上のコンポーネントＳＳＤを用いて実装されるエンタープライズ固体記憶アプライアンスであってもよく、１つ以上のＳＳＤは、メモリシステムコントローラによってメモリシステムとして動作される。
【００１７】
図２は、メモリシステムを含む先行技術のコンピューティングシステムの機能ブロック図である。コンピューティングシステム２００は、インターフェース２０６を介してホストシステム２０２に接続される、例えばＳＳＤのメモリシステム２０４を含む。先行技術のメモリシステム２０４は、システムコントローラ２１０の各チャネルに対応して、システムコントローラ２１０、物理インターフェース２０８、例えばコネクタ、および多数のメモリデバイス２１２−１、．．．、２１２−Ｎを含む。インターフェース２０６は、メモリシステム２０４とホストシステム２０２との間で情報を伝達するように使用される。
【００１８】
システムコントローラ２１０は、多数のチャネルにわたりアクセスを制御するための制御回路を含む場合があり、各チャネルは、多数のメモリデバイス２１２−１、．．．、２１２−Ｎに対応して、メモリコントローラ、例えば２１８−１、．．．、２１８−Ｎを有する。各メモリチャネルコントローラ、例えば２１８−１、．．．、２１８−Ｎは、特定のチャネルに関連付けられた物理アドレスと論理アドレスとの間のマッピングの提供を含む、対応するメモリデバイス２１２−１、．．．、２１２−Ｎへのアクセスを管理する。さらに、各メモリチャネルコントローラ、例えば２１８−１、．．．、２１８−Ｎは、特定のチャネルに関連付けられたメモリデバイスについてウェアレベルを管理する。
【００１９】
メモリシステム２０４は、ディスクドライブをエミュレートするように、ホストシステムとのインターフェースを取り、多数のメモリデバイス２１２−１、．．．、２１２−Ｎを制御するために、全ての論理を統合する。このため、システムコントローラ２１０は、今度は、多数のメモリコントローラ２１８−１、．．．、２１８−Ｎと通信する、ディスクドライブエミュレーション論理２１６と通信するホストインターフェース２１４を含む。
【００２０】
図３は、本開示の１つ以上の実施形態に従うメモリシステムコントローラを含むコンピューティングシステムの機能ブロック図である。コンピューティングシステム３００は、インターフェース３０６を介してホストシステム３０２に通信可能に結合されたメモリシステム３０４を含むことができる。メモリシステム３０４は、コンピューティングシステム３００、例えば１つ以上のＳＳＤを有するエンタープライズ固体記憶アプライアンスにおいて、大容量データ記憶メモリシステムとして使用できる。メモリシステム３０４は、例えば、プラグイン接続によって、コンピューティングシステム３００のための外部またはポータブルメモリシステムとして使用できる。インターフェース３０６は、とりわけ、ＵＳＢ、ＰＣＩ、ＳＡＴＡ／１５０、ＳＡＴＡ／３００、またはＳＡＴＡ／６００インターフェース等の、ケーブルまたはバスにすることができる。メモリシステム３０４は、図１においてメモリシステム１０４と類似である可能性がある。
【００２１】
メモリシステム３０４は、物理インターフェース３０８、例えばコネクタと、多数の記憶ノード３３０−１、．．．、３３０−Ｎとの間で通信するシステムコントローラおよびホストインターフェース３２０（ＳＣＨＩ）を含むことができる。メモリシステムコントローラ３１５は、メモリデバイスのメモリセルの動作、例えば読み込み、書き出し、移動、プログラム、感知、消去を行うために、それぞれ、多数のメモリデバイス３１２−１、．．．、３１２−Ｎを有する多数の記憶ノード３３０−１、．．．、３３０−Ｎと通信可能である。このため、メモリシステムコントローラ３１５は、メモリデバイス３１２−１、．．．、３１２−Ｎとの通信、およびこれらメモリデバイスに記憶されたデータを管理できる。メモリシステムコントローラ３１５は、他の個別コンポーネントと同様に、１つ以上の集積回路を利用する回路を有することができる。１つ以上の実施形態において、メモリシステムコントローラ３１５内の回路は、多数のチャネルにわたりアクセスを制御するための制御回路を含むことができ、各チャネルはシリアルインターフェース、例えば３２４−１、．．．、３２４−Ｎを有し、各シリアルインターフェースは１つ以上の記憶ノード３３０−１、．．．、３３０−Ｎと通信し、各記憶ノードは、多数のメモリデバイス３１２−１、．．．、３１２−Ｎを有する。このため、メモリシステムコントローラ３１５は、１つ以上の特定のチャネルを通して、メモリデバイス３１２−１、．．．、３１２−Ｎと選択的に通信できる。
【００２２】
各メモリデバイス３１２−１、．．．、３１２−Ｎは、多数のメモリセルを含むことができる。メモリデバイス３１２−１、．．．、３１２−Ｎは、とりわけ、ＤＲＡＭの種々の種類の揮発性または不揮発性メモリアレイ、例えばＮＡＮＤフラッシュを用いて形成できる。本開示の１つ以上の実施形態に従い、メモリデバイス３１２−１、．．．、３１２−Ｎは、その１つ以上を組み合わせて使用してもよい、ＮＡＮＤアーキテクチャ、ＮＯＲアーキテクチャ、ＡＮＤアーキテクチャ、または他の何らかのメモリアレイアーキテクチャで構成される多数のフローティングゲートフラッシュメモリセルを含むことができる。
【００２３】
メモリデバイス３１２−１、．．．、３１２−Ｎは、ページ、ブロック、平面、アレイ、または他の群等の特定の物理または論理構成を提供するように配列できる多数のメモリセルを含むことができる。本明細書で用いられる場合、メモリセルのページは、一回でプログラム可能な多数のメモリセルを意味する。例えば、いくつかのメモリアレイは、メモリセルのブロックを作成するメモリセルの多数のページを含むことができ、ブロックは、一度に消去可能な多数のメモリセルを指す。メモリセルの平面に多数のブロックを含むことができる。ダイ上にメモリセルの多数の平面を含むことができる。アレイは、１つ以上のダイを含むことができる。例として、かつ制限的なものではなく、１２８ＧＢのメモリデバイスは、１ページ当たり４３１４バイトのデータ、１ブロック当たり１２８ページ、１平面当たり２０４８ブロック、および１デバイス当たり１６の平面を含むことができる。
【００２４】
ＳＣＨＩ３２０は、システムコントローラ３１５と通信するホストインターフェース３１４を含むことができる。システムコントローラ３１５は、物理から論理へのマッピングを実行するように構成される論理３２６（高速メモリを含む）、「インフライト」データバッファリングを行うように構成される論理３２７、ブロック管理、例えばウェアレベリングを行うように構成される論理３２８、および多数のシリアルインターフェース３２４−１、．．．、３２４−Ｎを含むことができる。多数のシリアルインターフェース３２４−１、．．．、３２４−Ｎのそれぞれは、図４について以下にさらに記載されるように、シリアルバス３３４−１、．．．、３３４−Ｎによって多数の記憶ノード３３０−１、．．．、３３０−Ｎのうちの対応する１つ以上に通信可能に結合される。
【００２５】
ホストシステム３０２とメモリシステム３０４との間の通信プロトコルは、特定の記憶ノード３３０−１、．．．、３３０−Ｎ、またはその上のメモリデバイス、例えば３１２−１、．．．、３１２−Ｎにアクセスするために使用されるものとは異なっていてもよい。メモリシステムコントローラ３１５は、ホストシステム３０２から受信したコマンドを、意図されたメモリ動作を実行するために適切なコマンドへ変換し、それによって、ホストシステム３０２とメモリシステム３０４との間の変換レイヤを提供することができる。メモリシステムコントローラ３１５は、さらに、例えば、データを記憶および取得するために、適切なチャネルコマンドシーケンスへ、ホストコマンドシーケンスおよび関連付けられたデータ、ならびに他の情報を処理できる。
【００２６】
１つ以上の実施形態において、図３に示されるように、記憶ノード３３０−１、．．．、３３０−Ｎは、１つ以上のメモリデバイス３１２−１、．．．、３１２−Ｎおよびノードコントローラ３３２−１、．．．、３３２−Ｎを含むことができる。１つ以上の実施形態において、メモリデバイス３１２−１、．．．、３１２−Ｎは、それぞれ、多数のメモリセルを有するチップにすることができる。しかしながら、実施形態はそのように制限されない。例えば、本明細書で用いられる場合、メモリデバイスは、ダイ、アレイ、または制御入力を共有する他の群のメモリセルにすることができ、１つ以上のメモリセルタイプ、例えばＮＡＮＤフラッシュを使用して製造されてもよい。制御入力は、概して、ピン、パッド等のアドレスラッチイネーブル（ＡＬＥ）、チップイネーブル（ＣＥ）、読み出しイネーブル（ＲＥ）、レディ／ビジー（Ｒ／Ｂ）、書き込み保護（ＷＰ）、および入力／出力（Ｉ／Ｏ）接続を含むことができる。
【００２７】
本開示の１つ以上の実施形態に従い、記憶ノード３３０−１、．．．、３３０−Ｎは、インテリジェントＮＡＮＤ記憶ノード（ＩＮＳＮ）にすることができる。シングルＩＮＳＮが特定のチャネルに関連付けられて示されているが、本開示の実施形態はそのように制限されず、例えば、多数のＩＮＳＮが、特定のシステムコントローラチャネルに関連付けられる場合がある。例えば、図４に関して以下にさらに記載されているように、１つ以上の実施形態において、少なくとも２つのＩＮＳＮが、多数の特定のチャネルのそれぞれに関連付けられる。
【００２８】
各ＩＮＳＮは、多数のメモリデバイス３１２−１、．．．、３１２−Ｎに通信可能に結合されたノードコントローラ３３２−１、．．．、３３２−Ｎを含むことができる。メモリデバイス３１２−１、．．．、３１２−Ｎは、前述のように、ページ、ブロック、平面、アレイ、または他の群等の特定の物理構成または論理構成を提供するように構成可能な多数のメモリセルを含むことができる。
【００２９】
本開示の１つ以上の実施形態に従い、ノードコントローラ３３２−１、．．．、３３２−Ｎは、オープンＮＡＮＤフラッシュインターフェース（ＯＮＦｉ）３３６−１、．．．、３３６−Ｎによって、多数のメモリデバイス３１２−１、．．．、３１２−Ｎに通信可能に結合できる。ＯＮＦｉは、ＮＡＮＤフラッシュメモリの、消費家電機器、コンピューティングプラットフォーム、および産業システムへの統合を簡略化するように意図されたＮＡＮＤフラッシュのための特定のインターフェースである。ＯＮＦｉは、ＮＡＮＤデバイス間の相互運用性を促進し、それにより、ＮＡＮＤベースの製品を市場に出すまでの時間を加速させる。ＯＮＦｉのいくつかの特徴は、自己識別、コマンドセット標準化、およびピンアウト標準化である。ＮＡＮＤ自己識別により、ＮＡＮＤデバイスが、メモリレイアウト、タイミングサポート、およびインターリーブアドレス指定のような強化された特徴を含む、ホストに対するその機能を自己記述することが可能になる。ＮＡＮＤのためのコマンドセットの標準化により、ベンダーに特化した最適化のために柔軟性を提供しながら、ＮＡＮＤ機能の将来的な進化のインフラストラクチャが確立される。標準的なピンアウトの定義により、新しいＮＡＮＤデバイスとの基板レベルの互換性が促進される。
【００３０】
本開示の１つ以上の実施形態に従い、システムコントローラ３１５は、例えばウェアレベリングを含むがこれに制限されない、ブロック選択等のブロック管理のために構成される論理３２８を含むことができる。メモリシステム３０４内のメモリブロック選択は、例えば、データを書き込む物理ブロックおよび消去する物理ブロック、ならびに物理ブロックを書き込みおよび消去する順序の決定を含むことができる。メモリシステム３０４で使用されるメモリセルは、メモリシステム３０４の寿命を決定する可能性がある、有限の数の書き込み・消去サイクルに制限される可能性がある。このため、メモリシステム３０４は、多数のプログラムおよび／または消去サイクル後に不具合が発生する可能性があるため、効率的なメモリブロック管理により、メモリシステム３０４の寿命を長くすることができる。
【００３１】
システムコントローラ２１０が、多数のメモリデバイス２１２−１、．．．、２１２−Ｎのそれぞれのために、分離されたメモリコントローラ回路２１８−１、．．．、２１８−Ｎを含む、図２に示されるメモリシステム２００等の以前のメモリシステムとは対照的に、本開示の１つ以上の実施形態は、特定のチャネルに関連付けられたこれらのメモリデバイスのみではなく、メモリデバイス３１２−１、．．．、３１２−Ｎにわたりウェアレベリングを管理するように構成される集中管理されたウェアレベリング論理３２８を有する、メモリシステムコントローラ３１５を含む。ウェアレベリングを集中管理することにより、そのいくつかの部分、例えば特定のチャネルのみにわたるのではなく、例えばメモリシステム全体にわたり、ウェアレベリングを行うことができる。
【００３２】
１つ以上の実施形態に従い、ウェアレベリングの管理は、ＩＮＳＮ間、特定のＩＮＳＮに関連付けられたＩＮＳＮメモリデバイス間、および複数のＩＮＳＮに関連付けられたＩＮＳＮメモリデバイス間のウェアの差の検知を含むことができる。ウェアの差の検知に加えて、ウェアレベリングの管理は、個別のＩＮＳＮまたはＩＮＳＮメモリデバイスにおける制限を越えるウェアの検知を含むことができる。制限は、事前設定された固定の制限、動的な制限、またはその組み合わせにすることができる。
【００３３】
ウェアレベリング論理３２８は、ウェアレベリングの管理のための技術を実装可能である。本明細書で用いられる場合、ウェアレベリングの管理は、不良ブロック管理を含む。これらの技術は、データが書き込まれるメモリデバイスの間におけるセルの回転を含むことができる。ウェアレベリングは、多数の無効ページ（つまり、異なるページに再書き込みされ、かつ／または該無効ページで必要とされなくなったデータを有するページ）を有するブロックが、ブロックの消去によって再利用される、ガベージ収集と呼ばれる技術をさらに含むことができる。ガベージ収集は、データの動的または静的性質を考慮するために、メモリデバイス間のデータの再配列を必要とする。ウェアレベリング技術に含まれるガベージ収集は、特定のメモリデバイスの個別のセルのウェアレートの管理に役立つことができる。これらのウェアレベリング技術は、メモリシステム３０４に書き込まれるデータ量を制限せず、ドライブ性能に影響を及ぼす可能性のあるファクターとして、データ書き込み速度およびデバイスにデータが書き込まれる期間を考慮しない。
【００３４】
種々の実施形態において、ウェアレベリングは、ブロックを再利用するために移動される有効ブロックの量を最小限にするための動的なウェアレベリングを含むことができる。動的なウェアレベリングにおいて、最も量の多い無効ページを有するデータブロックを再利用できる。メモリアレイ内のページまたはセルのブロックは、ページまたはブロックからの有効データを、第１の位置から第２のページまたはブロック位置へ移動させ、第１のページまたはブロック位置を消去することにより再利用できる。有効データは、所望のデータである可能性があり、また、メモリセルに保存すべきであるが、一方で、無効データは、望ましくなくなったデータである可能性があり、消去することができる。ブロック内の無効ページの全数の閾値は、ブロックが再利用されるかどうかを決定するために設定できる。閾値を超える多数の無効ページを有するブロックについてブロックテーブルをスキャンすることにより、特定のブロックを再利用できる。ブロックテーブルは、メモリセル内のデータについて、とりわけ、タイプ、位置、およびステータスについての詳細な情報を有することができる。
【００３５】
静的ウェアレベリングは、ブロックの寿命を長くするために高い消去カウントを有するブロックへの静的データの書き込みを含む。静的ウェアレベリングにおいて、静的データを記憶するブロックは、静的データ、および対応するより低い消去カウントを有するブロックが再利用されるように、高い消去カウントを有するブロックと交換できる。高い消去カウントを有するブロックは、今度は静的データを有しており、従って、そのブロックの消去レートを低下させる。
【００３６】
いくつかの実施形態において、メモリデバイス間のデータ書き込みに関連付けられた書き込み増幅量を低減させるために、スペアブロックとして、多数のブロックを指定できる。スペアブロックは、データを書き込みできないブロックとして指定できるメモリデバイス内のブロックにすることができる。書き込み増幅は、データを固体メモリデバイスに書き込む際に生じるプロセスである。メモリシステム内にデータをランダムに書き込む際に、システム内の空きスペースのスキャンが行われる。メモリシステム内の空きスペースは、１つ以上のメモリデバイス内の、プログラムされていないメモリセルの個別のセル、ページ、および／またはブロックにすることができる。データの書き込みのための十分な空きスペースがある場合には、メモリシステム内の空きスペースにデータが書き込まれる。１つの位置に十分な空きスペースがない場合、メモリシステム内のデータは、メモリシステム内に書き込まれる新しいデータのために空きスペースを残して、新しい位置に、メモリシステム内に既に存在しているデータを消去、移動、および再書き込みすることにより、再配列される。メモリシステムの書き込み量は、メモリシステム内の空きスペース量およびメモリシステムに書き込まれる新しいデータの大きさに基づいて、新しいデータを書き込むために増幅される必要があるため、メモリシステム内の旧データの再配列は、書き込み増幅と呼ばれる。書き込み増幅は、空きスペース（つまり静的データが書き込まれない場合）として指定されるメモリシステムにおけるスペース量を増加させることによって低減でき、こうして、再配列する必要があるデータがより少なくなるため、書き込む必要があるデータ量の増幅を小さくできる。
【００３７】
種々の実施形態において、メモリシステム３０４によって実行されるホストおよび／もしくはユーザトラフィックならびに／またはプログラム／消去サイクルは、メモリシステム３０４の性能を向上させるために、システムコントローラ３１５内の中央管理されたウェアレベリング論理３２８によって監視できる。ホストおよび／またはユーザトラフィックリクエストは、メモリシステム３０４内のデータの読み込み、および／またはデータの消去／書き込みするために、システムコントローラ３１５を通して、ホストシステムプロセッサにより、実行できる。プログラムおよび／または消去サイクルを、ブロック、ページ、またはメモリシステム３０４内の他の群のメモリセルのウェアレートおよび予想寿命を決定するために、全てのチャネル、例えばシリアルインターフェース３２４−１、．．．、３２４−Ｎにわたり、全てのＩＮＳＮ３３０−１、．．．、３３０−Ｎにわたり、および／またはメモリシステム３０４を含むＩＮＳＮのメモリデバイス３１２−１、．．．、３１２−Ｎにわたり、中央で監視できる。読者は、特定のブロックのメモリセルは、有限の回数までしか、消去および書き込みできないことを理解されよう。
【００３８】
ホストおよび／またはユーザトラフィックトレンドは、メモリシステム３０４を、所望の動作寿命（例えば時間、日、週、年等の期間）の間実行できるようにするために、中央管理されたウェアレベリング論理３２８によって、中央で監視および変更できる。中央管理されたウェアレベリング論理３２８は、所望の動作寿命を確実にするために、メモリシステム３０４の一部分によって実行されるプログラムおよび／または消去サイクルの数を監視および制限できる。中央管理されたウェアレベリング論理３２８は、さらに、スペースブロックの数、およびメモリシステム３０４の所望の動作寿命の回数を考慮して、ドライブに対して可能なプログラムおよび／または消去サイクルレートを計算する方法を決定するために、特定の期間、実行されるプログラムおよび／または消去サイクルの数を監視できる。
【００３９】
さらに、いくつかの実施形態において、メモリシステム３０４のメモリデバイス内のスペアブロック数を、所望の書き込みＩＯＰＳ数に対する所望の動作寿命にわたる動作可能性を確実にするように、制御できる。スペアブロックのパーセンテージは、メモリシステム３０４上にプログラムされたデータ種類について最適化できる。静的データ（つまり、消去および／または再書き込みせずに、長期間、ドライブ上に記憶されるデータ）を有するメモリシステム３０４は、より少ないプログラムおよび／または消去サイクルを有するデータの静的性質のために、ドライブ内のブロックを再利用する必要性が低いため、より低いスペアブロックのパーセンテージを有することができる。動的なデータ（つまり、より頻繁にプログラムおよび／または消去されるデータ）を有するメモリシステム３０４において、より高いパーセンテージのスペアブロックを、メモリデバイス内のプログラムおよび／または消去サイクルを実行するために、ブロックを再利用する必要性に関連付けられた書き込み増幅を低減するように使用可能である。
【００４０】
本開示の１つ以上の実施形態に従い、システムコントローラ３１５は、物理アドレスから論理アドレスへのマッピング３２６、例えばその間の変換を実行するために構成される論理を含むことができる。例えば、物理から論理へのアドレスマッピング論理３２６は、高速メモリ、例えば、論理から物理へのアドレスマップでプログラムされたＤＲＡＭを含むことができる。論理から物理へのアドレスマップは、固体メモリシステムの論理ブロックアドレス（ＬＢＡ）と物理ブロックアドレス（ＰＢＡ）との間、または特定のＩＮＳＮメモリデバイス、例えば３３０−１、．．．、３３０−Ｎの間の相関関係を維持できる。
【００４１】
図４は、本開示の１つ以上の実施形態に従い、直列で通信可能に結合される多数のインテリジェントＮＡＮＤ記憶ノードを含むメモリシステムの機能ブロック図である。１つ以上の実施形態において、および図４に示されるように、メモリシステムコントローラ４１５は、インテリジェントＮＡＮＤ記憶ノード（ＩＮＳＮ）、例えば４３０−１Ａ、４３０−１Ｂ、．．．、４３０−ＮＡ、４３０−ＮＢ等の多数の記憶ノードに通信可能に結合できる。ＩＮＳＮは、例えばデイジーチェーン構成で直列に結合できる。システムコントローラ４１５は、多数のシリアルインターフェース、例えば４２４−１、．．．、４２４−Ｎを含むことができる。システムコントローラ４１５に関する他の詳細は、明確化のために、図４からは省略されているが、システムコントローラ４１５は、図３のシステムコントローラ３１５と類似であってもよい。多数のシリアルインターフェースのそれぞれ、例えば４２４−１、．．．、４２４−Ｎは、シリアルバス、例えば図３に示されるような、３３４−１、．．．、３３４−Ｎにより、多数の記憶ノードの対応する１つ以上、例えば４３０−１Ａ、４３０−１Ｂ、．．．、４３０−ＮＡ、４３０−ＮＢに通信可能に結合する。
【００４２】
本開示の１つ以上の実施形態に従い、および図４に示されるように、各シリアルバスは、クロック信号ライン、例えば４４４−１、．．．、４４４−Ｎ、第１のデータライン（Ｄ＋／−）、例えば４４８−１、．．．、４４８−Ｎ、および第２のデータライン（Ｑ＋／−）、例えば４４６−１、．．．、４４６−Ｎを含むことができる。例えば、第１のデータライン（Ｄ＋／−）４４８−１、．．．、４４８−Ｎは、第１の方向、例えばシステムコントローラ４１５からＩＮＳＮへデータを伝送するように構成することができ、第２のデータライン（Ｑ＋／−）４４６−１、．．．、４４６−Ｎは、図４に示される方向の矢印が示すように、第２の方向、例えばＩＮＳＮからシステムコントローラ４１５へ、データを伝送するように構成できる。クロックおよびラッチデータ伝送を有するシリアルバスのある特定の実装が図４に示されているが、本開示の実施形態は、図４に示される特定の実装に制限されず、シリアル通信は、他の構成で実装し得る。
【００４３】
１つ以上の実施形態において、各ＩＮＳＮは、特定のチャネルに対応するバス管理モジュールを含むことができ、各特定のチャネルのシリアルバスに通信可能に結合される。例えば、図４に図示される実施形態において、バス管理モジュール４４２−１Ａおよび４４２−１Ｂはチャネル１に対応し、チャネル１のシリアルバス、例えば、チャネル１に関連付けられた各信号ライン４４４−１、４４６−１、および４４８−１に通信可能に結合される。同様に、バス管理モジュール４４２−ＮＡおよび４４２−ＮＢは、チャネルＮに対応し、チャネルＮのシリアルバス、例えばチャネルＮに関連付けられた各信号ライン４４４−Ｎ、４４６−Ｎ、および４４８−Ｎに通信可能に結合される。バス管理モジュールは、特定のチャネルに関連付けられた複数のＩＮＳＮと相互接続するクロックシリアルバスを制御するように構成される。チャネルＮに対応する、チャネル１、．．．、４３２−ＮＡ、４３２−ＮＢ等に対応するノードコントローラ、例えば４３２−１Ａ、４３２−１Ｂ等は、チャネルＮに対応する、チャネル１、．．．、４４２−ＮＡ、４４２−ＮＢ等に対応するバス管理モジュール、例えば４４２−１Ａ、４４２−１Ｂ等と、チャネルＮに対応する、チャネル１、．．．、４１２−ＮＡ１、４１２−ＮＡ２、４１２−ＮＢ１、４１２−ＮＢ２等に対応する、多数のメモリデバイス、例えば４１２−１Ａ１、４１２−１Ａ２、４１２−１Ｂ１、４１２−１Ｂ２等との間に通信可能に結合できる。
【００４４】
チャネルＮに対応する、チャネル１、．．．、４１２−ＮＡ１、４１２−ＮＡ２、４１２−ＮＢ１、４１２−ＮＢ２等に対応する、メモリデバイス、例えば４１２−１Ａ１、４１２−１Ａ２、４１２−１Ｂ１、４１２−１Ｂ２等は、ページ、ブロック、平面、アレイ、または他の群等の特定の物理または論理構成を提供するように構成できる多数のメモリセルを含むことができる。１つ以上の実施形態に従い、ＩＮＳＮは、それぞれ、マルチチップパッケージ、例えば４４０−１Ａ、４４０−１Ｂ、．．．、４４０−ＮＡ、４４０−ＮＢとして構成できる。いくつかの実施形態において、マルチチップパッケージは、データ、制御、電力、および接地信号のために２０未満のピンを有することができる。例えば、１つ以上の実施形態のマルチチップパッケージは、図４に示すように、データおよび制御信号のために３つ（またはより少ない）ピンを有することができる。
【００４５】
図４に示されるように、および本開示の１つ以上の実施形態に従い、複数のＩＮＳＮ、例えば４３０−１Ａ、４３０−１Ｂ、．．．、４３０−ＮＡ、４３０−ＮＢを、特定のシリアルバスに通信可能に結合でき、このため、多数のシリアルインターフェース、例えば４２４−１、．．．、４２４−Ｎの特定の１つ、例えばチャネルに関連付けることができる。いくつかの実施形態において、複数のＩＮＳＮを、各チャネルに関連付ける、例えば、各チャネルに対応するシリアルバスに通信可能に結合できる。
【００４６】
１つ以上の実施形態に従い、複数のＩＮＳＮ、例えば４３０−１Ａ、４３０−１Ｂ、．．．、４３０−ＮＡ、４３０−ＮＢを、多数のシリアルメモリインターフェースのうちの特定の１つについて、デイジーチェーン構成で特定のシリアルバスに通信可能に結合できる。２つのＩＮＳＮが、各チャネルのシリアルバスに通信可能に結合されて図４に示されているが、本開示の実施形態は、この数量のＩＮＳＮに制限されず、より多い、またはより少ない（ゼロを含む）ＩＮＳＮを、特定のシリアルバスに通信可能に結合できる。さらに、本発明の実施形態は、各チャネルのシリアルバスに通信可能に結合された同一の数量のＩＮＳＮを有することに制限されず、特定のシリアルバス上のＩＮＳＮの数量は、別の特定のシリアルバス上のＩＮＳＮの数量よりも多い、または少なくできる。
【００４７】
図５は、本開示の１つ以上の実施形態に従い、並列で通信可能に結合される多数のインテリジェントＮＡＮＤ記憶ノードを含むメモリシステムの機能ブロック図である。１つ以上の実施形態において、および図５に示されるように、メモリシステムコントローラ５１５は、インテリジェントＮＡＮＤ記憶ノード（ＩＮＳＮ）、例えば５３０−１Ａ、５３０−１Ｂ、５３０−１Ｃ等の多数の記憶ノードに通信可能に結合できる。システムコントローラ５１５は、同期通信のために、多数のインターフェース、例えば５２４−１を含むことができる。システムコントローラ５１５に関する他の詳細は、明確化のため、図５から省略されている。図５には１つのみのチャネルしか示されていないが、本発明の実施形態はそのように制限されず、メモリシステムコントローラ５１５は、追加の多数のＩＮＳＮとの同期通信のために構成される追加のチャネル、および／または多数の追加のＩＮＳＮと通信するために構成される追加のチャネルを含むことができる。
【００４８】
多数のインターフェースのそれぞれ、例えば５２４−１は、同期バス、例えばパラレルローカルバスによって、多数の記憶ノード、例えば５３０−１Ａ、５３０−１Ｂ、５３０−１Ｃの対応する１つ以上に通信可能に結合できる。記憶ノードは、並列で通信可能に結合できる。例えば、第１の多数のＩＮＳＮ、例えば５３０−１Ａ、５３０−１Ｂ、５３０−１Ｃは、第１の同期インターフェース５２４−１へ並列で通信可能に結合でき、別の多数のＩＮＳＮ（明確化のため、図５では示されない）を、１つ以上の追加のチャネル同期インターフェースに並列で通信可能に結合できる。本開示の実施形態は、いかなる特定のチャネルの数量に制限されず、それぞれ、これに通信可能に結合されるゼロ以上のＩＮＳＮ、例えば、並列で配列される特定のチャネルに対応するＩＮＳＮを有する、１つ以上の、例えばＮ個のチャネルを含んでもよい。
【００４９】
本開示の１つ以上の実施形態に従い、および図５に示されるように、１つ以上のＩＮＳＮを、パラレルローカルバスを介して、各同期インターフェースに通信可能に結合できる。パラレルローカルバスは同期バスとすることができ、クロック信号ライン（ＣＬＫ）、例えば５４４−１、第１のデータライン（Ｑ［Ｙ：０］）、例えば５４６−１、および第２のデータライン（Ｄ［Ｘ：０］）、例えば５４８−１を含むことができる。例えば、第１のデータライン（Ｑ［Ｙ：０］）５４６−１は、図５に示される方位矢印に示されるように、データを、第１の方向、例えばＩＮＳＮからシステムコントローラ５１５へ伝送するために構成可能であり、第２のデータライン（Ｄ［Ｘ：０］）５４８−１を、データを、第２の方向、例えばシステムコントローラ５１５からＩＮＳＮへ伝送するために構成することができる。第１のデータライン（Ｑ［Ｙ：０］）は、情報のＹ＋１データビットの幅を有するように構成してもよく、第２のデータライン（Ｄ［Ｘ：０］）は、情報のＸ＋１データビットの幅を有するように構成してもよい。クロックおよびラッチデータ伝送を有する同期バスのある１つの特定の実装が図５に示されているが、本開示の実施形態は図５に示される特定の実装に制限されず、ＩＮＳＮへのパラレル通信は、他の構成で、または他の通信プロトコルを用いて実装されてもよい。
【００５０】
１つ以上の実施形態において、各ＩＮＳＮは、特定のチャネルに対応するバス管理モジュールを含むことができ、各特定のチャネルの同期バスと通信可能に結合される。例えば、図５に示される実施形態において、チャネル１に対応するバス管理モジュール５４２−１Ａ、５４２−１Ｂおよび５４２−１Ｃは、チャネル１のパラレルローカルバス、例えば信号ライン５４４−１、５４６−１、および５４８−１に通信可能に結合される。バス管理モジュールは、特定のチャネル、例えばパラレルローカルバスに関連付けられた複数のＩＮＳＮと相互接続するクロック同期バスを制御するように構成される。特定のチャネル１に対応するノードコントローラ、例えば５３２−１Ａ、５３２−１Ｂ、および５３２−１Ｃは、各バス管理モジュール、例えば５４２−１Ａ、５４２−１Ｂ、および５４２−１Ｃの間で通信可能に結合できる。
【００５１】
チャネル１に対応するメモリデバイス、例えばＩＮＳＮ５３０−１Ａに対応する５１２−１Ａ１および５１２−１Ａ２、ＩＮＳＮ５３０−１Ｂに対応する５１２−１Ｂ１および５１２−１Ｂ２、およびＩＮＳＮ５３０−１Ｃに対応する５１２−１Ｃ１および５１２−１Ｃ２は、ページ、ブロック、平面、アレイ、または他の群等の特定の物理または論理構成を提供するように配列できる多数のメモリセルを含むことができる。１つ以上の実施形態に従い、ＩＮＳＮは、それぞれ、マルチチップパッケージ、例えば５４０−１Ａ、５４０−１Ｂ、５４０−１Ｃとして構成できる。いくつかの実施形態において、マルチチップパッケージは、データ、制御、電力、および接地信号について、２０未満のピンを有することができる。
【００５２】
図５に示されるように、および本開示の１つ以上の実施形態に従い、複数のＩＮＳＮ、例えば５３０−１Ａ、５３０−１Ｂ、５３０−１Ｃを、特定の同期バスに通信可能に結合してもよく、このため、例えば、多数のインターフェースの特定のチャネル、例えば５２４−１に対応する特定の１つに関連付けてもよい。いくつかの実施形態において、複数のＩＮＳＮを、例えば、各チャネルに対応するパラレルローカルバスに通信可能に結合される、特定のチャネルに関連付けることができる。いくつかの実施形態において、１つのＩＮＳＮを、例えば、各チャネルに対応するパラレルローカルバスに通信可能に結合された特定のチャネルに関連付けることができる。いくつかの実施形態において、いかなるＩＮＳＮも、例えば、各チャネルに対応するパラレルローカルバスに通信可能に結合された特定のチャネルに関連付けられない。さらに、本発明の実施形態は、特定のチャネルに通信可能に結合された同一の数量のＩＮＳＮを有することに制限されず、特定のチャネル上のＩＮＳＮの数量は、別の特定のチャネル上のＩＮＳＮの数量よりも大きい、または小さくすることができる。
【００５３】
図６は、本開示の１つ以上の実施形態に従い、並列でこれに通信可能に結合される多数のインテリジェントＮＡＮＤ記憶ノードに直列で通信可能に結合される少なくとも１つのインテリジェントＮＡＮＤ記憶ノードを含む、メモリシステムの機能ブロック図である。１つ以上の実施形態において、および図６に示されるように、メモリシステムコントローラ６１５は、インテリジェントＮＡＮＤ記憶ノード（ＩＮＳＮ）、例えば６３０−１Ａ、６３０−１Ｂ、６３０−ＮＢ等の多数の記憶ノードに通信可能に結合できる。本開示の実施形態は、任意の特定の数量のチャネルに制限されず、それぞれ、これに通信可能に結合されるゼロ以上のＩＮＳＮ、例えば、これへのシリアルおよびパラレル通信のパスの両方を含むように配列される特定のチャネルに対応するＩＮＳＮを有する、１つ以上の、例えばＮ個のチャネルを含んでもよい。
【００５４】
システムコントローラ６１５は、例えば、シリアル通信のために構成される６２４−１の多数のインターフェースを含むことができる。システムコントローラ６１５に関する他の詳細は、明確化のため、図６から省略されている。図６には１つのみのチャネルが示されているが、本発明の実施形態は、そのように制限されず、メモリシステムコントローラ６１５は、例えば図４に示されるように、追加の多数のＩＮＳＮとのシリアル通信のために構成される追加のチャネルを含むことができる。システムコントローラ６１５は、さらに、例えば図５に示されるように、多数の追加のＩＮＳＮとの同期パラレル通信のための追加のチャネルを含むことができ、および／または、例えば図６に示されるように、追加の多数のＩＮＳＮとのシリアル・パラレル通信のために構成される追加のチャネルを含むことができる。
【００５５】
図６は、シリアルバスによって、多数の記憶ノードのうちの対応する１つ以上、例えばＩＮＳＮ６３０−１Ａに通信可能に結合できる、多数のインターフェース、例えば６２４−１を示す。図６は、インターフェース６２４−１に直列で通信可能に結合される、例えば６３０−１Ａの１つのＩＮＳＮを示すが、本開示の実施形態はそのように制限されず、より多い、またはより少ない、直列結合されるＩＮＳＮを含んでもよい。ゼロから多くの追加のＩＮＳＮ、例えば６３０−１Ｂ、．．．、６３０−ＭＢは、１つ以上の直列結合ＩＮＳＮ、例えば６３０−１Ａのいくつかまたは全てに並列で通信可能に結合できる。例えば図６に示されるように、第１の多数のＩＮＳＮ、例えば６３０−１Ｂ、．．．、６３０−ＭＢは、ＩＮＳＮ、例えば６３０−１Ａに並列で通信可能に結合できる。
【００５６】
本開示の１つ以上の実施形態に従い、および図６に示されるように、１つ以上のＩＮＳＮ、例えば６３０−１Ａは、ホストバスを通して、各シリアルインターフェース、例えば６２４−１に通信可能に結合できる。ホストバスは、シリアルバスにすることができ、また、クロック信号ライン（ＣＬＫ）、例えば６４４−１、第１のデータライン（Ｑ＋／−）、例えば６４６−１、および第２のデータライン（Ｄ＋／−）、例えば６４８−１を含むことができる。例えば、図６に示す方位矢印で示されるように、第１のデータライン（Ｑ＋／−）、例えば６４６−１は、第１の方向、例えば直列結合されたＩＮＳＮ６３０−１Ａからシステムコントローラ６１５へ、データを伝送するように構成でき、また、第２のデータライン（Ｄ＋／−）、６４８−１は、第２の方向、例えばシステムコントローラ６１５から直接結合されたＩＮＳＮ、例えば６３０−１Ａへ、データを伝送するように構成できる。クロックおよびラッチデータ伝送を有する、シリアルバスのある特定の実装が図６に示されているが、本開示の実施形態は図６に示される特定の実装に制限されず、直列結合されたＩＮＳＮ、例えば６３０−１Ａへのシリアル通信を、他の構成で、または他の通信プロトコルを使用して実装できる。
【００５７】
本開示の１つ以上の実施形態に従い、および図６に示されるように、特定のシリアルインターフェースに対応する１つ以上の直列結合されたＩＮＳＮ、例えば６３０−１Ａは、さらに、パラレルローカルバスをも通して、追加の数量のＩＮＳＮ、例えば６３０−１Ｂ、．．．、６３０−ＭＢにも通信可能に結合できる。追加の数量のＩＮＳＮ、例えば６３０−１Ｂ、．．．、６３０−ＭＢを、パラレルローカルバスと並列で通信可能に結合できる。
【００５８】
パラレルローカルバスは同期バスにすることができ、また、クロック信号ライン（ＣＬＫ）、例えば６４５−１、第１のデータライン（Ｑ［Ｙ：０］）、例えば６４７−１、および第２のデータライン（Ｄ［Ｘ：０］）、例えば６４９−１を含むことができる。例えば、第１のデータライン（Ｑ［Ｙ：０］）６４７−１は、直列結合ＩＮＳＮ、例えば６３０−１Ａへの方向にデータを伝送するように構成でき、第２のデータライン（Ｄ［Ｘ：０］）６４９−１は、図６に示される方位矢印で示されるように、直列結合ＩＮＳＮ、例えば６３０−１Ａからデータを伝達するように構成できる。同期クロックおよびラッチデータ伝送を有するパラレルローカルバスのある特定の実装が図６に示されているが、本開示の実施形態は、図６に示される特定の実装に制限されず、直列結合されるＩＮＳＮおよびこれに並列で通信可能に結合される１つ以上のＩＮＳＮの間のパラレルローカルバス通信は、他の構成で、または他の通信プロトコルを用いて実装されてもよい。
【００５９】
１つ以上の実施形態において、ＩＮＳＮは、バス管理モジュール、例えば６４３−１Ａ、６４３−１Ｂ、．．．、６４３−ＭＢを含むことができる。例えば、図６に図示される実施形態において、バス管理モジュール６４３−１Ａは、チャネル１のシリアルホストバス、例えば信号ライン６４４−１、６４６−１、および６４８−１、およびチャネル１に関連付けられた同期パラレルローカルバス、例えば信号ライン６４５−１、６４７−１、および６４９−１に通信可能に結合される。バス管理モジュール６４３−１Ｂ、．．．、６４３−ＭＢは、チャネル１、例えば信号ライン６４５−１、６４７−１、および６４９−１に関連付けられたパラレルローカルバスに通信可能に結合される。バス管理モジュールは、これに接続されるクロックシリアルホストバスおよび／またはクロック同期パラレルローカルバスを制御するように構成できる。
【００６０】
媒体コントローラ、例えば６３２−１Ａ、６３２−１Ｂ、．．．、６３２−ＭＢは、各バス管理モジュール、例えば６４３−１Ａ、６４３−１Ｂ、．．．、６４３−ＭＢ、および、チャネル１に対応する、各多数のメモリデバイス、例えば６１２−１Ａ１、６１２−１Ａ２、６１２−１Ｂ１、６１２−１Ｂ２、．．．、６１２−ＭＢ１、６１２−ＭＢ２の間に通信可能に結合できる。
【００６１】
チャネル１に対応するメモリデバイス、例えば６１２−１Ａ１、６１２−１Ａ２、６１２−１Ｂ１、６１２−１Ｂ２、．．．、６１２−ＭＢ１、６１２−ＭＢ２は、ページ、ブロック、平面、アレイ、または他の群等の特定の物理または論理構成を提供するために配列可能な多数のメモリセルを含むことができる。１つ以上の実施形態に従い、ＩＮＳＮは、それぞれ、マルチチップパッケージ、例えば６４０−１Ａ、６４０−１Ｂ、．．．、６４０−ＭＢとして構成される。いくつかの実施形態において、マルチチップパッケージは、データ、制御、電力、および接地信号のために２０未満のピンを有することができる。例えば、１つ以上の実施形態のマルチチップパッケージは、図６に示されるように、ホストバスのためのデータおよび制御信号のための３つの（またはより少ない）ピン、ならびにパラレルローカルバスのための追加のピンを有することができる。
【００６２】
多数のＩＮＳＮ、例えば６３０−１Ｂ、．．．、６３０−ＭＢが、直列結合されるＩＮＳＮ、例えば６３０−１Ａに並列で通信可能に結合される図６に示されているが、本開示の実施形態は、それぞれ、直列結合および並列結合されたＩＮＳＮのこれらの数量に制限されない。より多い、または少ないＩＮＳＮを、特定の直列結合ＩＮＳＮ、例えば６３０−１Ａに対応して、並列で通信可能に結合することができる。さらに、本発明の実施形態は、各チャネルに通信可能に結合された同一の数量の直列結合されたＩＮＳＮおよび／または並列結合されたＩＮＳＮを有することに制限されず、特定のチャネル上の直列結合されたＩＮＳＮおよび／または並列結合されたＩＮＳＮの数量は、別の特定のチャネル上の直列結合されたＩＮＳＮおよび／または並列結合されたＩＮＳＮのそれぞれの数量よりも大きくまたは小さくできる。
【００６３】
図７は、本開示の１つ以上の実施形態に従う、インテリジェントＮＡＮＤ記憶ノード（ＩＮＳＮ）の機能ブロック図である。ＩＮＳＮ７３０は、図６に示されるＩＮＳＮ、例えば６３０−１Ａ、６３０−１Ｂ、６３０−１Ｃに類似してもよい。ＩＮＳＮ７３０は、バスマネジャー７４３および媒体コントローラ７３２を含むことができる制御回路７３１、例えばコントローラを含むことができる。媒体コントローラ７３２は、図６のＩＮＳＮ、例えば６３２−１Ａ、６３２−１Ｂ、６３２−１Ｃ内に示されるコントローラと類似する場合がある。
【００６４】
バスマネジャー７４３は、ホストバスとインターフェースを取るためのＰＣｌｅ部分７４１、例えばクロック信号ライン（ＣＬＫ）７４４（図６に示されるクロック信号ライン６４４−１と類似する場合がある）、第１のデータライン（Ｑ＋／−）７４６（図６に示される第１のデータライン６４６−１と類似する場合がある）、および第２のデータライン（Ｄ＋／−）７４８（図６に示される第２のデータライン６４８−１と類似する場合がある）を含むことができる。バスマネジャー７４３は、さらに、ローカルバスとインターフェースを取るためのローカルバス部分７４３、例えばクロック信号ライン（ＣＬＫ）７４５、第１のデータライン（Ｑ［Ｘ：０］）７４７、および第２のデータライン（Ｄ［Ｘ：０］）７４９を含むことができる。図７から読者は理解するであろうように、第１のデータライン（Ｑ）は、Ｙ＋１データビットの情報の幅を有するように構成されてもよく、第２のデータライン（Ｄ）は、Ｘ＋１データビットの情報の幅を有するように構成されてもよい。
【００６５】
１つ以上の実施形態に従い、メモリの１つ以上のチャネルを、媒体コントローラ７３２に通信可能に結合してもよく、各チャネルは、１チャネル当たり最大１６のＮＡＮＤ、例えば７１２−１、７１２−２を含む。メモリデバイスの他のタイプ、数量、または配列は、本開示の実施形態によって考慮され、チャネル数を、図７に示される２つのチャネルよりも多くまたは少なくする場合がある。
【００６６】
まとめ
本開示は、メモリシステムコントローラのための方法およびデバイスを含む。１つ以上の実施形態において、メモリシステムコントローラは、システムコントローラに通信可能に結合されたホストインターフェースを含む。システムコントローラは多数のメモリインターフェースを有し、多数のメモリインターフェースに通信可能に結合された複数のインテリジェント記憶ノードを制御するように構成される。システムコントローラは、物理メモリアドレスと論理メモリアドレスとの間をマップするように構成される論理、および複数のインテリジェント記憶ノードにわたりウェアレベルを管理するように構成される論理を含む。
【００６７】
本開示の詳細な記載において、その一部を形成し、本開示の１つ以上の実施形態をどのように実施し得るかを図示によって示す添付の図面が参照される。これらの実施形態は、当業者が本開示の実施形態を実施することができるように十分詳細に記載されており、他の実施形態を利用してもよく、かつ本開示の範囲から逸脱せずに、プロセス上の、電気的な、または構造上の変更をおこなってもよいことを理解されたい。
【００６８】
本明細書で用いられている場合、特に図の参照番号に関する、「Ｎ」「Ｍ」「Ｘ」および「Ｙ」の指示子は、本開示の１つ以上の実施形態について、そのように指定された多数の特定の特徴を含むことができることを示す。理解されるように、本明細書の種々の実施形態において示される要素は、本開示の多数の追加の実施形態を提供するように、追加、交換または排除できる。さらに、理解されるように、図において提供される要素の割合および相対的な大きさは、本開示の実施形態を例示することを意図するものであり、制限的な意味で解釈されるべきではない。
【００６９】
第１の要素が、別の要素に「接続する」または「結合する」と称される場合、第１の要素は、２つの要素のもう一方に物理的に取り付けられることが意図されていることが理解されよう。対照的に、要素が「通信可能に結合される」と称される場合、要素は、相互に通信する。
【００７０】
要素が、別の要素「の上にある」「に接続する」または「と結合する」と称される場合、要素は、他の要素またはレイヤの上に直接ある、これに接続される、またはこれと結合することができる、あるいは介在要素またはレイヤが存在するかもしれないことが理解されよう。対照的に、要素が、別の要素またはレイヤ「の上に直接ある」、「に直接接続される」または「と直接結合される」と称される場合、介在要素またはレイヤは何ら存在しない。本明細書で用いられる場合、「および／または」という用語は、関連付けられた列挙された項目の１つ以上のいずれかおよび全ての組み合わせを含む。
【００７１】
第一、第二等の用語が、種々の要素、コンポーネント、領域、レイヤ、およびセクションを説明するために、本明細書で用いられ得るが、これらの要素、コンポーネント、領域、配線ライン、レイヤ、およびセクションは、これらの用語に制限すべきではないことを理解されよう。これらの用語は、ある要素、コンポーネント、領域、配線ライン、レイヤ、またはセクションを、別の領域、レイヤ、またはセクションと区別するために使用されるにすぎない。このため、以下に記載される第１の要素、コンポーネント、領域、配線ライン、レイヤまたはセクションは、本開示の教示から逸脱せずに、第２の要素、コンポーネント、領域、配線ライン、レイヤ、またはセクションという用語にすることができる可能性がある。
【００７２】
「下に」「下方に」「より低い」「上方に」「より上の」等の空間に関する用語は、空間内の絶対的な方向ではなく、図に示されるように、ある要素または特徴の別の要素または特徴への関係を説明するために、本明細書において説明を容易にするために使用される場合がある。空間に関する用語は、図に示される配向だけでなく、使用および動作しているデバイスの異なる配向を含むように意図されることが理解されよう。例えば、図内のデバイスをひっくり返す場合、他の要素または特徴の「下方に」または「下に」として記載される要素は、他の要素または特徴の「上方に」に方向付けられることになる。このため、例示的な用語「下方に」は、上方および下方の両方の向きを含むことができる。デバイスは、これとは異なって（９０度回転して、または他の配向に）配向されてもよく、本明細書で使用される空間に関する指示子は、これに従って解釈されてもよい。
【００７３】
本明細書で使用される用語は、特定の実施形態を記載することを目的とするに過ぎず、開示を制限することを意図するものではない。本明細書で用いられる場合、「１つの（ａ）」「１つの（ａｎ）」および「その（ｔｈｅ）」という単数形は、内容がそうでないことを明らかに示すのでない限り、複数形も含むことを意図している。本明細書で使用される場合、「を含む（ｃｏｍｐｒｉｓｅｓ）」および「を含む（ｃｏｍｐｒｉｓｉｎｇ）」という用語は、記載された特徴、整数、ステップ、動作、要素、またはコンポーネントの存在を特定するが、その１つ以上の他の特徴、整数、ステップ、動作、要素、コンポーネント、または群の存在および追加を排除するものではないことが、さらに理解されよう。
【００７４】
別途定義されていない限り、本明細書で用いられる全ての用語（技術および科学的用語を含む）は、本開示が属する技術分野の当業者によって一般的に理解されるものと同一の意味を有する。さらに、通常使用される辞書で定義されるもの等の用語は、関連技術および本開示の文脈においてその意味と一致する意味を有するものとして解釈すべきであり、本明細書で特に明示的に定義しない限り、理想的なまたは非常に形式的な意味において解釈すべきでないことが、さらに理解されよう。
【００７５】
本開示の実施形態は、本開示の理想的な実施形態の概略図である機能ブロック図を参照して、本明細書に記載されている。このため、例えば、製造技術および公差の結果としての図の形状の変形を考えるべきである。このため、本開示の実施形態は、本明細書に図示される領域の特定の形状に制限されるものとして解釈すべきではなく、例えば、製造によって生じる形状の偏差を含むものとして解釈するべきである。例えば、平坦なものとして図示または記載される領域は、一般的には、粗いまたは非線形の特徴を有する場合がある。さらに、図示される鋭角は丸みをもたせてもよい。このため、図中に図示される領域は、本質的に概略的なものであり、その形状および相対的な大きさ、厚さ等は領域の正確な形状／大きさ／厚さを図示するように意図されておらず、本開示の範囲を制限することが意図されていない。
【００７６】
本明細書において特定の実施形態を図示および記載したが、当業者は、同一の結果を得るように計算される一構成を、示される特定の実施形態で代用できることを理解されよう。この開示は、本開示の１つ以上の実施形態の適合または変形を範囲に含むように意図される。上記の記載は、例示的に行われたものであり、制限的に行われたものではないことを理解すべきである。上記の実施形態の組み合わせ、および本明細書に特に記載されていない他の実施形態が、上記の記載を考慮する際に、当業者には明らかであろう。本開示の１つ以上の実施形態の範囲は、上記の構成および方法が使用される他の応用を含む。従って、本開示の１つ以上の実施形態の範囲は、かかる請求項が相当する均等物の全範囲と共に、添付の特許請求の範囲を参照して決定すべきである。
【００７７】
上記の発明を実施するための形態において、いくつかの特徴は、開示の合理化のために、単一の実施形態にグループ化される。この開示方法は、本開示の開示された実施形態が各請求項に明示的に記載されているものよりも多くの特徴を用いる必要があるという意図を反映するものとして解釈すべきではない。それよりも、以下の請求項が示すように、本発明の主題は、単一の開示された実施形態の全ての特徴よりも少数のものとして存在する。このため、以下の請求項は、本明細書により、発明を実施するための形態に組み込まれており、各請求項は、個別の実施形態として個々に独立している。
【図１】
0005453661.tif 000002
【図２】
0005453661.tif 000003
【図３】
0005453661.tif 000004
【図４】
0005453661.tif 000005
【図５】
0005453661.tif 000006
【図６】
0005453661.tif 000007
【図７】
0005453661.tif 000008