JP7461794B2 - 半導体装置 - Google Patents

半導体装置 Download PDF

Info

Publication number
JP7461794B2
JP7461794B2 JP2020086359A JP2020086359A JP7461794B2 JP 7461794 B2 JP7461794 B2 JP 7461794B2 JP 2020086359 A JP2020086359 A JP 2020086359A JP 2020086359 A JP2020086359 A JP 2020086359A JP 7461794 B2 JP7461794 B2 JP 7461794B2
Authority
JP
Japan
Prior art keywords
write
data
bit latch
write operation
memory
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.)
Active
Application number
JP2020086359A
Other languages
English (en)
Other versions
JP2021180062A (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.)
Renesas Electronics Corp
Original Assignee
Renesas Electronics 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 Renesas Electronics Corp filed Critical Renesas Electronics Corp
Priority to JP2020086359A priority Critical patent/JP7461794B2/ja
Priority to US17/318,525 priority patent/US11868654B2/en
Priority to CN202110529328.2A priority patent/CN113674776A/zh
Priority to EP21173982.6A priority patent/EP3910638A1/en
Publication of JP2021180062A publication Critical patent/JP2021180062A/ja
Application granted granted Critical
Publication of JP7461794B2 publication Critical patent/JP7461794B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0659Command handling arrangements, e.g. command buffers, queues, command scheduling
    • 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
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1078Data input circuits, e.g. write amplifiers, data input buffers, data input registers, data input level conversion circuits
    • G11C7/1087Data input latches
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0604Improving or facilitating administration, e.g. storage management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0679Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
    • 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/0408Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS comprising cells containing floating gate transistors
    • G11C16/0433Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS comprising cells containing floating gate transistors comprising cells containing a single floating gate transistor and one or more separate select transistors
    • 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/32Timing 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/34Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
    • G11C16/3436Arrangements for verifying correct programming or erasure
    • G11C16/344Arrangements for verifying correct erasure or for detecting overerased cells
    • G11C16/3445Circuits or methods to verify correct erasure of nonvolatile memory cells
    • 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/34Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
    • G11C16/3436Arrangements for verifying correct programming or erasure
    • G11C16/3454Arrangements for verifying correct programming or for detecting overprogrammed cells
    • G11C16/3459Circuits or methods to verify correct programming of nonvolatile memory cells

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Read Only Memory (AREA)
  • Memory System (AREA)

Description

本開示は、半導体装置に関し、特に、不揮発性メモリと中央処理装置とを含む半導体装置に適用して有効な技術である。
複数のマスタ(たとえば、複数の中央処理装置(CPU))を備える半導体装置では、各々のマスタが1つの不揮発性メモリであるフラッシュメモリを共有するように構成されている場合がある。このような構成の半導体装置では、例えばメモリコントローラが各々のマスタのフラッシュメモリへのアクセスを制御している。
特開2008-34045号公報には、フラッシュメモリへの書込み/消去処理を中断/再開する技術が開示されている。
特開2008-34045号公報
複数の中央処理装置(CPU)を備える半導体装置において、フラッシュメモリへの書込み/消去動作が競合した場合、優先度が高い処理であっても、先に実行された処理が完了するまで待つ必要がある。
今後、1つの半導体装置に設けられる中央処理装置(CPU)の数が増えると、つまり、マルチCPUコア化が進展していくと、コスト抑制のために、面積インパクトの大きいフラッシュメモリの分割は最小限にする必要がある。結果として、フラッシュメモリの分割数(バンク数)が減り、CPUコア数 > フラシュメモリのバンク数といった状態となると考えられる。したがって、同一フラッシュメモリ(1つのバンク)に対する書込み動作または消去動作の競合が顕著になると予想される。
本開示の目的は、1つのフラッシュメモリに対して書込み動作のサスペンド中または消去動作のサスペンド中の書込み動作または消去動作を可能にする技術を提供することにある。
その他の課題と新規な特徴は、本明細書の記述および添付図面から明らかになるであろう。
本開示のうち代表的なものの概要を簡単に説明すれば下記の通りである。
一実施の形態に係る半導体装置は、
複数の第1メモリセルと複数の第2メモリセルとを含む不揮発性メモリセルと、
ビットラッチと、
退避レジスタと、を含み、
第1書込み動作において、前記ビットラッチと前記退避レジスタとに、第1書込みデータを格納し、前記ビットラッチに格納された前記第1書込みデータに基づいて、前記複数の第1メモリセルへの書込みを実施し、
前記第1書込み動作中において、サスペンドコマンドに基づいて、前記第1書込み動作を中断して、第2書込み動作を実施し、
前記第2書込み動作において、前記ビットラッチに第2書込みデータを格納して、前記第2書込みデータに基づいて、前記複数の第2メモリセルの書込みを実施し、
前記第2書込み動作の終了後、レジュームコマンドに基づいて、前記退避レジスタの前記第1書込みデータを前記ビットラッチに再設定し、前記ビットラッチに再設定された前記第1書込みデータに基づいて、中断された前記第1書込み動作を再開する。
また、一実施の形態に係る半導体装置は、
複数の第1メモリセルと複数の第2メモリセルとを含む不揮発性メモリセルと、
ビットラッチと、
退避レジスタと、を含み、
第1書込み動作において、前記ビットラッチに、第1書込みデータを格納し、前記ビットラッチに格納された前記第1書込みデータに基づいて、前記複数の第1メモリセルへの書込みを実施し、
前記第1書込み動作中において、サスペンドコマンドに基づいて、前記第1書込み動作を中断し、前記ビットラッチのデータを前記退避レジスタへ退避し、第2書込み動作を実施し、
前記第2書込み動作において、前記ビットラッチに第2書込みデータを格納して、前記第2書込みデータに基づいて、前記複数の第2メモリセルの書込みを実施し、
前記第2書込み動作の終了後、レジュームコマンドに基づいて、前記退避レジスタに退避されたデータを前記ビットラッチに再設定し、前記ビットラッチに再設定されたデータに基づいて、中断された前記第1書込み動作を再開する。
さらに、一実施の形態に係る半導体装置は、
複数の第1メモリセルと複数の第2メモリセルとを含む不揮発性メモリセルと、
ビットラッチと、
退避レジスタと、を含み、
第1書込み動作において、前記ビットラッチに、第1書込みデータを格納し、前記ビットラッチに格納された前記第1書込みデータに基づいて、前記複数の第1メモリセルへの書込みを実施し、
前記第1書込み動作中において、サスペンドコマンドに基づいて、前記第1書込み動作を中断し、前記ビットラッチのデータを前記退避レジスタへ退避し、第2書込み動作を実施し、
前記第2書込み動作において、前記ビットラッチに第2書込みデータを格納して、前記第2書込みデータに基づいて、前記複数の第2メモリセルの書込みを実施し、
前記第2書込み動作の終了後、レジュームコマンドに基づいて、前記退避レジスタに退避されたデータを前記ビットラッチに再設定し、前記ビットラッチに再設定されたデータに基づいて、中断された前記第1書込み動作を再開する。
図1は、実施の形態に係る半導体装置の概略的な構成例を示すブロック図である。 図2は、フラッシュメモリのメモリセルの構成例を示す断面図である。 図3は、フラッシュメモリおよびメモリコントローラの概略的な構成例を示すブロック図である。 図4は、メモリセルへ与える電圧値の一例を示す図である。 図5は、書込み動作の動作フローを示す図である。 図6は、消去動作の動作フローを示す図である。 図7は、サスペンドコマンド発生時の割り込み処理フローを示す図である。 図8は、レジュームコマンド発行時の処理フローを示す図である。 図9は、書込みサスペンド中の書込みにおけるラッチデータの遷移を説明する図である。 図10は、書込みサスペンド中の消去におけるラッチデータの遷移を説明する図である。 図11は、実施例1に係るメモリコントローラの回路構成の一例を示す図である。 図12は、実施例1に係るレジュームコマンド発行時の処理フローを示す図である。 図13は、実施例1に係るラッチデータの遷移を説明する図である。 図14は、実施例2に係るフラッシュメモリFLMの回路構成の一例を示す。 図15は、実施例2におけるラッチデータの遷移を説明する図である。 図16は、実施例3に係るメモリコントローラFLMCとフラッシュメモリFLMの回路構成の一例を示す図である。 図17は、実施例3に係るレジュームコマンド発行時の処理フローを示す図である。 図18は、実施例3に係るラッチデータの遷移を説明する図である。
以下、実施の形態および実施例について、図面を用いて説明する。ただし、以下の説明において、同一構成要素には同一符号を付し繰り返しの説明を省略することがある。なお、図面は説明をより明確にするため、実際の態様に比べ、模式的に表される場合があるが、あくまで一例であって、本発明の解釈を限定するものではない。
(実施の形態)
(半導体装置の全体構成)
図1は、半導体装置の概略的な構成例を示すブロック図である。半導体装置ICは、中央処理装置CPU(以下、CPUと言う)、揮発性メモリであるRAM(Random Access Memory)、メモリコントローラFLMC、不揮発性メモリであるフラッシュメモリFLM、周辺バスBUS等を備えている。図1に示すように、CPU及びメモリコントローラFLMCは、周辺バスBUSと接続され、周辺バスBUSを介して各種情報の入出力が行われる。
CPUは、半導体装置ICの各構成要素の制御に関連する演算処理等を行う機能ブロックである。CPUは、フラッシュメモリFLMに格納されたプログラムを読み出し、読み出したプログラムをRAMに展開する。CPUは、RAMに展開されたプログラムを実行することにより、各機能を実現する機能ブロックを実現する。CPUの内部にはキャッシュメモリCACHEが設けられ、演算処理において使用頻度の高い情報はキャッシュメモリCACHEに格納される。
RAMは、先述の通り、フラッシュメモリFLMから読み出したプログラムの展開や、CPUによる演算処理データを一時的に格納する。
メモリコントローラFLMCは、フラッシュメモリFLMの制御を行う機能ブロックである。メモリコントローラFLMCは、フラッシュメモリFLMに対する書き込み動作、読み出し動作、消去動作等に関する処理を行う。
(メモリセルの構成例)
図2は、フラッシュメモリFLMのメモリセルMCの構成例を示す断面図である。図3は、フラッシュメモリFLMおよびメモリコントローラFLMCの概略的な構成例を示すブロック図である。図4は、メモリセルへ与える電圧値の一例を示す図である。
図2には、1つの不揮発性メモリセル(以下、メモリセルと言う)MCのみが便宜上示されているが、実際には、複数のメモリセルMCがアレイ状に配置される。複数のメモリセルMCは、図2に示すY方向に延在するビット線BL及びX方向に延在するコントロールゲートCGに沿って格子状に配置される。具体的に述べると、フラッシュメモリFLMには、Y方向に延在するビット線BLが複数設けられており、複数のビット線BLは、X方向に配列されている。また、フラッシュメモリFLMには、X方向に延在するコントロールゲートCGが複数設けられており、複数のコントロールゲートCGは、Y方向に配列されている。そして、複数のメモリセルMCは、複数のビット線BLと複数のコントロールゲートCGのそれぞれの交点に対応して配置される。
メモリセルMCは、図2および図3に示すように、選択トランジスタST、メモリトランジスタMTを備えている。選択トランジスタSTの一方の電極は、ビット線BLと接続されている。メモリトランジスタMTの一方の電極は、ソース線SLを介してソースドライバSDRと接続されている。選択トランジスタSTの他方の電極は、メモリトランジスタMTの他方の電極と接続されている。このように、メモリセルMCは、選択トランジスタST及びメモリトランジスタMTが、ソース線SLとビット線BLとの間で直列に接続されている。選択トランジスタSTはコントロールゲートCGを備え、メモリトランジスタMTは、電荷記憶層CSL及びメモリゲートMGを備えている。メモリゲートMGは、メモリゲートドライバMGDRと接続されている。図2に示すように、メモリセルMCは、ソース線SL側がソースS、ビット線BL側がドレインDである。
フラッシュメモリFLMの書込み方式は、ドレインD-ソースS間に電流を流し、電荷記憶層CSLに電荷をトラップするホット・エレクトロン注入方式である。フラッシュメモリFLMでは、データ"0"がしきい値の高い状態に、データ"1"がしきい値の低い状態に対応される。ホット・エレクトロン注入方式とは、メモリゲートMGおよびソース線SLに高電圧を印加し、電荷をトラップし易くした状態でドレインD-ソースS間に電流を流し、電荷記憶層CSLが電荷をトラップすることで、メモリセルMCのしきい値が高い状態とされる方式である。つまり、メモリセルMCに値が書き込まれる。
一方、フラッシュメモリFLMの消去方式は、BTBT(Band to Band tunneling)によって行う。ソース線SLにプラス(正)の電圧を、メモリゲートMGにマイナス(負)の電圧を印加し、正孔を電荷記憶層CSLにトンネル動作させることで、正孔とトラップした電荷を再結合させることで電荷記憶層CSLの電荷を失くす。
図4にメモリセルMCに与える電圧値例を示す。図4に記載された電圧値を与えることによって、メモリセルMCに対して書込み動作(PROG)、消去動作(ERASE)、読み出し動作(READ)を行うことができる。図4において、Vdはビット線BLまたはドレインDの電圧値を示し、VcgはコントロールゲートCGの電圧値を示し,VmgはメモリゲートMGの電圧値を示し、Vsはソース線SLまたはソースSの電圧値を示している。
センスアンプSAは、メモリセルMCに対する書き込み動作または消去動作が完了したかどうかの判定処理を行う機能ブロックである。センスアンプSAは、例えばビット線BLごとに設けられる。各センスアンプSAは、対応するビット線BL及び対応するスイッチ回路のビットラッチ回路(以下、ビットラッチと言う)BLATと接続されている。書き込み動作または消去動作後に、読み出し動作が行われ、センスアンプSAは、読み出し動作によりビット線BLへ流れる電流と、例えばメモリコントローラFLMCから供給されるリファレンス信号の電流とを比較する。このような処理を、ベリファイと呼ぶ。そして、センスアンプSAは、例えば、ビット線BLに流れる電流がリファレンス信号の電流より大きい場合、メモリセルMCに所定のデータが書き込みされたものと判定し、書き込み完了信号をビットラッチBLATへ出力する。
(書込み動作)
図5は、書込み動作の動作フローを示す図である。まず、CPUからプログラムのための書込みデータ(Pdata)をフラッシュメモリFLMのビットラッチBLATに転送する(P1)(以下、データインとも呼ぶ)。次に、書込みパルス(PRG pulse)を印加し(P2)、書込みベリファイ(PRG verify)を実施(P3)、書込みベリファイ判定(P4)を行い、全ビットの書込みベリファイがパス(Yes)すると(P4)、書込み動作を完了し(END)、全ビットの書込みベリファイがパスするまで(No)は書込みパルス印加(P2)、書込みベリファイ(P3)、書込みベリファイ判定(P4)の処理を繰り返し行う。書込みベリファイの際に書込みベリファイによって書込みが完了したことが確認できたメモリセルMCに対して、ビットラッチBLATに格納されているデータを反転することで以降、そのメモリセルMCに対する書込みパルス印加(P2)、ベリファイ実施(P3)をマスクする機能がある。これをベリファイマスク機能と呼ぶ。本発明はこのベリファイマスク機能にも対応している。もちろんベリファイマスク機能がない場合でも本発明は適用することができる。
(消去動作)
図6は、消去動作の動作フローを示す図である。消去はCPUからデータインを必要としないが、過消去セルを作らないために消去ブロック内の全メモリセルMCを高いしきい値レベルに書き揃える(E1)。これをプレライトと呼ぶ。プレライト(E1)を実施するためにラッチデータをAll 0へと設定し、書込み同様にパルス印加を実施する。プレライトが完了すると、書込み同様、消去パルス(ERA Pulse)を印加し(E2)、消去ベリファイを実施し(E3)、ベリファイ判定(E4)を行い、全ビットの消去ベリファイがパスする(Yes)と消去を完了(END)し、全ビットの消去ベリファイがパスするまで(No)は消去パルス印加(E2)、消去ベリファイ(E3)、消去ベリファイ判定(E4)の処理を繰り返す。
(サスペンドコマンド発生時の割り込み処理フロー、および、レジュームコマンド発行時の処理フロー)
図7は、サスペンドコマンド発生時の割り込み処理フローを示す図である。図8は、レジュームコマンド発行時の処理フローを示す図である。
図5、図6で示されているサスペンド受付期間TPSUS中に、CPUからサスペンドコマンドSUSCMDが発行されると、書込み処理または消去処理に割り込み、サスペンド処理を実施する。その際に実施する処理内容を表したフローを図7に示す。サスペンドコマンドSUSCMDに基づく割り込みが発生すると(S5)、サスペンド状態レジスタSSRegをセットし(S6)、レジューム時にコマンド開始アドレス、選択マクロ情報など中断した処理を復帰するために必要なデータを退避し(S7)、フラッシュメモリFLMの中断処理を実施することでサスペンドを完了する(S8)。
CPUからレジュームコマンドRESCMDが発行されると、図8に示すように、レジューム処理を実施する。レジューム処理では、レジュームコマンドRESCMDに基づいてレジューム要求がされ(S9)、サスペンドフロー時に行った処理に対して、サスペンド状態レジスタSSRegのクリア(S10)、退避情報(コマンド開始アドレス、選択マクロ情報など)の復帰(S11)、フラッシュ動作FLMOPの復帰処理(S12)、中断箇所からの再開(S13)といった処理を実施する。
(問題点の説明)
図9は、書込みサスペンド中の書込みにおけるラッチデータの遷移を説明する図である。図10は、書込みサスペンド中の消去におけるラッチデータの遷移を説明する図である。図9、図10において、書込みコマンド発行時(P1)のビットラッチBLATの書込みデータをデータA、1回目のベリファイ(P3(1回目))が終わったときのビットラッチBLATのラッチデータをデータBとする。また、上記書込みコマンドが完了した時のビットラッチBLATのラッチデータをデータC、書込みサスペンド状態時に同一マクロに対するビットラッチBLATの書込みデータをデータD、その書込みが完了した際のビットラッチBLATのラッチデータをデータEとする。さらに、2回目の書込みパルス印加が終了したタイミングでサスペンドが発生したとし、サスペンド中の書込み動作または消去動作によるビットラッチBLATのラッチデータの遷移表を図9、図10に示す(以降に示すデータ遷移表(図13、図15、図18)についても、同タイミングでサスペンドが発生したものとする)。図9、図10に記載のフロー中の書込み処理、消去処理、サスペンド処理は、それぞれ図5、図6、図7の動作フローに対応している。
P2、P3では、書込みパルス印加、ベリファイ実施によって書込みが完了したメモリセルに対応するビットラッチBLATのビットラッチ回路の値を反転、再格納(ベリファイマスク)されることにより、ビットラッチBLATの値がデータAからデータBへと変化している。書込みサスペンド状態において、フラッシュメモリFLMに設定されているビットラッチBLATのラッチデータは保持されたままである。そのため、書込みサスペンド状態時に同一マクロに対して書込みコマンドを実施するためにビットラッチBLATにデータイン動作を行うと、ビットラッチBLATのラッチデータが図9ではデータBからデータDに変化し、レジューム動作を実施できない。また、図10に示す様に、書込みサスペンド状態時に同一マクロに対して消去コマンドを実施する時には、プレライト(E1)のために、データBから“All 0”となり、レジューム動作を実施できない。ここで、この明細書において、同一マクロとは、1つのフラッシュメモリFLM、または、複数のメモリバンクを有するフラッシュメモリFLMにおいて1つのメモリバンクを示している。
本発明では、同一マクロに対する書込みサスペンド状態中に書込み動作または消去動作が行われた後のレジューム動作時に、サスペンド時のビットラッチBLATのラッチデータへの復帰する手法を提供する。以降、書込みサスペンド中における書込み動作後および消去動作後におけるビットラッチBLATのデータ復帰方法は同様であるため、代表例として、書込み動作の場合について記載するが、消去動作の場合を排除するものではない。なお、複数のメモリセルMCは、複数の第1メモリセルと、複数の第2メモリセルとを含む。複数の第1メモリセルは、書き込み時に書込みデータが書き込まれるメモリセルである。複数の第2メモリセルは、複数の第1メモリセルへの書き込み動作の書込みサスペンド状態中において、書込み動作または消去動作の対象とされるメモリセルである。
同一マクロにおける、書込みサスペンド状態における書込みコマンドまたは消去コマンドの実行をサポートする。そのため、CPUから転送されてくる書込みデータPdataを保持する追加回路をフラッシュメモリFLM以外、例えば、メモリコントローラFLMCに設ける。図11は、メモリコントローラFLMCの回路構成の一例を示す図である。図11に示す回路構成は、あくまでも一例であり、データインプロトコルが異なればそのプロトコルに従って回路の変更を行っても良い。
図11に示す様に、メモリコントローラFLMCは、退避用のレジスタ(以下、退避レジスタと言う)SREGと、データイン発生フラグFLGと、第1選択回路SEL1と、第2選択回路SEL2と、アンド回路AND1と、を有する。フラッシュメモリFLMは、ビットラッチBLATを有する。
メモリコントローラFLMCは、CPUから書込みデータPdataと、データインコマンドCM_DINと、データインモード信号MD_DINとを受信するように構成されている。また、メモリコントローラFLMCは、書込み状態において、CPUからサスペンドコマンドSUSCMDが発行されると、書込みサスペンド状態通知信号NS_PSSを“0”状態から“1”状態に設定するように構成されている。書込みサスペンド状態でない場合、書込みサスペンド状態通知信号NS_PSSは“0”状態とされている。
データイン発生フラグFLGは、書込みサスペンド状態中にデータインが発生すると、書込みサスペンド状態通知信号NS_PSSの“1”状態とデータインモード信号MD_DINの“1”状態とに基づいて、“0”状態から“1”状態へセットされる。
第1選択回路SEL1の“0”と示される入力端子は、書込みデータPdataを受信する様に構成され、第1選択回路SEL1の“1”と示される入力端子は、退避レジスタSREGの出力端子に接続されている。第1選択回路SEL1の出力端子は、退避レジスタSREGの入力端子に接続されている。第1選択回路SEL1は、書込みサスペンド状態通知信号NS_PSSに基づいて、その選択動作を制御される。書込みサスペンド状態通知信号NS_PSSが“0”状態の場合、第1選択回路SEL1の“0”と示される入力端子が第1選択回路SEL1の出力端子に接続される。書込みサスペンド状態通知信号NS_PSSが“1”状態の場合、第1選択回路SEL1の“1”と示される入力端子が第1選択回路SEL1の出力端子に接続される。
第2選択回路SEL2の“0”と示される入力端子は、書込みデータPdataを受信する様に構成され、第2選択回路SEL2の“1”と示される入力端子は、退避レジスタSREGの出力端子に接続されている。第2選択回路SEL2の出力端子は、ビットラッチBLATの入力端子に接続されている。第2選択回路SEL2は、アンド回路AND1の出力に基づいて、その選択動作を制御される。アンド回路AND1の出力が“0”状態の場合、第2選択回路SEL2の“0”と示される入力端子が第2選択回路SEL2の出力端子に接続される。アンド回路AND1の出力が“1”状態の場合、第2選択回路SEL2の“1”と示される入力端子が第2選択回路SEL2の出力端子に接続される。
アンド回路AND1は、データイン発生フラグFLGの出力信号とレジューム信号RESとを受ける様に構成されている。レジューム信号RESは、CPUからレジュームコマンドRESCMDが発行されると、“1”状態とされる。アンド回路AND1の出力信号は、データイン発生フラグFLGが“1”状態、かつ、レジューム信号RESが“1”状態とされる時、“1”状態とされ、それ以外の時、“0”状態とされる。
サスペンド状態でない場合(書込みサスペンド状態通知信号NS_PSSが“0”状態)、データインコマンド(CM_DIN)と共にCPUから転送されてくる書込みデータPdataをメモリコントローラFLMCはフラッシュメモリFLMのビットラッチBLATに転送すると同時に、退避レジスタSREGに転送する。書込みサスペンド状態中(書込みサスペンド状態通知信号NS_PSSが“1”状態)において、メモリコントローラFLMCは退避レジスタSREGへデータを転送せず、フラッシュメモリFLMのビットラッチBLATのみに書込みデータPdataを転送する。また、書込みサスペンド状態中にデータインが発生するとデータイン発生フラグFLGを“1“状態にセットする。そして、レジューム時(レジューム信号RESが“1”状態)に、データイン発生フラグFLGとレジューム信号とによってデータPdataの転送元をCPUから退避レジスタSREGの経路へ切り替える。
図12は、実施例1に係るレジュームコマンド発行時の処理フローを示す図である。図13は、実施例1に係るラッチデータの遷移を説明する図である。なお、図13の書込みと書込みサスペンド中の書込みとは、図9の説明を参照することができるので、繰り返しの説明は省略する。
CPUからレジュームコマンドRESCMDが発行されると、図12に示すように、レジューム処理を実施する。レジューム処理では、レジュームコマンドRESCMDに基づいてレジューム要求がされ(SS9)、次に、データイン発生フラグFLGが“1”にセットされているか否か判断される(SS10)。データイン発生フラグFLGが“1”にセットされていれば(Yes)、SS11へ移行する。データイン発生フラグFLGが“1”にセットされていなければ(No)、SS13へ移行する。
SS11では、退避レジスタSREGに格納されている書込みデータPdata(A)をフラッシュメモリFLMのビットラッチBLATに再設定する処理(SS11)を実施する。そして、ベリファイマスクを考慮し、再設定したラッチデータPdata(A)をサスペンド時のラッチデータ(B)に復帰させるために書込みベリファイを実施する(SS12)。
次に、サスペンド動作フロー時に行った処理に対して、サスペンド状態レジスタSSRegのクリア(SS13)、退避情報(コマンド開始アドレス、選択マクロ情報など)の復帰(SS14)、フラッシュ動作FLMOPの復帰処理(SS15)、および、中断箇所からの再開(SS16)といった処理を実施する。
図12および図13に示す様に、書込みサスペンド中の書込みを行うことでデータイン発生フラグFLGがセットされ、レジューム時の処理開始前に退避レジスタSREGに格納されているデータPdata(A)を用いて、フラッシュメモリFLMのビットラッチBLATに対して書込みデータPdata(A)を再設定する処理(SS11)を実施する。また、ベリファイマスクを考慮し、再設定したラッチデータPdata(A)をサスペンド時のラッチデータ(B)に復帰させるためにベリファイを実施する(SS12)。ベリファイ(SS12)によってラッチデータ(A)とメモリセルMCを比較、メモリセルMCが書込まれていればラッチデータ(A)が反転し、サスペンド時のラッチデータ(B)の状態に復帰することができる。図13では、サスペンドするタイミングが書込みパルス印加後かつ書込みベリファイ前であったため、レジューム時のベリファイ(SS12)によってラッチデータ(A)がラッチデータ(C)へと変化する。それ以外のタイミングにおいてはサスペンド時の状態に復帰することができる。
実施例1によれば、以下の効果を得ることができる。
1)メモリコントローラFLMCに追加回路を設けるのみで、書込みサスペンド中の書込み動作および書込みサスペンド中の消去動作をサポートできる。
2)上記1)において、本発明前の設計資産であるフラッシュメモリFLMをそのまま使用することができ、設計コストの増大を抑制することができる。
3)書込みデータの再設定(SS11)およびベリファイマスク情報復元の為の書込みベリファイ(SS12)といった処理によって増加してしまうサスペンド応答時間に関しては、レジュームフロー処理中においてもサスペンドを受け付けることで悪化しないよう対策を講じることができる。
次に、実施例2について説明する。図14は、実施例2に係るフラッシュメモリFLMの回路構成の一例を示す。実施例2では、図14に示す様に、フラッシュメモリFLMの内部に、2つのビットラッチ(BLAT1,BLAT2)と2つの選択回路(SEL3,SEL4)とが設けられる。第1選択回路SEL3および第2選択回路SEL4は、書込みサスペンド状態通知信号NS_PSSとレジューム信号RESとに基づいてその選択動作が制御されるように構成されている。
サスペンド実施時、または、サスペンド中の書込みコマンドまたは消去コマンド受付時に、第1ビットラッチBLAT1を第2ビットラッチBLAT2へ切り替え、または、データの書込み先および内部参照を第2ビットラッチBLAT2へ切り替える。そして、レジューム時には、第2ビットラッチBLAT2から第1ビットラッチBLAT1へ切り替え、または、書込み先および内部参照を第1ビットラッチBLAT1とすることで、サスペンド時の状態に復帰する。
信号(NS_PSS、RES)による経路切替または退避のため、実施例1または後述される実施例3と比較してラッチデータの復帰処理が高速に完了する。図15は、実施例2におけるラッチデータの遷移を説明する図である。図15が図13と異なる点は、ベリファイマスクによって反転したラッチデータを含む情報を退避、または、別のビットラッチへと切替を行うため、図13で行ったレジューム時での書込みデータの再設定(SS11)やベリファイ(SS12)といった処理の追加が不要である。そのため、レジューム時の動作フローは、図12ではなく、図8の動作フローをそのまま使用することができる。
次に、実施例3について説明する。図16は、実施例3に係るメモリコントローラFLMCとフラッシュメモリFLMの回路構成の一例を示す図である。図17は、実施例3に係るレジュームコマンド発行時の処理フローを示す図である。図18は、実施例3に係るラッチデータの遷移を説明する図である。
図16に示す様に、ビットラッチBLATにリード機構を設け、サスペンド時またはサスペンド中の書込みコマンドまたは消去コマンド受付時に、メモリコントローラFLMCがフラッシュメモリFLMのビットラッチBLATのラッチデータをリードし、メモリコントローラFLMCに設けた退避レジスタSREGに格納または退避する。そして、実施例1と同様に、選択回路SEL2、データイン発生フラグFLGを設け、データイン発生フラグFLGが“1”状態にセットされた状態でレジュームが行われると、メモリコントローラFLMがレジューム時に退避レジスタSREGに退避していたラッチデータをフラッシュメモリFLMのビットラッチBLATに再設定する。
図17は、図12とほぼ同じで処理であるが、ベリファイマスク情報復帰の処理が不要のため、図12に設けられているベリファイ処理(SS12)が不要である。ベリファイマスク機能を搭載するフラッシュメモリFLMにおいて、ラッチデータは書込みが完了しているとラッチデータを反転し再格納されており、リードする際にベリファイマスクを含めた情報を退避、復帰することができる。実施例3の独自効果としては、ビットラッチBLATをそのまま2重持ちするような実施例2と比較すると、面積増大を抑えることができる。
実施例4における回路構成は、図1から変更はない。実施例1~3は、メモリコントローラFLMCあるいはフラッシュメモリFLMに追加回路を設け、書込みデータPdataの保持を行っていたが、実施例4では、CPUが書込みデータPdataの保持を行い、レジューム前にフラッシュメモリFLMに対して書込みデータPdataを再度転送し、レジュームコマンドRESCMDを発行する。フラッシュメモリFLMがベリファイマスク機能搭載時、メモリコントローラFLMCはレジュームコマンドRESCMDを受け取ると、ベリファイを実施し、ベリファイマスク情報をサスペンド時の状態へ復帰させ、レジューム処理を継続する。
以上、本発明者によってなされた発明を実施例に基づき具体的に説明したが、本発明は、上記実施形態および実施例に限定されるものではなく、種々変更可能であることはいうまでもない。
CPU:中央処理装置
FLM:フラッシュメモリ
FLMC:メモリコントローラ
MC:不揮発性メモリセル
BTAL:ビットラッチ
SREG:退避用のレジスタ
Pdata:書込みデータ
SUSCMD:サスペンドコマンド
RESCMD:レジュームコマンド

Claims (6)

  1. 複数の第1メモリセルと複数の第2メモリセルとを含む不揮発性メモリセルと、
    ビットラッチと、
    退避レジスタと、を含み、
    第1書込み動作において、前記ビットラッチと前記退避レジスタとに、第1書込みデータを格納し、前記ビットラッチに格納された前記第1書込みデータに基づいて、前記複数の第1メモリセルへの書込みを実施し、
    前記第1書込み動作中において、サスペンドコマンドに基づいて、前記第1書込み動作を中断して、第2書込み動作を実施し、
    前記第2書込み動作において、前記ビットラッチに第2書込みデータを格納して、前記第2書込みデータに基づいて、前記複数の第2メモリセルの書込みを実施し、
    前記第2書込み動作の終了後、レジュームコマンドに基づいて、前記退避レジスタの前記第1書込みデータを前記ビットラッチに再設定し、前記ビットラッチに再設定された前記第1書込みデータに基づいて、中断された前記第1書込み動作を再開する、
    半導体装置。
  2. 請求項1の半導体装置において、
    前記ビットラッチに再設定した前記第1書込みデータをサスペンド時のデータに復帰させるため、前記複数の第1メモリセルに対して書込みベリファイを実施する、半導体装置。
  3. 請求項1の半導体装置において、
    前記ビットラッチと前記不揮発性メモリセルとを含むフラッシュメモリと、
    前記フラッシュメモリに対する書込み動作、読み出し動作、および、消去動作に関する処理を行うメモリコントローラと、を含み、
    前記退避レジスタは、前記メモリコントローラに設けられる、半導体装置。
  4. 請求項3の半導体装置において、
    CPUを含み、
    前記CPUは、前記サスペンドコマンドおよび前記レジュームコマンドを発生する、半導体装置。
  5. 複数の第1メモリセルと複数の第2メモリセルとを含む不揮発性メモリセルと、
    第1ビットラッチと、
    第2ビットラッチと、を含み、
    第1書込み動作において、前記第1ビットラッチに、第1書込みデータを格納し、前記第1ビットラッチに格納された前記第1書込みデータに基づいて、前記複数の第1メモリセルへの書込みを実施し、
    前記第1書込み動作中において、サスペンドコマンドに基づいて、前記第1書込み動作を中断して、第2書込み動作を実施し、
    前記第2書込み動作において、前記第2ビットラッチに第2書込みデータを格納して、
    前記第2書込みデータに基づいて、前記複数の第2メモリセルの書込みを実施し、
    前記第2書込み動作の終了後、レジュームコマンドに基づいて、前記第1ビットラッチのラッチデータに基づいて、中断された前記第1書込み動作を再開する、半導体装置。
  6. 請求項5の半導体装置において、
    前記第1ビットラッチ、前記第2ビットラッチ、および、前記不揮発性メモリセルを含むフラッシュメモリと、
    前記フラッシュメモリに対する書込み動作、読み出し動作、および、消去動作に関する処理を行うメモリコントローラと、を含む、半導体装置。
JP2020086359A 2020-05-15 2020-05-15 半導体装置 Active JP7461794B2 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2020086359A JP7461794B2 (ja) 2020-05-15 2020-05-15 半導体装置
US17/318,525 US11868654B2 (en) 2020-05-15 2021-05-12 Semiconductor device
CN202110529328.2A CN113674776A (zh) 2020-05-15 2021-05-14 半导体器件
EP21173982.6A EP3910638A1 (en) 2020-05-15 2021-05-14 Semiconductor device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2020086359A JP7461794B2 (ja) 2020-05-15 2020-05-15 半導体装置

Publications (2)

Publication Number Publication Date
JP2021180062A JP2021180062A (ja) 2021-11-18
JP7461794B2 true JP7461794B2 (ja) 2024-04-04

Family

ID=75936812

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2020086359A Active JP7461794B2 (ja) 2020-05-15 2020-05-15 半導体装置

Country Status (4)

Country Link
US (1) US11868654B2 (ja)
EP (1) EP3910638A1 (ja)
JP (1) JP7461794B2 (ja)
CN (1) CN113674776A (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2023103618A (ja) * 2022-01-14 2023-07-27 株式会社日立製作所 情報処理システム

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013109823A (ja) 2011-11-21 2013-06-06 Samsung Electronics Co Ltd 不揮発性メモリ装置及び不揮発性メモリ装置を制御するコントローラの動作方法
JP2018045741A (ja) 2016-09-12 2018-03-22 東芝メモリ株式会社 半導体記憶装置及びメモリシステム
US10140062B1 (en) 2016-03-15 2018-11-27 Adesto Technologies Corporation Automatic resumption of suspended write operation upon completion of higher priority write operation in a memory device
JP2019204565A (ja) 2018-05-22 2019-11-28 東芝メモリ株式会社 半導体記憶装置及びメモリシステム

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63117396A (ja) 1986-11-05 1988-05-21 Mitsubishi Electric Corp 不揮発性半導体記憶装置
JP4986213B2 (ja) 2006-07-31 2012-07-25 ルネサスエレクトロニクス株式会社 半導体集積回路及び記憶装置
KR102639697B1 (ko) 2017-01-09 2024-02-21 삼성전자주식회사 비휘발성 메모리 장치 및 그 프로그램 방법
KR20200126609A (ko) * 2019-04-30 2020-11-09 삼성전자주식회사 비휘발성 메모리 장치 및 그 프로그래밍 방법
JP2021022414A (ja) * 2019-07-29 2021-02-18 キオクシア株式会社 半導体記憶装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013109823A (ja) 2011-11-21 2013-06-06 Samsung Electronics Co Ltd 不揮発性メモリ装置及び不揮発性メモリ装置を制御するコントローラの動作方法
US10140062B1 (en) 2016-03-15 2018-11-27 Adesto Technologies Corporation Automatic resumption of suspended write operation upon completion of higher priority write operation in a memory device
JP2018045741A (ja) 2016-09-12 2018-03-22 東芝メモリ株式会社 半導体記憶装置及びメモリシステム
JP2019204565A (ja) 2018-05-22 2019-11-28 東芝メモリ株式会社 半導体記憶装置及びメモリシステム

Also Published As

Publication number Publication date
EP3910638A1 (en) 2021-11-17
JP2021180062A (ja) 2021-11-18
US11868654B2 (en) 2024-01-09
US20210357152A1 (en) 2021-11-18
CN113674776A (zh) 2021-11-19

Similar Documents

Publication Publication Date Title
US7586785B2 (en) Non-volatile semiconductor memory device
JP6234945B2 (ja) 半導体装置、およびプレライトプログラム
US9558837B2 (en) Nonvolatile semiconductor memory device
JP5072723B2 (ja) 不揮発性半導体記憶装置
US20060050314A1 (en) Memory system which copies successive pages, and data copy method therefor
JP2012511789A (ja) 並行且つパイプライン化されたメモリ動作用の不揮発性メモリデバイス
JPWO2007069295A1 (ja) 半導体装置およびその制御方法
KR20100019350A (ko) 불휘발성 반도체 기억 시스템
JP2012507768A (ja) フラッシュメモリのキャッシングポリシーを実施する方法および装置
JP2011100518A (ja) 半導体装置及びその制御方法
US20190295634A1 (en) Memory system
JP7461794B2 (ja) 半導体装置
JP2004030784A (ja) 半導体記憶装置
JP2018156698A (ja) メモリシステム
JP4254932B2 (ja) メモリコントローラ及びフラッシュメモリシステム
CN111627482A (zh) 非易失性存储装置中的程序挂起-恢复技术
JP2012133843A (ja) 半導体記憶装置
JP2007034581A (ja) メモリコントローラ、フラッシュメモリシステム及びフラッシュメモリの制御方法
JPWO2007013154A1 (ja) 半導体装置およびその制御方法
JP2000132981A (ja) 不揮発性半導体記憶装置の書込み装置とその書込み方法
JP5023208B2 (ja) 半導体記憶装置及びそのテスト方法
JP2023039459A (ja) メモリシステムおよび方法
JP4609406B2 (ja) メモリコントローラ、メモリコントローラを備えるフラッシュメモリシステム、並びに、フラッシュメモリの制御方法
JP6877265B2 (ja) 半導体装置、及びフラッシュメモリ制御方法
JP4148990B2 (ja) エラー許容データのための不揮発性メモリデバイス

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20220905

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20230905

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20231031

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20231212

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: 20240312

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20240325

R150 Certificate of patent or registration of utility model

Ref document number: 7461794

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150