JP2013503412A - 割込み可能なnand型フラッシュ・メモリ - Google Patents

割込み可能なnand型フラッシュ・メモリ Download PDF

Info

Publication number
JP2013503412A
JP2013503412A JP2012526810A JP2012526810A JP2013503412A JP 2013503412 A JP2013503412 A JP 2013503412A JP 2012526810 A JP2012526810 A JP 2012526810A JP 2012526810 A JP2012526810 A JP 2012526810A JP 2013503412 A JP2013503412 A JP 2013503412A
Authority
JP
Japan
Prior art keywords
command
register
read
internal
program
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2012526810A
Other languages
English (en)
Other versions
JP5529275B2 (ja
Inventor
ジー.ベネット ジョン
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Microsoft Corp
Original Assignee
Microsoft Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Microsoft Corp filed Critical Microsoft Corp
Publication of JP2013503412A publication Critical patent/JP2013503412A/ja
Application granted granted Critical
Publication of JP5529275B2 publication Critical patent/JP5529275B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/56Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency
    • G11C11/5621Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency using charge storage in a floating gate
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/10Programming or data input circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/10Programming or data input circuits
    • G11C16/14Circuits for erasing electrically, e.g. erase voltage switching circuits
    • G11C16/16Circuits for erasing electrically, e.g. erase voltage switching circuits for erasing blocks, e.g. arrays, words, groups
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/26Sensing or reading circuits; Data output circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/32Timing circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/22Read-write [R-W] timing or clocking circuits; Read-write [R-W] control signal generators or management 
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/04Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS
    • G11C16/0483Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS comprising cells having several storage transistors connected in series
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C2216/00Indexing scheme relating to G11C16/00 and subgroups, for features not directly covered by these groups
    • G11C2216/12Reading and writing aspects of erasable programmable read-only memories
    • G11C2216/20Suspension of programming or erasing cells in an array in order to read other cells in it

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Read Only Memory (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

NANDフラッシュ・メモリ論理ユニットである。NANDフラッシュ・メモリ論理ユニットは制御回路を備え、当該制御回路はコマンドに応答し、プログラム・コマンドおよび/または消去コマンドが読出しコマンドによって割り込まれるようにする。制御回路は、現在のコマンドを実行するための1組の内部レジスタと、コマンドを受信するための1組の外部レジスタを備える。制御回路はまた、1組の補助レジスタを備える。当該1組の補助レジスタにより、NANDフラッシュ・メモリ論理ユニットには、割り込まれたプログラム・コマンドまたは消去コマンドの状態を正確に保持するための冗長性を有する。割り込まれたプログラム・コマンドまたは消去コマンドを再開する場合は、NANDフラッシュ・メモリ論理ユニットは一時停止したプログラム動作または消去動作を迅速に再開することができる。これにより、NANDフラッシュ・メモリ論理ユニットのコンテキストにおける読出し応答時間が大幅に改善される。

Description

[背景技術]
フラッシュ・メモリは、大きなセクションで消去されるソリッドステートの不揮発性メモリであり、多種の電化製品で普及している。フラッシュ・メモリは、各々が浮遊ゲート・トランジスタを含むメモリ・セルから成る。メモリ・セルの状態は、対応する浮遊ゲート上の電荷の量で制御される。メモリ・セルの状態を変化させるために、電子を(プログラミングを通じて)浮遊ゲートに追加し、または、(消去により)浮遊ゲートから除去することができる。従来は、各メモリ・セルは、各状態が浮遊ゲート上の相違なる電荷範囲に対応する2つの相違なる状態のみを有することで1ビットの情報を含む。より新規なフラッシュ・メモリ・セルは、より多数の相違なる状態(例えば、2ビットの情報に対して4つの状態)を有することによって、各々が複数ビットの情報を含むことができる。
2種類のフラッシュ・メモリ、すなわち、NORフラッシュとNANDフラッシュが存在する。NORフラッシュと比較すると、NANDフラッシュ・メモリは消去時間がより短く、1秒あたりより多くのデータをプログラムし、メモリ・セルあたりに必要な空間も少ない。NANDフラッシュ・メモリの編成を定義する従来の仕様の1つ、ならびに、NANDフラッシュ・メモリと通信するための通信プロトコルは、ONFI(Open NAND Flash Interface)標準と呼ばれている。
ONFI標準によれば、NANDフラッシュ・メモリは複数の論理ユニットに編成される。各論理ユニットは、メモリ・セル・アレイと、メモリ・アレイの部分を読書きするためのコマンドに応答するための対応する制御回路とを備える。ONFI標準では、これらの論理ユニットを「論理ユニット番号」または「LUN」と称する。ONFI標準によれば、各NANDフラッシュ・メモリのLUNは複数のブロックに編成され、各LUNは複数のブロックを含む。さらに、各ブロックは複数のページを含み、各ページは複数のメモリ・セルを含む。
本明細書に記載の実施形態は、NANDフラッシュ・メモリ論理ユニットとその動作に関する。NANDフラッシュ・メモリ論理ユニットは論理回路を備える。当該論理回路は、コマンドに応答し、読出しコマンドがプログラム・コマンドおよび/または消去コマンドに割り込むことができるようにする。当該制御回路は1組の内部レジスタを備える。当該1組の内部レジスタは、現在アクティブな処理中のコマンドを実行するために直接利用可能なメモリ・セルである。当該制御回路はまた、外部のコマンド・ソースと通信するための1組の外部レジスタを備える。当該制御回路はまた、1組の補助レジスタを備える。当該1組の補助レジスタにより、NANDフラッシュ・メモリ論理ユニットは、より高優先度の割込みが通常の作業レジスタを使用し続ける間に、割り込まれたプログラム・コマンドまたは消去コマンドの状態を正確に保持することができる。割り込まれたプログラム・コマンドまたは消去コマンドを再開するとき、NANDフラッシュ・メモリ論理ユニットは、一時停止されたプログラム動作または消去動作を補助レジスタの内容で迅速に再開することができる。
これにより、NANDフラッシュ・メモリ論理ユニットのコンテキストにおいて読出し応答時間を大幅に改善することができる。したがって、外部コマンド回路が過去にプログラム・コマンドまたは消去コマンドを制御回路に送信した場合であっても、制御回路は、プログラム動作または消去動作を保留することによって、外部コマンド・ソースからの後続の読出しコマンドに迅速に応答することができる。
本要約は、クレーム主題の主要な特徴または本質的な特徴を特定しようとするものではなく、クレーム主題の範囲を決定する際の支援として使用しようとするものでもない。
上述および他の利点および特徴を得ることができる方法を説明するために、添付図面を参照して様々な実施形態のより具体的な説明を行う。これらの図面は例示的な実施形態を描いたものにすぎず、したがって、本発明の範囲を限定するものと考えるべきではないことを理解して、添付図面を用いて諸実施形態をさらに具体的かつ詳細に記載し、説明することとする。
先行技術に従う、一連のNANDフラッシュ・メモリ・セルの例を示す図である。 消去コマンドまたはプログラム・コマンドに読出しコマンドで割込み可能な制御回路を含む2つのNANDフラッシュ・メモリ論理ユニットを含む、NANDフラッシュ・メモリ・モジュールのブロック図である。 消去コマンドまたはプログラム・コマンドに割込み可能なNANDフラッシュ・メモリ論理ユニットの制御回路の例のブロック図である。 補助レジスタが読出しコマンドに対する専用の内部レジスタとして動作する、本明細書に記載の一実施形態に従って図3の制御回路がコマンドに応答する方法の流れ図である。 補助レジスタが割り込まれた処理中のコマンドに対するバックアップ・レジスタとして動作する、本明細書に記載の別の実施形態に従って図3の制御回路がコマンドに応答する方法の流れ図である。 外部コマンド・ソースが図3の制御回路と通信する方法の流れ図である。
本明細書に記載の諸実施形態に従って、NANDフラッシュ・メモリ技術を説明する。本技術では、より迅速に読出しコマンドを実行するために処理中の非読出しコマンドの割込みを可能とし、それにより高優先度の読出し回数を改善する。先ず、図1を参照して、NANDフラッシュ・メモリの基本的なメモリ・セルを説明する。次に、図2を参照して、NANDフラッシュ・メモリのモジュールを例示し、説明する。次に、図3を参照して、NANDメモリ論理ユニットを制御する制御回路を例示し、説明する。最後に、図4乃至図6を参照して、当該制御回路の動作原理を例示し、説明する。
図1は、3つのNANDフラッシュ・メモリ・セル101、102、103の列100の断面図を示す。図1は、先行技術のNANDフラッシュ・メモリ・セルを示し、参照のためのみに提供したものである。NANDフラッシュ・メモリ・セルの構造または設計と無関係に、本明細書に記載の原理を、NANDフラッシュ・メモリ・セルの任意のアレイに適用することができる。図1は正しい縮尺で描かれてはおらず、主要な構造のみを含み、NANDフラッシュ・メモリ・セルの動作を一般的に説明するためにのみ提供したものである。明確さのため、図1では3つのNANDフラッシュ・メモリ・セルのみを示してあるが、多数の市販のNANDフラッシュ・メモリ・アレイは無数のメモリ・セルを含む。
各NANDフラッシュ・メモリ・セル101、102、103はそれぞれ、対応する導電性の浮遊ゲート111、121、131を有する。浮遊ゲート111、121、131は、一般には多結晶シリコンまたはアモルファス・シリコンを用いた様々な導電性物質から作製することができる。これらのゲートは、それらの全ての方向が窒化ケイ素または二酸化ケイ素のような高効率な高純度絶縁体104で包囲されているため、「浮遊」と呼ばれる。この絶縁体は十分に良質であるので、浮遊ゲート上に存在しうる過剰電子は、通常の電圧および温度では絶縁体から漏出するには平均して何年もかかる。
この浮遊ゲートは、セルのメモリ部分である。メモリ・セルが記憶する値は、対応する浮遊ゲート上の電荷量(すなわち、電子数)に依存する。従来は、各メモリ・セルは、可能な2つの状態のうち1つを記憶することによって、1ビットの情報しか保持しなかった。この場合、回路は、浮遊ゲート上の2つの可能な電荷範囲しか認識できず、それぞれの可能な範囲が、当該ビットに対する2つの可能な値のうち1つに対応する。しかし、より近代的なNANDフラッシュ・メモリ・セルは、3つ以上、おそらく4つ以上を識別およびプログラムできる回路によって読み出され、それにより、各メモリ・セルは、さらに多くの情報、おそらくメモリ・セルごとに3ビット以上を格納することができる。
メモリ・セル101、102、103は絶縁性のまたは弱半導電性(weakly semiconducting)の基盤105上に実装される。例えば、基板105はシリコン結晶、または、二酸化ケイ素のような絶縁体上のシリコンであってもよい。回路要素は、基板にインプラントされ、エッチングされ、または積層される。導電性チャネル106を、インプラントまたはエッチングしてドーピング原子を加えることにより作成する。各メモリ・セル101、102、103はまた、それぞれ一般にはアルミニウムまたはアモルファス・シリコンである導電性材料から作製された、制御ゲート112、122、132を有する。
導電性チャネル106を通る電流は、近傍の制御ゲートおよび浮遊ゲート上の電荷により調整され、メモリの状態検出の基礎となる。NANDフラッシュ・メモリでは、数個のゲートが同一のチャネルを共有し、回路の密度を高める。例えば、図1では、メモリ・セル101、102、103が夫々、導電性チャネル106を共有する。これにより、許容可能なメモリ・セル密度が増大するが、任意の1つのゲートの状態を検出する作業が複雑にもなる。これは、信号が微弱であり、したがって当該信号を増幅し、長時間にわたってサンプリングして当該信号を雑音から分離しなければならないからである。
制御ゲートは2つの機能を果たす。第1に、制御ゲートは対応する浮遊ゲートを消去またはプログラムすることができる。例えば、制御ゲート112が対応する浮遊ゲート111を消去またはプログラムし、制御ゲート122が対応する浮遊ゲート121を消去またはプログラムし、制御ゲート132が対応する浮遊ゲート131を消去またはプログラムすることができる。これは、十分な電圧を制御ゲートに印加して、制御ゲートと浮遊ゲートの間の差動電圧が、浮動ゲートを包囲する絶縁体を電子が通過するのに十分な強電界を生じさせるようにすることによって行われる。絶縁体はほぼ完全であるが、制御ゲートと浮遊ゲートの間の極薄でナノメートル規模の絶縁層を電子が通過する量子トンネリングが依然として生じうる。差動電圧の大きさが十分である場合は、浮遊ゲートを消去(過剰電子を浮遊ゲートから除去)するか、または、プログラム(過剰電子を浮遊ゲートに注入)することができる。各電子は独立に、ジャンプを開始するとフェムト秒の単位でジャンプし、消去またはプログラムするのに必要な全ての電子の移動には、より多くの時間(例えば、従来の消去およびプログラム技術によれば、数ミリ秒)かかる。なぜならば、各電子は別々の時点にジャンプをするからである。
その他、制御ゲートは、数個のメモリ・セルのうちどれを共有の導電性チャネルに取り付けた検出回路によって測定すべきかを選択するために使用される。浮遊ゲート上の電荷の不存在または存在によって、チャネル内の電流を制御ゲートが調整することが許可または禁止され、それにより、検出回路が対応するメモリ・セルの状態を検出することができ
る。
図2は、NANDフラッシュ・メモリ・モジュール200のブロック図を示す。従来のNANDフラッシュ・メモリ・モジュールは図2に示すように構成されるかもしれないが、本明細書に記載の原理に従うNANDフラッシュ・メモリ・モジュールをそれと同様に構成してもよい。しかし、本明細書に記載の原理は、読出し動作がプログラムおよび消去動作のような非読出し動作に割り込むことができ、結果として読出し動作に関連する平均待ち時間を大幅に削減することができる、非常に異なる制御回路を提供するものである。
図2のNANDフラッシュ・メモリ・モジュール200は、単一の通信バス・インタフェース203を介して外部コマンド・ソース204と通信可能に接続される2つのNANDフラッシュ・メモリ論理ユニット201および202を備える。かかる外部コマンド・ソース204の性質は本発明の原理には重要でないが、外部コマンド・ソース204は、従来型であろうと将来開発されるものであろうと、NANDフラッシュ・メモリのような不揮発性のメモリとの通信に利用されうる任意の装置またはシステムであってもよい。外部コマンド・ソース204には「外部」とラベルが付されているが、その唯一の理由は、外部コマンド・ソース204がNANDフラッシュ・メモリ・モジュール200と通信するために通信バス・インタフェース203を介して通信するためである。「外部」という用語があるからといって、必ずしも外部コマンド・ソース204がNANDフラッシュ・メモリ・モジュール200と異なるチップ上にある必要はない。
NANDフラッシュ・メモリ論理ユニットと通信するバスが、ONFIプロトコル、例えば、そのプロトコルのバージョン1.0、2.0、もしくは2.1、もしくはそのプロトコルの後継バージョン、または交換プロトコル(replacement protocol)、またはNANDフラッシュ・メモリと通信するための他の任意のプロトコルを用いて通信してもよい。以降、ONFIプロトコルのバージョン1.0、2.0、2.1、およびその後継バージョンを特許請求の範囲では集合的に「ONFIプロトコル」と称する。しかし、本明細書に記載の原理はどのバス通信プロトコルにも限定されない。将来は、現時点では開発さえもされていないNANDフラッシュ・メモリの通信プロトコルに適用されると、本明細書に記載の原理は有利になるであろう。
各NANDフラッシュ・メモリ・モジュールが任意数の論理ユニットを有してもよい。しかし、NANDフラッシュ・メモリ・モジュールが、唯一の論理ユニットを含んでもよく、図2の場合は2つの論理ユニットを含んでもよく、または3つ以上の論理ユニットを含んでもよい。NANDフラッシュ・メモリ・チップが複数のバスを利用する場合は、各バスとそのバスに接続された対応する論理ユニットとを別々のモジュールとみなしてもよい。したがって、単一のNANDフラッシュ・メモリ・チップが(別個のバスと同数の)複数のNANDフラッシュ・メモリ・モジュールを有してもよい。図2では、1つのバス203しか存在しないので、1つのNANDフラッシュ・メモリ・モジュール200のみを示している。NANDフラッシュ・メモリ・チップが複数のNANDフラッシュ・メモリ・モジュールを備えてもよく、その逆も成り立つ。すなわち、単一のNANDフラッシュ・メモリ・モジュールを複数のチップで構成してもよい。さらに、NANDフラッシュ・メモリ・チップが1つのNANDフラッシュ・メモリ・モジュールのみを備える場合もあろう。
各NANDフラッシュ・メモリ論理ユニット201および202はそれぞれ、対応する制御回路211と221を有する。各制御回路は、メモリ・セルの対応するアレイを対象とするコマンドに応答する。例えば、制御回路211は、メモリ・アレイ212のメモリ・セルを読み出し、消去し、またはプログラムするためのコマンドに応答する。制御回路221は、メモリ・アレイ222のメモリ・セルを読み出し、消去し、またはプログラムするためのコマンドに応答する。各メモリ・アレイ212および222はNANDメモリ・セルから構成され、その一例が図1のNANDメモリ・セル101、102、103である。
各NANDフラッシュ・メモリ論理ユニット201および202は、まだ処理の準備ができていないコマンドを保持するための待ち行列(図示せず)を備えてもよい。代替または追加として、待ち行列を、NANDフラッシュ・メモリ論理ユニット200と通信するコマンド・ソース204に実装してもよい。典型的なデータ記憶システムが、データを読書きするために利用できる複数のNANDフラッシュ・メモリ・モジュールを有してもよい。データをNANDフラッシュ・メモリに書き込むには、最初にメモリ・アレイの部分を、ONFIに従って一度に1つのメモリ・ブロックで消去し、次にメモリ・アレイを一般的には一度に1ページでプログラムする。したがって、書込み動作では、1回のブロック消去動作に続いて、ブロックを再度読込む複数のプログラム動作を行ってもよい。とは言っても、本明細書に記載の原理は、1回の消去、書込み、読出しコマンドに対応するデータのサイズには限定されない。消去は重要である。なぜならば、プログラム動作の結果として浮遊ゲートに蓄積する電荷量を予測可能とするために、電子がほぼ除去された状態で、浮遊ゲートがプログラム動作をほぼ同一の状態で開始すべきであるからである。消去動作により、プログラムされないメモリ・セルが適切な状態にあることも保証される。
消去動作とプログラム動作は、読出し動作と比較すると比較的低速な動作である。また、汎用目的の記憶システムでは、読出し動作の量は一般に書込み動作の量よりもかなり多い。したがって、従来の設計では、システムは一般に、書込みを待機しているデータをバッファするように設計され、低速な消去動作とプログラム動作をどの時点においても小規模な論理ユニットのサブセットに限定してそれらの動作が読出しになるたけ干渉しないように設計される。
残念ながら、依然として干渉がかなりの割合で生じ、それがシステムの応答時間を悪化させる。1つの論理ユニット201だけが消去動作またはプログラム動作によって占有されている状況を考える。その低速な動作は、論理ユニット201に対する動作の待ち行列の先頭にある。ストライピングと呼ばれるプロセスに起因して、1回のファイル・レベルの読み出しを行うと複数のフラグメント読出し(fragment read)が生じ、その各々の読出しでは読出し動作を異なる論理ユニットで行う必要がある。ストライピングのパターンにより、論理ユニットが平均的な読出し要求に関与する比率が増大し、したがって、ある論理ユニット上の少なくとも1つの読出し動作が低速の消去コマンドまたはプログラム・コマンドより遅延する可能性が高まる。全体のファイル読出し要求は、その全てのフラグメント読出しが完了するまで完了せず、したがって、全体のファイル読出し要求は、当該全体のファイル読出し要求の一部として読み出されているフラグメントを有する最も低速な論理ユニットと同じくらい低速である。
このように、低速な消去動作およびプログラム動作が多数の論理ユニットのうち1つの論理ユニットにあるだけでも、依然として読出し待ち時間が長くなりシステム速度が悪化する主な要因として寄与するおそれがある。平均的なストライピングにより1つのファイルのデータがデータ記憶システムの論理ユニットのうち25パーセントに分散されると仮定する。次に、消去動作が読出し動作より50倍低速であるとする。この場合、消去動作がたった1つの論理ユニットに存在するだけで、当該消去動作中に発生する読出し要求が平均して6.25倍遅くなる。例えば、所与の読出し要求に対して、読出し動作の1つが、現在消去動作を実行している論理ユニットに存在する可能性は25%ある。それが発生する25パーセントの可能性のうち、平均して消去動作が半分終了しており、消去が完了するのに読出し動作の25倍の時間がかかる。したがって、読出し要求に対する全体のシステム応答は適切に6.25倍(消去動作が行われている場合の25倍に、全体の読出し要求の一部として読み出す必要がある消去動作が論理ユニットで行われる可能性である25%を乗じたもの)遅くなる。先行技術に関するこれらおよび他の問題を発明者が認識しても、決して、対応する問題が一般的に認識されることを認めたことにも、対応する問題が当業者に認識されることを認めたことにもならないことに留意されたい。
いずれにせよ、本明細書に記載の原理により、NANDフラッシュ・メモリ論理ユニットに対して大幅に改善された制御回路を提供される。図3は、当該改善された制御回路の一実施形態を表す制御回路300のブロック図を示す。制御回路300は、図2の制御回路201または制御回路202の一例である。制御回路300はレジスタ310とコマンド回路320を備える。レジスタ310は内部データ・レジスタ311A、内部アドレス・レジスタ311B、外部データ・レジスタ312A、外部アドレス・レジスタ312B、補助データ・レジスタ313A、補助アドレス・レジスタ313Bを備える。制御回路300は、センスアンプアレイ304と書込み増幅器アレイ305も備える。センスアンプアレイ304から、メモリ・セルからの読出し情報を内部データ・レジスタ311Aに適用することができ、書込み増幅器アレイ305を介してプログラム・データが書き込まれる。以下では、レジスタ311Aと311Bの組合せを「レジスタ311」と称し、レジスタ312Aと312Bの組合せを「レジスタ312」と称し、レジスタ313Aと313Bの組合せを「レジスタ313」と称することがある。
内部データ・レジスタ311Aは、アクティブな読出しコマンドに関するデータをセンスアンプアレイ304を介して受信し、アクティブなプログラム・コマンドのデータを書込み増幅器アレイ305を介してアサートするためのものである。内部アドレス・レジスタ311Bは、適切な回路を駆動して、コマンドの対象である適切なメモリ・セルをアドレス指定する。例えば、読出しコマンドがある場合は、アドレス・レジスタ311B内のアドレスにより、対応するメモリ・セルからの値がセンスアンプアレイ304を当該対応する値で駆動して、当該値を内部データ・レジスタ311Aに格納させる。同様に、プログラム・コマンドがある場合は、内部アドレス・レジスタ311B内のアドレスにより、書込み増幅器アレイ305と対応するアドレス指定されたメモリ・セルを接続させる。これにより、内部データ・レジスタ311A内のデータが、書込み増幅器アレイ305を介して、アドレス・メモリ・セルに書き込まれる。消去コマンドがある場合は、対応する回路が内部アドレス・レジスタ311B内のアドレスで指定されたメモリ・セグメントをアドレス指定し、当該セグメント内の全てのメモリ・セルの値を再設定する。
外部データ・レジスタ312Aは、通信バス・インタフェース203からのコマンドに関連付けられたデータを受信し、既に実行したコマンドの結果であるデータを通信バス・インタフェース203を介して外部コマンド・ソース204に送信するためのものである。外部アドレス・レジスタ312Bは、通信バス・インタフェース203からのコマンドに関連付けられたアドレスを受信するためのものである。
補助データ・レジスタ313Aと補助アドレス・レジスタ313Bは、アクティブな処理中コマンドを、後に詳述するように一時停止し再開することを容易にする。以下では、2つの具体的な実施形態を説明する。補助レジスタ313Aと313Bの振舞いと機能は実施形態に応じて異なる。
第1の実施形態―専用の内部レジスタ
ここで説明する制御回路300の動作の第1の実施形態では、補助データ・レジスタ313Aと補助アドレス・レジスタ313Bが1組の追加の内部レジスタであってもよい。これにより、内部データ・レジスタ311Aと内部アドレス・レジスタ311Bを、非読出し動作(例えば、プログラム動作および消去動作)で利用するために予約することができる。一方、補助データ・レジスタ313Aと補助アドレス・レジスタ313Bが、読出し動作に専用の内部レジスタであってもよい。
読出しコマンドを補助レジスタ313にロードすると、レジスタ313には、読出しコマンドが優先すべきとコマンド・ロジック320が判定した場合に処理優先度が与えられる。このように、レジスタ311Aと311Bが潜在的に割込み可能なコマンドに対して使用され、レジスタ313Aと313Bが、レジスタ311Aと311Bに存在するコマンドに割り込みうるコマンドに対して使用される。図3のレジスタの大きさは正しい縮尺で描かれていない。一般に、データ・レジスタは、それがどれくらい大きかろうとも、単一のコマンドでプログラムおよび/または読出しが可能なメモリの大きさと同じであろう。この大きさを本明細書では「ページ」と称している。アドレス・レジスタの大きさは、プログラムされているメモリ部分および/または読み出されているメモリ部分を一意に特定するのに必要な程度であってもよい。
図4は、図3の制御回路が、補助レジスタを専用レジスタとして用いる場合の、コマンドを処理する方法400の流れ図を示す。方法400は、コマンドを外部レジスタ312で受信したときに開始する(動作401)。当該コマンドがプログラム・コマンドである場合は、プログラム・データ(即ち、書き込まれるデータ)が外部データ・レジスタ312Aにロードされ、プログラムされるメモリ・セルに対応するアドレスが外部アドレス・レジスタ312Bにロードされる。コマンドが消去コマンドである場合は、これは、消去されるメモリ・セルに対応する消去アドレスが外部アドレス・レジスタ312Bにロードされることを意味する。コマンドが読出しコマンドである場合は、これは、読み出されるメモリ・セルに対応する読出しアドレスが外部アドレス・レジスタ312Bにロードされることを意味する。
コマンド回路320は、ちょうど外部レジスタ312にロードされたコマンドに関連付けられたコマンドのタイプを検出する(判定ブロック402)。例えば、コマンドのタイプがプログラム・コマンド・タイプであるかもしれないし(判定ブロック402で「プログラム」)、消去コマンド・タイプであるかもしれないし(判定ブロック402で「消去」)、読出しコマンド・タイプであるかもしれない(判定ブロック402で「読出し」)。
コマンドのタイプがプログラム・コマンド・タイプである場合は(判定ブロック402で「プログラム」)、コマンド回路320は専用の非読出し内部レジスタ311が利用可能であるかどうかを判定する(判定ブロック411)。専用の非読出し内部レジスタ311がまだ利用可能でない場合は(判定ブロック411で、いいえ)、コマンド回路は当該専用の非読出し内部レジスタ311が利用可能となる(判定ブロック411で、はい)まで待機する。(動作412)専用の非読出し内部レジスタ311が利用可能である場合は(判定ブロック411で、はい)、プログラム・データが外部データ・レジスタ312Aから専用の非読出し内部データ・レジスタ311Aに転送され(動作413)、プログラム・アドレスが外部アドレス・レジスタ312Bから専用の非読出し内部アドレス・レジスタに転送される(動作414)。次に、プログラム動作が、読出し内部レジスタ313がクリアされるのを待機する(動作415)。実行すべき読出し動作がなくなると、プログラム動作が開始する(動作416)。読出し動作が読出し内部レジスタ313内に存在しない場合は、プログラム動作を即座に開始してもよい。
コマンドのタイプが消去コマンド・タイプである場合は(判定ブロック402で「消去」)、コマンド回路320はまた、専用の非読出し内部レジスタ311が利用可能であるかどうかを判定する(判定ブロック421)。専用の非読出し内部レジスタ311がまだ利用可能でない場合は(判定ブロック421で、いいえ)、コマンド回路は当該専用の非読出し内部レジスタ311が利用可能となる(判定ブロック421で、はい)まで待機する。(動作422)専用の非読出し内部レジスタ311が利用可能である場合は(判定ブロック421で、はい)、消去アドレスが外部アドレス・レジスタ312Bから利用可能となったときに当該専用の非読出し内部アドレス・レジスタに転送される(動作423)。次に、プログラム動作が、読出し内部レジスタ313がクリアされるのを待機する(動作424)。実行すべき読出し動作がなくなると、消去動作が開始する(動作425)。読出し動作が読出し内部レジスタ313内に存在しない場合は、消去動作を即座に開始してもよい。
コマンドのタイプが読出しコマンド・タイプである場合は(判定ブロック402で「読出し」)、コマンド回路は専用の読出し内部レジスタ313が利用可能であるかどうかを判定する(判定ブロック431)。レジスタ313がまだ利用可能でない場合は(判定ブロック431で、いいえ)、コマンド回路は当該レジスタ313が利用可能となる(判定ブロック431で、はい)まで待機する。専用の読出し内部レジスタ313が利用可能である場合は(判定ブロック431で、はい)、読出しアドレスが外部アドレス・レジスタ312Bから当該専用の読出し内部アドレス・レジスタ313Bに転送される(動作433)。アクティブな処理中の非読出しコマンドがある場合は(判定ブロック434で、はい)、非読出し内部データ・レジスタ311Aと非読出し内部アドレス・レジスタ311Bは無効とされ(動作435)、それにより、プログラム動作または消去動作が一時停止する。この無効化には、処理中の非読出しコマンドへ割り込むことが適当であるとコマンド回路が判定することが条件となる。コマンド回路が処理中の非読出しコマンドへ割り込むこととする場合は、読出し動作が開始する(動作436)。これを、アドレス指定したメモリ・セルの内容が専用の読出し内部データ・レジスタ313Aに読み出されるように読出し内部レジスタ313を有効化することによって、実現してもよい。読出し動作が完了すると(動作436の後)、割り込まれたコマンドが再開する(動作437)。例えば、読出し内部レジスタ313を無効化し、一方で、プログラム・コマンドまたは消去コマンドが再開するように非読出し内部レジスタ311を有効化してもよい。
一実施形態では、非読出しコマンドを自動的に無効化するのではなく(動作435)、コマンド回路が非読出しコマンドに割り込むのに適切な時間だけ待機してもよい。この適切な時間は、非読出しコマンドの状態把握が容易な期間内であってもよい。例えば、一連の検証段階を用いてプログラム・コマンドまたは消去コマンドを行う場合は、短時間だけセルの中身の測定に切り替えることによってプログラム・コマンドまたは消去コマンドの進捗がチェックされるが、割込みが次の検証段階を待機してもよく、検証段階中に、検証段階の直前に、かつ/または検証段階の直後に、割込みを行ってもよい。プログラム動作または消去動作がタイマで動作する場合は、コマンド回路は非読出し動作が割り込まれたときにタイマを一時停止して、非読出し動作が再開したときにタイマを再開してもよい。これらのポイントにより、一時停止した動作の状態を保存することが容易であること、および、割り込まれた動作の安全な再開を支援するための新たな回路またはロジックの必要性が最小化されることにおいて、特に有利である。
第2の実施形態―バックアップ・レジスタ
制御回路300の動作の第2の実施形態では、補助内部データ・レジスタ313Aはバックアップ・データ・レジスタであり、補助内部アドレス・レジスタ313Bはバックアップ・アドレス・レジスタである。この場合、内部レジスタ311は、読出しコマンド、プログラム・コマンド、消去コマンドを含めて全ての種類のコマンドに使用される。この場合、コマンド回路320は、読出しコマンドが処理中の非読出しコマンドに割り込むとコマンド回路320が判定したときに、処理中のプログラム・コマンドまたは消去コマンドのデータおよびアドレスの状態を内部レジスタ311からバックアップ・レジスタ313にバックアップするように構成される。次いで、読出しコマンドに割り込むためのデータとアドレスが内部レジスタ311に送信され、それにより読出しコマンドが実行される。読出しコマンドへの割込みが完了した後、プログラム・コマンドまたは消去コマンドをさらに処理するために、割り込まれた非読出しコマンドのデータとアドレスがバックアップ・レジスタ313から内部レジスタ311に復元される。さらに割り込むことなくプログラム・コマンドまたは消去コマンドを完了してもよいが、プログラム・コマンドまたは消去コマンドが完了する前に、プログラム・コマンドまたは消去コマンドは複数回割り込まれるであろう。
図5は、制御回路が、補助レジスタ313をバックアップ・レジスタとして用いる場合の、コマンドを処理する方法500の流れ図を示す。方法500を、制御回路300がコマンドを外部レジスタ312で受信するたびに開始してもよい(動作501)。この動作が、図4の動作401に関して説明したものと同様であってもよい。次いで、コマンド回路320はコマンドのタイプを判定する(判定ブロック502)。この判定を、図4の判定ブロック402に対して行ったのと同様な方法で行ってもよい。
第2の実施形態におけるプログラム・コマンドと消去コマンドの応答は、図4の第1の実施形態と同様である。すなわち、プログラム・コマンドを外部レジスタ312で受信した場合は(判定ブロック502で「プログラム」)、コマンド回路320は内部レジスタ311が利用可能であるかどうかを判定する(判定ブロック511)。内部レジスタ311がまだ利用可能でない場合は(判定ブロック511で、いいえ)、コマンド回路は当該内部レジスタ311が利用可能となる(判定ブロック511で、はい)まで待機する(動作512)。内部レジスタ311が利用可能である場合は(判定ブロック511で、はい)、プログラム・データが外部データ・レジスタ312Aから内部データ・レジスタ311Aに転送され(動作513)、プログラム・アドレスが外部アドレス・レジスタ312Bから内部アドレス・レジスタ311Bに転送される(動作514)。次に、プログラム動作を開始する(動作515)。
コマンドのタイプが消去コマンド・タイプである場合は(判定ブロック502で「消去」)、コマンド回路320はまた、内部レジスタ311が利用可能であるかどうかを判定する(判定ブロック521)。内部レジスタ311がまだ利用可能でない場合は(判定ブロック521で、いいえ)、コマンド回路は当該内部レジスタ311が利用可能となる(判定ブロック521で、はい)まで待機する(動作522)。一旦利用可能となった際に、消去アドレスが外部アドレス・レジスタ312Bから内部アドレス・レジスタ311Bに転送される(動作523)。次に、消去動作を開始する(動作524)。
コマンドのタイプが読出しコマンド・タイプである場合は(判定ブロック502で「読出し」)、コマンド回路は内部レジスタ311が利用可能であるかどうかを判定する(判定ブロック531)。内部レジスタ311が利用可能でない場合は(判定プロック531で、いいえ)、コマンド回路は、内部レジスタ311内の処理中のコマンドに割り込むべきかどうかを判定する(判定ブロック532)。この割込みを行うべきか否かをいつ判定するかを検討するための多種多様な情報があるかもしれないが、幾つかの例示的なケースを説明することとする。プログラム動作または消去動作が検証段階を有する場合は、読出し動作が、次の検証段階の最中、前、または後にプログラム動作または消去動作に割り込むであろう。検証段階で、残りのプログラム動作または消去動作に大量の時間がかかることが想定されないように、プログラム動作または消去動作のうち十分に大部分が既に完了していることが検証された(例えば、メモリ・セルの98%が正しくプログラムまたは消去されていることが検証された)かどうかが、追加の基準となろう。この場合、完了を待機している読出し動作があっても、コマンド回路は、割込みを先行し単にプログラム動作または消去動作を完了できるようにするであろう。あるいは、プログラム動作と消去動作がタイマで制御され、処理中のプログラム動作または消去動作が割込みを許可する十分な時間が残っていないことを当該タイマが示すであろう。
処理中のコマンドに今は割り込むべきではない場合は(ブロック532で、いいえ)、コマンド回路は待機する(動作533)。待機中に内部レジスタ311が利用可能となった場合は(判定ブロック531で、はい)、読出しアドレスが内部レジスタ311に送信される(動作534)。処理中のコマンドが依然として処理されている任意の時点で、処理中のコマンドに割り込むべきとコマンド回路が判定した場合は(判定ブロック532で、はい)、コマンド回路が処理中のコマンドを一時停止する(動作535)。処理中のコマンドがタイマで処理される場合は、タイマをこの段階で一時停止してもよい。次いで、処理中のコマンドに対するデータとアドレスの情報を補助データ・レジスタ313Aにバックアップし(動作536)、補助アドレス・レジスタ313Bにバックアップする(動作537)。消去動作に割り込む場合は、必ずしもデータをバックアップする必要はないが、プログラム動作に割り込む場合はバックアップすべきデータがあるはずである。この段階で、読出しアドレスを外部アドレス・レジスタ312Aから内部アドレス・レジスタ311Aに送信してもよい(動作534)。次いで、読出しコマンドを開始する(動作538)。
読出し動作を完了した後、または換言すれば、内部アドレス・レジスタ311B内の読出しアドレスによってアドレス指定されたメモリ・セルの内容が内部データ・レジスタ311Aに読み出された後、読出しデータを内部データ・レジスタ311Aから外部データ・レジスタ312Aに転送する(動作539)。この時点で、読出し動作に関連付けられたデータを通信バス203上で読み出してもよい。一方で、(割り込まれるコマンドに優先する読出し動作がもう存在しないことを仮定して)割り込まれた処理中の動作を、データをバックアップ・データ・レジスタ311Aから内部データ・レジスタ311Aに転送し(動作540)、アドレスをバックアップ・アドレス・レジスタ313Bから内部アドレス・レジスタ311Bに転送する(動作541)ことによって、再開する。この時点で、割り込まれた動作を再開してもよい(動作542)。
処理中のコマンドを再開する前に、一旦読出し動作が完了すると、割込み動作を再開する前に実行する必要がある1つまたは複数の他の読出し動作があるかもしれない。その場合は、読出し動作ごとに、読出しアドレスを外部アドレス・レジスタ312Bから内部アドレス・レジスタに送信し(動作534)、読出し動作を開始し(動作538)、一旦完了した後に読出しデータを内部データ・レジスタ311Aから外部データ・レジスタ312Aに送信する(動作539)ことによって、動作534、538、539が順に実施されるはずである。1つの処理中の非読出しコマンドが完了前に1回または任意の回数割り込まれることがあり、任意の所与の割込みの結果、非読出しコマンドが再開する前に1つまたは複数の読出し動作が行われるかもしれない。
図2を参照すると、外部コマンド・ソース204が通信バス・インタフェース203を介してコマンドをNANDフラッシュ・メモリ・モジュール200に送信する。図6は、制御回路を介して制御されるNANDフラッシュ・メモリ論理ユニットにコマンドを送信する外部コマンド・ソースを動作させるための方法600の流れ図を示す。例えば、外部コマンド・ソースが図2の外部コマンド・ソース204であってもよい。NANDフラッシュ・メモリ論理ユニットは、例えば、図2の論理ユニット201または論理ユニット202であってもよい。
外部コマンド・ソースは、少なくとも1つのプログラム・コマンドと(動作601)少なくとも1つの消去コマンド(動作602)を制御回路に送信する。例えば、制御回路は、NANDフラッシュ・メモリ論理ユニット201と通信する場合は制御回路211であってもよく、または、NANDフラッシュ・メモリ論理ユニット202と通信する場合は制御回路221であってもよい。何れの場合でも、外部コマンド・ソース204は、通信バス203を介してコマンドを夫々の制御回路に通信してもよい。
プログラム動作と消去動作をNANDフラッシュ・メモリ論理ユニットに送信した後、後続の読出し動作を制御回路に送信する(動作603)。この読出し動作が、NANDフラッシュ・メモリ論理ユニットで処理中の以前のプログラム動作または消去動作に、動作がプログラム動作であると消去動作であるとに関わらず、割り込んでもよい。何れの場合でも、制御回路は補助レジスタを用いてプログラム・コマンドまたは消去コマンドに割り込むことができる。例えば、補助レジスタが、上述の第1の実施形態の場合は専用の読出し内部レジスタの役割を果たしてもよく、または、補助レジスタが、上述の第2の実施形態の場合はバックアップ・レジスタの役割を果たしてもよい。読出し動作が割り込まれる動作に割り込んだ後、読み出したデータを外部コマンド・ソース204に戻す(動作604)。割り込まれたコマンドを実行する際、データはバラバラに読み出されることに留意されたい。例えば、コマンド・ソース204が同じ論理ユニットに対して、プログラム・コマンドを発行し、次いで読出しコマンドを発行してもよい。しかし、論理ユニットでプログラム・コマンドが完了する前でも、コマンド・ソース204がデータを読み出してもよい。同様に、コマンド・ソース204が同じ論理ユニットに対して、消去コマンドを発行し、次いで読出しコマンドを発行してもよい。しかし、論理ユニットで消去コマンドが完了する前でも、コマンド・ソース204がデータを読み出してもよい。
割り込まれた消去動作と割り込まれたプログラム動作の具体的な実装形態を、ONFI仕様と関連して説明する。消去から説明する。NANDフラッシュ・メモリでは、消去とは、図1に関して説明したように絶縁体で完全に包囲され、近傍の半導体チャネルの電流を調整するように配置された導電体(普通は多結晶シリコンであるが他の材料であることもある)の一部である浮遊ゲートに蓄えられた電子を除去することである。一般にこれは、電子を引き付けて浮遊ゲートから絶縁体を通って量子トンネリングさせるのに十分な大きさの電界を生じさせることによって実現される。トンネリングのプロセスは比較的低速である。なぜならば、この作業を迅速に行うのに十分な強度の電界は、絶縁体を恒久的に損傷させるのに十分な大きさの電界でもあるからである。トンネリング速度は、絶縁体の厚さのばらつきに対して非常に敏感である指数方程式に支配される。絶縁体の厚さのばらつきは、チップ上にある何十億ものセルの処理のばらつきに起因して不可避的に存在するものである。実際、ゲート電子を2ミリ秒乃至5ミリ秒で任意のセルの厚みが最大の絶縁部を通って流出させるのに十分な大きさの電界はまた、当該絶縁部のいかなるセルも損傷させないのに十分な弱さでもある。
本明細書で説明した原理を用いた消去動作の例を説明する。この消去動作は、本明細書で説明した広い原理によって可能となる多種多様な実装形態の1つにすぎない。したがって、この消去動作に関して説明したどの具体的な特徴も、本明細書に記載の広い実施形態に何ら限定を課すものと解釈すべきではない。
この具体的な例では、消去をブロック単位で行う。ブロックが複数のページの集合体であり、ページが複数のメモリ・セルの集合体であることを思い出されたい。消去動作の最終結果は既知である。具体的には、消去されているブロック内部の全てのメモリ・セルでは、受容できる許容度において電荷が空のはずである。どの検証段階でも、データの値を比較する必要はない。このように、消去動作で検証を行う場合は、ブロックのメモリ・セルの内容が既知の所望の結果と比較される。しかし、消去動作が検証段階を有しなくともよい。なぜならば、検証にはより多くの時間がかかり、より複雑であるし、消去動作のタイミングを取る方がより簡単であるからである。ブロック内の全てのメモリ・セルが空になる受容可能な可能性が保証されるのに統計的に十分な長さの消去時間が選ばれる。大部分のセルは、消去時間が過ぎる大分前に空であるが、既に空のセルに消去動作を適用し続けても害はない。したがって、最終的には、消去が最も遅いメモリ・セルでさえも空になる。
この具体的な例では、消去の手続きの完了には数ミリ秒かかるかもしれない。しかし、消去プロセスは量子トンネリングと呼ばれるプロセスを使用する。この量子トンネリングでは、一旦トンネリングが開始されると各電子は浮遊ゲートからピコ秒の単位で除去される。とは言うものの、トンネリングは電子ごとに異なる時点で開始する。したがって、ほぼ任意の所与の時点で、移動すべき各電子は既にトンネルされているか、まだトンネルし始めていないかの何れかである。したがって、効率を大幅に失うことなく、消去プロセスに割り込み、消去プロセスを再開することができる。消去プロセスに費やされる総時間が目標消去時間の全持続時間内にある限り、要求された、完全な消去の可能性が保証される。
消去プロセスの間は、消去プロセスが割り込まれ再開される場合にはピコ秒のスケールよりも長い何らかのコストがシステムに存在する。例えば、特殊な電源を(消去動作が割り込まれたときは)解放し、(消去動作を再開するときは)再充電する必要があるかもしれない。さらに、(図4の動作435および437、図5の動作535、536、537、540、541、および542と同様に)正しい消去状態を保存し再びアサートすることに関連する時間があるかもしれない。依然として、これらの時間的コストは、総消去処理時間のうちの極僅かである。これらの時間的コストは、読出し動作に関する大幅な干渉遅延を回避するには十分に短いが、消去動作が割込みおよび再開のオーバヘッドにより大幅に長くならないことを保証するには十分に長い。これらの時間的コストを、制御回路320が消去動作に割り込むか否かを判定するか、または、消去動作を完了させるかそれとも後続の段階に進ませるかを判定するときに、考慮してもよい。
消去動作に割り込む場合、制御回路の内部状態により、消去動作が読出し動作で割り込まれたときに消去動作と読出し動作の両方の状態を見ることができるべきである。本発明の原理はONFIプロトコルを通信バス上で使用することに限定されないが、どのようにこの状態を通知できるかの一例を、ONFI標準が提供するピン、信号、コマンド、および状態レジスタに関して説明する。
ONFI互換のチップでは、状態レジスタSRのビット(6)を用いて状態を記録する。このビットは「SR(6)」と呼ばれる。ONFIプロトコルでは、前提として、状態SR(6)がポーリングされる。SR(6)の状態を反映する出力ピンがあるが、チップが複数の論理ユニットを含む場合は、このポーリング方法に頼ることはできない。なぜならば、論理ユニットのうち任意の1つがビジーである場合にSR(6)がビジーを示すからである。
以下のプロセスは、(例えば)状態機械を用いて実装してもよいものであり、どのようにこれをONFI仕様に準拠して行いうるかを説明するものである。そうは言うものの、当業者は、この説明を読んだ後には、特にチップがONFIと異なる接続およびコマンドの標準に従う場合には、読出し動作で消去動作に割り込むプロセスを様々なシグナリング手法で管理できることを理解するであろう。
先ず、一旦消去動作が指令されNANDフラッシュ・メモリ・モジュールによって受け入れられると、消去されるブロックを含む論理ユニットが「準備未完了」とアサートする。当該論理ユニットに対するSR(6)が「準備未完了」と把握された後の任意の時点で、読出し動作を指令することができる。読出しアドレスが消去されるブロック内の場所に対するものである場合は、チップの振舞いは未定義であろうが、当該読出しコマンドが拒否されてエラーが表示される可能性が極めて高い。これが、コマンド回路320が読出し動作で消去動作に割り込まないことを選択する1つの理由かもしれない(判定ブロック532でのいいえを参照)。同様な判定を、図4の判定ブロック434でのはいと動作435の間で行ってもよい。例えば、読出し内部レジスタ内の読出しコマンドが、非読出し内部レジスタ内の消去コマンドで消去されているブロック内のアドレスに対するものである場合は、読出し動作は失敗するかもしれない。読出し動作が論理ユニットの制御回路によって受け入れられた場合は、消去動作に対するレジスタのブロック・アドレスは依然として影響を受けず、読出し動作が待ち行列に入れられる。
論理ユニットは依然として準備未完了である。この例示的なプロセスでは、当該論理ユニットの典型的な読出し待ち時間よりも短いかまたは当該待ち時間と比較可能な何らかの間隔で、消去動作が定期的に一時停止される。状態は依然として準備未完了のままである。かかる一時停止のうち何れかの一時停止の期間中に、読出し動作が自身の読出しアドレスを用いて進行してもよい。次いで、セルの値がセンスアンプによって決定され、結果の値が内部データ・レジスタに置かれ、次いで外部データ・レジスタに転送される。この時点で、SR(6)ビットは読出しオプションが完了しデータを通信バスに読み出す準備ができたときに「準備完了」となる。ONFIのインタリーブ式読出し(interleaved Reading)(読出しキャッシュ(Read Cache))を場合によっては使用して別の読出しを開始してもよい。
読出しデータは外部データ・バス上で収集される。インタリーブ式読出しキャッシュが未完了である場合は、SR(6)は現在のページが収集されたときに準備未完了となり、インタリーブ式(未完了)読出しキャッシュが完了したときに準備完了となる。インタリーブ式読出しが未完了の場合は、SR(6)は次の読出し動作が完了したときに準備完了をアサートする。
未完了であるインタリーブ式読出しがなかった場合は、全ての読出しデータが収集されている。消去動作が完了していない場合は、SR(6)は「準備未完了」となり、消去が再開され、するとすぐに、別の読出し動作が割り込む場合に備えて上述のように消去が定期的に一時停止する。
消去動作が完了すると、SR(6)は依然として「準備完了」のままであり、論理ユニットはアイドル状態となって任意のコマンドを待機する。
次に、ONFI仕様を用いてプログラムの非常に具体的な例を説明する。ブロックを消去した後、データをページ単位にプログラムする。NANDフラッシュで、トンネリングによりプログラム動作を実現するが(消去動作と同じ原理)、電子は反対方向に流れて浮遊ゲートに蓄積する。このプロセスのタイミングは可変であるが、このプロセスが完了するには一般に何百マイクロ秒もかかる。
プログラムするためには、バイアス電圧を制御ゲートに十分な時間印加して、各メモリ・セルの浮遊ゲートに書き込まれる電子の正確な数を取得する。これを正確に行うために、NANDフラッシュ・メモリ論理ユニットが一時停止して、ページ内の各セルの状態を検証してもよい。これは、浮遊ゲート内の電子を検出して、意図したパターンと比較することによって行われる。このプロセスは「検証」と呼ばれ、一般に、各論理ユニット内のコマンド回路320によって管理される。これにより、電荷が正確に制御され、最後のセルがその所望の状態に達したときにプロセスを完了することができる。これは、一般に、消去プロセスの期間を決定するのに用いる最悪のケースのタイミングよりもかなり短い。
幾つかの設計においては、検証を使用しなくともよい。その他、特にマルチレベルのセル設計では、検証が数回行われる。目標データ値によっては、セルに印加するバイアスは決まらず、その代り、どれくらい長くバイアスを印加するかが変わる。各検証の後、依然としてその意図した状態に達していないセル(浮遊ゲート上により多くの電子を必要とするセル)にのみバイアスが印加される。したがって、一般にプログラム・プロセスではより多くの電子を必要とするセルのサブセットにバイアスを印加し、プログラム・データ・ページ・レジスタ内に保持される参照値を検証することが繰り返される。このプロセスにより、統計的変動があっても出来るだけ早くプログラミングを完了することができ、空と満杯の間の複数の状態を正確に実現することができる。したがって、複数の情報ビットを含むようにメモリ・セルをプログラムすることができる。
プログラム・プロセスは、典型的な読出し待ち時間よりもほぼ1桁低速である可能性がある。プログラム動作が進行中で、かつ、同一の論理ユニットから読出し動作を行いたい場合は、読出し動作による遅延は、プログラミングが処理中でない場合の遅延よりもかなり大きい。処理中のプログラム動作に起因する待ち時間を減らすために、1つまたは複数の読出しコマンドがプログラム動作に割り込んでもよい。消去動作と全く同様に、電荷はピコ秒のスケールで行われる量子トンネリングで転送され、殆ど効率を変化させることなく当該電荷の転送を一時停止することができる。待機中の読出しコマンドがもうないと外部制御で判定されたとき、または、プログラム動作が高い優先度を有すると外部制御で判定された場合は、プログラム動作は継続する。これにより、プログラム動作が読出し動作を遅延させることに起因する待ち時間の大部分が削減される。このように読出し待ち時間が短いことは、通常は、プログラムの遅延コストよりも重要である。実際、重要な読出し動作には、あまり緊急でないプログラム動作に割り込む優先度が与えられる。
この具体的な例では、読出し動作が、プログラム動作の検証段階の直前または直後に、処理中のプログラム動作に割り込んでもよい。コマンド回路320がこれを、これから説明しようとするプロセスを用いてONFI標準により提供されるピン、信号、コマンド、および状態レジスタで実現してもよい。当業者は、この説明を読んだ後には、このプロセスを、特にチップがONFIと異なる接続およびコマンドの標準に従う場合には、様々なシグナリング手法で管理できることを理解するであろう。本例では、プログラム・データ向けのレジスタは読出しデータを保持するために用いられるレジスタとは異なり、したがって、補助レジスタが第2の内部レジスタとして動作する上述の第1の開示した実施形態を使用する。したがって、プログラミング用のアドレスは読出しに使用されるアドレスとは別個にラッチされる。
プログラム動作を、論理ユニットの設計で許容される任意の時点で開始してもよい。プログラム動作の最中は、SR(6)状態ビットは「準備未完了」を示している。プログラム動作は、装置の典型的なページ読出し応答時間と比較可能な何らかの短い間隔(例えば、10マイクロ秒の間隔)で定期的に一時停止される。この一時停止により完全に読出し動作が割り込むことができてもよく、または、この一時停止が検証への移行の前置きであってもよい。状態SR(6)は依然として「準備未完了」である。
この時点で、任意の未完了の読出し動作が自身の読出しアドレスを用いて進行してもよく、セルの値がセンスアンプによって決定され、結果の値が読出しのためにページ・レジスタに置かれる。アレイ読出しが完了したときにLUNに対するSR(6)が「準備完了」になり、データを読出しページ・レジスタから読み出す準備ができている。
ONFIのインタリーブ式読出し(読出しキャッシュ)を場合によっては使用して別の読出し動作を開始してもよい。読出しデータは外部データ・バス上で収集される。インタリーブ式読出しキャッシュが未完了である場合は、SR(6)は現在のページが収集されたときに準備未完了となり、インタリーブ式(未完了)読出しキャッシュが完了したときに準備完了となる。インタリーブ式読出し動作が未完了である場合は、読出し動作が実行され、SR(6)が「準備完了」になって次の読出し動作が完了したことを示すのを待機する。
最後の読出し動作のデータが読み出され、未完了のインタリーブ式読出しがなくなると、チップは割り込まれたプログラム動作を再開する。「準備未完了」の状態SR(6)が再びアサートされる。一時停止を専ら読出し動作を可能とするために行った場合には、プログラム動作がデータ・アレイで再開する。一時停止が検証の前置きであった場合には、この時点でプログラム動作の検証段階が開始する。全てのビットがその所望の状態にあるわけではない場合は、検証の結果、書き込みが再開されるかもしれない。このプロセスは、全てのメモリ・セルが所望の値に正しく完了したことが検証によって確認されるまで繰り返される。この段階で、LUNはアイドル状態であり、何らかのコマンドを待機する。
この状態シーケンスは、読出し動作が検証段階の前に入り込める場合に適用されるが、ステップの順序を変更して読出し動作が検証の後に入り込めるようにしてもよく、または、実際に、その読出し動作が有効に検証段階の前後両方に入り込んでもよい。なぜならば、検証段階自体が期間において読出し動作と同様なステップであるからである。読出し動作が入り込むときは常に、状態を保存して、プログラム検証サイクルによりその状態が割り込む読出し動作によって妨害されないようにすることが重要である。これにより、プログラム検証サイクルが、入り込む読出し動作が完了した状況で再開することができる。
幾つかの状況ではプログラム検証ループが読出し待ち時間より少々長くてもよいが、1つ示唆されることは、当該ループをより頻繁に停止させることが重要でありうるということである。これにより、読出し動作が割り込む機会がより頻繁にある可能性があるので平均的な読出し待ち時間が短縮され、より頻繁な検証に起因してプログラミングがより正確になり、各プログラム検証サイクルで期待される電荷変更の粒度がより細かくなる。プログラム検証サイクルに割り込めない場合は、かかるトレードオフはあまり魅力的ではない。なぜならば、検証を追加することによりプログラム時間が増えるからである。プログラムに割込み可能とすることで、チップの設計者は、割込み可能なプログラミングなしには不可能である方法で全体的なシステム性能目標を依然として満たしつつ、信頼性と正確な信号の様々なバランスをもたらすことができる。逆説的ではあるが、低速だが割込み可能なプログラム動作により、システムがより高速になり、システムの信頼度が上がり、装置の耐久性が良くなり、セルごとの電圧レベルが高くなる。
このトレードオフは、セル当たり2つ、3つ、またはそれより多くのビットを有するマルチレベル電荷(multi−level charge)のチップを高性能チップとして受け入れるために、特に重要である場合がある。今日では、フラッシュ・チップが新しいデータを格納するスループットが、多くのアプリケーションに必要な平均的な速度を大幅に超過している。しかし、プログラム動作が読出し動作に入り込み、これらの同一のアプリケーションで一般に短い待ち時間が必要である限り、消去動作とプログラム動作をより高速にするという要求が存在する。消去動作とプログラム動作に割込み可能とすることによって、全体のシステム性能を失わずに、セル当たりビットの密度を高めることと多くのサイクルおよび多くの年数を通じた装置の耐久性を向上させることとのトレードを検討することから装置の設計者を解放できる、良好なシステム・レベルのトレードオフが存在することとなる。
さらなる利点として、プログラム・サイクルと消去サイクルに割込み可能とされうるので、プログラム電圧と消去電圧を下げることができる。これはプログラム動作と消去動作に必要な時間を増大させる効果があるが、高電圧差動が長時間にわたり装置コンポーネントで続く傾向があるためチップの寿命を改善させる。しかし、プログラム動作と消去動作に必要な時間が増大することは、それらの動作に割込み可能であることを考慮すれば許容可能であろう。このように、チップの寿命を改善することができる。
本発明を、その趣旨または本質的な特徴から逸脱しない他の具体的な形態で具体化してもよい。説明した実施形態は、全ての点で、例示的にすぎず限定的ではないと考えるべきである。したがって、本発明の範囲は、以上の説明によってではなく特許請求の範囲によって示される。特許請求の範囲の意味およびその均等性の範囲に入る全ての変更は、特許請求の範囲に含まれる。

Claims (15)

  1. プログラム可能かつ消去可能な複数のメモリ・セル(212)と、
    前記複数のメモリ・セルを対象とした少なくとも読出しコマンド、プログラム・コマンド、および消去コマンドを含む、複数のコマンドに応答するように構成した制御回路(211、300)と、
    読出しコマンド、プログラム・コマンド、および消去コマンドを外部コマンド・ソースから前記制御回路に送信するように前記制御回路に通信可能に接続した、通信バス・インタフェース(203)とを備えた物理NANDフラッシュ・メモリ論理ユニット(201)であって、
    前記制御回路は、
    内部データ・レジスタ(311A)と、内部アドレス・レジスタ(311B)と、外部データ・レジスタ(312A)と、外部アドレス・レジスタ(312B)と、補助データ・レジスタ(313A)と、補助アドレス・レジスタ(313B)とを備えた複数のレジスタ(310)と、
    前記複数のレジスタを制御することによって前記複数のコマンドに応答するためのコマンド回路(320)と、
    を備えたことを特徴とする物理NANDフラッシュ・メモリ論理ユニット(201)。
  2. 前記内部データ・レジスタは、第1の内部データ・レジスタであり、
    前記内部アドレス・レジスタは、第1の内部アドレス・レジスタであり、
    前記第1の内部データ・レジスタ及び前記第1の内部アドレス・レジスタは、専ら非読出しコマンドに使用され、
    前記補助データ・レジスタは、第2の内部データ・レジスタであり、
    前記補助アドレス・レジスタは、第2の内部アドレス・レジスタであり、
    前記第2の内部データ・レジスタ及び前記第2の内部アドレス・レジスタは、専ら読出しコマンドに使用されることを特徴とする請求項1に記載の物理NANDフラッシュ・メモリ論理ユニット。
  3. 前記非読出しコマンドは、プログラム・コマンド及び消去コマンドを含むことを特徴とする請求項2に記載の物理NANDフラッシュ・メモリ論理ユニット。
  4. 前記複数のメモリ・セル上でコマンドを実行するときに、前記第2の内部データ・レジスタ及び前記第2の内部アドレス・レジスタは、前記第1の内部データ・レジスタ及び前記第1の内部アドレス・レジスタよりも、少なくとも幾つかの環境下において処理する優先順位を有することを特徴とする請求項3に記載の物理NANDフラッシュ・メモリ論理ユニット。
  5. 前記コマンド回路は、
    前記外部アドレス・レジスタ内のアドレスに関連付けられたコマンドのタイプを検出し、
    前記コマンドのタイプが、プログラム・コマンド・タイプである場合には、利用可能となった前記第1の内部データ・レジスタに前記外部データ・レジスタからデータを転送し、及び利用可能となった前記第1の内部アドレス・レジスタに前記外部アドレス・レジスタ内の前記アドレスを転送し、
    前記コマンドのタイプが、消去コマンド・タイプである場合には、利用可能となった前記第1の内部アドレス・レジスタに前記外部アドレス・レジスタ内の前記アドレスを転送し、
    前記コマンドのタイプが、読出しコマンド・タイプである場合には、前記第2の内部アドレス・レジスタに前記外部アドレス・レジスタ内の前記アドレスを転送する、
    ように構成されたことを特徴とする請求項4に記載の物理NANDフラッシュ・メモリ論理ユニット。
  6. 前記コマンド回路は、読出しコマンドが処理中のプログラム・コマンドに、前記処理中のプログラム・コマンドに対応する前記プログラム動作の検証段階の最中に前記読出しコマンドが前記処理中のプログラム・コマンドに割り込むように、割り込むことを決定することを特徴とする請求項1に記載の物理NANDフラッシュ・メモリ論理ユニット。
  7. 前記コマンド回路は、読出しコマンドが処理中のプログラム・コマンドに、前記処理中のプログラム・コマンドに対応する前記プログラム動作において所定の時間より多くの時間が残っている場合には割り込むと決定することを特徴とする請求項1に記載の物理NANDフラッシュ・メモリ論理ユニット。
  8. 前記内部データ・レジスタ及び前記内部アドレス・レジスタは、読出しコマンド及び非読出しコマンドに使用され、
    前記補助データ・レジスタは、バックアップ・データ・レジスタであり、
    前記補助アドレス・レジスタは、バックアップ・アドレス・レジスタであって、
    前記コマンド回路は、
    a)前記コマンド回路が、読出しコマンドが処理中のプログラム・コマンドに割り込むと決定したとき、前記処理中のプログラム・コマンドのデータ及びアドレスの状態を前記内部データ・レジスタ及び前記内部アドレス・レジスタから前記バックアップ・データ・レジスタ及び前記バックアップ・アドレス・レジスタにバックアップし、
    b)割り込んだ前記読出しコマンドによって指定された読出しを前記複数のメモリ・セル上で実行するために、前記割り込んだ読出しコマンドのアドレスを前記内部アドレス・レジスタに送信し、
    c)前記割り込んだ読出しコマンドが完了した後の何らかの時点に、前記プログラム・コマンドをさらに処理するために、前記処理中のプログラム・コマンドの前記データ及びアドレスを前記内部データ・レジスタ及び前記内部アドレス・レジスタに復元する、
    ように構成されたことを特徴とする請求項1に記載の物理NANDフラッシュ・メモリ論理ユニット。
  9. 前記読出しコマンドは、第1の読出しコマンドであり、
    前記コマンド回路は、
    d)前記コマンド回路が、第2の読出しコマンドが処理中の消去コマンドに割り込むことを決定したとき、前記処理中の消去コマンドの状態を少なくとも前記バックアップ・アドレス・レジスタにバックアップし、
    e)割り込んだ前記第2の読出しコマンドによって指定された読出しを前記複数のメモリ・セル上で実行するために、前記割り込んだ第2の読出しコマンドのアドレスを前記内部アドレス・レジスタに送信し、
    f)前記割り込んだ第2の読出しコマンドが完了した後の何らかの時点に、前記消去コマンドをさらに処理するために、前記処理中の消去コマンドの前記状態を少なくとも前記内部アドレス・レジスタに復元する、
    ようにさらに構成されたことを特徴とする請求項8に記載の物理NANDフラッシュ・メモリ論理ユニット。
  10. 前記内部データ・レジスタ及び前記内部アドレス・レジスタは、読出しコマンド及び非読出しコマンドに使用され、
    前記補助データ・レジスタは、バックアップ・データ・レジスタであり、
    前記補助アドレス・レジスタは、バックアップ・アドレス・レジスタであって、
    前記コマンド回路は、
    a)前記コマンド回路が読出しコマンドが処理中の消去コマンドに割り込むと決定したとき、前記処理中の消去コマンドの状態を少なくとも前記バックアップ・アドレス・レジスタにバックアップし、
    b)割り込んだ前記読出しコマンドによって指定された読出しを前記複数のメモリ・セル上で実行するために、前記割り込んだ読出しコマンドのアドレスを前記内部アドレス・レジスタに送信し、
    c)前記割り込んだ読出しコマンドが完了した後の何らかの時点に、前記消去コマンドをさらに処理するために、前記処理中の消去コマンドの前記状態を少なくとも前記内部アドレス・レジスタに復元する、
    ように構成されたことを特徴とする請求項1に記載の物理NANDフラッシュ・メモリ論理ユニット。
  11. 前記複数のメモリ・セルの各々は、複数ビットのメモリ・セルであることを特徴とする請求項1に記載の物理NANDフラッシュ・メモリ論理ユニット。
  12. 前記複数のコマンドは、ONFIプロトコル及び互換の複数のコマンドを排他的に含むことを特徴とする請求項1に記載の物理NANDフラッシュ・メモリ論理ユニット。
  13. 物理NANDフラッシュ・メモリ論理ユニット(201)の制御回路(211、300)を動作させるための方法(400、500)であって、
    プログラム・コマンドを、前記プログラム・コマンドに関連するデータを外部データ・レジスタ(312A)内に配置し、前記プログラム・コマンドに関連するアドレスを外部アドレス・レジスタ(312B)内に配置することによって受信するステップ(401、501)と、
    内部データ・レジスタ(311A)及び内部アドレス・レジスタ(311B)が前記プログラム・コマンドを受信する準備ができていることを決定する決定ステップ(411、511)と、
    前記決定ステップに応答して、前記プログラム・コマンドに関連する前記データを内部データ・レジスタに送信し(413、513)、前記プログラム・コマンドに関連する前記アドレスを内部アドレス・レジスタに送信する(414、514)ことによって、前記プログラム・コマンドを前記内部データ・レジスタ及び前記内部アドレス・レジスタに送信するステップと、
    前記プログラム・コマンドを前記内部データ・レジスタ及び前記内部アドレス・レジスタに送信した後に、前記プログラム・コマンドの処理を、前記プログラム・コマンドに関連する前記アドレスによってアドレス指定された複数のメモリ・セル(212)の一部で開始するステップ(416、515)と、
    依然として前記プログラム・コマンドを処理している間に、前記外部アドレス・レジスタで受信した読出しコマンドが前記プログラム・コマンドの処理に割り込むことを決定するステップ(502、532)と、
    補助データ・レジスタ及び補助アドレス・レジスタを用いて前記プログラム・コマンドの処理に割り込むステップ(536、537)と、
    前記読出しコマンドを前記複数のメモリ・セル上で処理するステップ(538)と、
    前記読出しコマンドを処理した後、前記プログラム・コマンドの処理を再開するステップ(437、542)と、
    を備えることを特徴とする方法。
  14. 前記補助データ・レジスタ及び前記補助アドレス・レジスタを用いて前記プログラム・コマンドの処理に割り込む方法は、
    前記プログラム・コマンドに関連する前記データを前記内部データ・レジスタから前記補助データ・レジスタにバックアップするステップと、
    前記プログラム・コマンドに関連する前記アドレスを前記内部アドレス・レジスタから前記補助アドレス・レジスタにバックアップするステップと、
    前記バックアップするステップの後に、前記読出しコマンドに関連する前記アドレスを前記外部アドレス・レジスタから前記内部アドレス・レジスタに送信するステップとを備え、
    前記読出しコマンドを処理する方法は、
    前記読出しコマンドに関連する前記アドレスによってアドレス指定される前記複数のメモリ・セルの一部の内容を前記内部データ・レジスタに読み出すステップと、
    読み出した前記データを前記内部データ・レジスタから前記外部データ・レジスタに送信するステップとを備え、
    前記プログラム・コマンドの処理を再開する方法は、
    前記プログラム・コマンドに関連する前記データを前記補助データ・レジスタから前記内部データ・レジスタに送信するステップと、
    前記プログラム・コマンドに関連する前記アドレスを前記補助アドレス・レジスタから前記内部アドレス・レジスタに送信するステップと、
    を備えることを特徴とする請求項13に記載の方法。
  15. 前記補助データ・レジスタ及び前記補助アドレス・レジスタを用いて前記プログラム・コマンドの処理に割り込む方法は、
    前記読出しコマンドに関連するアドレスを前記外部アドレス・レジスタから前記補助アドレス・レジスタに送信するステップと、
    前記プログラム動作が一時停止するように前記内部データ・レジスタ及び前記内部アドレス・レジスタを無効にするステップとを備え、
    前記読出しコマンドを処理する方法は、
    前記読出しコマンドに関連する前記アドレスによってアドレス指定される前記複数のメモリ・セルの一部の前記内容が前記補助データ・レジスタに読み出されるように、前記補助データ・レジスタ及び前記補助アドレス・レジスタを有効にするステップと、
    読み出した前記データを前記補助データ・レジスタから前記外部データ・レジスタに送信するステップとを備え、
    前記プログラム・コマンドの処理を再開する方法は、
    前記補助データ・レジスタ及び前記補助アドレス・レジスタを無効にするステップと、
    前記プログラム・コマンドが再開するように、前記内部データ・レジスタ及び前記内部アドレス・レジスタを有効にするステップと、
    を備えることを特徴とする請求項13に記載の方法。
JP2012526810A 2009-08-28 2010-08-06 物理nandフラッシュ・メモリ論理ユニット及び制御回路を動作させるための方法 Active JP5529275B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US12/549,897 US8850103B2 (en) 2009-08-28 2009-08-28 Interruptible NAND flash memory
US12/549,897 2009-08-28
PCT/US2010/044785 WO2011031398A2 (en) 2009-08-28 2010-08-06 Interruptible nand flash memory

Publications (2)

Publication Number Publication Date
JP2013503412A true JP2013503412A (ja) 2013-01-31
JP5529275B2 JP5529275B2 (ja) 2014-06-25

Family

ID=43626518

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012526810A Active JP5529275B2 (ja) 2009-08-28 2010-08-06 物理nandフラッシュ・メモリ論理ユニット及び制御回路を動作させるための方法

Country Status (9)

Country Link
US (1) US8850103B2 (ja)
EP (1) EP2471067B1 (ja)
JP (1) JP5529275B2 (ja)
KR (1) KR101702158B1 (ja)
CN (1) CN102483951B (ja)
AU (1) AU2010292898B2 (ja)
CA (1) CA2768212C (ja)
MX (1) MX2012002118A (ja)
WO (1) WO2011031398A2 (ja)

Families Citing this family (69)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012529692A (ja) * 2009-06-10 2012-11-22 マイクロン テクノロジー, インク. メモリアレイにおける読み出し待ち時間を短縮するためのメモリ操作の一時停止
US8131889B2 (en) 2009-11-10 2012-03-06 Apple Inc. Command queue for peripheral component
JP5441216B2 (ja) 2010-02-24 2014-03-12 ルネサスエレクトロニクス株式会社 半導体装置及びデータ処理システム
US10445226B2 (en) * 2010-08-10 2019-10-15 Rambus Inc. Verify before program resume for memory devices
JP5378326B2 (ja) 2010-08-17 2013-12-25 株式会社東芝 不揮発性半導体記憶装置とその制御方法
US8819328B2 (en) * 2010-12-30 2014-08-26 Sandisk Technologies Inc. Controller and method for performing background operations
US8364888B2 (en) * 2011-02-03 2013-01-29 Stec, Inc. Erase-suspend system and method
US8543758B2 (en) * 2011-05-31 2013-09-24 Micron Technology, Inc. Apparatus including memory channel control circuit and related methods for relaying commands to logical units
US9021146B2 (en) 2011-08-30 2015-04-28 Apple Inc. High priority command queue for peripheral component
US20130179614A1 (en) * 2012-01-10 2013-07-11 Diarmuid P. Ross Command Abort to Reduce Latency in Flash Memory Access
US8918680B2 (en) 2012-01-23 2014-12-23 Apple Inc. Trace queue for peripheral component
US20130318285A1 (en) * 2012-05-23 2013-11-28 Violin Memory Inc Flash memory controller
US9740485B2 (en) 2012-10-26 2017-08-22 Micron Technology, Inc. Apparatuses and methods for memory operations having variable latencies
US9754648B2 (en) 2012-10-26 2017-09-05 Micron Technology, Inc. Apparatuses and methods for memory operations having variable latencies
CN103809717B (zh) * 2012-11-09 2017-04-12 华为技术有限公司 复位方法和网络设备
US10230396B1 (en) 2013-03-05 2019-03-12 Microsemi Solutions (Us), Inc. Method and apparatus for layer-specific LDPC decoding
US9813080B1 (en) 2013-03-05 2017-11-07 Microsemi Solutions (U.S.), Inc. Layer specific LDPC decoder
US9734097B2 (en) 2013-03-15 2017-08-15 Micron Technology, Inc. Apparatuses and methods for variable latency memory operations
KR20150008671A (ko) * 2013-07-15 2015-01-23 에스케이하이닉스 주식회사 반도체 장치
US9727493B2 (en) 2013-08-14 2017-08-08 Micron Technology, Inc. Apparatuses and methods for providing data to a configurable storage area
US9400745B2 (en) 2013-11-06 2016-07-26 International Business Machines Corporation Physical address management in solid state memory
KR102226367B1 (ko) 2014-01-02 2021-03-12 삼성전자주식회사 불휘발성 메모리 장치 및 그것을 포함하는 불휘발성 메모리 시스템
KR102187637B1 (ko) 2014-02-03 2020-12-07 삼성전자주식회사 불휘발성 메모리 장치를 포함하는 메모리 시스템 및 그것의 소거 방법
KR102203298B1 (ko) * 2014-08-01 2021-01-15 삼성전자주식회사 비휘발성 메모리 장치 및 비휘발성 메모리 장치의 구동 방법
US9214045B1 (en) 2014-08-29 2015-12-15 Freescale Semiconductor, Inc. Flash memory express erase and program
CN106158026A (zh) * 2015-04-09 2016-11-23 旺宏电子股份有限公司 存储装置与其操作方法
TWI582775B (zh) * 2015-04-14 2017-05-11 旺宏電子股份有限公司 記憶體裝置與其操作方法
CN106067321B (zh) * 2015-04-21 2020-09-15 爱思开海力士有限公司 适于存储器编程暂停-恢复的控制器
US10332613B1 (en) 2015-05-18 2019-06-25 Microsemi Solutions (Us), Inc. Nonvolatile memory system with retention monitor
US9799405B1 (en) 2015-07-29 2017-10-24 Ip Gem Group, Llc Nonvolatile memory system with read circuit for performing reads using threshold voltage shift read instruction
US10318193B2 (en) * 2015-09-14 2019-06-11 Sandisk Technologies Llc Systems and methods of command authorization
KR102314137B1 (ko) * 2015-11-04 2021-10-18 삼성전자 주식회사 리커버리 동작을 선택적으로 수행하는 불휘발성 메모리 장치 및 그 동작방법
US9886214B2 (en) 2015-12-11 2018-02-06 Ip Gem Group, Llc Nonvolatile memory system with erase suspend circuit and method for erase suspend management
US9892794B2 (en) 2016-01-04 2018-02-13 Ip Gem Group, Llc Method and apparatus with program suspend using test mode
US9899092B2 (en) 2016-01-27 2018-02-20 Ip Gem Group, Llc Nonvolatile memory system with program step manager and method for program step management
US10203884B2 (en) 2016-03-30 2019-02-12 Intel Corporation Methods and apparatus to perform erase-suspend operations in memory devices
KR102624606B1 (ko) * 2016-07-04 2024-01-15 에스케이하이닉스 주식회사 반도체 메모리 장치 및 그 동작 방법
US10157677B2 (en) 2016-07-28 2018-12-18 Ip Gem Group, Llc Background reference positioning and local reference positioning using threshold voltage shift read
US10291263B2 (en) 2016-07-28 2019-05-14 Ip Gem Group, Llc Auto-learning log likelihood ratio
US10236915B2 (en) 2016-07-29 2019-03-19 Microsemi Solutions (U.S.), Inc. Variable T BCH encoding
JP2018045741A (ja) * 2016-09-12 2018-03-22 東芝メモリ株式会社 半導体記憶装置及びメモリシステム
CN106708441B (zh) * 2016-12-29 2019-06-21 至誉科技(武汉)有限公司 一种用于降低固态存储读延迟的操作方法
CN106775503A (zh) * 2017-02-23 2017-05-31 郑州云海信息技术有限公司 一种执行操作指令的方法及装置
JP2018156698A (ja) * 2017-03-15 2018-10-04 東芝メモリ株式会社 メモリシステム
US10658046B2 (en) 2017-05-26 2020-05-19 Macronix International Co., Ltd. Memory device and method for operating the same
KR102631353B1 (ko) * 2017-08-17 2024-01-31 삼성전자주식회사 비휘발성 메모리 장치 및 이의 동작 방법
KR102420161B1 (ko) * 2017-12-01 2022-07-12 삼성전자주식회사 메모리 컨트롤러 및 그것의 제어 방법
US10566062B2 (en) 2017-12-14 2020-02-18 Macronix International Co., Ltd. Memory device and method for operating the same
TWI667657B (zh) * 2017-12-14 2019-08-01 旺宏電子股份有限公司 記憶體裝置及其操作方法
CN109935252B (zh) * 2017-12-15 2021-03-30 旺宏电子股份有限公司 存储器装置及其操作方法
KR20190088293A (ko) * 2018-01-18 2019-07-26 에스케이하이닉스 주식회사 메모리 장치 및 그 동작 방법
KR102608825B1 (ko) * 2018-04-26 2023-12-04 에스케이하이닉스 주식회사 메모리 컨트롤러 및 이의 동작 방법
US10802756B1 (en) 2018-07-12 2020-10-13 Seagate Technology Llc Flash queue status polling
CN109407991B (zh) * 2018-10-22 2022-06-07 湖南国科微电子股份有限公司 一种非易失性闪存执行命令的暂停及恢复方法、非易失性闪存及电子设备
KR20200057311A (ko) * 2018-11-16 2020-05-26 삼성전자주식회사 통신되는 데이터의 양을 동작의 중단 빈도에 따라 스로틀링하는 스토리지 장치
JP7159069B2 (ja) 2019-01-29 2022-10-24 キオクシア株式会社 メモリシステムおよび制御方法
US11901012B2 (en) 2019-04-30 2024-02-13 Samsung Electronics Co., Ltd. Non-volatile memory device and programming method thereof
US11164640B2 (en) 2019-04-30 2021-11-02 Samsung Electronics Co., Ltd. Non-volatile memory device and programming method thereof
KR20200126609A (ko) 2019-04-30 2020-11-09 삼성전자주식회사 비휘발성 메모리 장치 및 그 프로그래밍 방법
US11061578B2 (en) * 2019-08-05 2021-07-13 Micron Technology, Inc. Monitoring flash memory erase progress using erase credits
KR20210057355A (ko) 2019-11-12 2021-05-21 에스케이하이닉스 주식회사 메모리 장치, 메모리 컨트롤러, 메모리 시스템 및 그 동작 방법
FR3104285B1 (fr) * 2019-12-05 2022-05-27 St Microelectronics Grenoble 2 Contrôle d’intégrité d’une mémoire
US11081187B2 (en) * 2019-12-11 2021-08-03 SanDiskTechnologies LLC Erase suspend scheme in a storage device
US11137936B2 (en) 2020-01-21 2021-10-05 Google Llc Data processing on memory controller
KR20210155467A (ko) 2020-06-16 2021-12-23 에스케이하이닉스 주식회사 메모리 시스템, 메모리 컨트롤러 및 메모리 시스템의 동작 방법
US11625297B2 (en) 2020-08-28 2023-04-11 Samsung Electronics Co., Ltd. Storage device and operating method thereof
KR20220094726A (ko) 2020-12-29 2022-07-06 삼성전자주식회사 메모리 컨트롤러, 비휘발성 메모리 장치 및 그 스토리지 장치
US11604732B1 (en) * 2021-09-02 2023-03-14 Micron Technology, Inc. Memory performance during program suspend protocol
CN115658570B (zh) * 2022-12-14 2023-03-21 杰创智能科技股份有限公司 闪存编程方法和闪存接口电路

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07161195A (ja) * 1993-06-30 1995-06-23 Intel Corp フラッシュメモリ
JPH07254292A (ja) * 1994-03-15 1995-10-03 Mitsubishi Electric Corp 不揮発性メモリおよびこの不揮発性メモリを用いたマイクロコンピュータ

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5034922A (en) * 1987-12-21 1991-07-23 Motorola, Inc. Intelligent electrically erasable, programmable read-only memory with improved read latency
JPH07181195A (ja) 1993-12-24 1995-07-21 Kobe Steel Ltd 溶融金属用電磁流速センサ及び流速測定装置並びにそれを用いた流速測定方法
US5559988A (en) * 1993-12-30 1996-09-24 Intel Corporation Method and circuitry for queuing snooping, prioritizing and suspending commands
US6201739B1 (en) * 1996-09-20 2001-03-13 Intel Corporation Nonvolatile writeable memory with preemption pin
GB2317721B (en) 1996-09-30 2001-09-12 Nokia Mobile Phones Ltd Memory device
US5847998A (en) 1996-12-20 1998-12-08 Advanced Micro Devices, Inc. Non-volatile memory array that enables simultaneous read and write operations
US5822244A (en) 1997-09-24 1998-10-13 Motorola, Inc. Method and apparatus for suspending a program/erase operation in a flash memory
JP3525070B2 (ja) 1999-01-27 2004-05-10 松下電器産業株式会社 アクセス制御装置及びアクセス方法
US6851026B1 (en) 2000-07-28 2005-02-01 Micron Technology, Inc. Synchronous flash memory with concurrent write and read operation
JP4004811B2 (ja) * 2002-02-06 2007-11-07 株式会社東芝 不揮発性半導体記憶装置
US7062615B2 (en) * 2003-08-29 2006-06-13 Emulex Design & Manufacturing Corporation Multi-channel memory access arbitration method and system
ITMI20050063A1 (it) * 2005-01-20 2006-07-21 Atmel Corp Metodo e sistema per la gestione di una richiesta di sospensione in una memoria flash
US8200887B2 (en) 2007-03-29 2012-06-12 Violin Memory, Inc. Memory management system and method
US7562180B2 (en) 2006-03-28 2009-07-14 Nokia Corporation Method and device for reduced read latency of non-volatile memory
US8004884B2 (en) * 2009-07-31 2011-08-23 International Business Machines Corporation Iterative write pausing techniques to improve read latency of memory systems

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07161195A (ja) * 1993-06-30 1995-06-23 Intel Corp フラッシュメモリ
JPH07254292A (ja) * 1994-03-15 1995-10-03 Mitsubishi Electric Corp 不揮発性メモリおよびこの不揮発性メモリを用いたマイクロコンピュータ

Also Published As

Publication number Publication date
CN102483951B (zh) 2015-04-29
MX2012002118A (es) 2012-03-07
WO2011031398A3 (en) 2011-05-05
KR20120092561A (ko) 2012-08-21
EP2471067A2 (en) 2012-07-04
EP2471067A4 (en) 2013-08-07
JP5529275B2 (ja) 2014-06-25
EP2471067B1 (en) 2021-09-15
WO2011031398A2 (en) 2011-03-17
CA2768212C (en) 2016-09-13
AU2010292898A1 (en) 2012-02-16
KR101702158B1 (ko) 2017-02-02
US8850103B2 (en) 2014-09-30
CA2768212A1 (en) 2011-03-17
US20110055453A1 (en) 2011-03-03
AU2010292898B2 (en) 2014-06-05
CN102483951A (zh) 2012-05-30

Similar Documents

Publication Publication Date Title
JP5529275B2 (ja) 物理nandフラッシュ・メモリ論理ユニット及び制御回路を動作させるための方法
KR102198436B1 (ko) 비휘발성 메모리의 리텐션 로직
US9021158B2 (en) Program suspend/resume for memory
KR101986872B1 (ko) 메모리 칩 전력 관리
US11275508B2 (en) Host controlled enablement of automatic background operations in a memory device
WO2009046115A1 (en) Flash memory controller
KR102351660B1 (ko) 전력 관리 메커니즘을 갖는 솔리드 스테이트 메모리 시스템 및 그것의 동작 방법
JP2011118469A (ja) メモリ管理装置およびメモリ管理方法
US20200042238A1 (en) Data storage device, method of operating the same, and storage system having the same
US11442664B2 (en) Memory system and method of operating the same
US20230060312A1 (en) Continuous memory programming operations
CN116364136A (zh) 用于在保持损失后增强系统性能的技术
US20210303172A1 (en) Monitoring flash memory erase progress using erase credits
US11443778B1 (en) Peak current reduction using dynamic clocking during charge pump recovery period
CN115457994A (zh) 动态功率控制

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20130625

RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20130712

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20130719

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20131113

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20131119

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140218

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20140318

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140416

R150 Certificate of patent or registration of utility model

Ref document number: 5529275

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250