説明

揮発性メモリおよび不揮発性メモリを有するハイブリッド固体メモリシステム

【課題】データを記憶するためのハイブリッド固体メモリシステムを提供する。
【解決手段】この固体メモリシステムは、揮発性固体メモリ、不揮発性固体メモリおよびメモリ制御部を備える。さらに、この固体メモリシステム中にデータを記憶するための方法を提供する。この方法は次のステップを含む。メモリ制御部が書込みコマンドを受け取る。この書込みコマンドに応答して、書込みデータが揮発性メモリ中に記憶される。データ転送要求に応答して、揮発性メモリから不揮発性メモリにデータが転送される。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、一般に固体メモリシステムに関するものであり、詳しくは、揮発性メモリおよび不揮発性メモリの両方を備えるハイブリッド固体メモリシステムに関するものである。
【背景技術】
【0002】
今日のコンピュータシステムにおいて最も一般的な大容量記憶装置は、1つまたは複数の回転ディスクを使用し、データを磁気的に記録するハードディスクドライブ(HDD)である。HDDは大量の情報を記憶することができるが、固体メモリと比較した場合、短所もある。特にHDDの方が読み書き速度が遅く、消費電力が多く、装置規模が大きく、機械的衝撃に対する耐性も低い。
【0003】
固体メモリは、データを記憶するためにメモリチップを使用するデータ記憶装置である。例えばフラッシュメモリなどの不揮発性固体メモリは、その記録密度が増加するにつれてますます普及しつつある。上述のように、その利点のため、ノートブックコンピュータなどのモバイルコンピュータでは最終的に固体メモリがHDDに取って代わることが想像される。
【0004】
しかし、フラッシュメモリの使用に関連する知られた問題がある。知られた問題の1つは、フラッシュメモリセルの書き換えサイクルの回数が限られていることである。例えば、典型的な書き換えサイクルの最大回数は、100,000サイクルから1,000,000サイクルに及ぶ。さらに、記録密度および低コストの要件を満たすため、マルチレベルセル(MLC)技術が使用されるものと考えられる。しかしMLCは、フラッシュメモリセルごとの書き換えサイクルの最大回数を典型的には2桁、例えば1,000,000サイクルから10,000サイクルに低減させる。
【0005】
フラッシュメモリの別の問題は、読出し/プログラム動作と消去動作との間のサイズ不整合である。具体的には、フラッシュメモリでは、読出し動作およびプログラム動作はページ単位で行われるのに対し、消去動作はブロック単位で行われる。したがって、最小消去可能サイズは、読出し/プログラムサイズよりも典型的には16倍から64倍大きい。フラッシュメモリデバイス中のメモリセルは、新しいデータでプログラムされる前に消去される必要があるため、新しいページを書き込むためにはブロック全体を消去する必要がある。このことは、書き換えサイクルの回数が限られている問題をさらに深刻にする。
【0006】
したがって、これらの問題に対処するためにいくつかの解決策が提案されている。これらの試みられた解決策の多くは、Conleyに発行された米国特許第6763424号に記載されている。しかし、これらの解決策はある一定の改善をもたらすとはいえ、それらは尚かなりのページ数を書き換えることを要求する。
【先行技術文献】
【特許文献】
【0007】
【特許文献1】米国特許第6763424号
【発明の概要】
【発明が解決しようとする課題】
【0008】
したがって、フラッシュメモリが実行する読み書き動作の回数をさらに減らし、それによりメモリシステムの平均寿命を延ばすメモリシステムが求められていることが認められる。
【0009】
本発明の目的は、上述の短所の少なくとも一部を取り除くまたは軽減することである。しかるべく、DRAM(ダイナミックRAM)やSRAM(スタティックRAM)などの揮発性メモリと、フラッシュメモリなどの不揮発性メモリとの両方を組み合わせた固体メモリストレージシステムを提供する。これらのメモリは、各タイプのメモリの利点をうまく活かして全体的なシステム性能を向上させ、ストレージデバイスの平均寿命を向上させる方法で組み合わせられる。
【課題を解決するための手段】
【0010】
本発明の一態様によれば、揮発性固体メモリと、不揮発性固体メモリと、揮発性メモリ中に書込みデータを記憶するように構成されるメモリ制御部であって、データ転送要求に応答して揮発性メモリから不揮発性メモリにデータを転送するようにさらに構成されるメモリ制御部と、を備える固体メモリシステムが提供されている。
【0011】
本発明のさらなる態様によれば、揮発性固体メモリ、不揮発性固体メモリおよびメモリ制御部を備える固体メモリシステム中にデータを記憶するための方法であって、書込みデータを記憶するためのコマンドを受け取るステップと、それに応答して揮発性メモリ中にその書込みデータを記憶するステップと、データ転送要求に応答して揮発性メモリから不揮発性メモリにデータを転送するステップと、を含む方法が提供されている。
【0012】
次に本発明の実施形態を添付の図面を参照して説明する。
【図面の簡単な説明】
【0013】
【図1】固体メモリシステムを示すブロック図である。
【図2a】複数のブロックを有するメモリセルアレイ構造を示すブロック図である。
【図2b】複数のページを有するブロック構造を示すブロック図である。
【図2c】ページ構造を示すブロック図である。
【図3a】揮発性メモリおよび不揮発性メモリのメモリ空間マップをそれぞれ示す図である。
【図3b】揮発性メモリおよび不揮発性メモリのメモリ空間マップをそれぞれ示す図である。
【図4】固体メモリシステムによって実施されるプロセスを示す流れ図である。
【図5】固体メモリシステムによって実施されるプロセスを示す流れ図である。
【図6】複数のメモリデバイスと通信するために共通バスを使用する固体メモリシステムのブロック図である。
【図7】複数のメモリデバイスと通信するために複数の共通バスを使用する固体メモリシステムのブロック図である。
【図8】複数のメモリデバイスと通信するために複数の共通バスを使用し、バスのそれぞれが1つのタイプのメモリデバイスと通信する固体メモリシステムのブロック図である。
【図9】複数のメモリデバイスと通信するためにデイジーチェーン構成を使用する固体メモリシステムのブロック図である。
【図10】複数のメモリデバイスと通信するために複数のチェーンを使用する固体メモリシステムのブロック図である。
【図11】複数のメモリデバイスと通信するために複数のチェーンを使用し、チェーンのそれぞれが1つのタイプのメモリデバイスと通信する固体メモリシステムのブロック図である。
【発明を実施するための形態】
【0014】
便宜上、本明細書における同一の符号は各図面の同一の構成物を指す。図1を参照すると、符号100により、固体メモリシステムのブロック図が全体的に示されている。この固体メモリシステム100は、メモリ制御部102および固体メモリ104を備える。外部デバイス106は、メモリ制御部102を介して固体メモリ104と通信する。
【0015】
本実施形態では、メモリ制御部102は、仮想マッピングシステム108(または単にマッピングシステム108)を含む。マッピングシステム108は、要求に関連する論理アドレスを固体メモリ104に関連する物理アドレスにマッピングするために使用される。
【0016】
固体メモリ104は、揮発性メモリ104aおよび不揮発性メモリ104bを含む。理解されるであろうが、揮発性メモリ104aも不揮発性メモリ104bも1個または複数個のメモリデバイスを含むことができる。
【0017】
本実施形態では、揮発性メモリ104aはDRAMメモリを含み、不揮発性メモリ104bはNANDフラッシュメモリを含む。しかし、揮発性メモリ104aも不揮発性メモリ104bも他のタイプのものを使用することができることを理解されたい。
【0018】
固体メモリシステム100は揮発性メモリを含むので、データを保持するための内部バッテリ(不図示)を実装することもできる。固体メモリシステム100への電力が途絶えた場合、このバッテリが揮発性メモリ104aから不揮発性メモリ104bにデータをコピーするための十分な電力を維持することになる。しかし、より多くの場合、バッテリ電源は外部システムの一部として提供される。
【0019】
図2aを参照すると、符号200により、メモリセルアレイ構造を示すブロック図が全体的に示されている。このセルアレイ200は、ブロック0からブロックn-1とラベル表示されたn個の消去可能ブロック202からなる。
【0020】
図2bを参照すると、セルアレイブロック202をより詳細に示すブロック図が示されている。ブロック202のそれぞれは、ページ0からページm-1とラベル表示されたm個のプログラム可能ページ252からなる。
【0021】
図2cを参照すると、プログラム可能ページ252をより詳細に示すブロック図が示されている。ページ252のそれぞれは、データを記憶するためのデータフィールド262、およびエラー管理ファンクションなど、そのデータに関係する追加情報を記憶するための予備フィールド264からなる。このデータフィールドはjバイト(B)で構成され、予備フィールド264はkバイト(B)で構成される。
【0022】
したがって、ページ252のそれぞれが(j+k)バイト(B)で構成されることが理解できる。ブロック202のそれぞれはm個のページ252からなり、したがって、1個のブロック202は、(j+k)*mバイト(B)となる。さらに、n個のブロック202からなるセルアレイ200の総記憶容量は、(j+k)*m*nバイト(B)となる。便宜上、1B=8ビット、1K=1024、1M=1024Kおよび1G=1024Mという簡略形を使用する。
【0023】
図3aおよび図3bを参照すると、本実施形態による揮発性メモリ104aおよび不揮発性メモリ104bをそれぞれ示すブロック図が示されている。以下の説明では、ページ、ブロックおよびセルの例示的なサイズを提供する。しかし、これらのサイズは様々な実施形態で大幅に異なる可能性があり、技術が進歩するにつれて変化し続けることを理解されたい。さらに、例えばDRAMなどの揮発性メモリ104aは、必ずしもブロックおよびページ構造を有さないことを理解されたい。したがって、揮発性メモリ104a中に一時的に記憶される任意のデータは、対応するブロックアドレスおよび/またはページアドレスを含むこともできる。このブロックアドレスおよび/またはページアドレスは、データが不揮発性メモリ104b中に転送される際に参照される。したがって、揮発性メモリ104a中のデータがブロックおよびページのアドレスで参照可能な限り、揮発性メモリ104a自体が不揮発性メモリ104bに対して物理的にマッピングされる必要はない。
【0024】
本実施形態では、ページ252のサイズは、揮発性メモリ104aと不揮発性メモリ104bとの両方で同じである。具体的には、ページ252は、データフィールド262の2048Bと予備フィールド264の64Bとの2112Bで構成される。
【0025】
さらに、ブロック202のサイズは、揮発性メモリ104aと不揮発性メモリ104bとの両方で同じである。具体的には、ブロック202のそれぞれがページ252を64個含むので、ブロック202はそれぞれ、データフィールド262の128KBと予備フィールド264の4KBとの132KBで構成される。
【0026】
本実施形態によると、揮発性メモリ104a中のブロック202の数は、不揮発性メモリ104b中のブロック202の数より少ない。具体的には、揮発性メモリ104aは8Kブロックからなり、不揮発性メモリ104bは256Kブロックからなる。したがって、揮発性メモリ104aは、データフィールド262の1GBと予備フィールド264の32MBとの1,056MBで構成される。不揮発性メモリ104bは、データフィールド262の32GBと予備フィールド264の1GBとの33GBで構成される。
【0027】
明確にするために、NANDフラッシュデバイスの全体的な動作を以下の通り説明する。読出し動作およびプログラム動作はページ単位で行われるのに対し、消去動作はブロック単位で行われる。
【0028】
読出し動作の場合、READコマンドと、その後に続く論理アドレスが固体メモリシステム100に送信される。マッピングシステムが、この論理アドレスに対応する物理アドレスを特定する。その物理アドレスに対応するデータが、揮発性メモリ104aから、またはその物理アドレスが揮発性メモリ104a中にない場合は不揮発性メモリ104bから読み出される。
【0029】
データが不揮発性メモリ104bから読み出される場合、読み出したデータを揮発性メモリ104a中にプログラムすることができる。それについての詳細は、図4および図5を参照して説明する。
【0030】
プログラム動作の場合、PROGRAMコマンドと、その後に続くアドレスおよび入力データが固体メモリシステム100に送出される。このデータは最初に揮発性メモリ104a中にプログラムされる。PROGRAMコマンドによって参照されるアドレスが、すでに揮発性メモリ104a中でプログラムされている場合、そのデータがそのアドレスに上書きされる。PROGRAMコマンドによって参照されるアドレスが、まだ揮発性メモリ104a中でプログラムされていない場合、そのアドレス用の空間が揮発性メモリ104a中に設けられる。
【0031】
ブロック消去動作の場合、BLOCK ERASEコマンドと、その後に続くブロックアドレスが固体メモリシステム100に送出される。ブロック内の128Kバイトのデータが、あらかじめ定義されたブロック消去時間tBERS未満に消去される。図4を参照すると、符号400により、一実施形態にしたがって固体メモリシステム100が実施するプロセスを示す流れ図が全体的に示されている。ステップ402で、メモリ制御部102が動作要求を受け取る。この動作要求は、典型的にはコマンドを含む。コマンドの種類には、例えば、読出し、プログラムおよび消去が含まれる。コマンドに応じて、動作要求の一部として他の情報を含めることもできる。例えば、読出しコマンドも書込みコマンドも論理アドレスを含む。さらに書込みコマンドは、書き込まれるデータも含む。
【0032】
ステップ404で、メモリ制御部102がその要求を処理し、要求された動作が特定される。ステップ406で、その要求が揮発性メモリ104aから不揮発性メモリ104bへのデータの転送を伴う動作を含むかどうかが判定される。データを転送しなければならない、いくつかの状況が存在する。例えば、システム再始動動作、システム電源切断動作またはメモリメンテナンス動作は、データ転送要求をもたらすことができる。したがって、データを転送する要求がメモリ制御部102で受け取られた場合、このプロセスはステップ408で続行する。その他の場合、このプロセスはステップ414で続行する。
【0033】
ステップ408で、揮発性メモリ104a中に記憶されたデータが不揮発性メモリ104bに転送され、それに応じてマッピングシステム108が更新される。この転送は、不揮発性メモリ104b中のデータを更新するための、任意の最新の方法に従って行うことができる。ステップ409で、不揮発性メモリ104b中にある転送済みデータの物理アドレスでマッピングシステム108が更新される。ステップ410で、そのデータ転送が電源切断動作に応答してのものであったかどうかが判定される。そのデータ転送が電源切断動作に応答して実行された場合、ステップ412で、固体メモリシステム100の電源が切られる。そのデータ転送が別の動作に応答して実行された場合、このプロセスはステップ402に戻る。
【0034】
ステップ414で、要求された動作が読出し動作であるかそれとも書込み動作であるかが判定される。動作が読出し動作であると判定された場合、このプロセスはステップ416で続行する。その他の場合、このプロセスはステップ420で続行する。
【0035】
ステップ416で、メモリ制御部102が、読み出されるデータの受け取った論理アドレスを、マッピングシステム108を使用して物理アドレスに変換する。ステップ418で、そのデータが不揮発性メモリ104bから当技術分野で標準的なように読み出され、このプロセスはステップ402に戻る。
【0036】
ステップ420で、メモリ制御部102が、書き込まれるデータの受け取った論理アドレスを、マッピングシステム108を使用して物理アドレスに変換する。ステップ422で、マッピングシステム108は、その物理アドレスが不揮発性メモリのアドレスに一致するかそれとも揮発性メモリのアドレスに一致するかを判定する。
【0037】
その物理アドレスが揮発性メモリのアドレスに一致する場合、このプロセスはステップ424で続行する。ステップ424で、書込み動作に伴うデータが揮発性メモリ中のその物理アドレスに書き込まれ、既存のデータを上書きする。DRAMなどの揮発性メモリ104aにデータを書き込むことは、その書込み動作より前にそのメモリを消去することを必要としない。さらに揮発性メモリ104aは、フラッシュメモリなどの不揮発性メモリ104bに付随する、書き換えサイクルの制限を受けることはない。揮発性メモリ104aにデータが書き込まれると、このプロセスはステップ434で続行する。ステップ434で、書込みデータの物理アドレスでマッピングシステム108が更新され、ある動作が待ち状態にある場合は、次の動作を実行するためにこのプロセスはステップ402に戻る。
【0038】
その物理アドレスが不揮発性メモリのアドレスに一致する場合、このプロセスはステップ426で続行する。ステップ426で、メモリ制御部が、揮発性メモリ104a中の利用可能な空き容量を特定する。ステップ428で、その利用可能な空き容量がデータを書き込むために必要な空き容量を上回るかどうかが判定される。十分な空きがない場合、このプロセスはステップ430で続行する。その他の場合、このプロセスはステップ432で続行する。
【0039】
ステップ430で、揮発性メモリ104a中に記憶されたデータの少なくとも一部が、不揮発性メモリ104bに転送される。本実施形態では、あらかじめ定義された数のブロックが揮発性メモリ104aから不揮発性メモリ104bに転送される。さらに本実施形態では、転送用に選択されるブロックは、最も「陳腐化」したものである。つまり、転送されるブロックは、最も長い間アクセスされてこなかったものである。ステップ408に関連して説明したように、これらのページは、いくつかの最新の方法のうちの1つにしたがって不揮発性メモリ104bに書き込むことができる。ステップ431で、転送済みデータについての物理アドレスの変更を反映するためにマッピングシステム108が更新され、このプロセスはステップ428に戻る。
【0040】
ステップ432で、そのデータが揮発性メモリ104aに書き込まれる。当業者によって理解されるように、データを揮発性メモリ104aに書き込むために使用する方法は、任意の最新の方法とすることができる。ステップ434で、書込みデータの物理アドレスでマッピングシステム108が更新され、ある動作が待ち状態にある場合は、次の動作を実行するためにこのプロセスはステップ402に戻る。
【0041】
したがって本実施形態では、揮発性メモリおよび不揮発性メモリの両方を組み合わせて使用して、固体メモリシステムの全体的性能を向上させることが理解できる。具体的には、永続的なデータの記憶を実現するために比較的安価な不揮発性メモリを使用する。不揮発性メモリの使用に関係する制限を改善するために、揮発性メモリを使用する。例えば、上述のように揮発性メモリを使用することは、固体メモリシステムの全体的な時間性能を向上させる。さらに、不揮発性メモリに対してより少ない書込み動作が実行されるため、不揮発性メモリの実効平均寿命が改善される。
【0042】
さらに本実施形態では、読出し動作は、単に不揮発性メモリ104bからデータを読み出し、そのデータを要求デバイスまたはプロセッサに出力することによって実施される。しかし、一部の例では、読み出したデータを揮発性メモリ104a中にもロードすることが好ましい場合もあることを理解されたい。
【0043】
したがって、図5を参照すると、符号500により、代替実施形態にしたがって固体メモリシステム100が実施するプロセスを示す流れ図が全体的に示されている。本実施形態では、データ転送および書込み動作は、図4を参照して説明したのと同じ方法で処理される。したがって、図5は読出し動作に関する代替プロセスを示し、説明をステップ414で始める。
【0044】
ステップ414で、動作要求が読出し動作に関するものであると判定され、このプロセスはステップ502で続行する。ステップ502で、メモリ制御部102が、読み出されるデータの受け取った論理アドレスを、マッピングシステム108を使用して物理アドレスに変換する。ステップ504で、マッピングシステム108は、その物理アドレスが不揮発性メモリのアドレスに一致するかそれとも揮発性メモリのアドレスに一致するかを判定する。
【0045】
その物理アドレスが揮発性メモリのアドレスに一致する場合、このプロセスはステップ506で続行する。ステップ506で、その読出し動作に関連する揮発性メモリ中のその物理アドレスからデータが読み出される。データは最新の方法を使用して読み出すことができることを理解されたい。揮発性メモリ104aからデータが読み出されると、このプロセスはステップ402に戻る。
【0046】
その物理アドレスが不揮発性メモリのアドレスに一致する場合、このプロセスはステップ508で続行する。ステップ508で、読出し動作に関連する不揮発性メモリ104b中のその物理アドレスから、要求されたデータが読み出される。ステップ506で説明したように、データは最新の方法を使用して読み出すことができる。ステップ510で、不揮発性メモリ104bから読み出されたデータが要求デバイス106に提供される。
【0047】
ステップ552で、メモリ制御部102が、揮発性メモリ104a中の利用可能な空き容量、およびその利用可能な空き容量が揮発性メモリ104aにデータを書き込むために必要な空き容量を上回るかどうかを判定する。十分な空きがない場合、このプロセスはステップ554で続行する。その他の場合、このプロセスはステップ512で続行する。
【0048】
ステップ554で、揮発性メモリ104a中に記憶されたデータの少なくとも一部が、不揮発性メモリ104bに転送される。本実施形態では、あらかじめ定義された数のブロックが揮発性メモリ104aから不揮発性メモリ104bに転送される。さらに本実施形態では、転送用に選択されるブロックは最も「陳腐化」したものである。ステップ408およびステップ430に関連して説明したように、これらのページは、いくつかの最新の方法のうちの1つにしたがって不揮発性メモリ104bに書き込むことができる。ステップ555で、転送済みデータについての物理アドレスの変更を反映するためにマッピングシステム108が更新され、このプロセスはステップ552に戻る。ステップ512で、不揮発性メモリ104bから読み出されたデータが揮発性メモリ104aに書き込まれる。ステップ514で、読み出されたデータに関する新しい物理アドレスでマッピングシステム108が更新され、ある動作が待ち状態にある場合は、次の動作を実行するためにこのプロセスはステップ402に戻る。
【0049】
したがって、図4および図5を参照して説明した実施形態では、書込み動作だけでなく読出し動作についてもデータが揮発性メモリ104a中にロードされることが理解できる。これにより、同じデータが不揮発性メモリに転送し戻される前にアクセスされる場合、揮発性メモリのより一層のアクセス速度によって固体メモリシステムの性能を向上させることができる。
【0050】
先の実施形態では、読出し動作または書込み動作に応答してデータを揮発性メモリ104aに書き込むことができる。さらなる実施形態では、そのデータが読出し動作の結果であるのかそれとも書込み動作の結果であるのかを識別するためのタグが、揮発性メモリ104aに書き込まれるデータのページごとに提供される。このタグは、ページ252の予備フィールド264内またはマッピングシステム108内のいずれかに保持することができる。
【0051】
次いで、このタグはこのプロセスの他のステップで使用することができる。例えば、揮発性メモリ104aから不揮発性メモリ104bにデータが転送される場合、書込みタグを有するページのみが転送される。読出しタグを有するページは、関連する不揮発性メモリのアドレスにデータが依然として記憶されているので、揮発性メモリ104aから削除可能とすることができる。それに応じて、マッピングシステム108を更新しなければならない。
【0052】
さらに、先の実施形態では、最も陳腐化したデータに基づいて揮発性メモリ104aから空間を開放することを説明した。しかし、どのブロックを消去するかを決定するこのプロセスでは、ページが読出しタグまたは書込みタグを含むかどうかを検討することもできる。例えば、一部の例では、書込みタグを含む古いページよりも、読出しタグを含む新しいページを削除することが好ましい場合がある。これらのまたは他の検討事項のうちの1つまたは複数を使用することに関し、様々なアルゴリズムを実装することができることを理解されたい。
【0053】
図6を参照すると、符号600により、代替実施形態による固体メモリシステムのブロック図が示されている。固体メモリシステム600は、メモリ制御部102および固体メモリ104を備える。本実施形態では、固体メモリ104は、複数の揮発性メモリデバイス104aおよび複数の不揮発性メモリデバイス104bを含む。揮発性メモリデバイス104aおよび不揮発性メモリデバイス104bは、共通バス602を介してメモリ制御部102に結合される。
【0054】
例示的目的でのみ、揮発性メモリデバイス104aをDRAMデバイスとし、不揮発性メモリデバイス104bをフラッシュメモリデバイスとする。さらに、この図では2個のDRAMデバイスと4個のフラッシュメモリデバイスとを示すが、デバイスの数は実施形態に応じて異なり得る。
【0055】
固体メモリデバイス104aまたは104bのうちの1個にアクセスするために、共通バス602は、一度に複数の揮発性メモリデバイス104aのうちの1個だけ、または複数の不揮発性メモリデバイス104bのうちの1個だけをイネーブルするためのデバイスイネーブル信号を含む。共通バス上の複数のメモリデバイスのうちの1個をアクティブにするためにイネーブル信号を使用する方法は当技術分野で周知のものであり、詳しく説明する必要はない。
【0056】
図7を参照すると、符号700により、さらなる代替実施形態による固体メモリシステムのブロック図が示されている。固体メモリシステム700は、メモリ制御部102および固体メモリ104を備える。本実施形態では、固体メモリ104は、複数の揮発性メモリデバイス104aおよび複数の不揮発性メモリデバイス104bを含む。揮発性メモリデバイス104aおよび不揮発性メモリデバイス104bは、共通バス602を介してメモリ制御部102に結合される。しかし、先の実施形態とは異なり、メモリ制御部102は、チャネルと呼ばれる複数のバスを制御する。
【0057】
固体メモリデバイス104aまたは104bのうちの1個にアクセスするために、チャネル602のそれぞれは、一度にメモリデバイスのうちの1個だけをイネーブルするためのデバイスイネーブル信号を含む。要求された動作が読出し動作の場合、イネーブルされたメモリデバイスがそのデータをチャネル602上に出力する。要求された動作が書込み動作の場合、イネーブルされたメモリデバイスがそのデータをチャネル602から書き込む。
【0058】
チャネル602のそれぞれは独立して機能する。さらに、複数のチャネル602が同時にアクティブになることもできる。各チャネル602は並列して動作するので、この機構を使用すると、実装するチャネル602の数と共にシステム性能は向上する。
【0059】
図8を参照すると、符号800により、代替実施形態による固体メモリシステムのブロック図が示されている。本実施形態は先の実施形態と似ており、複数のチャネル602を備える。しかし、本実施形態では、各チャネルに特定のタイプの固体メモリデバイスが割り当てられる。つまり、nチャネルの固体メモリシステム800の場合、m本のチャネルが揮発性メモリデバイス104a専用に結合され、n-m本のチャネルが不揮発性メモリデバイス104b専用に結合される。
【0060】
図9を参照すると、符号900により、さらなる代替実施形態による固体メモリシステムのブロック図が示されている。固体メモリシステム900は、メモリ制御部102および固体メモリ104を備える。本実施形態では、固体メモリ104は、複数の揮発性メモリデバイス104aおよび複数の不揮発性メモリデバイス104bを含む。揮発性メモリデバイス104aおよび不揮発性メモリデバイス104bは、デイジーチェーン構成でメモリ制御部102に結合される。つまりメモリ制御部102は、メモリデバイス104aまたは104bのうちの1個目902に結合される。残りのメモリデバイス104aおよび104bは連続的に結合され、最後に連続的に結合される904メモリデバイス104aまたは104bがメモリ制御部102に結合し戻される。
【0061】
固体メモリデバイス104aまたは104bのうちの1個にアクセスするために、メモリ制御部102は1個目のメモリデバイス902に要求を出力する。この要求は、目的のデバイスに到達するまでメモリデバイス104aおよび104bを通過する。目的のデバイスが要求された動作を実行し、結果がある場合はその結果が、最後のデバイス904に到達するまでメモリデバイスのチェーンを通過し、最後のデバイス904はその結果をメモリ制御部102に戻す。複数のメモリデバイスのうちの1個をアクティブにするためにデイジーチェーンを使用する方法は当技術分野で周知のものであり、詳しく説明する必要はない。
【0062】
図10を参照すると、符号1000により、さらなる代替実施形態による固体メモリシステムのブロック図が示されている。固体メモリシステム1000は、メモリ制御部102および固体メモリ104を備える。本実施形態では、固体メモリ104は、複数の揮発性メモリデバイス104aおよび複数の不揮発性メモリデバイス104bを含む。揮発性メモリデバイス104aおよび不揮発性メモリデバイス104bは、デイジーチェーン構成でメモリ制御部102に結合される。しかし、先の実施形態とは異なり、メモリ制御部102は複数のチェーンを制御する。
【0063】
各チェーンは独立して機能する。さらに、複数のチェーンが同時にアクティブになることもできる。各チェーンは並列して動作するので、この機構を使用すると、実装するチェーンの数と共にシステム性能は向上する。
【0064】
図11を参照すると、符号1100により、さらなる代替実施形態による固体メモリシステムのブロック図が示されている。本実施形態は先の実施形態と似ており、複数のチェーンを備える。しかし、本実施形態では、各チェーンに特定のタイプの固体メモリデバイスが割り当てられる。つまり、nチェーンの固体メモリシステム1100の場合、m本のチェーンが揮発性メモリデバイス104a専用に結合され、n-m本のチェーンが不揮発性メモリデバイス104b専用に結合される。
【0065】
先の実施形態のすべてが、揮発性メモリデバイスおよび不揮発性メモリデバイスの両方を含む固体メモリデバイスを実装する様々な方法を説明した。各デバイスは、固体メモリデバイスの性能および実効平均寿命を向上させるような方法で組み合わせられる。
【0066】
先の実施形態では、揮発性メモリ104aが不揮発性メモリ104bよりも少ないブロック202を有すると説明したが、これは必ずしも当てはまる必要はない。コスト、サイズおよび永続性に関する揮発性メモリ104aの制限のため、この取合わせが最も適当な実施形態であろう。しかし、揮発性メモリ104aおよび不揮発性メモリ104bそれぞれのブロック数が同じである状況もあり得る。さらに、揮発性メモリ104a中のブロック数が、不揮発性メモリ104b中のブロック数を上回る状況もあり得る。
【0067】
最後に、本発明を特定の具体的な実施形態を参照して説明してきたが、添付の特許請求の範囲に定義する本発明の趣旨および範囲から逸脱することなく、その様々な修正が当業者には明らかであろう。
【符号の説明】
【0068】
100 固体メモリシステム
102 メモリ制御部
104 固体メモリ
104a 固体メモリデバイス
104a 揮発性メモリデバイス
104a 揮発性メモリ
104b 固体メモリデバイス
104b 不揮発性メモリデバイス
104b 不揮発性メモリ
106 外部デバイス
108 仮想マッピングシステム
108 マッピングシステム
200 セルアレイ
202 ブロック
252 ページ
262 データフィールド
264 予備フィールド
600 固体メモリシステム
602 共通バス
602 チャネル
700 固体メモリシステム
800 固体メモリシステム
900 固体メモリシステム
902 1個目のメモリデバイス
904 最後のデバイス
1000 固体メモリシステム
1100 固体メモリシステム

【特許請求の範囲】
【請求項1】
データを書き込み且つ読み込むためのソリッドステート揮発性メモリと、
データを書き込み且つ読み込むためのソリッドステート不揮発性メモリと、
前記揮発性メモリと不揮発性メモリへデータを書き込み且つ読み込むために前記揮発性メモリと不揮発性メモリと通信するためのメモリコントローラであって、
データ読み込み要求に応答して前記不揮発性メモリからデータを受信し、
データ書き込み要求に応答して前記揮発性メモリへデータを書き込むために前記揮発性メモリへ前記受信したデータを供給する
ように構成される前記メモリコントローラと、
を有するソリッドステートメモリシステム。
【請求項2】
前記メモリコントローラはさらに、
前記データ読み込み要求に応答して且つ前記揮発性メモリへ前記データを書き込む前に、前記揮発性メモリの利用可能な空き容量は、前記揮発性メモリに前記データが書き込まれるのに十分かを測定するように構成されることを特徴とする
請求項1に記載のソリッドステートメモリシステム。
【請求項3】
前記メモリコントローラはさらに、
空き容量が不十分な場合、前記揮発性メモリ内に保存されたデータの少なくとも一部を前記不揮発性メモリへ転送するように構成されることを特徴とする
請求項2に記載のソリッドステートメモリシステム。
【請求項4】
前記揮発性及び不揮発性メモリは、共通バスを通じて前記メモリコントローラへ連結されることを特徴とする請求項1に記載のソリッドステートメモリシステム。
【請求項5】
前記揮発性及び不揮発性メモリは、複数のバスを通じて前記メモリコントローラへ連結され、前記バスは同時にアクセスされることが可能であることを特徴とする請求項1に記載のソリッドステートメモリシステム。
【請求項6】
前記複数のバスのそれぞれは、前記揮発性メモリまたは前記不揮発性メモリのどちらか一方へ連結されることを特徴とする請求項5に記載のソリッドステートメモリシステム。
【請求項7】
前記揮発性メモリへ書き込まれるデータはさらに、前記データは読み込み要求または書き込み要求に応答して書き込まれたかを識別するためのタグを有することを特徴とする請求項1に記載のソリッドステートメモリシステム。
【請求項8】
揮発性ソリッドステートメモリおよび不揮発性ソリッドステートメモリを有するソリッドステートメモリシステム内のデータを保存するステップを制御するための方法であって、前記揮発性ソリッドステータスメモリおよび前記不揮発性ソリッドステートメモリのそれぞれはデータを保存し且つ前記保存したデータを読み込むように構成され、前記方法は、
データ読み込み要求に応答して前記不揮発性メモリから前記データを受信するステップと、
データ書き込み要求に応答して前記揮発性メモリへ書き込むためのデータを前記揮発性メモリに供給するステップと、
を有する方法。
【請求項9】
前記データ読み込み要求に応答して且つ前記揮発性メモリにデータを書き込む前に、前記揮発性メモリの利用可能な空き容量は、前記揮発性メモリにデータが書き込まれるのに十分かを測定するステップをさらに有することを特徴とする請求項8に記載の方法。
【請求項10】
空き容量が不十分な場合、前記揮発性メモリ内に保存されたデータの少なくとも一部を前記不揮発性メモリへ転送するステップをさらに有する請求項9に記載の方法。
【請求項11】
前記受信するステップと供給するステップはデータ転送要求に応答して実行されることを特徴とする請求項10に記載の方法。
【請求項12】
前記データ転送要求は、前記揮発性メモリから前記不揮発性メモリへ全てのデータを転送することを要求するコマンドに応答して行われることを特徴とする請求項11に記載の方法。
【請求項13】
前記すべてのデータを転送することを要求するコマンドは、電源遮断コマンドを有することを特徴とする請求項12に記載の方法。
【請求項14】
前記データ転送要求は、前記揮発性メモリの不足に応答して行われることを特徴とする請求項11に記載の方法。
【請求項15】
前記データ転送要求は、前記メモリ内の前記利用可能な空き容量が事前設定された閾値を下回った際に発生することを特徴とする請求項14に記載の方法。
【請求項16】
前記データ転送要求は、要求されたコマンドを実行するための前記揮発性メモリの利用可能な空き容量が不十分な場合に発生することを特徴とする請求項14に記載の方法。

【図1】
image rotate

【図2a】
image rotate

【図2b】
image rotate

【図2c】
image rotate

【図3a】
image rotate

【図3b】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate


【公開番号】特開2013−61997(P2013−61997A)
【公開日】平成25年4月4日(2013.4.4)
【国際特許分類】
【出願番号】特願2013−1766(P2013−1766)
【出願日】平成25年1月9日(2013.1.9)
【分割の表示】特願2009−541711(P2009−541711)の分割
【原出願日】平成19年12月18日(2007.12.18)
【出願人】(508034325)モサイド・テクノロジーズ・インコーポレーテッド (106)
【Fターム(参考)】