(58)【調査した分野】(Int.Cl.,DB名)
前記複数のメモリデバイスとシステムコントローラとの間を結合したバスを経由して、前記コピーバックコマンドを前記第1のメモリデバイスに提供することを含む、請求項1に記載の方法。
前記コピーバック動作が実行されている間に、前記システムコントローラに結合された少なくとも1つの異なるメモリデバイス上でいくつかのメモリ動作を実行することを含む、請求項3に記載の方法。
信号処理コンポーネントを使用して前記データについて信号処理を実行することが、前記メモリデバイスにローカルなコントローラ内に配置された誤り訂正コンポーネントを使用して誤り訂正動作を実行することを含む、請求項1に記載の方法。
前記複数のメモリデバイスとシステムコントローラとの間を結合したバスを経由して、前記コピーバックコマンドを前記第1のメモリデバイスにローカルな前記コントローラに提供することを含む、請求項5に記載の方法。
前記データを第2のメモリユニットにプログラムすることが、前記データを、前記第1のメモリユニット以外のメモリユニットにプログラムすることを含む、請求項1〜請求項6のいずれか1つに記載の方法。
ページバッファを含み、かつ、データを格納するように構成されている前記コントローラが、前記第1のメモリユニットから読み取った前記データを前記ページバッファ内に格納するように構成されている前記コントローラを含む、請求項8に記載のメモリデバイス。
前記コントローラが、前記第1のメモリユニットのソースページから前記ページのデータを読み取り、前記ページのデータを前記第2のメモリユニットのターゲットページに移動するように構成されている、請求項8〜請求項12のいずれか1つに記載のメモリデバイス。
前記メモリコントローラが、前記ページのデータを前記第1のメモリユニットから読み取り、前記ページのデータについて前記信号処理を実行し、かつ、前記データを前記システムコントローラに移動することなく、前記ページのデータを前記第2のメモリユニットにプログラムするように構成されている、請求項14に記載のメモリコントローラ。
前記信号処理コンポーネントが、誤り訂正コンポーネントを含み、かつ、前記メモリコントローラが、前記誤り訂正コンポーネントを使用して、前記ページのデータについて誤り訂正動作を実行するように構成されている、請求項14〜請求項15のいずれか1つに記載のメモリコントローラ。
【背景技術】
【0003】
メモリデバイスは、通常、コンピュータまたは他の電子装置内の内部、半導体、集積回路として提供される。揮発性メモリおよび不揮発性メモリを含め、多くの異なるタイプのメモリがある。揮発性メモリは、その情報を保持するために電力を必要とし得、特に、ランダムアクセスメモリ(RAM)、ダイナミックランダムアクセスメモリ(DRAM)、およびシンクロナスダイナミックランダムアクセスメモリ(SDRAM)を含む。不揮発性メモリは、電力供給されていないときに、格納された情報を保持することにより、永続的な情報を提供でき、特に、NANDフラッシュメモリ、NORフラッシュメモリ、読取り専用メモリ(ROM)、電気的消去可能プログラマブルROM(EEPROM)、消去可能プログラマブルROM(EPROM)、相変化ランダムアクセスメモリ(PCRAM)、抵抗ランダムアクセスメモリ(RRAM(登録商標))、および、スピントルク移動ランダムアクセスメモリ(STT RAM)などの磁気ランダムアクセスメモリ(MRAM)を含むことができる。
【0004】
メモリデバイスは、ソリッドステートドライブ(SSD)を形成するために一緒に結合できる。ソリッドステートドライブは、不揮発性メモリおよび揮発性メモリの様々な他のタイプの中で特に、不揮発性メモリ(例えば、NANDフラッシュメモリおよびNORフラッシュメモリ)を含むことができ、かつ/または揮発性メモリ(例えば、DRAMおよびSRAM)を含むことができる。ソリッドステートドライブは、性能、サイズ、重さ、耐久性、動作温度範囲、および消費電力に関してハードドライブに優る利点を有し得るので、SSDは、コンピュータ用の主記憶装置としてハードディスクドライブを置き換えるために使用できる。例えば、SSDは、それらが可動部品をもたないことに起因して、磁気ディスクドライブと比較したときに、優れた性能を有し得、それは、磁気ディスクドライブに関連した、シーク時間、待ち時間、および他の電気機械的遅延を回避し得る。SSD製造業者は、内蔵バッテリーを使用しない可能性があるフラッシュSSDを作成するために不揮発性フラッシュメモリを使用でき、このようにしてドライブをさらに多用途でコンパクトにできる。
【0005】
SSDは、1つまたは複数の離散メモリパッケージを含むことができ、1つまたは複数のメモリパッケージは、マルチチップパッケージ(MCP)であり得る。MCPは、その上にいくつかのメモリダイまたはチップを含むことができ、それらは論理ユニット(LUN)と呼ばれ得る。本明細書では、「いくつかの(a number of)」何かは、1つまたは複数のかかる物を指し得る。一例として、MCPに関連したメモリチップおよび/またはダイは、周辺回路とともに、いくつかのメモリアレイを含むことができる。メモリアレイは、いくつかの物理ブロックに編成されたメモリセルを含むことができ、物理ブロックの各々は、複数ページのデータを格納可能である。
【0006】
様々なメモリシステムは、例えば、消去動作、プログラム動作、および読取り動作などの動作を実行するためのシステムコントローラを含む。さらに、いくつかのメモリシステムは、「コピーバック」動作をサポートする。コピーバック動作は、第1のページ(例えば、ソースページ)のデータを第2のページ(例えば、ターゲットページ、目的ページと呼ばれることもある)に移動することを伴い得る。コピーバック動作を実行することは、コピーバック読取り動作、コピーバックプログラム動作、およびコピーバックプログラム検証動作を含むことができる。コピーバック読取り動作は、ソースページに格納されたデータを読み取ることおよびそれをページバッファに格納することを含み得る。コピーバックプログラム動作は、ページバッファ内に格納されたデータをターゲットページに再プログラムすることを含み得る。いくつかの状況では、ページバッファに格納されたデータは、ページバッファからデータを読み取ることなく、ターゲットページに直接移動(例えば、転送)できる。コピーバックプログラム検証動作は、次いで、そのデータがターゲットページに正しくプログラムされているか否かを確認するために使用できる。
【0007】
コピーバック動作をサポートするメモリシステムは、誤り訂正符号(ECC)回路などの信号処理(例えば、誤り訂正符号および/または他のデータ復旧アルゴリズム)コンポーネントを含むことができる。ECC回路の複雑性(例えば、十分な誤り訂正を実装するために必要な論理ゲートの数)は、例えば、製造技術の進展に伴って増大する。増大したECC回路の複雑性は、他の欠点の中で特に、ECC機能性を含むメモリシステムコントローラのサイズの増大などの欠点につながり得る。
【発明を実施するための形態】
【0009】
本開示は、コピーバック動作を実行するための方法、デバイス、メモリコントローラ、およびシステムを含む。1つまたは複数の方法は、コピーバックコマンドに応答して、メモリデバイスの第1のメモリユニットからデータを読み取ること、メモリデバイスにローカルな信号処理コンポーネントを使用してそのデータについて信号処理を実行すること、およびメモリデバイスの第2のメモリユニットにそのデータをプログラムすることを含む。
【0010】
本開示の実施形態は、他の利益の中で特に、従来のシステムおよび方法と比較して、コピーバック動作中のバスロードを削減すること、コピーバック中のECC動作などのデータ復旧動作のために使用する時間を削減すること、および、コピーバック動作に関連した誤差伝播を削減または阻止することなど、様々な利益を提供できる。
【0011】
実施形態は、従来のシステムと比較して、メモリシステムのメモリ容量の増加および/またはメモリシステムコントローラに関連したピンカウントの削減などの利益も提供できる。
【0012】
本開示の以下の詳細な説明では、その一部を形成する添付の図を参照するが、図中では、本開示の1つまたは複数の実施形態がどのように実施され得るかを例として示す。これらの実施形態は、当業者が本開示の実施形態を実施できるように十分に詳細に説明され、また、他の実施形態が利用され得ること、ならびに、本開示の範囲から逸脱することなく、プロセス、電気的および/または構造的変更が行われ得ることが理解される。本明細書では、指示子「N」および「M」は、特に、図における参照番号に関して、そのように指定されたいくつかの特定の機能が、本開示の1つまたは複数の実施形態に含まれ得ることを示す。本明細書では、「いくつかの」何かは、1つまたは複数のかかる物を指し得る。
【0013】
本明細書の図は、最初の数字が図の番号に対応し、残りの数字が図中の要素またはコンポーネントを識別するという、番号付け規約に従う。異なる図の間での同様の要素またはコンポーネントは、同様の数字を使用して識別され得る。例えば、104は、
図1の参照要素「04」であり得、同様の要素は
図2では204として参照され得る。理解されるように、本明細書の様々な実施形態に示す要素は、本開示のいくつかの追加の実施形態を提供するために、追加、交換、および/または除外することができる。さらに、理解されるように、図で提供されている要素の比率および相対的な大きさは、本開示の実施形態を説明することが意図されており、制限する意味にとられるべきでない。
【0014】
図1は、本開示の1つまたは複数の実施形態に従ったコンピューティングシステムの機能ブロック図である。コンピューティングシステム100は、ホスト102に通信的に結合された、例えば、1つまたは複数のソリッドステートドライブ(SSD)などのメモリシステム104を含む。メモリシステム104は、例えば、バックプレーンまたはバスなどのインタフェース106を通じて、ホスト102と通信的に結合できる。
【0015】
ホスト例102は、他のホストシステムの中で特に、ラップトップコンピュータ、パーソナルコンピュータ、デジタルカメラ、デジタル記録再生装置、携帯電話、PDA、メモリカードリーダー、およびインタフェースハブを含むことができる。インタフェース106は、他のコネクタおよびインタフェースの中で特に、シリアルATA(SATA:serial advanced technology attachment)、PCI Express(PCIe:peripheral component interconnect express)、またはユニバーサルシリアルバス(USB)を含むことができる。しかし、一般に、ホストインタフェース106は、メモリシステム104とホスト102との間の制御、アドレス、データ、および他の信号の通過のためのインタフェースを提供できる。
【0016】
ホスト102は、メモリおよびバス制御107に通信的に結合された、1つまたは複数のプロセッサ105(例えば、並列プロセッサ、コプロセッサなど)を含むことができる。プロセッサ105は、1つもしくは複数のマイクロプロセッサ、または、例えば、1つもしくは複数の特定用途向け集積回路(ASIC)など、何らかの他のタイプの制御回路であり得る。コンピューティングシステム100の他のコンポーネントもプロセッサを有し得る。メモリおよびバス制御107は、それに直接通信的に結合されたメモリおよび他のコンポーネント、例えば、ダイナミックランダムアクセスメモリ(DRAM)111、グラフィックユーザーインタフェース118、または他のユーザーインタフェース(例えば、ディスプレイモニター、キーボード、マウスなど)など、を有することができる。
【0017】
メモリおよびバス制御107は、それに通信的に結合された周辺およびバス制御109も有することができ、それらは、同様に、ユニバーサルシリアルバス(USB)インタフェースを使用するフラッシュドライブ119、不揮発性メモリホスト制御インタフェース(NVMHCI)フラッシュメモリ117、またはメモリシステム104などのメモリシステムに接続できる。理解されるように、メモリシステム104は、いくつかの異なるコンピューティングシステムにおいて、ハードディスクドライブ(HDD)に追加して、またはその代わりに、使用できる。
図1に示すコンピューティングシステム100は、かかるシステムの一例であるが、本開示の実施形態は、
図1に示す構成に限定されない。
【0018】
企業向けソリッドステートストレージアプライアンスは、テラバイトのストレージおよび、例えば、100MB/秒、100Kの1秒あたりの入力/出力(IOPS)など、高速性能によって現在特徴付けることができるメモリシステムのクラスである。本開示の1つまたは複数の実施形態によれば、企業向けソリッドステートストレージアプライアンスは、ソリッドステートドライブ(SSD)コンポーネントを使用して構成できる。例えば、
図1に関して、メモリシステム104は、1つまたは複数のコンポーネントSSDを使用して実施された企業向けソリッドステートストレージアプライアンスであり得、その1つまたは複数のSSDは、メモリシステムコントローラによってメモリシステムとして運用されている。
【0019】
図2は、従来の技術に従ってコピーバック動作を実行できるメモリシステム204の一部のブロック図である。一例として、メモリシステム204は、ソリッドステートドライブ(SSD)であり得る。メモリシステム204は、バス220を経由して、いくつかのメモリデバイス232−1、...、232−Nに結合されたメモリシステムコントローラ215(例えば、メモリ制御回路、ファームウェア、および/またはソフトウェア)を含む。いくつかの実施形態では、メモリシステムコントローラは、ホストにローカルであり得るか、メモリシステムにローカルであり得るか、または、ホストとメモリシステムとの間で分散され得る。
【0020】
バス220は、メモリデバイス232−1、...、232−Nとシステムコントローラ215との間で、様々な信号(例えば、データ信号、制御信号、および/またはアドレス信号)を送信/受信できる。
図2に示す例は単一のバス220を含むが、メモリシステム204は、別個のデータバス(DQバス)、制御バス、およびアドレスバスを含むことができる。バス220は、Open NAND Flash Interface(ONFI)、コンパクトフラッシュ(登録商標)インタフェース、マルチメディアカード(MMC)、セキュアデジタル(SD)、CE−ATA、業界標準アーキテクチャ(ISA)、マイクロチャネルアーキテクチャ(MSA)、拡張ISA(EISA)、インテリジェントドライブエレクトロニクス(IDE)、VESAローカルバス(VLB)、PCI(Peripheral Component Interconnect)、カードバス、ユニバーサルシリアルバス(USB)、アドバンストグラフィックスポート(AGP)、PCメモリカード国際協会バス(PCMCIA:Personal Computer Memory Card International Association)、ファイアーワイヤ(IEEE 1394)、および小規模コンピュータシステムインタフェース(SCSI)に関連したバス構造を含むが、それらに限定されず、様々なタイプのバス構造を有することができる。
【0021】
図2に示すように、メモリデバイス232−1、...、232−Nは、メモリシステム204に対して記憶ボリュームを提供するいくつかのメモリユニット212−1、212−2、212−3、および212−4を含むことができる。メモリユニット212−1〜212−4は、ダイまたはチップであり得、それは、論理ユニット(LUN)と呼ばれ得る。そのため、メモリデバイス232−1、...、232−Nは、いくつかのダイ212−1〜212−4(例えば、この例では、NANDダイ)を含むマルチチップパッケージ(MCP)であり得る。
【0022】
メモリユニット212−1〜212−4は、1つまたは複数のメモリセルのアレイを含むことができる。この例では、メモリユニット212−1〜212−4は、NANDアーキテクチャを有するフラッシュアレイを含む。
【0023】
システムコントローラ215は、信号処理コンポーネント216を含む。この例では、信号処理コンポーネントは、誤り訂正コンポーネント216(例えば、ECCエンジン)であり、それは、ある量のデータ(例えば、1ページのデータ)がビット誤りを含むか否かを判断(例えば、検出)でき、また、データ内の特定の数の誤りを訂正できる。誤り訂正コンポーネント216によって訂正可能なビット誤りの数は、例えば、使用されるECCのタイプおよび/または誤り訂正回路の複雑性などの要因に基づいて変わり得る。本明細書では、誤り訂正は、誤り検出および/または訂正を含むが、それらに限定されない、データ復旧を指し得る。そのため、誤り訂正コンポーネント216などの誤り訂正コンポーネントによって実行されるデータ復旧動作は、例えば、データ復旧に関連した他の動作の中で特に、1ページのデータに関連したビット誤りの検出および/またはビット誤りの訂正を含むことができる。その結果、信号処理コンポーネント216は、コンポーネント216および/またはコントローラ(例えば、215)に関連した他のデータ復旧コンポーネントによって実行されるデータ復旧の一部として誤り訂正符号(ECC)を採用できる。
【0024】
図2に示す矢印251は、システム204によって実行されるコピーバック動作を表す。コピーバック動作は、メモリデバイス232−1、...、232−Nのうちの1つに対するコピーバックコマンドで開始できる。システム204によって実行されるコピーバック動作251は、特定のダイ(例えば、212−1)内のソースページのデータを同じダイ(例えば、212−1)内のターゲットページに移動することを含む。すなわち、システム204に関連したコピーバックコマンドは、コピーバック動作に関するソースおよびターゲットを同じダイに制限する。
【0025】
この例では、コピーバック動作251は、特定のメモリデバイス(例えば、232−1)に対して内部で実行される。例えば、メモリデバイス232−1は、コピーバック読取り動作に対応する1ページのデータを格納できるページバッファ(図示せず)を含むことができ、また、そのページのデータは、バッファからターゲットページに再プログラムできる。そのため、データは、バス220を経由してシステムコントローラ215に書き出す必要がなく、それは、例えば、処理時間を節約できる。しかし、コピーバック動作251中に、いくつかのビット誤りがデータページで生じ得る。さらに、コピーバック動作251に関連したビット誤りの数は、誤り訂正コンポーネント216によって訂正可能な誤りの数に達し得るか、または超え得る。
【0026】
図3は、従来の技術に従ってコピーバック動作を実行できるメモリシステム304の一部のブロック図である。メモリシステム304は、
図2に関連して前述したシステム204と似ている。メモリシステム304は、バス320を経由して、いくつかのメモリデバイス332−1、...、332−Nに結合されたメモリシステムコントローラ315(例えば、メモリ制御回路、ファームウェア、および/またはソフトウェア)を含む。
【0027】
メモリデバイス332−1、...、332−Nは、メモリシステム304に対して記憶ボリュームを提供するいくつかのメモリユニット312−1、312−2、312−3、および312−4を含むことができる。メモリユニット312−1〜312−4は、ダイまたはチップであり得、それは、論理ユニット(LUN)と呼ばれ得る。そのため、メモリデバイス332−1、...、332−Nは、いくつかのダイ312−1〜312−4(例えば、この例ではNANDダイ)を含むマルチチップパッケージ(MCP)であり得る。システムコントローラ315は、誤り訂正コンポーネント316を含み、それは、1ページのデータがビット誤りを含むか否かを判断でき、そのページのデータ内の特定の数の誤りを訂正できる。
【0028】
図2に示すシステム204とは違って、システム304は、ソースページとターゲットページが異なるメモリユニット312−1、312−2、312−3、および312−4(例えば、異なるダイ)内に配置されているコピーバック動作を実行できる。この例では、矢印353は、ダイ312−3に配置されているソースページからのデータが、バス320を経由して、コントローラ315にローカルな(例えば、その上にある)バッファ(図示せず)に書き込まれる、コピーバック読取り動作を表す。コントローラ315は、誤り訂正コンポーネント316でデータの誤り訂正を行うことができる。矢印354で示されるように、データは、次いで、コピーバックプログラム動作中に、バス320に沿って、ダイ312−1に配置されているターゲットページに戻され得る。そのため、コピーバック動作に関連したデータページは、誤り訂正され得、また、ターゲットページおよびソースページは、メモリデバイス332−1、...、332−N内の異なるメモリユニット312−1、312−2、312−3、および312−4に配置され得る。
【0029】
しかし、コピーバック動作は、コピーバック読取り動作およびコピーバックプログラム動作の両方について、バス320に沿ったデータ転送を伴うので、バス320は、コピーバック中、システム304の他のメモリデバイス332−1、...、332−N上の他の動作の実行に利用できない。
【0030】
図4は、本開示の1つまたは複数の実施形態に従って、コピーバック動作を実行できるメモリシステム404の一部のブロック図である。一例として、メモリシステム404は、ソリッドステートドライブ(SSD)であり得る。メモリシステム404は、バス420を経由して、いくつかのメモリデバイス430−1、...、430−Nに結合されたメモリシステムコントローラ415(例えば、メモリ制御回路、ファームウェア、および/またはソフトウェア)を含む。
【0031】
バス420は、メモリデバイス430−1、...、430−Nとシステムコントローラ415との間で様々な信号(例えば、データ信号、制御信号、および/またはアドレス信号)を送信/受信できる。
図4に示す例は単一のバス420を含むが、メモリシステム404は、別個のデータバス(DQバス)、制御バス、およびアドレスバスを含むことができる。バス420は、Open NAND Flash Interface(ONFI)、コンパクトフラッシュ(登録商標)インタフェース、マルチメディアカード(MMC)、セキュアデジタル(SD)、CE−ATA、業界標準アーキテクチャ(ISA)、マイクロチャネルアーキテクチャ(MSA)、拡張ISA(EISA)、インテリジェントドライブエレクトロニクス(IDE)、VESAローカルバス(VLB)、PCI(Peripheral Component Interconnect)、カードバス、ユニバーサルシリアルバス(USB)、アドバンストグラフィックスポート(AGP)、PCメモリカード国際協会バス(PCMCIA:Personal Computer Memory Card International Association)、ファイアーワイヤ(IEEE 1394)、および小規模コンピュータシステムインタフェース(SCSI)に関連したバス構造を含むが、それらに限定されず、様々なタイプのバス構造を有することができる。
【0032】
図4に示すように、メモリデバイス430−1、...、430−Nは、メモリシステム404に対して記憶ボリュームを提供するいくつかのメモリユニット412−1、412−2、412−3、および412−4を含むことができる。メモリユニット412−1〜412−4は、ダイまたはチップであり得、それは、論理ユニット(LUN)と呼ばれ得る。そのため、メモリデバイス430−1、...、430−Nは、各々がいくつかのダイ412−1〜412−4(例えば、この例ではNANDダイ)を含むマルチチップパッケージ(MCP)であり得る。本開示の実施形態は、
図4に示す例に限定されない。例えば、本開示の実施形態に従ったメモリシステムは、メモリデバイス(例えば、MCP)ごとに、ほぼ4つのメモリユニット(例えば、ダイ)を含むことができ、また、特定のメモリアレイアーキテクチャ(例えば、NANDフラッシュ、NORフラッシュ、DRAM)に制限されない。
【0033】
図2および
図3でそれぞれ説明したシステム204および304とは対照的に、システム404のメモリデバイス430−1、...、430−Nの各々は、コピーバック動作および他の動作(例えば、読取り、プログラム、消去など)に関連した誤り訂正のために使用できる誤り訂正コンポーネント435−1、...、435−N(例えば、ECC機能性を採用するコンポーネント)などの、信号処理コンポーネントを含む。
図4には示していないが、誤り訂正コンポーネント435−1、...、435−Nは、それぞれのメモリデバイス430−1、...、430−Nにローカルなコントローラ内に配置でき、それらは本明細書では、「デバイスコントローラ」と呼ばれる。メモリデバイス435−1、...、435−Nのデバイスコントローラは、バス420を経由してシステムコントローラ425に結合でき、メモリユニット412−1〜412−4上で実行される動作を制御できる。ローカルなメモリデバイスコントローラおよび/または誤り訂正コンポーネント435−1、...、435−Nは、システム404に関連したコピーバック動作および他のメモリ動作に関連したデータを格納できる1つまたは複数のデータバッファ(例えば、ページバッファ)を含むことができる。
【0034】
図4に示す実施形態では、矢印457は、システム404によって実行されるコピーバック動作を表す。コピーバック動作(例えば、457)は、システムコントローラ415から、バス420を経由して、メモリデバイス430−1、...、430−Nのうちの1つまたは複数に送信されたコピーバックコマンドを介して開始できる。システム404によって実行されるコピーバック動作457は、特定のメモリユニット(例えば、412−1〜412−4)内のソースページのデータをメモリユニット412−1〜412−4のうちの1つ内のターゲットページに移動することを含む。
【0035】
システム404内で実行されるコピーバック動作は、
図2で示したシステム204などの以前のシステムと比較して、制限を取り除くため、コピーバック動作に対するソースおよびターゲット(例えば、目的)は、同じメモリユニット412−1〜412−4(例えば、ダイ)に制限されない。すなわち、コピーバック読取り動作に対応するソースデータページは、ターゲットページが、対応するコピーバックプログラム動作の一部としてプログラムされる、同じメモリユニット412−1〜412−4からである必要がない。
【0036】
誤り訂正コンポーネント435−1、...、435−Nが、(例えば、システムコントローラ415内とは対照的に)それぞれのメモリデバイス430−1、...、430−Nにローカルである(例えば、その中に配置されている)ため、コピーバック動作に関連した誤り訂正は、メモリデバイス430−1、...、430−N内でローカルに実行できる。誤り訂正機能をメモリデバイス430−1、...、430−N内でローカルに実行すると、他の利益の中で特に、従来のシステムおよび方法と比較して、コピーバック動作中にバス420上へのロードを削減すること、コピーバック中に誤り訂正動作(例えば、ECC動作)のために使用する時間を削減すること、および、コピーバック動作に関連した誤差伝播を削減または阻止することなどの利益を提供できる。
【0037】
図5は、従来技術に従ったメモリシステムの一部のブロック図である。
図5に示すメモリシステムは、システムコントローラ525を含む。システムコントローラ525は、いくつかのメモリチャネルにわたるアクセスを制御できる。この例では、コントローラ525は、各々がそれぞれのメモリチャネルへのアクセスを制御する、いくつかのチャネルコントローラ527−0、527−1、...、527−Nを含む。
【0038】
図5に示す例では、チャネルコントローラ527−Nが、バス522(例えば、データおよび制御バス)を経由して、第1のメモリデバイス532−1および第2のメモリデバイス532−2に結合される。メモリデバイス532−1および532−2の各々は、8つのメモリユニット512−0〜512−7を含む。メモリユニット512−0〜512−7は、メモリダイであり得、メモリデバイス532−1および532−2は、一例として、マルチチップパッケージであり得る。この例では、メモリデバイス532−1および532−2の各々は、チップイネーブル(CE)信号をチャネルコントローラ527−Nから受信する4つのチップイネーブル(CE)ピン538−1(CE1)、538−2(CE2)、538−3(CE3)、および538−4(CE4)を含む。そのため、システムコントローラ525は、CE信号のメモリデバイス532−1および532−2への提供専用の8つのCEピンを含む。
図5には示されていないが、チャネルコントローラ527−0〜527−Nの各々がいくつかのメモリデバイス(例えば、この例では2つ)に結合できる。そのため、システムコントローラ525が、各チャネルが2つのメモリデバイスに対応する32のチャネルを含む場合、CEピンの総数は256になるであろう。
【0039】
図6は、本開示の1つまたは複数の実施形態に従ったメモリシステムの一部のブロック図である。
図6に示す実施形態は、
図5に関連して前述したような以前のメモリシステムに比較して、削減されたピンカウントを提供できる。
図6に示すメモリシステムは、システムコントローラ625を含む。システムコントローラ625は、いくつかのメモリチャネルにわたるアクセスを制御できる。この例では、コントローラ625は、各々がそれぞれのメモリチャネルへのアクセスを制御する、いくつかのチャネルコントローラ627−0、627−1、...、627−Nを含む。
【0040】
図6に示す例では、チャネルコントローラ627−Nが、バス622(例えば、データおよび制御バス)を経由して、いくつかのメモリデバイス630−1、...,630−Mに結合される。この実施形態では、メモリデバイス630−1、...、630−Mの各々は、8つのメモリユニット(例えば、ダイ)612−0〜612−7を含む。メモリデバイス630−1、...、630−Mは、一例として、マルチチップパッケージであり得る。
図6に示すシステムでは、メモリデバイス630−1、...、630−Mの各々は、デバイスコントローラ614を含む。デバイスコントローラ614は、システムコントローラ625からの信号に応答して、メモリデバイス630−1、...、630−Mのメモリユニット612−0〜612−7上で様々な動作を実行できる。
【0041】
この例では、メモリデバイス630−1、...、630−Mの各々は、チップイネーブル(CE)信号をチャネルコントローラ627−Nから受信する4つのチップイネーブル(CE)ピン638−1(CE1)、638−2(CE2)、638−3(CE3)、および638−4(CE4)を含む。しかし、
図5に示す例とは違って、システムコントローラ625からの単一のCE信号(例えば、628−0)が、特定のメモリチャネル(例えば、チャネルN)に対応するいくつかのメモリデバイス630−1、...、630−Mによって共有される。そのため、チャネルコントローラ627−Nに関連した残りのCEピン(例えば、628−1〜628−7)が、他の目的のために使用できるか、またはシステムコントローラ625に関連した総ピンカウントを削減するために除外できる。例えば、
図5に示す例と比較すると、システムコントローラ625は、256(例えば、32のチャネルの各々に対して8つ)のCEピンの代わりに、32のCEピン(例えば、32のチャネルの各々に対して1つのCEピン)を含むであろう。
【0042】
図7は、本開示の1つまたは複数の実施形態に従ったメモリシステムの一部のブロック図である。
図7に示す実施形態は、いくつかのメモリデバイス730−0、730−1、730−2、および730−3を含み、本開示の1つまたは複数の実施形態に従ったピン削減のためのトポロジ例を示す。メモリデバイス730−0、730−1、730−2、および730−3は、
図7に示すデバイス730−1〜730−Mなどのメモリデバイスであり得る。一例として、メモリデバイス730−0、730−1、730−2、および730−3は、NANDメモリデバイスであり得る。
【0043】
図7に示す例では、デバイス730−0、730−1、730−2、および730−3の各々は、イネーブル入力ピン739およびイネーブル出力ピン741を含む。例えば、デバイス730−0は、イネーブル入力ピン739−0(ENi_0)およびイネーブル出力ピン741−0(ENo_0)を含み、デバイス730−1は、イネーブル入力ピン739−1(ENi_1)およびイネーブル出力ピン741−1(ENo_1)を含み、デバイス730−2は、イネーブル入力ピン739−2(ENi_2)およびイネーブル出力ピン741−2(ENo_2)を含み、また、デバイス730−3は、イネーブル入力ピン739−3(ENi_3)およびイネーブル出力ピン741−3(ENo_3)を含む。
【0044】
図示するように、メモリデバイス730−0、730−1、730−2、および730−3の間にデイジーチェーン構成が作成できる。この例では、デバイス730−0のイネーブル入力ピン739−0およびデバイス730−3のイネーブル出力ピン741−3が接続されていない(NC)。
図7に示すようなデイジーチェーン構成では、他のデバイスのイネーブル入力ピン739が前のデバイスのイネーブル出力ピン741に接続される。
【0045】
図7に示すように、また、
図6に関連して前述したように、メモリデバイス730−0、730−1、730−2、および730−3の各々は、システムコントローラ(例えば、
図6に示すシステムコントローラ625)からの共通のCEピンを共有する。例えば、チップイネーブルピン744(CE0_n)は、メモリデバイス730−0、730−1、730−2、および730−3の各々のチップイネーブルピン738−1(CE1)によって共有される。メモリデバイス730−0、730−1、730−2、および730−3の各々のCE1ピンは、特定の対象ボリューム713−0、713−1、713−2、713−3に関連付けられる(対応する)。対象ボリュームは、メモリデバイス内で特定のCE信号を共有するいくつかのメモリユニット(例えば、ダイまたはLUN)を指し得る。対象ボリュームの各々には、ボリュームアドレスを割り当てることができる。この例では、対象ボリューム713−0はボリュームアドレスH0N0を割り当てられ、対象ボリューム713−1はボリュームアドレスH0N1を割り当てられ、対象ボリューム713−2はボリュームアドレスH0N2を割り当てられ、また、対象ボリューム713−3はボリュームアドレスH0N3を割り当てられている。1つまたは複数の実施形態では、ボリュームアドレスは、メモリシステムの初期化時に特定の対象ボリュームに割り当てることができる。
【0046】
動作時に、イネーブル入力ピン739−0、739−1、739−2、および739−3の状態が、それぞれのメモリデバイス730−0、730−1、730−2、および730−3がコマンドを受け付けることができるかどうかを判断する。例えば、特定のデバイスのイネーブル入力ピンがHighで、そのデバイスのCEピン738−1がLowであれば、その特定のデバイスはコマンドを受け付けることができる。特定のデバイスのイネーブル入力がLowであるか、またはCEピン738−1がHighであれば、そのデバイスはコマンドを受け付けることができない。ボリューム選択コマンドは、システムコントローラの特定のCEピン744に結合された特定の対象ボリューム(例えば、713−0、713−1、713−2、713−3)を選択するために、システムコントローラによって発行できる。このように、ボリュームアドレス指定は、メモリデバイス730−0、730−1、730−2、および730−3の対象ボリュームにアクセスするために使用できる。
【0047】
本開示の実施形態は、
図7に示すトポロジに限定されない。例えば、実施形態は、デイジーチェーントポロジに限定されない。
【0048】
〔結論〕
本開示は、コピーバック動作を実行するための方法、デバイス、メモリコントローラ、およびシステムを含む。1つまたは複数の方法は、コピーバックコマンドに応答して、メモリデバイスの第1のメモリユニットからデータを読み取ること、メモリデバイスにローカルな信号処理コンポーネントを使用してそのデータについて信号処理を実行すること、およびメモリデバイスの第2のメモリユニットにそのデータをプログラムすることを含む。
【0049】
要素が別の要素「上」であるか、別の要素と「接続されている」または「結合されている」と言及されている場合、それは、別の要素の直接上であるか、別の要素と直接接続されているかもしくは結合されているか、または介在する要素が存在し得ることが理解されるであろう。対照的に、要素が別の要素の「直接上に」ある、別の要素と「直接接続されている」または「直接結合されている」と言及されている場合、介在する要素または層は存在しない。本明細書では、「および/または」という用語は、関連するリストされた項目の1つまたは複数のあらゆる組合せを含む。本明細書では、「または」という用語は、特に指示のない限り、論理的に包含的ORを意味する。すなわち、「AまたはB」は、(Aのみ)、(Bのみ)、または(AとBの両方)を含むことができる。言い換えれば、「AまたはB」は、「Aおよび/またはB」または「AおよびBのうちの1つまたは複数」を意味し得る。
【0050】
本明細書では特定の実施形態を図示および説明してきたが、当業者は、同じ結果を達成するために計算された配列が、示した特定の実施形態と置き換えられ得ることを理解するであろう。本開示は、本開示の1つまたは複数の実施形態の適合または変形をカバーすることが意図される。前述の説明は、制限的なものではなく、実例として行われていることを理解されたい。前述した実施形態の組合せ、および本明細書で具体的に説明されていない他の実施形態は、前述の説明を検討すれば、当業者には明らかであろう。本開示の1つまたは複数の実施形態の範囲は、前述の構造および方法が使用される他の用途を含む。従って、本開示の1つまたは複数の実施形態の範囲は、添付の請求項に関連し、かかる請求項が認められる均等物の完全な範囲とともに、判断されるべきである。
【0051】
前述の「発明を実施するための形態」では、いくつかの特徴が、本開示を簡素化する目的で、単一の実施形態にまとめられている。開示のこの方法は、本開示の開示した実施形態が、各請求項で明示的に詳述されているよりも多くの特徴を使用する必要があるという意図の反映として解釈されるものではない。むしろ、次の請求項が反映するように、発明の主題は、単一の開示された実施形態の全ての特徴にはない。従って、次の請求項は、本明細書により「発明を実施するための形態」に組み込まれ、各請求項は、別個の実施形態として権利を主張する。