JP2011100518A - 半導体装置及びその制御方法 - Google Patents
半導体装置及びその制御方法 Download PDFInfo
- Publication number
- JP2011100518A JP2011100518A JP2009255311A JP2009255311A JP2011100518A JP 2011100518 A JP2011100518 A JP 2011100518A JP 2009255311 A JP2009255311 A JP 2009255311A JP 2009255311 A JP2009255311 A JP 2009255311A JP 2011100518 A JP2011100518 A JP 2011100518A
- Authority
- JP
- Japan
- Prior art keywords
- block
- decoder
- blocks
- information
- sram
- 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.)
- Withdrawn
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
- G06F12/0238—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
- G06F12/0246—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/08—Address circuits; Decoders; Word-line control circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/10—Programming or data input circuits
- G11C16/14—Circuits for erasing electrically, e.g. erase voltage switching circuits
- G11C16/16—Circuits for erasing electrically, e.g. erase voltage switching circuits for erasing blocks, e.g. arrays, words, groups
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/70—Masking faults in memories by using spares or by reconfiguring
- G11C29/76—Masking faults in memories by using spares or by reconfiguring using address translation or modifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/04—Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS
- G11C16/0483—Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS comprising cells having several storage transistors connected in series
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C2216/00—Indexing scheme relating to G11C16/00 and subgroups, for features not directly covered by these groups
- G11C2216/12—Reading and writing aspects of erasable programmable read-only memories
- G11C2216/20—Suspension of programming or erasing cells in an array in order to read other cells in it
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/70—Masking faults in memories by using spares or by reconfiguring
- G11C29/78—Masking faults in memories by using spares or by reconfiguring using programmable devices
- G11C29/785—Masking faults in memories by using spares or by reconfiguring using programmable devices with redundancy programming schemes
- G11C29/789—Masking faults in memories by using spares or by reconfiguring using programmable devices with redundancy programming schemes using non-volatile cells or latches
Abstract
【課題】複数ブロックの消去動作を容易に中断可能な半導体装置及びその制御方法を提供すること。
【解決手段】複数のブロックBLKと前記ブロックBLKを選択するデコーダ11とを備え、複数の前記ブロックBLKにつき一括してデータを消去可能であり、前記デコーダ11が、少なくともデータの読み出し時及び書き込み時には不良ブロック情報を保持し、複数の前記ブロックBLKに対する一括消去時には消去対象となるブロックの情報を保持するNAND型フラッシュメモリ2と、前記消去対象となるブロックBLKの情報を保持可能なSRAM30と、前記一括消去時において、前記消去対象となるブロックBLKの情報を前記SRAM30から読み出して、前記デコーダ11にセットするコントローラ4とを具備する。
【選択図】図3
【解決手段】複数のブロックBLKと前記ブロックBLKを選択するデコーダ11とを備え、複数の前記ブロックBLKにつき一括してデータを消去可能であり、前記デコーダ11が、少なくともデータの読み出し時及び書き込み時には不良ブロック情報を保持し、複数の前記ブロックBLKに対する一括消去時には消去対象となるブロックの情報を保持するNAND型フラッシュメモリ2と、前記消去対象となるブロックBLKの情報を保持可能なSRAM30と、前記一括消去時において、前記消去対象となるブロックBLKの情報を前記SRAM30から読み出して、前記デコーダ11にセットするコントローラ4とを具備する。
【選択図】図3
Description
この発明は、半導体装置及びその制御方法に関する。
従来、複数のブロックを一括して消去可能なNAND型フラッシュメモリが知られている(例えば特許文献1参照)。
本文献に開示の技術では、ブロックを選択するデコーダにおいて、一括消去対象となるブロックの情報と不良ブロック情報とを一つのラッチ回路を保持させ、これにより回路素子数を減少させる。
この発明は、複数ブロックの消去動作を容易に中断可能な半導体装置及びその制御方法を提供する。
この発明の一態様に係る半導体装置は、複数のメモリセルを含む複数のブロックと、前記ブロックを選択するデコーダとを備え、複数の前記ブロックにつき一括してデータを消去可能であり、前記デコーダが、少なくともデータの読み出し時及び書き込み時には不良ブロック情報を保持し、複数の前記ブロックに対する一括消去時には消去対象となるブロックの情報を保持するNAND型フラッシュメモリと、前記消去対象となるブロックの情報を保持可能なSRAMと、前記一括消去時において、前記消去対象となるブロックの情報を前記SRAMから読み出して、前記デコーダにセットするコントローラとを具備する。
また、この発明の一態様に係る半導体装置の制御方法は、各々が複数のメモリセルを含む複数のブロックと、前記ブロックを選択するデコーダとを有するNAND型フラッシュメモリを備えた半導体装置の制御方法であって、中断命令に応答して、複数の前記ブロックを一括消去する複数ブロック消去動作を中断するステップと、前記中断の後、前記不良ブロック情報を前記デコーダにセットして、前記ブロックに対するデータの読み出しまたは書き込み動作を実行するステップと、前記データの読み出しまたは書き込み動作の後、再開命令に応答して、前記一括消去されるブロックの情報をSRAMから読み出して前記デコーダにセットして、前記複数ブロック消去動作を再開するステップとを具備する。
本発明によれば、複数ブロックの消去動作を容易に中断可能な半導体装置及びその制御方法を提供出来る。
特許文献1に開示の技術によれば、ブロックを選択するデコーダにおいて、一括消去対象となるブロックの情報と不良ブロック情報とを一つのラッチ回路を保持させ、これにより回路素子数を減少させる。しかしながら、本構成であると、複数のブロックを一括消去する動作を中断することが困難であった。
以下、この発明の実施形態につき図面を参照して説明する。この説明に際し、全図にわたり、共通する部分には共通する参照符号を付す。
[第1の実施形態]
この発明の第1の実施形態に係る半導体装置及びその制御方法について説明する。図1は、本実施形態に係るメモリシステムのブロック図である。
この発明の第1の実施形態に係る半導体装置及びその制御方法について説明する。図1は、本実施形態に係るメモリシステムのブロック図である。
<メモリシステムの全体構成>
図示するように、本実施形態に係るメモリシステム1は、大まかにはNAND型フラッシュメモリ2、RAM部3、及びコントローラ部4を備えている。そしてNAND型フラッシュメモリ2、RAM部3、及びコントローラ部4は、同一の半導体基板上に形成され、1つのチップに集積されている。以下、各ブロックの詳細について説明する。
図示するように、本実施形態に係るメモリシステム1は、大まかにはNAND型フラッシュメモリ2、RAM部3、及びコントローラ部4を備えている。そしてNAND型フラッシュメモリ2、RAM部3、及びコントローラ部4は、同一の半導体基板上に形成され、1つのチップに集積されている。以下、各ブロックの詳細について説明する。
<NAND型フラッシュメモリ2>
NAND型フラッシュメモリ2は、メモリシステム1の主記憶部として機能する。図1に示すようにNAND型フラッシュメモリ2は、メモリセルアレイ10、ロウデコーダ11、ページバッファ12、電圧発生回路13、シーケンサ14、及びオシレータ15、16を備えている。
NAND型フラッシュメモリ2は、メモリシステム1の主記憶部として機能する。図1に示すようにNAND型フラッシュメモリ2は、メモリセルアレイ10、ロウデコーダ11、ページバッファ12、電圧発生回路13、シーケンサ14、及びオシレータ15、16を備えている。
メモリセルアレイ10は、選択トランジスタと、データを保持可能なメモリセルトランジスタとを複数備えている。メモリセルトランジスタの各々は、電荷蓄積層と制御ゲートとを含む積層ゲートを有するMOSトランジスタである。選択トランジスタのゲートはセレクトゲート線に接続され、メモリセルトランジスタの制御ゲートはワード線に接続されている。メモリセルアレイ10は、複数のメモリセルトランジスタの集合であるブロックを、複数備えている。そしてブロックが消去単位となる。すなわち、同一のブロックに含まれるメモリセルトランジスタのデータは、一括して消去される。また本実施形態に係るNAND型フラッシュメモリ2では、複数のブロックにつき一括してデータを消去することも可能である。これを以下ではMBE(multi-block erase)と呼ぶことにする。
ロウデコーダ11は、データのプログラム、読み出し、及び消去動作の際に、ワード線及びセレクトゲート線を選択する。そして、ワード線及びセレクトゲート線に対して、必要な電圧を印加する。メモリセルアレイ10及びロウデコーダ11の詳細については後述する。
ページバッファ12はページサイズのデータを保持可能とされ、データのプログラム動作時には、RAM部3から与えられるデータを一時的に保持し、メモリセルアレイ10にデータを書き込む。他方、読み出し動作時には、メモリセルアレイ10から読み出されたデータを一時的に保持し、RAM部3へ転送する。
電圧発生回路13は、外部から与えられる電圧を昇圧または降圧することにより、データのプログラム、読み出し、及び消去に必要な電圧を発生する。そして発生した電圧を、例えばロウデコーダ11に供給する。電圧発生回路13で発生された電圧が、ワード線WLに印加される。
シーケンサ14は、NAND型フラッシュメモリ2全体の動作を司る。すなわち、コントローラ部4からプログラム命令(Program)、ロード命令(Load)、または消去命令(図示せず)を受けると、これに応答して、データのプログラム、読み出し、及び消去を実行するためのシーケンスを実行する。そして、このシーケンスに従って、電圧発生回路13やページバッファ12の動作を制御する。
オシレータ15は内部クロックICLKを生成する。すなわち、クロック生成器として機能する。そしてオシレータ15は、生成した内部クロックICLKをシーケンサ14に供給する。シーケンサ14は、この内部クロックICLKに同期して動作する。
オシレータ16は内部クロックACLKを生成する。すなわち、クロック生成器として機能する。そしてオシレータ16は、生成した内部クロックACLKをコントローラ部4やRAM部3へ供給する。内部クロックACLKは、コントローラ部4やRAM部3の動作の基準となるクロックである。
<RAM部3>
次に、引き続き図1を参照しつつ、RAM部3について説明する。RAM部3は、大まかにはECC部20、SRAM(Static Ramdom Access Memory)30、インターフェース部40、及びアクセスコントローラ50を備えている。
次に、引き続き図1を参照しつつ、RAM部3について説明する。RAM部3は、大まかにはECC部20、SRAM(Static Ramdom Access Memory)30、インターフェース部40、及びアクセスコントローラ50を備えている。
本実施形態に係るメモリシステム1では、NAND型フラッシュメモリ2が主記憶部として機能し、RAM部3のSRAM30がバッファとして機能する。従って、NAND型フラッシュメモリ2からデータを外部に読み出す際には、まずNAND型フラッシュメモリ2のメモリセルアレイ10から読み出されたデータが、ページバッファ12を介してRAM部3のSRAM30に格納される。その後、SRAM30内のデータがインターフェース部40に転送されて、外部に出力される。他方、データをNAND型フラッシュメモリ2に記憶させる際には、まず外部から与えられたデータが、インターフェース部40を介してRAM部3内のSRAM30に格納される。その後、SRAM30内のデータがページバッファ12へ転送されて、メモリセルアレイ10に書き込まれる。
以下では、データがメモリセルアレイ10から読み出されてから、ページバッファ12を介してSRAM30に転送されるまでの動作を、データの“ロード(load)”と呼ぶ。また、SRAM30内のデータが、インターフェース部40内において後述するバーストバッファ41、42を介してインターフェース43に転送されるまでの動作を、データの“リード(read)”と呼ぶ。
更に、NAND型フラッシュメモリ2に記憶させるべきデータが、インターフェース43からバーストバッファ41、42を介してSRAM30に転送されるまでの動作を、データの“ライト(write)”と呼ぶ。また、SRAM30内のデータがページバッファ12に転送されて、NAND型フラッシュメモリ2のメモリセルアレイ10に書き込まれるまでの動作を、データの“プログラム(program)”と呼ぶ。
以下、ECC部20、SRAM30、インターフェース部40、及びアクセスコントローラ50の各々の構成について説明する。
<<ECC部20>>
ECC部20は、データについてのエラー検出及びエラー訂正、並びにパリティの生成(以下、これらをまとめてECC処理と呼ぶことがある)を行う。すなわち、データのロード時には、NAND型フラッシュメモリ2から読み出されたデータについてエラーの検出及び訂正を行う。他方、データのプログラム時には、プログラムすべきデータについてパリティの生成を行う。ECC部20は、ECCバッファ21及びECCエンジン22を備えている。
ECC部20は、データについてのエラー検出及びエラー訂正、並びにパリティの生成(以下、これらをまとめてECC処理と呼ぶことがある)を行う。すなわち、データのロード時には、NAND型フラッシュメモリ2から読み出されたデータについてエラーの検出及び訂正を行う。他方、データのプログラム時には、プログラムすべきデータについてパリティの生成を行う。ECC部20は、ECCバッファ21及びECCエンジン22を備えている。
ECCバッファ21は、NANDバスによりNAND型フラッシュメモリ2のページバッファ12と接続され、ECCバスによりSRAM30と接続される。これらのバス幅は共に等しく、例えば64ビットである。そしてデータのロード時には、ページバッファ12からNANDバスを介して転送されるデータを保持すると共に、ECC処理済みのデータをSRAM30へECCバスを介して転送する。他方、データのプログラム時には、SRAM30からECCバスを介して転送されるデータを保持すると共に、転送されたデータとパリティとをページバッファ12へNANDバスを介して転送する。
ECCエンジン22は、ECCバッファ21に保持されるデータを用いてECC処理を行う。ECCエンジン22は、例えばハミングコードを用いた1ビット訂正方式を用いる。ECCエンジン22は、データロード時にはパリティを用いてシンドロームを生成し、これによりエラー検出を行う。そしてエラーが発見された際には、これを訂正する。他方、データプログラム時にはパリティを生成する。
<<SRAM30>>
次にSRAM30について説明する。メモリシステム1においてSRAM30は、NAND型フラッシュメモリ2に対するバッファメモリとして機能する。図示するように、SRAM30はDQバッファ31、複数(本実施形態では2つ)のデータRAM、1つのブート(boot)RAM、1つのプロテクトRAM(図中のSRAM Protect)、及び1つのMBE用RAM(図中のSRAM MBE)を備えている。
次にSRAM30について説明する。メモリシステム1においてSRAM30は、NAND型フラッシュメモリ2に対するバッファメモリとして機能する。図示するように、SRAM30はDQバッファ31、複数(本実施形態では2つ)のデータRAM、1つのブート(boot)RAM、1つのプロテクトRAM(図中のSRAM Protect)、及び1つのMBE用RAM(図中のSRAM MBE)を備えている。
DQバッファ31は、データRAM、ブートRAM、プロテクトRAM、またはMBE用RAMにデータを書き込む、または読み出す際に、一時的にデータを保持する。DQバッファ31は前述の通り、ECCバスにより、ECCバッファ21との間でデータ転送可能とされている。またDQバッファ31は、例えば64ビットのバス幅を有するRAM/Registerバスを用いて、インターフェース部40との間でデータ転送可能とされている。DQバッファ31もページバッファ12と同様に、メインデータを保持する領域と、パリティ等を保持する領域とを備えている。
ブートRAMは、例えばメモリシステム1を起動するためのブートコード(boot code)を一時的に保持する。ブートRAMの容量は、例えば1Kバイトである。プロテクトRAMは、プロテクト情報、すなわち例えばプロテクトされたブロック(NAND型フラッシュメモリ2において、例えばデータの書き込み、読み出し、または消去が制限されたブロック)についての情報(例えばブロックアドレス)を保持する。MBE用RAMは、MBE情報、すなわち例えばMBEを行う際において消去対象となるブロックの情報(例えばブロックアドレス)を保持する。データRAMは、ブートコード、プロテクト情報、及びMBE情報以外のデータ(メインデータ及びパリティ)を一時的に保持し、その容量は例えば2Kバイトであり、2つ設けられている。これらは各々、メモリセルアレイ32、センスアンプ33、及びロウデコーダ34を備えている。
メモリセルアレイ32は、データ保持可能な複数のSRAMセルを備える。SRAMセルはそれぞれ、ワード線及びビット線に接続される。センスアンプ33は、SRAMセルからビット線に読み出したデータをセンス・増幅する。またセンスアンプ33は、DQバッファ31内のデータをSRAMセルに書き込む際の負荷としても機能する。ロウデコーダ34は、メモリセルアレイ32におけるワード線を選択する。
<<インターフェース部40>>
次に、引き続き図1を参照しつつインターフェース部40について説明する。図示するようにインターフェース部40は、複数(本実施形態では2つ)のバーストバッファ(burst buffer)41、42及びインターフェース43を備えている。
次に、引き続き図1を参照しつつインターフェース部40について説明する。図示するようにインターフェース部40は、複数(本実施形態では2つ)のバーストバッファ(burst buffer)41、42及びインターフェース43を備えている。
インターフェース43は、メモリシステム1外部のホスト機器と接続可能とされ、ホスト機器との間でデータ、制御信号、及びアドレスAdd等、種々の信号の入出力を司る。制御信号の一例は、メモリシステム1全体をイネーブルにするチップイネーブル信号/CE、アドレスをラッチさせるためのアドレスバリッド信号/AVD、バーストリード(burst read)用のクロックCLK、書き込み動作をイネーブルにするライトイネーブル信号/WE、データの外部への出力をイネーブルにするアウトプットイネーブル信号/OE、などである。MBEコマンドもインターフェース43で受け付けられる。
インターフェース43は、例えば16ビットのバス幅を有するDIN/DOUTバスによりバーストバッファ41、42と接続されている。そしてインターフェース34は、ホスト機器からのデータのリード要求、ロード要求、ライト要求、プログラム要求、及びMBE要求等に係る制御信号をアクセスコントローラ50へ転送する。そしてデータリード時には、バーストバッファ41、42内のデータをホスト機器へ出力する。またデータライト時には、ホスト機器から与えられるデータをバーストバッファ41、42へ転送する。更にMBE時には、ホスト機器から与えられるMBE要求と、消去対象となるブロックアドレスをバーストバッファ41、42へ転送する。
バーストバッファ41、42は、RAM/RegisterバスによりDQバッファ31及びコントローラ部4とデータ転送可能とされ、また前述のDIN/DOUTバスによりインターフェース43とデータ転送可能とされている。そして、ホスト機器からインターフェース43を介して与えられるデータ、またはDQバッファ31から与えられるデータを、一時的に保持する。
<<アクセスコントローラ50>>
アクセスコントローラ50は、インターフェース43から制御信号及びアドレスを受け取る。そして、ホスト機器の要求を満たす動作を実行するよう、SRAM30及びコントローラ部4を制御する。
アクセスコントローラ50は、インターフェース43から制御信号及びアドレスを受け取る。そして、ホスト機器の要求を満たす動作を実行するよう、SRAM30及びコントローラ部4を制御する。
より具体的には、ホスト機器の要求に応じてアクセスコントローラ50は、SRAM30とコントローラ4の後述するレジスタ60とのいずれかをアクティブ状態とする。そして、SRAM30に対するデータのライトコマンドまたはリードコマンド(Write/Read)、またはレジスタ60に対するライトコマンドまたはリードコマンド(Write/Read、以下、これをレジスタライトコマンドまたはレジスタリードコマンドと呼ぶ)を発行する。これらの制御により、SRAM30及びコントローラ部4は動作を開始する。同様にしてアクセスコントローラ50は、MBE時にはMBEコマンドを発行する。
<コントローラ部4>
次に、引き続き図1を参照しつつ、コントローラ部4について説明する。コントローラ部4は、NAND型フラッシュメモリ2及びRAM部3の動作を制御する。すなわち、メモリシステム1全体としての動作を統括する機能を有する。図示するようにコントローラ部4は、レジスタ60、コマンドユーザインターフェース(command user interface)61、ステートマシン(state machine)62、アドレス/コマンド発生回路63、及びアドレス/タイミング発生回路64を備えている。
次に、引き続き図1を参照しつつ、コントローラ部4について説明する。コントローラ部4は、NAND型フラッシュメモリ2及びRAM部3の動作を制御する。すなわち、メモリシステム1全体としての動作を統括する機能を有する。図示するようにコントローラ部4は、レジスタ60、コマンドユーザインターフェース(command user interface)61、ステートマシン(state machine)62、アドレス/コマンド発生回路63、及びアドレス/タイミング発生回路64を備えている。
レジスタ60は、ファンクションの動作状態を設定するためのレジスタである。すなわちレジスタ60は、アクセスコントローラ50から与えられるレジスタライトコマンドまたはレジスタリードコマンドに応じて、ファンクションの動作状態を設定する。より具体的には、レジスタ60には、例えばデータロード時にはロードコマンドが設定され、データプログラム時にはプログラムコマンドが設定され、MBE時にはMBEコマンドが設定される。
コマンドユーザインターフェース61は、所定のコマンドがレジスタ60に設定されることで、メモリシステム1に対してファンクション実行コマンドが与えられたことを認識する。そして、内部コマンド信号(Command)を発行し、ステートマシン62へ出力する。
ステートマシン62は、コマンドユーザインターフェース61から与えられる内部コマンド信号に基づいて、メモリシステム1内部におけるシーケンス動作を制御する。ステートマシン62がサポートするファンクションは、ロード、プログラム、及び消去等、多数あり、これらのファンクションを実行するよう、NAND型フラッシュメモリ2及びRAM部3の動作を制御する。なお前述の通りロードは、NAND型フラッシュメモリ2からデータを読み出してSRAM30へ出力する動作であり、プログラムは、RAMデータをNAND型フラッシュメモリ2に記憶する動作であり、消去は、NAND型フラッシュメモリ2内のデータを削除する動作である。
アドレス/コマンド発生回路63は、ステートマシン62の制御に基づいてNAND型フラッシュメモリ2の動作を制御する。より具体的には、アドレスやコマンド(Program/Load/Erase)等を生成し、NAND型フラッシュメモリ2へ出力する。アドレス/コマンド発生回路63は、オシレータ16の生成する内部クロックACLKに同期しつつ、これらのアドレスやコマンドを出力する。
アドレス/タイミング発生回路64は、ステートマシン62の制御に基づいてRAM部3の動作を制御する。より具体的には、RAM部3において必要なアドレスやコマンドを発行して、アクセスコントローラ50及びECCエンジン22へ出力する。
<NAND型フラッシュメモリ2の構成の詳細>
次に、上記NAND型フラッシュメモリ2につき、特にメモリセルアレイ10とロウデコーダ11に着目して、その詳細な構成について説明する。図2は、メモリセルアレイ10とロウデコーダ11の回路図である。
次に、上記NAND型フラッシュメモリ2につき、特にメモリセルアレイ10とロウデコーダ11に着目して、その詳細な構成について説明する。図2は、メモリセルアレイ10とロウデコーダ11の回路図である。
<<メモリセルアレイ2の詳細>>
まず、メモリセルアレイ2について説明する。図2に示すようにメモリセルアレイ10は、(m+1)個(mは2以上の自然数)のブロックBLK0〜BLKmを備えている。以降、ブロックBLK0〜BLKmをそれぞれ区別しない場合には単にブロックBLKと呼ぶことにする。ブロックBLKの各々は、(n+1)個(n+1は2以上の自然数)の複数のメモリセルユニット17を備えている。
まず、メモリセルアレイ2について説明する。図2に示すようにメモリセルアレイ10は、(m+1)個(mは2以上の自然数)のブロックBLK0〜BLKmを備えている。以降、ブロックBLK0〜BLKmをそれぞれ区別しない場合には単にブロックBLKと呼ぶことにする。ブロックBLKの各々は、(n+1)個(n+1は2以上の自然数)の複数のメモリセルユニット17を備えている。
メモリセルユニット17の各々は、例えば32個のメモリセルトランジスタMT0〜MT31と、選択トランジスタST1、ST2とを含んでいる。以下、メモリセルトランジスタMT0〜MT31を区別しない場合には、単にメモリセルトランジスタMTと呼ぶ。メモリセルトランジスタMTは、半導体基板上にゲート絶縁膜を介在して形成された電荷蓄積層(例えば浮遊ゲート)と、電荷蓄積層上にゲート間絶縁膜を介在して形成された制御ゲートとを有する積層ゲート構造を備えている。なお、メモリセルトランジスタMTの個数は32個に限られず、8個や16個、64個、128個、256個等であってもよく、その数は限定されるものではない。またメモリセルトランジスタMTは、電荷蓄積層として窒化膜等の絶縁膜を使用し、この窒化膜に電子をトラップさせる方式を用いたMONOS(Metal Oxide Nitride Oxide Silicon)構造であっても良い。
メモリセルトランジスタMTは、隣接するもの同士でソース、ドレインを共有している。そして、選択トランジスタST1、ST2間に、その電流経路が直列接続されるようにして配置されている。直列接続されたメモリセルトランジスタMTの一端側のドレインは選択トランジスタST1のソースに接続され、他端側のソースは選択トランジスタST2のドレインに接続されている。
同一行にあるメモリセルトランジスタMTの制御ゲートは、ワード線WL0〜WL31のいずれかに共通接続される。また同一行にある選択トランジスタST1、ST2のゲートは、それぞれセレクトゲート線SGD、SGSに共通接続されている。なお説明の簡単化のため、以下ではワード線WL0〜WL31を、単にワード線WLと呼ぶことがある。
また選択トランジスタST1のドレインはビット線BL0〜BLnのいずれかに接続される。このビット線BL0〜BLnは、複数のブロックBLK間で、複数のメモリセルユニット17を共通接続する。ビット線BL0〜BLnについても、区別しない場合には単にビット線BLと呼ぶ。
選択トランジスタST2のソースはソース線SLに接続される。ソース線SLは、メモリセルアレイ10内において共通に使用される。
上記構成において、同一のワード線WLに接続された複数のメモリセルトランジスタMTには一括してデータが書き込まれ、または読み出され、この単位をページと呼ぶ。更に、同一行にある複数のメモリセルユニット17は一括してデータが消去され、この単位が上記ブロックである。
各々のメモリセルトランジスタMTは、例えば、浮遊ゲートに注入された電子の多寡によるトランジスタの閾値電圧の変化に応じて、1ビットのデータを保持することが可能である。なお、閾値電圧の制御を細分化し、各々のメモリセルトランジスタMTに2ビット以上のデータを保持する構成としても良い。
また各ブロックBLKにおいて、一部のメモリセルユニット17は、エラー訂正用の情報(パリティ等)を保持するために用いられ、残りのメモリセルユニット17が正味のユーザデータ保持用として用いられる。
更に、いずれかのブロックBLK(本実施形態ではブロックBLKm)は、NAND型フラッシュメモリ2のシステム情報を保持するために使用される。システム情報の一例は、不良ブロック情報である。不良ブロック情報とは、何らかの不良によって使用不可とされたブロックBLKの情報であり、例えばそのブロックアドレスである。以下では、このブロックBLKmを、ROMヒューズブロックと呼ぶことがある。
<<ロウデコーダ11の詳細>>
次に、引き続き図2を参照してロウデコーダ11について説明する。図示するようにロウデコーダ11は、転送ゲート70−0〜70−m、ブロックデコーダ71−0〜71−m、及びドライバ回路72を備えている。
次に、引き続き図2を参照してロウデコーダ11について説明する。図示するようにロウデコーダ11は、転送ゲート70−0〜70−m、ブロックデコーダ71−0〜71−m、及びドライバ回路72を備えている。
ドライバ回路72は、ブロックBLK0〜BLKmに共通して設けられる。そしてドライバ回路72はページアドレスをデコードして、ワード線WL0〜WL31及びセレクトゲート線SGD、SGSに印加すべき電圧を転送ゲート70−0〜70−mに供給する。
ブロックデコーダ71−0〜71−mもまた、ブロックBLK0〜BLKmに対応して設けられる。言い換えれば、転送ゲート70−0〜70−mに対応して設けられる。そしてブロックデコーダ71−0〜71−mはブロックアドレスをデコードして、対応する転送ゲート70−0〜70−mをオンまたはオフさせる。
転送ゲート70−0〜70−mは、ブロックBLK0〜BLKmに対応して設けられる。そして、ドライバ回路72から与えられる電圧を、対応するブロックBLKのワード線WL及びセレクトゲート線SGD、SGSに転送する。つまり、ブロックデコーダ71によっていずれかの転送ゲート70−0〜70−mが選択され、ドライバ回路72で発生された電圧が、選択された転送ゲート70−0〜70−mによってブロックBLKに転送される。そしていずれのワード線WLにどのような電圧を与えるか(すなわちどのワード線WLを選択するか)は、ドライバ回路72によって選択される。以下、転送ゲート70−0〜70−mについても単に転送ゲート70と呼ぶことがある。
<<転送ゲート70とブロックデコーダ71の詳細>>
次に、上記転送ゲート70とブロックデコーダ71の詳細について、図3を用いて説明する。図3は転送ゲート70とブロックデコーダ71の回路図である。
次に、上記転送ゲート70とブロックデコーダ71の詳細について、図3を用いて説明する。図3は転送ゲート70とブロックデコーダ71の回路図である。
まず転送ゲート70について説明する。図示するように転送ゲート70は、MOSトランジスタ73〜75を備えている。
MOSトランジスタ73は、セレクトゲート線SGD、SGS及びワード線WL0〜WL31にそれぞれ対応づけて設けられた、高耐圧型のエンハンスメント型nチャネルMOSトランジスタである。MOSトランジスタ73の電流経路の一端は、セレクトゲート線SGD、SGS及びワード線WL0〜WL31のうちの対応するいずれかに接続され、他端にはドライバ回路72によって電圧が供給される。同一の転送ゲート70内のMOSトランジスタ73はゲートが共通接続され、対応するブロックデコーダ71のノードXFERGに接続される。ノードXFERGからは信号RDECADが与えられる。信号RDECADは、対応するブロックBLKが選択ブロックであった場合には“H”レベルとされ、非選択ブロックであった場合には“L”レベルとされる信号である。
MOSトランジスタ74、75は高耐圧型のディプレッション型nチャネルMOSトランジスタであり、電流経路が直列接続されている。そして、MOSトランジスタ74のソースがセレクトゲート線SGD、SGSに接続され、MOSトランジスタ75のドレインがノードSGDSに接続され、ゲートには信号RDECADnが入力される。
信号RDECADnは、信号RDECADの反転信号である。従って、選択ブロックに対応する転送ゲート70は、MOSトランジスタ73によってドライバ回路72の電圧を転送し、非選択ブロックに対応する転送ゲート70は、MOSトランジスタ74、75によってノードSGDSにおける電圧を転送する。
次にブロックデコーダ71について説明する。図示するようにブロックデコーダ71は、大まかにはデコード手段80、保持手段81、セット手段82、リセット手段83、読み出し手段84、及びレベルシフタ85を備えている。
デコード手段80は、前述の高耐圧型MOSトランジスタよりも耐圧の低い、低耐圧型のエンハンスメント型pチャネルMOSトランジスタPM1、PM2、低耐圧型のエンハンスメント型nチャネルMOSトランジスタ86−0〜86−4、87〜89、及びインバータ90〜92を備えている。MOSトランジスタPM1、PM2は、ソースに電源電位Vddが与えられ、ドレインが共通に接続され、MOSトランジスタPM1のゲートには信号RDECが与えられる。MOSトランジスタ88、89は、ソースが接地され、ドレインが共通接続され、MOSトランジスタ88のゲートには信号ROMBAENが与えられる。信号ROMBAENは、通常、常時“L”レベルである。MOSトランジスタ86−0〜86−4、87は、MOSトランジスタPM1、PM2のドレインと、MOSトランジスタ88、89のドレインとの間に順次、その電流経路が直列接続されている。そしてそれぞれのゲートに信号ARROWA〜ARROWE、RDECが入力される。ブロックデコーダ71が選択ブロックに相当する場合には、信号ARROWA〜ARROWEの全てが“H”レベルとなり、相当しない場合には少なくともいずれかが“L”レベルとなる。信号RDECは信号ARROWA〜ARROWEが入力される際に“H”レベルとなる信号であり、入力される前には“L”レベルとされる。インバータ90〜92は直列接続され、インバータ90の入力ノードがMOSトランジスタPM1、PM2のソース及びMOSトランジスタ86−0のドレインに接続される。インバータ90の出力ノード及びインバータ91の入力ノードはMOSトランジスタPM2のゲートに接続される。またインバータ91の出力が信号RDECADnとなる。
保持手段81は、インバータIN1、IN2を備えたラッチ回路である。インバータIN1の入力ノードとインバータIN2の出力ノードはノードL1に接続され、インバータIN2の入力ノードとインバータIN1の出力ノードはノードL2に接続される。ノードL1はMOSトランジスタ89のゲートに接続される。保持手段81は、データのロード、プログラム、及び通常の消去動作(消去対象ブロックが1個である消去動作)時には、不良ブロック情報を保持する。保持手段81に不良ブロック情報が格納されるタイミングの一つは、メモリシステム1への電源投入時である。すなわち電源投入時において、コントローラ部4の命令に基づいて、ROMヒューズブロック(ブロックBLKm)から不良ブロック情報が読み出され、これが保持手段81に保持される。より具体的には、全てのブロックデコーダ71の保持手段81において信号FRSTが“H”レベルとされて、ノードL1は“H”レベルとなる。引き続き、不良ブロックに対応するブロックデコーダ71のみを選択した状態で、信号FSETが“H”レベルとされる。その結果、当該ブロックデコーダ71ではノードL1が“L”レベルとされる。また、MBE動作時には、SRAM30に格納されていた前述のMBE情報を保持する。MBE動作時の詳細については後述する。つまり、保持手段81が保持する情報に応じて、ノードL1の電位は“H”レベルまたは“L”レベルの状態を取る。
セット手段82は、低耐圧型のエンハンスメント型nチャネルMOSトランジスタNM1、NM2を備えている。MOSトランジスタNM1のソースは接地され、ゲートに信号FSETが入力される。MOSトランジスタNM2は、ソースがMOSトランジスタNM1のドレインに接続され、ドレインがノードL1に接続され、ゲートがインバータ90の出力ノードに接続されている。
リセット手段83は、低耐圧型のエンハンスメント型nチャネルMOSトランジスタNM3、NM4を備えている。MOSトランジスタNM3のソースは接地され、ゲートに信号FRSTが入力される。MOSトランジスタNM4は、ソースがMOSトランジスタNM3のドレインに接続され、ドレインがノードL2に接続され、ゲートがインバータ90の出力ノードに接続されている。
読み出し手段84は、低耐圧型のエンハンスメント型nチャネルMOSトランジスタ93〜95を備えている。MOSトランジスタ93〜95は、ノードPBUSBSと接地電位ノードとの間に順次、その電流経路が直列接続されている。MOSトランジスタ93のゲートはインバータ90の出力ノードに接続され、MOSトランジスタ94のゲートには信号BBSENが入力され、MOSトランジスタ95のゲートはノードL2に接続されている。ノードPBUSBSは、各ブロックデコーダ71間で共通接続されている。
レベルシフタ85は、MOSトランジスタ96〜99を備えている。MOSトランジスタ96は、低耐圧型のディプレッション型nチャネルMOSトランジスタであり、ドレインがインバータ92の出力ノードに接続され、ゲートに信号BSTONが与えられる。信号BSTONは、ブロックアドレスデコード時に“H”レベルとされる信号である。MOSトランジスタ97は、MOSトランジスタ96よりも高耐圧型のディプレッション型nチャネルMOSトランジスタである。MOSトランジスタ97は、ドレインがMOSトランジスタ96のソースに接続され、ドレインがノードXFERGに接続され、ゲートに信号BSTONが与えられる。MOSトランジスタ98は、上記高耐圧型のエンハンスメント型pチャネルMOSトランジスタである。MOSトランジスタ98は、ドレインがノードXFERGに接続され、ソースがバックゲートに接続され、ゲートに信号RDECADnが入力される。MOSトランジスタ99は、上記高耐圧型のディプレッション型nチャネルMOSトランジスタである。MOSトランジスタ99は、ドレインに電圧VRDECが与えられ、ソースがMOSトランジスタ98のソースに接続され、ゲートがノードXFERGに接続される。電圧VRDECは、データの書き込み時、読み出し時、及び消去時において、必要な値とされる。またノードXFERGは、対応する転送ゲート70におけるMOSトランジスタ73のゲートに接続される。従って、信号RDECADの“H”レベルの電位は電圧VRDECに応じた値となる。
上記構成のブロックデコーダ71において、対応するブロックBLKがブロックアドレスに一致した際、MOSトランジスタ86−0〜86−4がオン状態となり、信号RDECADnは“L”レベル(RDECAD=“H”)となる。その結果、ノードXFERGに電圧VRDECが与えられる。よって、対応する転送ゲート70においてMOSトランジスタ73がオン状態とされる。
他方、ブロックアドレスが一致しない場合には、MOSトランジスタ86−0〜86−4の少なくともいずれかがオフ状態となり、信号RDECADnは“H”レベルとなる。その結果、対応する転送ゲート70においてMOSトランジスタ73がオフ状態とされる。
また、ブロックアドレスにかかわらず、保持手段81によってノードL1が“L”レベルとされている場合には、MOSトランジスタ89がオフ状態とされる。その結果、信号RDECADnは“H”レベルとなり、対応する転送ゲート70においてMOSトランジスタ73がオフ状態とされる。
<メモリシステム1の動作>
次に、上記構成のメモリシステム1における大まかな動作について簡単に説明する。前述の通り本実施形態に係るメモリシステム1では、NAND型フラッシュメモリ2とホスト機器との間のデータの授受は、SRAM30を介して行われる。
次に、上記構成のメモリシステム1における大まかな動作について簡単に説明する。前述の通り本実施形態に係るメモリシステム1では、NAND型フラッシュメモリ2とホスト機器との間のデータの授受は、SRAM30を介して行われる。
すなわち、ホスト機器がメモリシステム1のNAND型フラッシュメモリ2にデータを記憶させる場合には、まずホスト機器から与えられるライトコマンドとSRAM30のアドレスに従って、データがデータRAMまたはブートRAMに一旦、格納される。その後、ホスト機器から与えられるプログラムコマンドとNAND型フラッシュメモリ2のアドレスに従って、SRAM30に格納されたデータが、ページ単位で一括してNAND型フラッシュメモリ2にプログラムされる。
また、ホスト機器がNAND型フラッシュメモリ2内のデータを読み出す場合には、まずホスト機器から与えられるロードコマンド、NAND型フラッシュメモリ2のアドレス、及びSRAM30のアドレスに従って、データがNAND型フラッシュメモリ2から読み出され、データRAMまたはブートRAMに一旦、格納される。その後、ホスト機器から与えられるリードコマンドとSRAM30のアドレスに従って、データRAMまたはブートRAMに保持されるデータが、インターフェース部40を介してホスト機器に読み出される。
以下、ロードの場合の動作手順の一例について、簡単に説明する。
まず、ホスト機器がインターフェース部40に対して、ロードすべきNAND型フラッシュメモリ2のアドレス及びSRAMのアドレスを入力し、またロードコマンドを入力する。
まず、ホスト機器がインターフェース部40に対して、ロードすべきNAND型フラッシュメモリ2のアドレス及びSRAMのアドレスを入力し、またロードコマンドを入力する。
するとメモリシステム1では、アクセスコントローラ50が上記アドレス及びコマンドをレジスタ60に設定する。レジスタ60にコマンドが設定されたことを検知したコマンドユーザインターフェース61は、内部コマンド信号を発行する。ロードの場合にはロードコマンドが発行される。
ユーザインターフェース61からロードコマンドを受信することにより、ステートマシン62が起動する。ステートマシン62は、各回路ブロックについて必要な初期化を行った後、アドレス/コマンド発生回路63に対して、NAND型フラッシュメモリ2に対してセンスコマンドを発行するよう要求する。
するとアドレス/コマンド発生回路63は、レジスタ60に設定されたアドレスにつき、データのセンスを行うよう、シーケンサ14に対してセンスコマンドを発行する。
アドレス/コマンド発生回路63からセンスコマンドを受けることで、シーケンサ14が起動する。シーケンサ14は、NAND型フラッシュメモリ2において必要な初期化を行った後、指定されたアドレスのセンス動作を行う。すなわち、電圧発生回路13、ロウデコーダ11、図示せぬセンスアンプ、及びページバッファ12を制御し、センスデータをページバッファ12に格納させる。その後シーケンサ14は、センス動作が終了したことを、ステートマシン62に通知する。
次にステートマシン62は、アドレス/コマンド発生回路63に対して、NAND型フラッシュメモリ2に対して転送コマンドを発行するよう命令する。転送コマンドとは、NAND型フラッシュメモリ2からRAM部3へデータを転送するための命令である。この命令に応じてアドレス/コマンド発生回路63は、転送コマンドを発行してシーケンサ14へ出力する。
転送コマンドを受けたシーケンサ14は、ページバッファ12をデータ転送可能なようにセットする。そしてシーケンサ14の制御に従って、ページバッファ12内のデータがNANDバスを介してECCバッファ21へ転送される。
更にステートマシン62は、ECC部20に対してエラー訂正開始制御信号を発行する。この信号に応答して、ECC部20がECC処理を行う。そして、ECC処理されたデータが、ECC部20からECCバスを介してDQバッファ31に転送される。
引き続き、アクセスコントローラ50の命令に従って、DQバッファ31内のデータが、SRAM30のメモリセルアレイ32に書き込まれる。
以上により、データのロードが完了する。その後、ホスト機器はインターフェース部40を介してリードコマンドを発行することで、メモリセルアレイ32に書き込まれたデータを読み出す。
<MBE動作>
次にMBE動作について、ロウデコーダ11のブロックデコーダ71の動作と共に、以下説明する。図4は、本実施形態に係るメモリシステム1のMBE動作のフローチャートである。
次にMBE動作について、ロウデコーダ11のブロックデコーダ71の動作と共に、以下説明する。図4は、本実施形態に係るメモリシステム1のMBE動作のフローチャートである。
図示するように、まずホスト機器から、MBE対象となるブロックのブロックアドレス(以下、MBEアドレスと呼ぶ)と、MBEコマンドとを受信する(ステップS10)。これらは、インターフェース43で受け付けられ、アクセスコントローラ50に供給される。そしてアクセスコントローラ50はこれらのコマンドとブロックアドレスをコントローラ部60のレジスタ60に保持させる。またレジスタ60にこれらが保持されたことを検知したコマンドユーザインターフェース61は、内部コマンド信号(MBEコマンド)を発行する。そしてコマンドユーザインターフェース61からMBEコマンドを受信することで、ステートマシン62が起動する。
次に、ステップS10で受信したMBEアドレスが、SRAM30と、NAND型フラッシュメモリ2のロウデコーダ11内に保持される(ステップS11)。すなわち、コントローラ部5のステートマシン62は、アドレス/タイミング発生回路64に対して、レジスタ60内のMBEアドレスをSRAM30に書き込むよう命令する。これに基づきアドレス/タイミング発生回路64は、アクセスコントローラ50に対して書き込みを命令し、アクセスコントローラ50はSRAM30に対して書き込みコマンドを発行する。またレジスタ60はMBEアドレスをSRAM30のDQバッファに転送する。これにより、SRAM30のMBE用RAMにMBEアドレスが書き込まれる。
更にステートマシン62は、アドレス/コマンド発生回路63に対して、NAND型フラッシュメモリ2に対してMBEアドレスをロウデコーダ11にセットしてデータの消去を実行させるよう要求する。するとアドレス/コマンド発生回路63は、MBEアドレスをロウデコーダ11にセットするよう、シーケンサ14に対してコマンドを発行する。
シーケンサ14がこのコマンドを受信することで、NAND型フラッシュメモリ2のロウデコーダ11のブロックデコーダ71では次の動作が行われる。すなわち、全てのブロックデコーダ71において、信号FSETが“H”レベルとされる。また、信号ARROWA〜ARROWE、RDEC、ROMBAENが全て“H”レベルとされる。これにより、全ブロックデコーダ71において、インバータ90の出力ノードが“H”レベルとなる。その結果、MOSトランジスタNM2がオン状態となる。更に信号FSETによりMOSトランジスタNM1もオン状態とされるから、これによりノードL1が“L”レベルとされる(これを、保持手段81をセットする、と呼ぶ)。その結果、全ブロックBLKが見かけ上、不良ブロック扱いとなる。
引き続き、MBE対象となるブロックBLKに対応するブロックデコーダ71においてのみ、ノードL1を“H”レベルとする(これを、保持手段をリセットする、と呼ぶ)。すなわち、ブロックデコーダ71に対して、MBEアドレスが入力される。その結果、MBE対象となるブロックBLKに対応するブロックデコーダ71では、信号ARROWA〜ARROWEが全て“H”レベルとなる。また、信号RDEC、ROMBAENが“H”レベルとされる。そして、全ブロックにつき信号FRST=“H”とされる。その結果、MBE対象となるブロックBLKに対応するブロックデコーダ71では、インバータ90の出力ノードは“H”レベルとなり、MOSトランジスタNM4、NM3がオン状態となる。よって、ノードL2が“L”レベルとなり、ノードL1は“H”レベルとなる。他方、MBEの対象ではないブロックBLKに対応するブロックデコーダ71では、信号ARROWA〜ARROWEのいずれかが“L”レベルとなるので、インバータ90の出力ノードは“L”レベルのままである。従ってMOSトランジスタNM4はオフ状態を維持し、ノードL2は“H”レベル、ノードL1は“L”レベルのままである。
ステップS11の後、シーケンサ14の制御に従って、複数のブロックBLKにつき、一括してデータが消去される(ステップS12)。すなわち、MBE対象となるブロックBLKに対応するブロックデコーダ71では、信号RDECADn=“L”となり、対応する転送ゲート70におけるMOSトランジスタ73の全てがオン状態とされる。またドライバ回路72は、ワード線WL0〜WL31に印加すべき電圧として、0Vを発生する。その結果、MBE対象となるブロックBLKのワード線WL0〜WL31の電位は0Vとなる。またロウデコーダ11は、正の高電圧VERA(例えば20V)を発生し、これをメモリセルアレイ10が形成されたウェル領域に印加する。その結果、メモリセルトランジスタMTの電荷蓄積層から電子がウェル領域に引き抜かれ、データが消去される。
他方、MBE非対象のブロックBLKに対応するブロックデコーダ71では、信号RDECADn=“H”となり、対応する転送ゲート70におけるMOSトランジスタ73が全てオフ状態とされる。よって、転送ゲート70は0Vを転送しない。そのため、ワード線WL0〜WL31は電気的にフローティングとなり、その電位は略VERAまで上昇する。その結果、MBE非対象のブロックBLKではデータは消去されない。
データ消去中にホスト機器からの中断(suspend)命令を受信しなければ(ステップS13、NO)、データの消去は継続し、MBE動作は終了する。中断命令とは、データの消去を一旦停止し、メモリシステム1を、他のコマンドを受信可能な状態にするための命令である。中断命令の後に再開(resume)命令を受信すると、メモリシステム1は、中断命令によって一旦停止した状態からMBE動作を再開出来る。
中断命令を受信した場合には(ステップS13、YES)、コントローラ部4のステートマシン62及びアドレス/コマンド発生回路63は、NAND型フラッシュメモリ2に対してMBEの中断を命令する。この命令に応答してシーケンサ14は、MBE動作を一旦、中断する(ステップS14)。すなわち、ワード線WL及びウェル領域への電圧印加を停止する。
ステップS14の後、NAND型フラッシュメモリ2はユーザからのコマンドに備える必要がある。そこでNAND型フラッシュメモリ2においては、シーケンサ14の制御に従って、ROMヒューズブロック(ブロックBLKm)から不良ブロック情報が読み出され、読み出された不良ブロック情報がブロックデコーダ71の保持手段81に保持される(ステップS15)。
すなわち、全てのブロックデコーダ71において、信号FRSTが“H”レベルとされる。これによりMOSトランジスタNM3がオン状態とされる。更に、全てのブロックデコーダ71において、信号ARROWA〜ARROWE、RDEC、ROMBAENが“H”レベルとされる。これによりインバータ90の出力ノードは“H”レベルとなり、MOSトランジスタNM4もオン状態とされる。従って、ノードL2が“L”レベルとされ、ノードL1が“H”レベルとされる。すなわち、保持手段81がリセットされる。その結果、全ブロックBLKが見かけ上、良品ブロック扱いとなる。
次に、不良ブロックに対応する保持手段81がセットされる。すなわち、ブロックデコーダ71に対して不良ブロックアドレスが入力される。その結果、不良ブロックに対応するブロックデコーダ71では、信号ARROWA〜ARROWEが全て“H”レベルとなる。また信号RDEC、ROMBAENが“H”レベルとされる。すると、不良ブロックに対応するブロックデコーダ71ではインバータ90の出力ノードは“H”レベルとなり、MOSトランジスタNM2がオン状態とされる。他方、不良ブロックに対応しないブロックデコーダ71では、信号ARROWA〜ARROWEのいずれかが“L”レベルであるので、インバータ90の出力ノードは“L”レベルとなり、MOSトランジスタNM2がオフ状態のままとなる。つまり、ノードL1は“H”レベルを維持する。そして全ブロックにつき信号FSETが“H”レベルとされ、MOSトランジスタNM1がオン状態とされる。以上の結果、不良ブロックに対応するブロックデコーダ71では、MOSトランジスタNM1、NM2がオン状態となり、ノードL1は“L”レベルとなる。すなわち保持手段81がセットされる。これにより、不良ブロックに対応するブロックBLKは、ブロックアドレス(すなわち信号ARROWA〜ARROWE)に関わらず非選択の状態となる。
ステップS15の後、メモリシステム1はホスト機器からのコマンド(書き込みコマンドや読み出しコマンドなど)を受け付けて、該コマンドに応じた動作を実行する(ステップS16)。
ステップS16の後、ホスト機器からの復帰命令が受信されると(ステップS17、YES)、コントローラ部4はSRAM30からMBEアドレスを読み出し、これをNAND型フラッシュメモリ2のロウデコーダ11にセットする(ステップS18)。
すなわち、ホスト機器からの復帰命令は、アクセスコントローラ50を介してレジスタ60に格納される。そしてコマンドユーザインターフェース61は復帰コマンドをステートマシンに対して発行する。復帰コマンドを受信したステートマシン62はまず、アドレス/タイミング発生回路64に対して、アクセスコントローラ50に対してSRAM30のMBE用RAMからMBEアドレスを読み出させるよう命令する。これに応答してアクセスコントローラ50は、SRAM30に対してMBEアドレスを読み出すよう命令する。MBE用RAMから読み出されたMBEアドレスは、DQバッファ31を介してレジスタ60に格納される。なお、本ステップで読み出されるMBEアドレスは、ステップS11でMBE用RAMに格納されたアドレスである。
引き続きステートマシン62及びアドレス/コマンド発生回路63は、レジスタ60に格納されたMBEアドレスをロウデコーダ11にセットしてMBE動作を再開するよう、NAND型フラッシュメモリ2のステートマシン14に命令する。
この命令に応答してNAND型フラッシュメモリ2では、ステートマシン14の制御に従って、ブロックデコーダ71の保持手段81にMBEアドレスがセットされる。MBEアドレスの保持手段81へのセット方法は、ステップS11と同様である。すなわち、全てのブロックデコーダ71において、全ブロックBLKが選択された状態で信号FSETが“H”レベルとされることで、全ブロックデコーダ81のノードL1が“L”レベルとされる。その後、MBE対象となるブロックBLKのみが選択された状態で信号FRSTが“H”レベルとされる。これにより、MBE対象となるブロックに対応するブロックデコーダ71においてのみ、ノードL1が“H”レベルとされる。
ステップS18の後、ロウデコーダ11から電圧がワード線WL0〜WL31に印加され、データの消去動作が再開される(ステップS19)。
<MBE動作の具体例>
次に、上記MBE動作の具体例につき、図5を用いて説明する。図5は、ユーザから受け付けた受信信号、SRAM30のMBE用RAMの記憶内容、NAND型フラッシュメモリ2の動作内容、及びブロックデコーダ71の保持手段81の記憶内容を示すタイミングチャートである。なお、以下ではブロックBLK3が不良であったと仮定する。
次に、上記MBE動作の具体例につき、図5を用いて説明する。図5は、ユーザから受け付けた受信信号、SRAM30のMBE用RAMの記憶内容、NAND型フラッシュメモリ2の動作内容、及びブロックデコーダ71の保持手段81の記憶内容を示すタイミングチャートである。なお、以下ではブロックBLK3が不良であったと仮定する。
図示するように、時刻t1でメモリシステム1に電源が投入された際、NAND型フラッシュメモリ2はROMヒューズブロックから不良ブロックアドレスを読み出し、これを保持手段81に保持させる。そして時刻t1(及びt3)において、MBEアドレスとしてブロックBLK1、BLK2のブロックアドレス(MBE ADD)を受信したとする。するとコントローラ部4は、MBEアドレスをSRAM30のMBE用RAMに保持させる(時刻t2)。またNAND型フラッシュメモリ2は、MBEアドレスをブロックデコーダ71の保持手段81に保持させる。すなわち、全ての保持手段81をセットすることにより、それまで保持手段81に保持されていた不良ブロックアドレスを消去し、引き続きブロックデコーダ71−1、71−2の保持手段81をリセットする。
保持手段81へのMBEアドレスの格納が完了した後に、時刻t4でMBEコマンド(MBE CMD)を受信する。すると、このMBEコマンドに応答して、NAND型フラッシュメモリ2はMBEを実行する。
引き続き、MBE実行中の時刻t5において、中断命令(Suspend CMD)を受信したとする。するとNAND型フラッシュメモリ2は、これに応答して、MBEを中断する。そして不良ブロックアドレスを保持手段81に保持させる(時刻t6)。すなわち、全ての保持手段81をリセットすることにより、それまで保持手段81に保持されていたMBEアドレスを消去し、ROMヒューズブロックから読み出した不良ブロックアドレスに基づいて、ブロックデコーダ71−3の保持手段81をセットする。
その後、時刻t7においてプログラムアドレス(Prog ADD)を受信し、引き続きプログラムコマンド(Prog CMD)を受信する。ここでプログラムアドレスはブロックBLK0に対応すると仮定する。するとNAND型フラッシュメモリ2は、不良ブロックアドレスの保持手段81への格納が完了次第、ブロックBLK0に対するデータのプログラムを行う。
その後、時刻t9において再開命令(Resume CMD)を受信したとする。するとコントローラ部4は、SRAM30のMBE用RAMからMBEアドレスを読み出し、これをNAND型フラッシュメモリ2のブロックデコーダ71の保持手段81に格納する。すなわち、全ての保持手段81をセットし、引き続きブロックデコーダ71−1、71−2の保持手段81をリセットする。保持手段81へのMBEアドレスの格納が完了すると、NAND型フラッシュメモリ2はMBEを再開する。
<効果>
以上のように、この発明の第1の実施形態に係る半導体装置及びその制御方法であると、複数のブロックを一括して消去するMBE動作の中断・再開が容易となる。
以上のように、この発明の第1の実施形態に係る半導体装置及びその制御方法であると、複数のブロックを一括して消去するMBE動作の中断・再開が容易となる。
背景技術で述べたような特許文献1記載の方法であると、MBE動作を中断してデータの読み出しや書き込みを行うためには、ロウデコーダに不良ブロック情報を持たせる必要がある。すると、ブロックあたり一つのラッチ回路しか有しないロウデコーダであると、それまで保持していたMBE情報を消去しなければならない。つまり、MBE動作を中断することで、消去すべきブロックの情報が失われるため、その後にMBE動作を再開することが困難であった。
この点、本実施形態に係る構成であると、MBE動作を行う際に、MBE情報をロウデコーダ11だけでなくSRAM30にも格納する。従って、MBE動作を中断する際に、ロウデコーダ11からMBE情報を消去して不良ブロック情報を保持させても、SRAM30内のMBE情報を用いてMBE動作を再開出来る。よって、MBE動作の中断・再開が容易となり、メモリシステム1の使い勝手を向上出来る。
また、メモリシステム1はもともとSRAM30を有しているので、回路面積の増加を招くことなく上記動作を実行可能である。仮にメモリセルアレイ32の容量を増やしたとしても、センスアンプ33やロウデコーダ34は従来あるものを流用出来るので、回路面積の増加量はごく僅かで済む。
また、ロウデコーダ11のブロックデコーダ71内に、2つのラッチ回路を設けて、それぞれを不良ブロック情報及びMBE情報専用として用いる場合に比べても、回路面積は大幅に削減される。ラッチ回路(保持手段81)は、ロウデコーダ11内に点在するため、ラッチ回路の数の増加は回路面積の増加に大きく影響する。しかしSRAM30のメモリセルアレイ32はメモリセルの集合であり、集積度は極めて高い。よって、メモリセルアレイ32の容量を増やす必要があったとしても、それによる回路面積の増加は特に問題とならない程度に抑えることが出来る。
[第2の実施形態]
次に、この発明の第2の実施形態に係る半導体装置及びその制御方法について説明する。本実施形態は、上記第1の実施形態において、保持手段81をMBE情報の保持専用に使用するものである。以下では、上記第1の実施形態と異なる点についてのみ説明する。
次に、この発明の第2の実施形態に係る半導体装置及びその制御方法について説明する。本実施形態は、上記第1の実施形態において、保持手段81をMBE情報の保持専用に使用するものである。以下では、上記第1の実施形態と異なる点についてのみ説明する。
<SRAM30の構成>
まず、本実施形態に係るSRAM30について図6を用いて説明する。図6は、SRAM30のメモリセルアレイの模式図である。
まず、本実施形態に係るSRAM30について図6を用いて説明する。図6は、SRAM30のメモリセルアレイの模式図である。
図示するように本実施形態に係るSRAM30は、第1の実施形態で説明した図1の構成において、MBE用RAMを排して、新たに不良ブロック用RAM(SRAM Bad Block)を設けた構成を有している。不良ブロック用RAMは、NAND型フラッシュメモリ2において不良と判断されたブロックBLK(不良ブロック)に関する情報(例えばブロックアドレス)を保持する。
<ロウデコーダ11の構成>
次に、本実施形態に係るNAND型フラッシュメモリ2のブロックデコーダ71について説明する。図7は転送ゲート70及びブロックデコーダ71の回路図である。なお、転送ゲート70及びドライバ回路72は第1の実施形態と同様である。以下、第1の実施形態で説明した図3の構成との違いに着目して説明する。
次に、本実施形態に係るNAND型フラッシュメモリ2のブロックデコーダ71について説明する。図7は転送ゲート70及びブロックデコーダ71の回路図である。なお、転送ゲート70及びドライバ回路72は第1の実施形態と同様である。以下、第1の実施形態で説明した図3の構成との違いに着目して説明する。
図示するように、本実施形態に係るブロックデコーダ71は、図3を用いて説明した構成において、読み出し手段84を排した構成を備えている。そして、セット手段82のMOSトランジスタNM2のドレインがノードL2に接続され、リセット手段83のMOSトランジスタNM4のドレインがノードL1に接続される。
更にデコード手段80において2つのスイッチ素子が追加されている。このスイッチ素子は、例えば低耐圧型のエンハンスメント型nチャネルMOSトランジスタ100、101である。MOSトランジスタ100は、その電流経路の一端がMOSトランジスタ87のソースに接続され、他端がMOSトランジスタ89のドレインに接続され、ゲートに信号FSELが入力される。またMOSトランジスタ101は、その電流経路の一端がインバータ90の入力ノードに接続され、他端がMOSトランジスタ89のドレインに接続され、ゲートに信号MSELが入力される。
本実施形態に係る保持手段81は、少なくとも通常動作時においては、MBE情報の保持専用として使用される。従って以下では、ノードL1が“L”レベルとなるように保持手段81にデータをセットすることを、保持手段81の「リセット」と呼び、ノードL1が“H”レベルとなるように保持手段81にデータをセットすることを、保持手段の「セット」と呼ぶ。すなわち、保持手段81のセット/リセットの関係は、第1の実施形態とは逆になる。その他の構成は第1の実施形態と同様である。なお、信号FSET、FRSTは、全ブロックについて共通の信号である。
<電源投入時のメモリシステム1の動作>
次に、電源投入時のメモリシステム1の動作につき、図8を用いて説明する。図8は、電源投入時の動作の流れを示すフローチャートである。
次に、電源投入時のメモリシステム1の動作につき、図8を用いて説明する。図8は、電源投入時の動作の流れを示すフローチャートである。
図示するように、メモリシステム1に電源が投入されると(ステップS20)、コントローラ部4は、NAND型フラッシュメモリ2に対して、ROMヒューズブロック(ブロックBLKm)から不良ブロック情報(不良ブロックアドレス)を読み出すよう命令する。そして、読み出された不良ブロック情報を、SRAM30の不良ブロック用RAMに保持させる(ステップS21)。
<MBE動作>
次に本実施形態に係るMBE動作について、ロウデコーダ11のブロックデコーダ71の動作と共に、以下説明する。図9は、本実施形態に係るMBE動作のフローチャートである。
次に本実施形態に係るMBE動作について、ロウデコーダ11のブロックデコーダ71の動作と共に、以下説明する。図9は、本実施形態に係るMBE動作のフローチャートである。
図示するように、第1の実施形態で説明したステップS10の後、コントローラ部4は、受信したMBEアドレスを、SRAM30に保持させることなく、NAND型フラッシュメモリ2のロウデコーダ11に保持させる(ステップS30)。
すなわち、全てのブロックデコーダ71において、信号ARROWA〜ARROWE、RDEC、及びROMBAENの全てが“H”レベルとされた状態で、信号FRSTが“H”レベルとされる。これによりMOSトランジスタNM3、NM4がオン状態となり、ノードL1が“L”レベルとされる。すなわち、保持手段81がリセットされる。その結果、全ブロックBLKが見かけ上、不良ブロック扱いとなる。引き続き、MBE対象となるブロックに対応するブロックデコーダ71において、信号ARROWA〜ARROWE、RDEC、及びROMBAENが“H”レベルとされて当該ブロックが選択された後に、信号FSETが“H”レベルとされる。その結果、ノードL2が“L”レベル、ノードL1が“H”レベルとなる。すなわち、保持手段81がセットされる。
またMBE動作を行うにあたりステートマシン14は、全てのブロックデコーダ71において、信号MSELを“H”レベルとし、信号FSELを“L”レベルとする。これにより、ブロックBLKの選択は信号ARROWA〜ARROWEでは無く、保持手段81内の情報によって行われることになる。
ステップS30の後、複数のブロックBLKにつき、一括してデータが消去される(ステップS12)。データ消去中にユーザからの中断命令を受信すると(ステップS13、YES)、NAND型フラッシュメモリ2はMBE動作を中断する(ステップS14)。この際、ブロックデコーダ71においては、信号MSELが“L”レベルとされる。これにより、信号RDECADnは、保持手段81に保持された情報によらず、信号ARROWA〜ARROWE、ROMBAENによって決定される。
そして、ユーザからのコマンドを受け付けると(ステップS31)、該コマンドに応じた動作が実行される(ステップS32)。ユーザから受信したコマンドとアドレスは、アクセスコントローラ50を介してコントローラ部4のレジスタ60に格納される。そしてステートマシン62は、このアドレスが不良ブロックに相当するか否かを、SRAMの不良ブロック用RAM内に保持された不良ブロック情報を元に判断する。この不良ブロック情報は、ステップS30でSRAM30に格納された情報である。
ステップS32の後、ユーザからの復帰命令を受信すると(ステップS17、YES)、コントローラ部4はNAND型フラッシュメモリ2に対してMBE動作の再開を命令する。
再開命令に応答して、NAND型フラッシュメモリ2はMBE動作を再開する(ステップS19)。この際、ブロックデコーダ71においては、信号MSELが“H”レベルとされる。これにより、保持手段81に保持されたMBEアドレスによって、ブロックBLKが選択される。
<MBE動作の具体例>
次に、本実施形態に係るMBE動作の具体例につき、図10を用いて説明する。図10は、ユーザから受け付けた受信信号、SRAM30の不良ブロック用RAMの記憶内容、NAND型フラッシュメモリ2の動作内容、及びブロックデコーダ71の保持手段81の記憶内容を示すタイミングチャートである。なお、以下ではブロックBLK3が不良であったと仮定する。
次に、本実施形態に係るMBE動作の具体例につき、図10を用いて説明する。図10は、ユーザから受け付けた受信信号、SRAM30の不良ブロック用RAMの記憶内容、NAND型フラッシュメモリ2の動作内容、及びブロックデコーダ71の保持手段81の記憶内容を示すタイミングチャートである。なお、以下ではブロックBLK3が不良であったと仮定する。
図示するように、時刻t1でメモリシステム1に電源が投入された際、コントローラ部4は、NAND型フラッシュメモリ2のROMヒューズブロックから不良ブロックアドレスを読み出し、これをSRAM30の不良ブロック用RAMに保持させる。そして時刻t1(及びt3)で、MBEアドレスとしてブロックBLK1、BLK2のアドレスを受信したとする。するとコントローラ部4は、MBEアドレスをNAND型フラッシュメモリ2におけるブロックデコーダ71の保持手段に保持させる(時刻t2)。すなわち、全ての保持手段81をリセットし、引き続きブロックデコーダ71−1、71−2の保持手段81をセットする。保持手段81へのMBEアドレスの格納を完了後、時刻t4においてMBEコマンドを受けると、NAND型フラッシュメモリ2はMBEを実行する。
引き続き、MBE実行中の時刻t5において、中断命令を受信したとする。するとNAND型フラッシュメモリ2は、これに応答して、MBEを中断する。そして不良ブロックアドレスを保持手段81に保持させる(時刻t6)。
その後、時刻t7においてプログラムアドレスを受信する。ここでプログラムアドレスはブロックBLK0に対応すると仮定する。するとコントローラ部4は、SRAM30の不良ブロック用RAM内の情報を参照して、アクセス対象であるブロックBLK0が不良ブロックであるか否かを判断する。そして不良ブロックであれば、プログラムエラーをユーザに返す。不良ブロックでなければ、コントローラ部4はNAND型フラッシュメモリ2に対して、ブロックBLK0に対するデータのプログラムを命令する。
その後、時刻t9において再開命令を受信したとする。するとNAND型フラッシュメモリ2、ブロックデコーダ71の保持手段81に格納されているMBEアドレスに基づいて、MBE動作を再開する。
<効果>
以上のように、この発明の第2の実施形態に係る半導体装置及びその制御方法であると、第1の実施形態と同様に、MBE動作の中断・再開が容易となる。
以上のように、この発明の第2の実施形態に係る半導体装置及びその制御方法であると、第1の実施形態と同様に、MBE動作の中断・再開が容易となる。
本実施形態に係る構成であると、ブロックデコーダ71の保持手段81はMBE情報専用に用いられる。そして不良ブロック情報は、電源投入時などにROMヒューズブロックから読み出されて、SRAM30に格納される。そしてNAND型フラッシュメモリ2に対してアクセスする際には、コントローラ部4はSRAM30内の不良ブロック情報を参照する。従って、MBE動作を中断する際に保持手段81に不良ブロック情報を格納する必要が無く、MBE情報が失われることは無い。よって、MBE動作の中断・再開が容易となる。
勿論、第1の実施形態と同様に、各ブロックデコーダ71に保持手段81は1つあれば良く、回路面積の増大も抑制出来る。また、第1の実施形態に比べて、ブロックデコーダ71のサイズを削減出来る。本実施形態に係る構成であると、第1の実施形態で説明した読み出し手段84が不要となる。読み出し手段84は、保持手段81に不良ブロック情報が保持されている際に、いずれかのブロックBLKが不良であることをノードPBUSBSに出力するためのものである。しかしながら本実施形態に係る構成であると、保持手段81は不良ブロック情報を保持しない。よって読み出し手段84は不要となる。読み出し手段84を排しても、コントローラ部4はSRAM30内の情報によって、いずれのブロックBLKが不良であるかを把握出来る。
また、コントローラ部4はSRAM30から不良ブロック情報を読み出す。この読み出し動作は、例えば1クロック(例えば80ns)で実行可能であり、NAND型フラッシュメモリ2のコントローラがロウデコーダから不良ブロック情報を読み出す場合に比べて、読み出し時間を大幅に縮小出来る。
なお、本実施形態では保持手段81にMBE情報を保持させるのに伴い、スイッチ素子100、101を設けている。MBE動作時においてスイッチ素子101をオンさせることで、保持手段81内の情報が有効となり、保持手段81内の情報によって信号RDECADnの“H”/“L”レベルが決定する。この期間、信号FSEL=“L”である。MBE動作の中断時には、スイッチ素子101がオフされることで、保持手段81内の情報が無効となる。この間も信号FSEL=“L”であるが、MOSトランジスタ86〜88の経路を有効とするために、信号ROMBAENが“H”レベルとされる。
通常のロード、プログラム、及び消去時は、信号MSEL=“L”である。信号FSELは “L”レベルであり、信号ROMBAEN=“H”である。
またスイッチ素子100、101は、テスト動作時にも有効に使用できる。テスト動作時のダイソート(die sort)工程では、全ブロックBLKを対象としたデータの書き込み(Flash Write)及び全ブロックBLKを対象としたデータの消去(Flash Erase)が行われる。そしてこれらの動作によって不良ブロックの特定が行われる。しかし、Flash Write及びFlash Eraseにおいても、不良ブロックに対しては電圧ストレスを加えてはならない。
このFlash Write及びFlash Eraseの際には、事前に、全ブロックデコーダ71の保持手段81をセット(ノードL1=“H”)する。そして、不良ブロックをセットするため信号ARROWA〜ARROWE、ROMBAEN=“H”とした後に、信号FRST=“H”とする。すると、ノードL1=“L”となる。そして、Flash Write 及びFlash Eraseを実際に実行する際には、信号MSEL=“L”、FSEL=“H”、ROMBAEN=“L”とする。これによって、不良ブロックのノードL1を“L”レベルとし、その他のブロックのノードL1を“H”レベルとすることができる。その結果、不良ブロック以外の全ブロックについて一括したデータの書き込みまたは消去が可能となる。このように動作モード(通常モード/テストモード)に応じて、保持手段81の保持する情報を切り替えることも出来る。つまり、スイッチ素子100、101は、保持手段81によるブロックBLKの選択を有効または無効とする。そしてテスト時には、スイッチ素子100、101によって保持手段81によるブロックBLKの選択を有効とし、不良ブロックがある場合に、不良ブロックに対応する保持手段81によるブロックBLKの選択を無効とする。なお、これらの制御は、例えばコントローラ部4によって行われる。
以上のように、この発明の第1、第2の実施形態に係るメモリシステムであると、主記憶としてのNAND型フラッシュメモリ2、バッファとしてのSRAM30、及びコントローラ4を同一半導体基板上に形成した半導体装置1において、SRAM30が、消去対象となるブロックの情報を保持する。そして、複数ブロックを一括して消去する際には、SRAM30から対象ブロック情報を読み出す。
または、SRAM30は、不良ブロック情報を保持する。そしてデータの書き込み及び読み出しを行う際には、コントローラ4は、SRAM30の不良ブロック情報を参照して、アクセス対象となるブロックが不良ブロックであるか否かを判断する。
以上の構成により、複数ブロックの一括消去動作が中断された場合であっても、その後のコマンドを実行した後、一括消去動作を再開出来、メモリシステム1の使い勝手を向上出来る。
なお、上記実施形態は種々の変形が可能であり、フローチャートは可能な限り処理順序を入れ替えることが可能。例えば、第1の実施形態においてSRAM30にMBE情報を格納するタイミングは、MBEコマンドの受信時に限られない。このような例について図11を用いて説明する。図11はメモリシステム1の動作を示すフローチャートである。図示するように、ステップS10の後、コントローラ部4は、MBEアドレスをロウデコーダ11に保持させる。そして、ステップS14でMBEを中断した後に、ロウデコーダ11内のMBEアドレスをSRAM30に退避させる(ステップS41)。そしてステップS41の後に、不良ブロック情報をロウデコーダ11に保持させる。例えば、このような順序で処理が行われても良い。
また、上記第2の実施形態において、不良ブロック情報は必ずしもSRAM30に格納する必要はない。すなわち、不良ブロック情報が必要な際には、その度にROMヒューズブロックから読み出すようにしても良い。本方法によれば、SRAM30は不要となる。しかしながら、動作速度の観点からは、不良ブロック情報をSRAM30に格納しておくことが望ましい。
更に、上記第1、第2の実施形態では、NAND型フラッシュメモリ2、RAM部3、及びコントローラ部4がワンチップに集積された例を挙げて説明した。このようなメモリシステム2の具体例としては、「OneNAND(登録商標)」型のフラッシュメモリが挙げられる。しかし、必ずしもワンチップ化されている場合に限らず、NAND型フラッシュメモリ2、RAM部3、及びコントローラ部4が別々の半導体チップで実現されている場合であっても良い。そしてこれらの半導体チップがまとめてパッケージングされていても良い。この場合の例を図12に示す。図12は、複数の半導体チップがパッケージングされた半導体装置(半導体パッケージ装置)の断面図である。
図示するように半導体装置110は、リードフレーム111、半導体チップ112−0〜112−2、ボンディングワイヤ113、及び封止樹脂114を備えている。リードフレーム111の一方の面上には、半導体素子形成面(ボンディングパッド形成面)を上にして半導体チップ112−0がスペーサ115によって接着されている。また半導体チップ112−0上には、半導体素子形成面を上にして更に半導体チップ112−1がスペーサ115によって接着されている。またリードフレーム111の他方の面上には、半導体素子形成面(ボンディングパッド形成面)を上にして半導体チップ112−2がスペーサ115によって接着されている。ボンディングワイヤ113は、半導体チップ112−0〜112−2とリードフレーム111とを接続する。そして、上記半導体チップ112−0〜112−2、リードフレーム111の一部、及びボンディングワイヤ113が樹脂114によって封止されて、半導体装置110が形成されている。上記の構成において、例えば半導体チップ112−0〜112−2がそれぞれ、RAM部3、コントローラ部4、及びNAND型フラッシュメモリ2が形成された半導体チップである。
なお、本願発明は上記実施形態に限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で種々に変形することが可能である。更に、上記実施形態には種々の段階の発明が含まれており、開示される複数の構成要件における適宜な組み合わせにより種々の発明が抽出されうる。例えば、実施形態に示される全構成要件からいくつかの構成要件が削除されても、発明が解決しようとする課題の欄で述べた課題が解決でき、発明の効果の欄で述べられている効果が得られる場合には、この構成要件が削除された構成が発明として抽出されうる。
1…メモリシステム、2…NAND型フラッシュメモリ、3…RAM部、4…コントローラ部、10、32…メモリセルアレイ、11、34…ロウデコーダ、12…ページバッファ、13…電圧発生回路、14…シーケンサ、15、16…オシレータ、17…メモリセルアレイ、20…ECC部、21…ECCバッファ、22…ECCエンジン、30…SRAM、31…DQバッファ、33…センスアンプ、40…インターフェース部、41、42…バーストバッファ、43…インターフェース、50…アクセスコントローラ、60…レジスタ、61…コマンドユーザインターフェース、62…ステートマシン、63…アドレス/コマンド発生回路、64…アドレス/タイミング発生回路、70、70−0〜70−m…転送ゲート、71、71−0〜71−m…ブロックデコーダ、72…ドライバ回路、73〜75、86−0〜86−4、86〜89、93〜101…MOSトランジスタ、80…デコード手段、81…保持手段、82…セット手段、83…リセット手段、84…読み出し手段、85…レベルシフタ、90〜92…インバータ
Claims (8)
- 複数のメモリセルを含む複数のブロックと、前記ブロックを選択するデコーダとを備え、複数の前記ブロックにつき一括してデータを消去可能であり、前記デコーダが、少なくともデータの読み出し時及び書き込み時には不良ブロック情報を保持し、複数の前記ブロックに対する一括消去時には消去対象となるブロックの情報を保持するNAND型フラッシュメモリと、
前記消去対象となるブロックの情報を保持可能なSRAMと、
前記一括消去時において、前記消去対象となるブロックの情報を前記SRAMから読み出して、前記デコーダにセットするコントローラと
を具備することを特徴とする半導体装置。 - 複数のメモリセルを含む複数のブロックと、前記ブロックを選択するデコーダとを備え、複数の前記ブロックにつき一括してデータを消去可能であり、複数の前記ブロックに対する一括消去時に、消去対象となるブロックの情報を前記デコーダが保持するNAND型フラッシュメモリと、
不良ブロック情報を保持可能なSRAMと、
前記データの書き込み及び読み出しを行う際に、前記SRAMの前記不良ブロック情報を参照して、アクセス対象となる前記ブロックが不良ブロックであるか否かを判断するコントローラと
を具備することを特徴とする半導体装置。 - 前記デコーダは、
前記ブロック毎に設けられ、前記消去対象となるブロックの情報を保持可能なラッチ回路と、
前記ラッチ回路によるいずれかの前記ブロックの選択を有効または無効とするスイッチ素子と
を備えることを特徴とする請求項2記載の半導体装置。 - 前記コントローラは、前記NAND型フラッシュメモリのテスト動作時において、前記スイッチ素子により全ての前記ラッチ回路による前記ブロックの選択を有効とし、不良ブロックを発見した場合、前記不良ブロックに対応する前記ラッチ回路による前記ブロックの選択を前記スイッチ素子により無効とする
ことを特徴とする請求項3記載の半導体装置。 - 前記NAND型フラッシュメモリ、前記SRAM、及び前記コントローラは、同一の半導体基板上に形成されている
ことを特徴とする請求項1または2記載の半導体装置。 - 各々が複数のメモリセルを含む複数のブロックと、前記ブロックを選択するデコーダとを有するNAND型フラッシュメモリを備えた半導体装置の制御方法であって、
中断命令に応答して、複数の前記ブロックを一括消去する複数ブロック消去動作を中断するステップと、
前記中断の後、前記不良ブロック情報を前記デコーダにセットして、前記ブロックに対するデータの読み出しまたは書き込み動作を実行するステップと、
前記データの読み出しまたは書き込み動作の後、再開命令に応答して、前記一括消去されるブロックの情報をSRAMから読み出して前記デコーダにセットして、前記複数ブロック消去動作を再開するステップと
を具備することを特徴とする半導体装置の制御方法。 - 前記複数ブロック消去動作を中断するステップの前に、前記一括消去されるブロックの情報を受信して、前記デコーダ及び前記SRAMにセットするステップと、
前記一括消去されるブロックの情報を前記デコーダ及び前記SRAMにセットするステップの後、前記複数ブロック消去動作を開始するステップと
を更に備えることを特徴とする請求項6記載の半導体装置の制御方法。 - 前記複数ブロック消去動作を中断するステップの前に、前記一括消去されるブロックの情報を受信して、前記デコーダにセットするステップと、
前記一括消去されるブロックの情報を前記デコーダにセットするステップの後、前記複数ブロック消去動作を開始するステップと
前記複数ブロック消去動作を中断する際に、前記デコーダにセットされている前記一括消去されるブロックの情報を前記SRAMに退避させるステップと
を更に備えることを特徴とする請求項7記載の半導体装置の制御方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009255311A JP2011100518A (ja) | 2009-11-06 | 2009-11-06 | 半導体装置及びその制御方法 |
US12/884,590 US20110113187A1 (en) | 2009-11-06 | 2010-09-17 | Semiconductor device and method for controlling the same |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009255311A JP2011100518A (ja) | 2009-11-06 | 2009-11-06 | 半導体装置及びその制御方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2011100518A true JP2011100518A (ja) | 2011-05-19 |
Family
ID=43975002
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2009255311A Withdrawn JP2011100518A (ja) | 2009-11-06 | 2009-11-06 | 半導体装置及びその制御方法 |
Country Status (2)
Country | Link |
---|---|
US (1) | US20110113187A1 (ja) |
JP (1) | JP2011100518A (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2014035788A (ja) * | 2012-08-08 | 2014-02-24 | Samsung Electronics Co Ltd | 不揮発性メモリ装置及びその消去動作制御方法 |
JP2014063551A (ja) * | 2012-09-21 | 2014-04-10 | Toshiba Corp | 半導体記憶装置 |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8902657B2 (en) * | 2012-09-07 | 2014-12-02 | Kabushiki Kaisha Toshiba | Semiconductor memory device and controller |
KR20150008671A (ko) * | 2013-07-15 | 2015-01-23 | 에스케이하이닉스 주식회사 | 반도체 장치 |
US9373405B2 (en) * | 2013-11-27 | 2016-06-21 | Cypress Semiconductors Corporation | Auto resume of irregular erase stoppage of a memory sector |
KR102593352B1 (ko) * | 2016-05-04 | 2023-10-26 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 메모리 시스템의 동작 방법 |
KR20180039351A (ko) * | 2016-10-10 | 2018-04-18 | 에스케이하이닉스 주식회사 | 메모리 장치 및 메모리 장치의 동작 방법 |
US10658026B2 (en) * | 2017-05-26 | 2020-05-19 | Taiwan Semiconductor Manufacturing Company Limited | Word line pulse width control circuit in static random access memory |
KR102432551B1 (ko) * | 2018-02-13 | 2022-08-16 | 삼성전자주식회사 | 반도체 메모리 장치, 이를 포함하는 메모리 시스템 및 반도체 메모리 장치의 동작 방법 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7110301B2 (en) * | 2004-05-07 | 2006-09-19 | Samsung Electronics Co., Ltd. | Non-volatile semiconductor memory device and multi-block erase method thereof |
EP1712985A1 (en) * | 2005-04-15 | 2006-10-18 | Deutsche Thomson-Brandt Gmbh | Method and system for storing logical data blocks into flash-blocks in multiple non-volatile memories which are connected to at least one common data I/O bus |
JP4828938B2 (ja) * | 2005-12-28 | 2011-11-30 | 株式会社東芝 | 不揮発性半導体記憶装置及びその駆動方法 |
-
2009
- 2009-11-06 JP JP2009255311A patent/JP2011100518A/ja not_active Withdrawn
-
2010
- 2010-09-17 US US12/884,590 patent/US20110113187A1/en not_active Abandoned
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2014035788A (ja) * | 2012-08-08 | 2014-02-24 | Samsung Electronics Co Ltd | 不揮発性メモリ装置及びその消去動作制御方法 |
US9928165B2 (en) | 2012-08-08 | 2018-03-27 | Samsung Electronics Co., Ltd. | Nonvolatile memory device and method of controlling suspension of command execution of the same |
JP2014063551A (ja) * | 2012-09-21 | 2014-04-10 | Toshiba Corp | 半導体記憶装置 |
Also Published As
Publication number | Publication date |
---|---|
US20110113187A1 (en) | 2011-05-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7701764B2 (en) | Apparatus and method for reduced peak power consumption during common operation of multi-NAND flash memory devices | |
US7415568B2 (en) | Method and apparatus for initialization control in a non-volatile memory device | |
US8239744B2 (en) | Memory system with semiconductor memory and its data transfer method | |
JP2011100518A (ja) | 半導体装置及びその制御方法 | |
TWI443661B (zh) | 具有多層列解碼之反及閘快閃架構 | |
JP3893005B2 (ja) | 不揮発性半導体記憶装置 | |
KR101967368B1 (ko) | 반도체 메모리 장치 및 이의 동작 방법 | |
JP2006252749A (ja) | 向上したプリプログラム機能を有するフラッシュメモリ装置およびそのプリプログラム動作制御方法 | |
JP2010040144A (ja) | 不揮発性半導体記憶システム | |
JP2003217288A (ja) | リードディスターブを緩和したフラッシュメモリ | |
US6937513B1 (en) | Integrated NAND and nor-type flash memory device and method of using the same | |
TW201535399A (zh) | 半導體記憶裝置及nand型快閃記憶體的程式化方法 | |
JP2004095001A (ja) | 不揮発性半導体記憶装置、不揮発性半導体記憶装置組込システムおよび不良ブロック検出方法 | |
US11790979B2 (en) | Memory device performing read operation and operating method of the memory device | |
JP3143161B2 (ja) | 不揮発性半導体メモリ | |
JP2012133843A (ja) | 半導体記憶装置 | |
JP4229712B2 (ja) | 不揮発性半導体記憶装置 | |
JPH11176173A (ja) | 不揮発性半導体記憶装置 | |
JP3268732B2 (ja) | 不揮発性半導体メモリ | |
JP5017443B2 (ja) | メモリシステム | |
JP2013030251A (ja) | メモリシステム | |
JP2004030849A (ja) | データの一部書き換え機能を有する半導体不揮発性メモリ | |
US20110228605A1 (en) | Nonvolatile memory | |
JPH05290585A (ja) | 電気的に書き込み可能な不揮発性メモリ | |
TWI776607B (zh) | 半導體裝置及連續讀出方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A300 | Application deemed to be withdrawn because no request for examination was validly filed |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 20130108 |