JP2014154197A - 不揮発性記憶装置 - Google Patents
不揮発性記憶装置 Download PDFInfo
- Publication number
- JP2014154197A JP2014154197A JP2013025734A JP2013025734A JP2014154197A JP 2014154197 A JP2014154197 A JP 2014154197A JP 2013025734 A JP2013025734 A JP 2013025734A JP 2013025734 A JP2013025734 A JP 2013025734A JP 2014154197 A JP2014154197 A JP 2014154197A
- Authority
- JP
- Japan
- Prior art keywords
- period
- value
- command
- input
- internal clock
- 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.)
- Pending
Links
Images
Classifications
-
- 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/32—Timing circuits
-
- 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/02—Detection or location of defective auxiliary circuits, e.g. defective refresh counters
- G11C29/028—Detection or location of defective auxiliary circuits, e.g. defective refresh counters with adaption or trimming of parameters
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/20—Memory cell initialisation circuits, e.g. when powering up or down, memory clear, latent image memory
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/22—Read-write [R-W] timing or clocking circuits; Read-write [R-W] control signal generators or management
- G11C7/222—Clock generating, synchronizing or distributing circuits within memory device
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
-
- 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/04—Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
- G11C2029/0407—Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals on power on
-
- 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/04—Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
- G11C29/08—Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
- G11C29/12—Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
- G11C2029/4402—Internal storage of test result, quality data, chip identification, repair information
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C2207/00—Indexing scheme relating to arrangements for writing information into, or reading information out from, a digital store
- G11C2207/22—Control and timing of internal memory operations
- G11C2207/2254—Calibration
Landscapes
- Read Only Memory (AREA)
- Non-Volatile Memory (AREA)
- For Increasing The Reliability Of Semiconductor Memories (AREA)
- Semiconductor Memories (AREA)
Abstract
【課題】ヒューズ領域に格納された情報を短時間で読み出すことができる不揮発性記憶装置を提供する。
【解決手段】実施形態に係る不揮発性記憶装置は、データを記憶するコア部と、前記コア部に対して前記データの書込及び読出を行う周辺回路部と、を備える。前記周辺回路部は、第1の周期の内部クロックを生成し、前記第1の周期及び外部から入力された基準時間に基づいて前記第1の周期を第2の周期に補正する。
【選択図】図9
【解決手段】実施形態に係る不揮発性記憶装置は、データを記憶するコア部と、前記コア部に対して前記データの書込及び読出を行う周辺回路部と、を備える。前記周辺回路部は、第1の周期の内部クロックを生成し、前記第1の周期及び外部から入力された基準時間に基づいて前記第1の周期を第2の周期に補正する。
【選択図】図9
Description
本発明の実施形態は、不揮発性記憶装置に関する。
NANDフラッシュメモリ等の不揮発性記憶装置においては、データを記憶するセルアレイと、セルアレイに対してデータの書込、読出、消去等の動作を行う周辺回路とが設けられている。周辺回路には、動作の基準となるクロック信号を生成する発振器が設けられている。
本実施形態は、ヒューズ領域に格納された情報を短時間で読み出すことができる不揮発性記憶装置を提供する。
実施形態に係る不揮発性記憶装置は、データを記憶するコア部と、前記コア部に対して前記データの書込及び読出を行う周辺回路部と、を備える。前記周辺回路部は、第1の周期の内部クロックを生成し、前記第1の周期及び外部から入力された基準時間に基づいて前記第1の周期を第2の周期に補正する。
実施形態に係る不揮発性記憶装置は、データを記憶するコア部と、前記コア部に対して前記データの書込及び読出を行う周辺回路部と、を備える。前記周辺回路部は、外部から入力される第1のコマンド及び第2のコマンドの入力時間差に基づいて内部クロックの周期を制御する。
以下、図面を参照しつつ、本発明の実施形態について説明する。
先ず、第1の実施形態について説明する。
本実施形態においては、不揮発性記憶装置の起動時にヒューズ領域に格納された情報(以下、「ヒューズデータ」ともいう)を読み出すときに、ヒューズデータに含まれる内部クロックの補正情報は使わずに、内部クロックを自律的に補正して、読込動作を実施する。これにより、ヒューズデータを短時間で確実に読み出すことができる。以下、本明細書においては、不揮発性記憶装置の起動時にヒューズデータを読み出す動作を「パワーオンリード」といい、内部クロックを自律的に補正するための一連の動作を「キャリブレーション」という。パワーオンリード期間には、キャリブレーション期間と、キャリブレーションによって補正された内部クロックを用いてヒューズデータを読み出す期間とが含まれる。また、ヒューズデータを読み出した後は、このヒューズデータに含まれる内部クロックの周期補正情報を使用して内部クロックを更に補正し、通常動作を実施する。
先ず、第1の実施形態について説明する。
本実施形態においては、不揮発性記憶装置の起動時にヒューズ領域に格納された情報(以下、「ヒューズデータ」ともいう)を読み出すときに、ヒューズデータに含まれる内部クロックの補正情報は使わずに、内部クロックを自律的に補正して、読込動作を実施する。これにより、ヒューズデータを短時間で確実に読み出すことができる。以下、本明細書においては、不揮発性記憶装置の起動時にヒューズデータを読み出す動作を「パワーオンリード」といい、内部クロックを自律的に補正するための一連の動作を「キャリブレーション」という。パワーオンリード期間には、キャリブレーション期間と、キャリブレーションによって補正された内部クロックを用いてヒューズデータを読み出す期間とが含まれる。また、ヒューズデータを読み出した後は、このヒューズデータに含まれる内部クロックの周期補正情報を使用して内部クロックを更に補正し、通常動作を実施する。
図1は、本実施形態に係る不揮発性記憶装置及びそのコントローラを例示するブロック図である。
図1に示すように、本実施形態に係る不揮発性記憶装置100(以下、単に「装置100」ともいう)は、コントローラ200に接続されている。コントローラ200は、ホストインターフェース(ホストI/F)、例えば、SD cardBUS又はPCIexpress等のバスに接続されている。コントローラ200から装置100に対しては、チップイネーブル信号CEnx、ライトイネーブル信号WEnx、リードイネーブル信号REnx、コマンドラッチイネーブル信号CLEx、アドレスラッチイネーブル信号ALEx及びライトプロテクト信号WPnxが送信される。また、装置100からコントローラ200に対しては、レディービジー信号RBnxが送信される。更に、装置100とコントローラ200との間には、データを伝達する双方向バスIOx<7:0>が接続されている。
図1に示すように、本実施形態に係る不揮発性記憶装置100(以下、単に「装置100」ともいう)は、コントローラ200に接続されている。コントローラ200は、ホストインターフェース(ホストI/F)、例えば、SD cardBUS又はPCIexpress等のバスに接続されている。コントローラ200から装置100に対しては、チップイネーブル信号CEnx、ライトイネーブル信号WEnx、リードイネーブル信号REnx、コマンドラッチイネーブル信号CLEx、アドレスラッチイネーブル信号ALEx及びライトプロテクト信号WPnxが送信される。また、装置100からコントローラ200に対しては、レディービジー信号RBnxが送信される。更に、装置100とコントローラ200との間には、データを伝達する双方向バスIOx<7:0>が接続されている。
図2は、本実施形態に係る不揮発性記憶装置を例示するブロック図である。
図2に示すように、装置100においては、データを記憶するコア部30と、コア部30に対してデータの書込、読出及び消去等の動作を行う周辺回路部10とが設けられている。
図2に示すように、装置100においては、データを記憶するコア部30と、コア部30に対してデータの書込、読出及び消去等の動作を行う周辺回路部10とが設けられている。
コア部30においては、セルアレイ31、ロウデコーダ32及びキャッシュ・センスアンプ33が設けられている。セルアレイ31においては、データの書込、読出及び消去が可能なデータ記憶領域36と、不良ビットに関する情報及びクロック信号の周期補正情報等の装置100に固有の情報が工場出荷前に書き込まれ、これらの情報を記憶し、工場出荷後は読出のみが可能なヒューズ(FUSE)領域37が設けられている。すなわち、工場出荷後の装置100において、データ記憶領域には書換可能な通常のデータが記憶され、ヒューズ領域37には読出専用のヒューズデータが記憶される。セルアレイ31全体に対するヒューズ領域37の割合は、例えば、512ブロック中の1ブロック程度である。ロウデコーダ32は、セルアレイ31における各ワード線の電位とブロックを選択する。キャッシュ・センスアンプ33においては、セルアレイ31に対して書き込むデータ及びセルアレイ31から読み出されたデータを蓄積するキャッシュ(図示せず)と、各ビット線の電位を検知するセンスアンプ(図示せず)が設けられている。なお、センスアンプは電位を検知するものには限られず、セルアレイ31に流れるセル電流を検知するような構成であってもよい。
次に、周辺回路部10の構成について説明する。
周辺回路部10においては、入力バッファ11、入力バッファ12、出力バッファ13、アドレスバッファ14、コマンドデコーダ15、データバッファ16、選択回路17、方向選択回路18、同期化回路19、ステートマシン20、制御レジスタ21、出力バッファ22、発振回路23、レジスタ回路24及びフェイル数カウント回路25が設けられている。
周辺回路部10においては、入力バッファ11、入力バッファ12、出力バッファ13、アドレスバッファ14、コマンドデコーダ15、データバッファ16、選択回路17、方向選択回路18、同期化回路19、ステートマシン20、制御レジスタ21、出力バッファ22、発振回路23、レジスタ回路24及びフェイル数カウント回路25が設けられている。
入力バッファ11には、コントローラ200の出力信号、すなわち、チップイネーブル信号CEnx、ライトイネーブル信号WEnx、リードイネーブル信号REnx、コマンドラッチイネーブル信号CLEx、アドレスラッチイネーブル信号ALEx、ライトプロテクト信号WPnxが、各信号ピンを介して入力される。入力バッファ11は、これらの信号の論理値を検知することにより、コマンド入力状態、アドレス入力状態、データ入力状態、書込禁止状態、チップ選択/非選択状態の各状態を認識し、その認識結果を入力バッファ12、出力バッファ13、コマンドデコーダ15及びデータバッファ16に対して出力する。
入力バッファ12は、双方向バスIOx<7:0>に接続されており、入力バッファ11の出力信号が入力される。これにより、入力バッファ12は、入力バッファ11の出力信号に制御されて、双方向バスIOx<7:0>を介して入力されたデータをデータ信号DINとして、アドレスバッファ14、コマンドデコーダ15及びデータバッファ16に対して出力する。
出力バッファ13は、双方向バスIOx<7:0>に接続されており、入力バッファ11の出力信号が入力され、選択回路17の出力信号が入力される。これにより、出力バッファ13は、入力バッファ11の出力信号に制御されて、セルアレイ31から読み出されたデータを双方向バスIOx<7:0>に対して所定のタイミングで出力する。
アドレスバッファ14は、入力バッファ12からデータ信号DINを受けとり、データ信号DINに含まれるアドレスデータを一時的に保持する。アドレスバッファ14は、このアドレスデータを入力順序又は入力ビット位置に応じてブロックアドレスBLKa、ストリングアドレスSTRa、ワード線アドレスWLa及びカラムアドレスCOLaに分離して、制御レジスタ21に対して出力する。
コマンドデコーダ15は、入力バッファ11の出力信号によって制御されて、入力バッファ12からデータ信号DINを受けとり、データ信号DINが所定の状態であることを検知した場合は、コマンド信号を出力する。具体的には、基準時間tSTDを示すコマンドCMD1及びコマンドCMD2を同期化回路19に対して出力し、パワーオンリード期間中であることを示すパワーオンリードコマンドCMDPORを同期化回路19及び発振回路23に対して出力し、ステータスリードコマンドCMD_STATを選択回路17に対して出力する。
データバッファ16は、入力バッファ11の出力信号によって制御されて、入力バッファ12からデータ信号DINを受け取り、このデータ信号DINに含まれる書込データを一時的に保持し、方向選択回路18を経由してキャッシュ・センスアンプ33に対して出力する。
選択回路17は、コマンドデコーダ15から出力されたステータスリードコマンドCMD_STATの状態に応じて、キャッシュ・センスアンプ33から出力された読出データ及び失敗信号CALIBFAILのうちいずれかを選択し、出力バッファ13に対して出力する。
方向選択回路18は、データバッファ16からキャッシュ・センスアンプ33へデータを転送するか、キャッシュ・センスアンプ33から選択回路17へデータを転送するかを選択する。
同期化回路19は、コマンドデコーダ15から出力されるコマンド信号のうち、ステートマシン20の動作にかかわる信号を内部クロックOSCClkに同期させて、ステートマシン20に対して出力する。通常、コマンド信号が切り替わるタイミングは、このコマンド信号に対応する外部信号、例えばコントローラ200から入力されるライトイネーブル信号WEnxの値が切り替わるタイミングに依存するが、これを、内部クロックOSCClkが切り替わるタイミング、例えば、内部クロックOSCClkの立ち上がりタイミングで立ち上がる信号に変換する。具体的には、同期化回路19は、コマンドデコーダ15からコマンドCMD1を受け取って同期信号CMD1syncを生成し、コマンドCMD2を受取って同期信号CMD2syncを生成し、パワーオンリードコマンドCMDPORを受け取って同期信号CMDPORsyncを生成する。
ステートマシン20は、装置100におけるデータの書込、読出及び消去等の動作を司る制御回路である。このため、ステートマシン20は、発振回路23から内部クロックOSCClkが入力され、制御レジスタ21に対して動作指示信号を出力する。また、後述する本実施形態のパワーオンリードでは、ステートマシン20は、ヒューズ領域37に格納された内部クロックの補正情報を使わずに、発振回路23が出力する内部クロックOSCClkの周期を補正する。このため、ステートマシン20には、同期化回路19からいくつかの信号を受け取ると共に、発振回路23に対していくつかの制御信号を出力する。
具体的には、ステートマシン20には、同期化回路19から同期信号CMD1sync、CMD2sync及びCMDPORsyncが入力され、フェイル数カウント回路25から信号PASSが入力される。そして、ステートマシン20は、これらの信号に基づいて所定の演算を行い、発振回路23に対して、カウンタリセット信号CNTRSTn、カウントイネーブル信号CNTENB、カウント保持信号EVALUATION及び固定値信号INITOSCを出力する。カウンタリセット信号CNTRSTnは、発振回路23のカウンタ回路23a(図3参照)のカウント値を「0」にリセットさせる信号である。カウントイネーブル信号CNTENBは、カウンタ回路23aにカウントを開始させる信号である。カウント保持信号EVALUATIONは、カウンタ回路23aにカウントを終了させ、その時点でのカウント値を保持させる信号である。固定値信号INITOSCは、発振回路23が出力する内部クロックOSCClkの周期を決めるためのコード信号として、装置100の設計時に予め決められた固定値Initial Valueを与える信号である。また、ステートマシン20は、発振回路23及び選択回路17に対して、キャリブレーションに失敗した場合にハイレベルとなる失敗信号CALIBFAILを出力する。更に、ステートマシン20は、出力バッファ22に対して、装置100がコマンドを受付可能であることを示すレディービジー信号RBnを出力する。
制御レジスタ21は、ステートマシン20から動作指示信号が入力され、アドレスバッファ14からブロックアドレスBLKa、ストリングアドレスSTRa、ワード線アドレスWLa及びカラムアドレスCOLaが入力されることにより、コア部30に対して、データの書込、読出及び消去の詳細動作を制御する信号を出力する。これらの信号には、ロウデコーダ32に対して出力されるブロックアドレス信号BLKADD、ストリングアドレス信号STRADD及びワード線アドレス信号WLADD、並びに、キャッシュ・センスアンプ33に対して出力されるカラムアドレス信号COLADDが含まれる。ブロックアドレス信号BLKADDは選択するブロックを決定するための信号であり、ストリングアドレス信号STRADDはメモリセルのブロックを構成する複数のストリングStrのうち一つを選択するために、選択ゲートの電位を決定するための信号であり、ワード線アドレス信号WLADDは、選択ワード線に対して選択電位を印加し、非選択ワードに対して非選択電位を印加するための信号である。また、カラムアドレス信号COLADDは書込時及び読出時におけるキャッシュ位置を指示するための信号である。制御レジスタ21は、上記以外にも図示しない複数の信号を出力する。
出力バッファ22は、ステートマシン20からレディービジー信号RBnを受け取り、レディービジー信号RBnxを生成し、信号ピンを介してコントローラ200に対して出力する。
発振回路23は、発振開始信号や発振周期を決定する各種信号を受取り、内部クロックOSCClkを出力する。具体的な構成及び動作は後述する。
レジスタ回路24は、セルアレイ31のヒューズ領域37から読み出されたデータがキャッシュ・センスアンプ33を介して入力され、これを保持する。レジスタ回路24は、装置100の通常動作の期間中に、内部クロックOSCClkの周期を決めるコード信号F_OSCdefaultを発振回路23に対して出力する。なお、本明細書において、「通常動作」とは、パワーオンリードではなく、セルアレイ31のデータ記憶領域36に対するデータの書込、読出及び消去等の動作をいう。また、レジスタ回路24は、フェイル数カウント回路25に対して、フェイル数基準値F_NFを出力する。
フェイル数カウント回路25は、キャッシュ・センスアンプ33のキャッシュに格納されている読出データを監視し、所定のタイミングで、期待値と一致しないビット又はバイトの数を計数し、これをレジスタ回路24から入力されたフェイル数基準値F_NFと比較し、その結果を示す信号PASSをステートマシン20に対して出力する。フェイル数カウント回路25は、例えば、期待値と一致しないビット又はバイトの数が基準値以下である場合は、信号PASSをハイレベルにし、基準値を超える場合は、信号PASSをロウレベルにする。
次に、発振回路23の構成を説明する。
図3は、図2に示す発振回路を例示するブロック図である。
図3に示すように、発振回路23においては、カウンタ回路23a、差分回路23b、発振周期生成回路23c及び発振器23dが設けられている。
図3は、図2に示す発振回路を例示するブロック図である。
図3に示すように、発振回路23においては、カウンタ回路23a、差分回路23b、発振周期生成回路23c及び発振器23dが設けられている。
発振器23dは、コード信号F_OSCが入力され、このコード信号F_OSCに基づいて周期が決定された内部クロックOSCClkを発振する回路である。発振器23dの構成は、コード信号F_OSCに従って発振周期を変えられるものであれば特に限定されない。本実施形態においては、内部クロックOSCClkの周期は例えば100ナノ秒程度であり、周期の微視的正確性(ジッタ)は厳密なものでなくてもよいため、発振器23dとして、例えば、容量素子(キャパシタ)及び抵抗素子で構成されたRC回路を使用することができる。
カウンタ回路23aは、発振器23dから内部クロックOSCClkが入力され、この内部クロックOSCClkの周期数、例えば、ロウレベルからハイレベルへの立ち上がりの回数をカウントする。カウンタ回路23aには、ステートマシン20から、カウンタ回路23aのカウント値を「0」にリセットするカウンタリセット信号CNTRSTn、カウンタ回路23aにカウントを開始させるカウントイネーブル信号CNTENB、カウンタ回路23aにカウントを停止させ、その時点でのカウント値Countを保持させ出力させるカウント保持信号EVALUATIONが入力される。
差分回路23bは、カウンタ回路23aからカウント値Countが入力され、このカウント値Countと後述する基準時間に応じて予め決められた参照値との差分を計算し、その差分値Diffを出力する。
発振周期生成回路23cには、差分回路23bから差分値Diffが入力され、レジスタ回路24から、装置100の通常動作中に内部クロックOSCClkの周期を決めるコード信号F_OSCdefaultが入力され、ステートマシン20から、内部クロックOSCClkのキャリブレーションに失敗したことを示す失敗信号CALIBFAIL、及び、固定値Initial Valueを示す固定値信号INITOSCが入力され、コマンドデコーダ15から、初期化を指示するパワーオンリードコマンドCMDPORが入力される。発振周期生成回路23cは、これらの信号に基づいて、発振器23dの発振周期を決めるコード信号F_OSCを生成し、発振器23dに対して出力する。
以下、発振周期生成回路23cがコード信号F_OSCを生成する方法について説明する。
図4は、本実施形態に係る不揮発性記憶装置の動作状態と、発振周期生成回路に入力される信号と、出力されるコード信号F_OSCとの関係を例示する図である。
図4において、「L」はロウレベル(非活性)を示し、「H」はハイレベル(活性)を示し、「※」はL及びHのいずれでもよいことを示す。
図4は、本実施形態に係る不揮発性記憶装置の動作状態と、発振周期生成回路に入力される信号と、出力されるコード信号F_OSCとの関係を例示する図である。
図4において、「L」はロウレベル(非活性)を示し、「H」はハイレベル(活性)を示し、「※」はL及びHのいずれでもよいことを示す。
図2〜図4に示すように、装置100が通常動作、すなわち、データ記憶領域36に対するデータの書込、読出、消去等を行うときは、パワーオンリード期間を示すパワーオンリードコマンドCMDPORは「L」となる。この場合は、コード信号F_OSCとして、ヒューズ領域37から読み出され、レジスタ回路24に保持されたコード信号F_OSCdefaultを出力する。コード信号F_OSCdefaultは、装置100の製造条件の変動等に起因する内部クロックOSCClkの周期をずれを補正した値であるから、コード信号F_OSCとしてコード信号F_OSCdefaultを用いることにより、発振器23dは設計所望値に最も近い最適な周期の内部クロックOSCClkを発振することができる。
また、装置100の起動直後であって、ヒューズ領域37からコード信号F_OSCdefaultが読み出されておらず、内部クロックOSCClkのキャリブレーションも行われていないときは、パワーオンリードコマンドCMDPORは「H」となり、固定値信号INITOSCも「H」となる。この場合は、コード信号F_OSCとして、固定値Initial Valueを出力する。このとき、発振器23dは、固定値Initial Valueに基づいて周期が決定された内部クロックOSCClkを発振する。そして、装置100は、この発振周期を初期値として、後述する内部クロックOSCClkのキャリブレーションを行う。
更に、内部クロックOSCClkのキャリブレーションを行った後、ヒューズ領域37からコード信号F_OSCdefaultを含むヒューズデータを読み出すときは、パワーオンリードコマンドCMDPORは「H」となり、固定値信号INITOSCは「L」となり、失敗信号CALIBFAILは「L」となる。この場合、発振周期生成回路23cはコード信号F_OSCとして、例えば固定値Initial Valueに差分値Diffを加算した補正値Trimmed Valueを出力する。このとき、発振器23dは、固定値Initial Valueとは異なる補正値Trimmed Valueに基づいて周期が決定された内部クロックOSCClkを発振する。そして、装置100は、この内部クロックOSCClkを用いてヒューズデータを読み出す。
更にまた、内部クロックOSCClkのキャリブレーションに失敗したときは、パワーオンリードコマンドCMDPORは「H」となり、固定値信号INITOSCは「L」となり、内部クロックOSCClkのキャリブレーションに失敗したことを示す失敗信号CALIBFAILが「H」となる。この場合は、コード信号F_OSCとして、固定値Initial Valueとも補正値Trimmed Valueとも異なる値を出力する。このとき、発振器23dは、動作速度よりも安全性を優先して、例えば、発振器23dが生成可能な発振周期のうち、最も長い周期の内部クロックOSCClkを出力する。これにより、固定値Initial Valueに基づく内部クロックOSCClkの周期が目標値から大きくずれていても、ヒューズ領域37から情報を確実に読み出すことができる。
次に、コア部30のセルアレイ31の構成を説明する。
図5は、本実施形態のセルアレイを例示する斜視図であり、
図6は、本実施形態のセルアレイを例示する断面図であり、
図7は、本実施形態のセルアレイを例示する回路図である。
なお、図5においては、図を見易くするために、導電部分のみを示し、絶縁部分は図示を省略している。
図5は、本実施形態のセルアレイを例示する斜視図であり、
図6は、本実施形態のセルアレイを例示する断面図であり、
図7は、本実施形態のセルアレイを例示する回路図である。
なお、図5においては、図を見易くするために、導電部分のみを示し、絶縁部分は図示を省略している。
図5〜図7に示すように、装置100においては、シリコン基板51が設けられている。このシリコン基板51にコア部30及び周辺回路部10が設定されている。コア部30のセルアレイ31においては、シリコン基板51上に絶縁膜50が設けられており、その上に導電膜、例えば、ポリシリコン膜52が形成されており、これがバックゲートBGとなっている。バックゲートBG上には、それぞれ複数の電極膜54と絶縁膜55とが交互に積層されている。そして、それぞれ複数の電極膜54及び絶縁膜55により、積層体MLが構成されている。
以下、図5及び図6の説明においては、便宜上、XYZ直交座標系を導入する。この座標系においては、シリコン基板51の上面に平行な方向であって相互に直交する2方向をX方向及びY方向とし、X方向及びY方向の双方に対して直交する方向、すなわち各層の積層方向をZ方向とする。
電極膜54は例えばポリシリコンにより形成されている。積層体MLにおけるX方向中央部においては、電極膜54はY方向に沿って分断され、X方向に延びる複数本のワード線WLとなっている。上方、すなわち、Z方向から見て、各層の電極膜54は同じパターンでパターニングされている。なお、積層体MLにおけるX方向両端部においては、電極膜54はY方向に沿っては分断されておらず、1対の櫛状の形状をなしている。一方、絶縁膜55は例えばシリコン酸化物(SiO2)からなり、電極膜54同士を絶縁する層間絶縁膜として機能する。
積層体ML上には、絶縁膜56、導電膜57及び絶縁膜58がこの順に成膜されている。導電膜57は例えばポリシリコンからなり、Y方向に沿って分断され、X方向に延びる複数本の選択ゲート電極SGとなっている。選択ゲート電極SGは、最上層のワード線WLの直上域に2本ずつ設けられている。すなわち、選択ゲート電極SGはワード線WLと同じ方向(X方向)に延びているが、配列周期は半分である。なお、後述するように、選択ゲート電極SGには、ビット線側の選択ゲート電極SGbとソース線側の選択ゲート電極SGsとがある。
絶縁膜58上には絶縁膜59が設けられており、絶縁膜59上には、X方向に延びるソース線SLが設けられている。ソース線SLは、Y方向に沿って配列された最上層のワード線WLのうち、1つおきのワード線WLの直上域に配置されている。また、絶縁膜59上には、ソース線SLを覆うように絶縁膜60が設けられており、絶縁膜60上には、Y方向に延びる複数本のビット線BLが設けられている。ソース線SL及びビット線BLは、それぞれ金属膜により形成されている。
そして、積層体MLを貫くように、各層の積層方向(Z方向)に延びる複数本の貫通ホール61が形成されている。各貫通ホール61は各段のワード線WLを貫き、下端はバックゲートBGに到達している。また、貫通ホール61はX方向及びY方向に沿ってマトリクス状に配列されている。そして、ワード線WLはX方向に延びているため、X方向に配列された貫通ホール61は、同一のワード線WLを貫いている。また、Y方向における貫通ホール61の配列周期は、ワード線WLの配列周期の半分である。これにより、Y方向に配列された貫通ホール61は2個で1組となり、同じ組に属する貫通ホール61は同じワード線WLを貫いている。
また、バックゲートBGの上層部分内には、1本の貫通ホール61の下端部を、この貫通ホール61から見てY方向に1列分離隔した他の1本の貫通ホール61の下端部に連通させるように、連通孔62が形成されている。これにより、Y方向において隣り合う1対の貫通ホール61と、それらを相互に連通させる連通孔62とにより、1本の連続したU字孔63が形成されている。積層体ML内には、複数本のU字孔63が形成されている。
U字孔63の内面上には、ONO膜(Oxide Nitride Oxide film:酸化物−窒化物−酸化物膜)64が設けられている。ONO膜64においては、外側から順に、絶縁性のブロック層65、電荷蓄積層66、絶縁性のトンネル層67が積層されている。ブロック層65はバックゲートBG、ワード線WL及び絶縁膜55に接している。ブロック層65及びトンネル層67は、例えばシリコン酸化物からなり、電荷蓄積層66は、例えばシリコン窒化物からなる。ブロック層65は、装置100の駆動電圧の範囲内で電圧が印加されても実質的に電流を流さない層である。電荷蓄積層66は電荷を蓄積する能力がある層であり、例えば、電子のトラップサイトを含む層である。トンネル層67は、通常は絶縁性であるが、装置100の駆動電圧の範囲内にある所定の電圧が印加されるとトンネル電流を流す層である。
また、U字孔63の内部には、不純物がドープされた半導体材料、例えば、ポリシリコンが埋め込まれている。これにより、U字孔63の内部には、U字シリコン部材73が設けられている。U字シリコン部材73のうち、貫通ホール61内に位置する部分はシリコンピラー71となっており、連通孔62内に位置する部分は接続部材72となっている。シリコンピラー71の形状はZ方向に延びる柱状であり、例えば円柱状である。また、接続部材72の形状はY方向に延びる柱形であり、例えば四角柱形である。U字シリコン部材73を構成する2本のシリコンピラー71及び1本の接続部材72は一体的に形成されており、従って、U字シリコン部材73は、その長手方向に沿って切れ目無く連続的に形成されている。更に、U字シリコン部材73は、ONO膜64によってバックゲートBG及びワード線WLから絶縁されている。
また、絶縁膜56、選択ゲート電極SG及び絶縁膜58には、複数の貫通ホール81が形成されている。各貫通ホール81は各貫通ホール61の直上域に形成されており、各貫通ホール61に連通されている。ここで、選択ゲート電極SGはX方向に延びているため、X方向に配列された貫通ホール81は、同一の選択ゲート電極SGを貫いている。また、Y方向における貫通ホール81の配列周期は、選択ゲート電極SGの配列周期と同じであり、配列の位相も同じである。従って、Y方向に配列された複数本の貫通ホール81は、選択ゲート電極SGと1対1で対応し、相互に異なる選択ゲート電極SGを貫いている。
貫通ホール81の内面上には、ゲート絶縁膜68が形成されている。また、貫通ホール81の内部には、例えばポリシリコンが埋め込まれており、シリコンピラー74となっている。シリコンピラー74の形状は、Z方向に延びる柱形であり、例えば円柱形である。シリコンピラー74の下端部は、その直下域に形成されたシリコンピラー71の上端部に接続されている。更に、シリコンピラー74は、ゲート絶縁膜68によって制御ゲート電極SGから絶縁されている。そして、U字シリコン部材73と、その上端部に接続された1対のシリコンピラー74により、U字ピラー70が構成されている。
以下、U字ピラー70と、ワード線WL、選択ゲート電極SG、ソース線SL及びビット線BLとの位置関係を説明する。
U字ピラー70は、Y方向において隣り合う1対のシリコンピラー74及び71が、接続部材72によって相互に接続されて構成されている。一方、ワード線WL、選択ゲート電極SG及びソース線SLはX方向に延びており、ビット線BLはY方向に延びている。そして、U字ピラー70とワード線WLのY方向における配列周期は同じであるが、位相が半周期分ずれているため、各U字ピラー70に属する1対のシリコンピラー71、すなわち、接続部材72によって相互に接続された2本のシリコンピラー71は、相互に異なるワード線WLを貫いている。一方、Y方向において隣り合う2本のU字ピラー70に属する2本のシリコンピラー71であって、隣り合う2本のシリコンピラー71は、共通のワード線WLを貫いている。
U字ピラー70は、Y方向において隣り合う1対のシリコンピラー74及び71が、接続部材72によって相互に接続されて構成されている。一方、ワード線WL、選択ゲート電極SG及びソース線SLはX方向に延びており、ビット線BLはY方向に延びている。そして、U字ピラー70とワード線WLのY方向における配列周期は同じであるが、位相が半周期分ずれているため、各U字ピラー70に属する1対のシリコンピラー71、すなわち、接続部材72によって相互に接続された2本のシリコンピラー71は、相互に異なるワード線WLを貫いている。一方、Y方向において隣り合う2本のU字ピラー70に属する2本のシリコンピラー71であって、隣り合う2本のシリコンピラー71は、共通のワード線WLを貫いている。
また、Y方向に配列された複数本のシリコンピラー74は相互に異なる選択ゲートSGを貫いており、従って、各U字ピラー70に属する1対のシリコンピラー74も、相互に異なる選択ゲート電極SGを貫いている。一方、X方向に配列された複数本のU字ピラー70は、共通の1対の選択ゲートSGを貫いている。
更に、各U字ピラー70に属する1対のシリコンピラー74のうち、1本のシリコンピラー74は絶縁膜59内に埋設されたソースプラグSPを介してソース線SLに接続されており、他の1本のシリコンピラー74は絶縁膜59及び60内に埋設されたビットプラグBPを介してビット線BLに接続されている。従って、U字ピラー70は、ビット線BLとソース線SLとの間に接続されている。図5〜図7においては、U字ピラー70が貫く選択ゲート電極SGのうち、ビット線側に配置された選択ゲート電極SGを選択ゲート電極SGbと表記し、ソース線側に配置された選択ゲート電極SGを選択ゲート電極SGsと表記する。そして、X方向に配列されたU字ピラー70は、共通のソース線に接続され、相互に異なるビット線BLに接続されている。ここで、X方向におけるU字ピラー70の配列周期は、ビット線BLの配列周期と同じであるため、X方向において、U字ピラー70とビット線BLとは1対1で対応している。一方、Y方向に配列されたU字ピラー70は、2本1組で各ソース線SLに接続され、共通のビット線BLに接続されている。
そして、図5〜図7に示すように、セルアレイ31においては、シリコンピラー71がチャネルとして機能し、ワード線WLがゲート電極として機能することにより、シリコンピラー71とワード線WLとの交差部分に、縦型のメモリトランジスタ75が形成される。各メモリトランジスタ75は、シリコンピラー71とワード線WLとの間に配置された電荷蓄積層66に電子を蓄積することにより、メモリセルとして機能する。積層体ML内には、複数本のシリコンピラー71がX方向及びY方向に沿ってマトリクス状に配列されているため、複数のメモリトランジスタ75が、X方向、Y方向、Z方向に沿って、3次元的に配列される。
また、シリコンピラー74と選択ゲート電極SGとの交差部分には、シリコンピラー74をチャネルとし、選択ゲート電極SGをゲート電極とし、ゲート絶縁膜68をゲート絶縁膜とした選択トランジスタ76が形成される。この選択トランジスタ76も、上述のメモリトランジスタ75と同様に、縦型トランジスタである。
更に、接続部材72とバックゲートBGとの間には、ONO膜64が介在するため、接続部材72をチャネルとし、バックゲートBGをゲート電極とし、ONO膜64をゲート絶縁膜としたバックゲートトランジスタ77が形成される。すなわち、バックゲートBGは、電界によって接続部材72の導通状態を制御する電極として機能する。
この結果、図7に示すように、各U字ピラー70に沿って、ビット線BLとソース線SLとの間に接続されたメモリストリングStrが構成される。各メモリストリングStrにおいては、両端部に選択トランジスタ76が設けられ、中央部にバックゲートトランジスタ77が設けられ、各選択トランジスタ76とバックゲートトランジスタ77との間に、電極膜54の積層数と同数のメモリトランジスタ75が直列に接続される。すなわち、積層体ML内に3次元的に配列された複数のメモリトランジスタ75は、U字シリコン部材73毎にメモリストリングStrとしてまとめられる。X方向に沿って1列に配列され、一対の選択ゲート電極SGb及びSGsを共有する複数本のメモリストリングStrにより、メモリストリング列が構成されている。そして、セルアレイ31においては、Y方向に沿って連続して配列された例えば4列のメモリストリング列により、ヒューズ領域37が構成されている。
なお、後述する第3の実施形態における説明の便宜上、図7においては、ヒューズ領域37を構成するメモリストリングにStr0〜Str3の符号を付して区別し、選択ゲート電極にSGb0〜SGb3、SGs0〜SGs3の符号を付して区別し、ワード線にワード線WL0〜WL7の符号を付して区別している。
次に、本実施形態に係る不揮発性記憶装置の動作について説明する。
先ず、不揮発性記憶装置100の通常動作について説明する。
上述の如く、「通常動作」とは、データ記憶領域36に対するデータの書込、読出、消去等の記憶装置本来の動作であり、パワーオンリード期間が終了した後の動作である。
先ず、不揮発性記憶装置100の通常動作について説明する。
上述の如く、「通常動作」とは、データ記憶領域36に対するデータの書込、読出、消去等の記憶装置本来の動作であり、パワーオンリード期間が終了した後の動作である。
図2及び図3に示すように、通常動作時においては、セルアレイ31のヒューズ領域37に格納されたヒューズデータがキャッシュ・センスアンプ33を介して読み出されている。ヒューズデータには、不良ビット情報の他に、内部クロックOSCClkの周期補正情報が含まれる。内部クロックOSCClkの周期補正情報とは、内部クロックOSCClkの周期が設計所望値に最も近い最適な値となるようにコード信号F_OSCの値を決定する情報である。周期補正情報は、例えば、装置100の工場出荷テスト工程において決定され、ヒューズ領域37に書き込まれる。このため、周期補正情報は装置100毎に異なる。内部クロックOSCClkの周期補正情報はレジスタ回路24によって保持され、コード信号F_OSCdefaultとして発振回路23の発振周期生成回路23cに対して出力される。また、コマンドデコーダ15から発振回路23の発振周期生成回路23cに入力されるパワーオンリードコマンドCMDPORはロウレベル(L)となっている。これにより、図4に示すように、発振周期生成回路23cは発振器23dに対して、コード信号F_OSCdefaultを出力する。
発振器23dは、コード信号F_OSCdefaultに基づいて、内部クロックOSCClkの周期を補正する。例えば、発振器23dとしてRC回路を使用する場合、装置100の製造工程において、RC回路の容量C及び抵抗Rは、製造条件の変動等に起因して、一定の管理範囲内で不可避的にばらついてしまう。このため、仮に補正しなければ、発振器23dの発振周期は装置100毎にばらついてしまう。そこで、このばらつきを抑えるために、容量C及び抵抗Rのうち、少なくとも一方を調整して、発振周期を所望の値に近づける。例えば、容量Cが、発振器23d内に設けられた複数のキャパシタが並列に接続されることによって実現されている場合には、並列に接続されるキャパシタの数を調整することにより、容量Cの値を制御する。また、抵抗Rが、発振器23d内に設けられた複数の抵抗部材が直列に接続されることによって実現されている場合には、直列に接続される抵抗部材の数を調整することにより、抵抗Rの値を制御する。これにより、発振器23dは、所望の発振周期に補正された内部クロックOSCClkを同期化回路19及びステートマシン20に対して出力する。
ステートマシン20は、この補正された内部クロックOSCClkに基づいて、セルアレイ31のデータ記憶領域36に対して、データの書込、読出及び消去等の動作を行う。このとき、図2、図5及び図7に示すように、ロウデコーダ32がストリングアドレス信号STRADDに基づいて一対の選択ゲート電極SGb及びSGsを選択することにより、1本のメモリストリングStrを選択する。また、ロウデコーダ32がワード線アドレス信号WLADDに基づいて、選択されたワード線WLに対して選択電位を印加し、非選択のワード線WLに対して非選択電位を印加することにより、このメモリストリングStrに属する特定のメモリセルに対して、データの書込及び読出を行う。
次に、不揮発性記憶装置100におけるパワーオンリードについて説明する。
上述の如く、装置100の通常動作は、ヒューズ領域37に格納された周期補正情報を使用している。このため、装置100の起動時にパワーオンリードを実施し、ヒューズ領域37から周期補正情報を読み出す必要があるが、パワーオンリード動作においては、周期補正情報は未だ読み出されていないため使用できない。そこで、本実施形態においては、周辺回路部10内で自律的且つ簡便な方法により、内部クロックOSCClkの周期を補正する。
上述の如く、装置100の通常動作は、ヒューズ領域37に格納された周期補正情報を使用している。このため、装置100の起動時にパワーオンリードを実施し、ヒューズ領域37から周期補正情報を読み出す必要があるが、パワーオンリード動作においては、周期補正情報は未だ読み出されていないため使用できない。そこで、本実施形態においては、周辺回路部10内で自律的且つ簡便な方法により、内部クロックOSCClkの周期を補正する。
先ず、パワーオンリードの概略について説明する。
図8は、横軸に時間をとり、縦軸に各信号の値をとって、本実施形態のパワーオンリードの概略を例示するタイミングチャート図である。
図1及び図8に示すように、パワーオンリードを行うときには、コントローラ200から不揮発性記憶装置100に対して、アクティブロウ信号であるライトイネーブル信号WEnxがロウレベル(活性)とされると共に、これに同期して、双方向バスIOx<7:0>を介してパワーオンリードを開始する開始コマンドFFが入力される。この時刻を時刻t1とする。これにより、装置100は、パワーオンリードコマンドCMDPORをハイレベルにしてパワーオンリードを開始すると共に、レディービジー信号RBnxをロウレベルとして、装置100がビジー状態であり、パワーオンリードに必要なコマンド以外のコマンドを受けられないことをコントローラ200に対して通知する。
図8は、横軸に時間をとり、縦軸に各信号の値をとって、本実施形態のパワーオンリードの概略を例示するタイミングチャート図である。
図1及び図8に示すように、パワーオンリードを行うときには、コントローラ200から不揮発性記憶装置100に対して、アクティブロウ信号であるライトイネーブル信号WEnxがロウレベル(活性)とされると共に、これに同期して、双方向バスIOx<7:0>を介してパワーオンリードを開始する開始コマンドFFが入力される。この時刻を時刻t1とする。これにより、装置100は、パワーオンリードコマンドCMDPORをハイレベルにしてパワーオンリードを開始すると共に、レディービジー信号RBnxをロウレベルとして、装置100がビジー状態であり、パワーオンリードに必要なコマンド以外のコマンドを受けられないことをコントローラ200に対して通知する。
そして、装置100は、先ず、キャリブレーションを実施する。装置100は、コマンドCMD1及びCMD2を入力できる期間として、データシート上に有限の時間を確保する。この時間を、内部クロックOSCClkの補正可能期間tCALIBとする。補正可能期間tCALIBは、例えば10マイクロ秒である。時刻t2において、補正可能期間tCALIBの進行を開始する。時刻t1と時刻t2との間の期間は、例えば1マイクロ秒である。
時刻t2の後、充分に余裕を確保してから、時刻t3において、コントローラ200から装置100に対して、ライトイネーブル信号WEnxがロウレベルとされると共に、これに同期して、双方向バスIOx<7:0>を介してコマンドCMD1が入力される。その後、時刻t4において、コントローラ200から装置100に対して、ライトイネーブル信号WEnxがロウレベルとされると共に、これに同期して、双方向バスIOx<7:0>を介してコマンドCMD2が入力される。装置100は、コマンドCMD1が入力されてからコマンドCMD2が入力されるまでの期間を、基準時間tSTDと定義する。基準時間tSTDは例えば1.6マイクロ秒である。装置100は、この基準時間tSTDを基準として、内部クロックOSCClkの周期のキャリブレーションを行う。キャリブレーションの具体的な方法については後述する。
その後、時刻t5において、補正可能期間tCALIBが終了する。次に、時刻t6において、コントローラ200から装置100に対して、ライトイネーブル信号WEnxがロウレベルとされると共に、これに同期して、双方向バスIOx<7:0>を介してキャリブレーションが成功したか否かを問い合わせるコマンドStatusが入力される。これに応答して、装置100からコントローラ200に対して、アクティブロウ信号であるリードイネーブル信号REnxをロウレベル(活性)とすると共に、双方向バスIOx<7:0>を介してキャリブレーションが成功したか否かを示す情報Infoを出力する。なお、コマンドStatusの入力は任意であり、入力されなくてもよい。
一方、装置100は、時刻t5から時刻t7までの期間において、ヒューズデータの読出を行う。その後、時刻t7において、装置100は、パワーオンリードコマンドCMDPORをロウレベルに戻して、パワーオンリードを終了する。このとき、装置100は、レディービジー信号RBnxをハイレベルに戻し、装置100が通常動作のコマンドを受付可能となったことを、コントローラ200に対して通知する。
以上をまとめると、パワーオンリードに関して、コントローラ200から装置100に入力されるコマンドは、以下の4つである。但し、下記(4)のコマンドStatusの入力は任意である。
(1)パワーオンリードを開始する開始コマンドFF(時刻t1)
(2)基準時間tSTDの始期を示すコマンドCMD1(時刻t3)
(3)基準時間tSTDの終期を示すコマンドCMD2(時刻t4)
(4)キャリブレーションが成功したか否かを問い合わせるコマンドStatus(時刻t6)
(1)パワーオンリードを開始する開始コマンドFF(時刻t1)
(2)基準時間tSTDの始期を示すコマンドCMD1(時刻t3)
(3)基準時間tSTDの終期を示すコマンドCMD2(時刻t4)
(4)キャリブレーションが成功したか否かを問い合わせるコマンドStatus(時刻t6)
一方、装置100からコントローラ200に対して出力される情報は、以下の1つである。
(1)キャリブレーションが成功したか否かを示す情報Info(コマンドStatusが入力された時刻t6よりも後の時刻)
但し、この情報Infoは、コントローラ200からコマンドStatusが入力された場合にのみ出力される。
(1)キャリブレーションが成功したか否かを示す情報Info(コマンドStatusが入力された時刻t6よりも後の時刻)
但し、この情報Infoは、コントローラ200からコマンドStatusが入力された場合にのみ出力される。
次に、パワーオンリードの詳細、特に、キャリブレーションの詳細を、装置100の内部の動作と共に説明する。
図9は、横軸に時間をとり、縦軸に各信号の値をとって、本実施形態のパワーオンリード方法を詳細に例示するタイミングチャート図であり、内部クロックOSCClkが目標よりも遅い場合を示し、
図10は、本実施形態のパワーオンリードにおけるステートマシンの動作を例示するフローチャート図であり、
図11は、図10に示すサブルーチンS10を例示するフローチャート図である。
図9は、横軸に時間をとり、縦軸に各信号の値をとって、本実施形態のパワーオンリード方法を詳細に例示するタイミングチャート図であり、内部クロックOSCClkが目標よりも遅い場合を示し、
図10は、本実施形態のパワーオンリードにおけるステートマシンの動作を例示するフローチャート図であり、
図11は、図10に示すサブルーチンS10を例示するフローチャート図である。
以下、図1〜図4、図8〜図11を参照して説明する。
図2及び図8に示すように、時刻t1において、不揮発性記憶装置100の入力バッファ11及び入力バッファ12にパワーオンリードを開始する開始コマンドFFが入力されると、コマンドデコーダ15がパワーオンリードコマンドCMDPORをハイレベルとし、これが同期化回路19及び発振回路23に伝達される。同期化回路19は、パワーオンリードコマンドCMDPORを内部クロックOSCClkに同期させて同期信号CMDPORsyncを生成し、ステートマシン20に対して出力する。
図2及び図8に示すように、時刻t1において、不揮発性記憶装置100の入力バッファ11及び入力バッファ12にパワーオンリードを開始する開始コマンドFFが入力されると、コマンドデコーダ15がパワーオンリードコマンドCMDPORをハイレベルとし、これが同期化回路19及び発振回路23に伝達される。同期化回路19は、パワーオンリードコマンドCMDPORを内部クロックOSCClkに同期させて同期信号CMDPORsyncを生成し、ステートマシン20に対して出力する。
これにより、ステートマシン20が起動して、パワーオンリードを開始する。ステートマシン20は、レディービジー信号RBnをロウレベルとする。このロウレベルのレディービジー信号RBnは、出力バッファ22においてレディービジー信号RBnxに変換されて、信号ピンを介してコントローラ200に伝達される。これにより、装置100がビジー状態であり、パワーオンリードに必要なコマンド以外のコマンドを受けられないことをコントローラ200に対して通知する。
次に、図10のステップS10に示すように、ステートマシン20はキャリブレーションを開始する。図8に示すように、時刻t2において、ステートマシン20は、コマンドCMD1及びCMD2を入力できる期間として、補正可能期間tCALIBを設定する。また、ステートマシン20は、アクティブロウ信号であるカウンタリセット信号CNTRSTnを非活性(ハイレベル)とし、カウンタ回路23aの初期リセットを解除する。このとき、カウンタ回路23aのカウント値Countは「0」である。
次に、図11のステップS11に示すように、ステートマシン20は、失敗信号CALIBFAILをロウレベル(0)とし、固定値信号INITOSCをハイレベル(1)とする。これらの信号は発振回路23に伝達される。これにより、装置100が、キャリブレーション可能な状態に初期化される。
このとき、図3及び図4に示すように、パワーオンリードコマンドCMDPORがハイレベル(H)となり、固定値信号INITOSCがハイレベル(H)となるため、発振回路23の発振周期生成回路23cから発振器23dに対して出力されるコード信号F_OSCは固定値Initial Valueとなる。これにより、発振器23dは、固定値Initial Valueに基づいて発振周期が固定された内部クロックOSCClkを出力する。なお、このときの発振周期は、装置100の製造条件の変動等により、装置100ごとにばらついている。
そして、ステートマシン20は、図11のステップS12に示すようにコマンドCMD1の入力に備えて待機し、ステップS13に示すようにコマンドCMD1の入力の有無を確かめ、入力されていなければ、ステップS19に進み、補正可能期間tCALIBが終了したかどうかを確認し、経過していなければキャリブレーションを終了しないと判断し、ステップS12に戻る。以後、コマンドCMD1が入力されるか、又は、補正可能期間tCALIBが終了するまで、ステップS12→ステップS13→ステップS19→ステップS12のループを周回する。
時刻t3において、入力バッファ11に入力されるライトイネーブル信号WEnxがロウレベルに遷移するのと同期して入力バッファ12にコマンドCMD1が入力されると、コマンドデコーダ15がコマンドCMD1を同期化回路19に対して出力する。図9に示すように、同期化回路19は、コマンドCMD1が入力された後、最初に内部クロックOSCClkがロウレベルからハイレベルに立ち上がるタイミングで、同期信号CMD1syncをロウレベルからハイレベルに立ち上げる。このようにして、同期化回路19は、コマンドCMD1を内部クロックOSCClkに同期させた同期信号CMD1syncを生成する。この同期信号CMD1syncはステートマシン20に入力される。
ステートマシン20は、同期信号CMD1syncがハイレベルになると、コマンドCMD1が入力されたと判断して図11に示すステップS13からステップS14に進み、カウントイネーブル信号CNTENBをロウレベルからハイレベルに切り替える。これにより、発振回路23のカウンタ回路23aに、内部クロックOSCClkがロウレベルからハイレベルに立ち上がるクロックエッジのカウントを開始させる。カウンタ回路23aは、同期信号CMD1syncがハイレベルに切り替わった後、最初の内部クロックOSCClkの立ち上がりからカウントを開始し、カウント値Countを「0」から1ずつ増加させていく。このようにして、カウンタ回路23aは内部クロックOSCClkの周期数をカウントしてカウント値Countを生成し、差分回路23bに対して出力する。
差分回路23bには、基準時間tSTDに応じて予め決められた参照値が保持されている。例えば、本実施形態においては、基準時間tCALIBが1.6マイクロ秒であり、内部クロックOSCClkの周期の目標値を100ナノ秒(0.1マイクロ秒)とするため、参照値は「16」(=1.6マイクロ秒/0.1マイクロ秒)とする。差分回路23bは、カウント値Countから参照値を減じた差分値Diffを計算する。この差分値Diffは発振周期生成回路23cに入力される。このとき、差分値Diff=カウント値Count−参照値(16)であるから、カウント値Countが「0」であれば、差分値Diffは「−16」となり、カウント値Countが「1」であれば、差分値Diffは「−15」となり、カウント値Countが「16」であれば、差分値Diffは「0」となる。このように、差分値Diffはカウント値Countに同期して1つずつ増加する。
そして、ステートマシン20は、図11のステップS15に示すようにコマンドCMD2の入力に備えて待機し、ステップS16に示すようにコマンドCMD2の入力の有無を確かめ、入力されていなければ、ステップS20に進み、補正可能期間tCALIBが終了したかどうかを確認し、終了していなければキャリブレーションを終了しないと判断し、ステップS15に戻る。以後、コマンドCMD2が入力されるか、又は、補正可能期間tCALIBが終了するまで、ステップS15→ステップS16→ステップS20→ステップS15のループを周回する。
時刻t4において、入力バッファ11に入力されるライトイネーブル信号WEnxがロウレベルに遷移するのと同期して入力バッファ12にコマンドCMD2が入力されると、コマンドデコーダ15がコマンドCMD2を同期化回路19に対して出力する。同期化回路19は、コマンドCMD2が入力された後、最初に内部クロックOSCClkがロウレベルからハイレベルに立ち上がるタイミングで、同期信号CMD2syncをロウレベルからハイレベルに立ち上げる。このようにして、同期化回路19は、コマンドCMD2を内部クロックOSCClkに同期させた同期信号CMD2syncを生成する。この同期信号CMD2syncはステートマシン20に入力される。
ステートマシン20は、同期信号CMD2syncがハイレベルになると、図11のステップS16からステップS17に進み、カウンタ回路23aにカウントを停止させる。具体的には、ステートマシン20は、カウントイネーブル信号CNTENBをハイレベルからロウレベルに切り替えると共に、カウント保持信号EVALUATIONをロウレベルからハイレベルに切り替える。これにより、カウンタ回路23aはカウントを停止し、そのときのカウント値Countを保持する。この結果、差分回路23bが出力する差分値Diffの値も固定される。図9に示すように、最終的に保持されるカウント値Countは、基準時間tSTD内における内部クロックOSCClkの周期数を表している。
図9に示す例では、内部クロックOSCClkが遅すぎ、内部クロックOSCClkの周期が目標値、例えば100ナノ秒よりも長かったため、カウント値Countは「16」まで到達せず、最終的に到達して保持されたカウント値Countは「14」である。すなわち、内部クロックOSCClkの周期が適正であれば、基準時間tSTD内に内部クロックOSCClkの周期が16回カウントされるはずであるが、14回しかカウントされなかったことになる。このため、差分値Diffは「−2」で保持される。その後、同期信号CMDsync2がハイレベルに遷移したときの内部クロックOSCClkの立ち上がりの次の立ち上がりにおいて、コマンドCMD1及びCMD2、同期信号CMD1sync及びCMD2sync、並びに、カウント保持信号EVALUATIONが、いずれもロウレベルとなる。
次に、図11のステップS18に示すように、発振回路23の発振周期生成回路23cが内部クロックOSCClkの周期の補正値を計算する。この補正値は、内部クロックOSCClkの周期が設計中央値に近づくように決定される。補正値の計算方法は後述する。次に、ステップS23に示すように、ステートマシン20が固定値信号INITOSCをロウレベル(0)とする。これにより、サブルーチンS10が終了する。
次に、図10のステップS30に示すように、ステートマシン20が、キャリブレーションが成功したか否かを判断する。この判断は、失敗信号CALIBFAILの値に基づいて行う。図9に示す例では、失敗信号CALIBFAILの値は、図11のステップS11においてロウレベル(0)とされているため、ステートマシン20はキャリブレーションが成功したと判断する。
この場合は、ステップS40に進み、図11のステップS18において計算した補正値を、内部クロックOSCClkの周期に適用する。すなわち、図3及び図4に示すように、パワーオンリードコマンドCMDPORはハイレベル(H)のままであり、ステップS23において固定値信号INITOSCがロウレベル(L)とされ、失敗信号CALIBFAILはロウレベル(L)であるため、発振周期生成回路23cが発振器23dに対して出力するコード信号F_OSCの値は、固定値Initial Value及び差分値Diffで決まる補正値Trimmed Valueとなる。この結果、図9に示すように、補正値Trimmed Valueに基づいて、内部クロックOSCClkの周期が変更される。図9に示す例では、固定値Initial Valueに基づいた元の内部クロックOSCClkが遅すぎたため、補正値Trimmed Valueに基づいて、より早い内部クロックOSCClkに修正される。
一方、図8に示すように、補正可能期間tCALIBが経過し、時刻t5に到達した後、時刻t6において、コントローラ200から装置100に対して、キャリブレーションが成功したか否かを問い合わせるコマンドStatusが入力される場合がある。この場合は、コマンドStatusに対応して、ステートマシン20が選択回路17及び出力バッファ13を介して、双方向バスIOx<7:0>に失敗信号CALIBFAILを出力する。これにより、装置100からコントローラ200に対して、キャリブレーションが成功したか否かを示す情報Infoが出力される。
そして、図10のステップS60に示すように、補正値Trimmed Valuen基づいて発振周期が補正された内部クロックOSCClkを用いて、ヒューズ領域37に格納されたヒューズデータをキャッシュ・センスアンプ33を介して読み出す。また、ヒューズデータ以外の各データの読出も、補正された内部クロックOSCClkを用いて行う。次に、図10のステップS70に示すように、読み出したヒューズデータに含まれる周期補正情報を、レジスタ回路24の保持値としてセットする。
次に、図8に示すように、時刻t7において、ステートマシン20は、パワーオンリードコマンドCMDPORをハイレベルからロウレベルに切り替える。これにより、図4に示すように、コード信号F_OSCの値がコード信号F_OSCdefaultとなる。この結果、装置100において、レジスタ回路24に保持された周期補正情報を用いた通常動作が可能となる。また、ステートマシン20は、レディービジー信号RBnをハイレベルに遷移させて、装置100が通常動作のコマンドを受付可能となったことを、コントローラ200に対して通知する。これにより、パワーオンリードが終了する。
上述の説明では、装置100に固有の内部クロックOSCClkが目標よりも遅い場合、すなわち、発振周期が目標値よりも長い場合について説明した。
次に、装置100に固有の内部クロックOSCClkが目標よりも速い場合、すなわち、発振周期が目標値よりも短い場合について説明する。
図12は、横軸に時間をとり、縦軸に各信号の値をとって、本実施形態のパワーオンリード方法を詳細に例示するタイミングチャート図であり、内部クロックOSCClkが目標よりも速い場合を示す。
次に、装置100に固有の内部クロックOSCClkが目標よりも速い場合、すなわち、発振周期が目標値よりも短い場合について説明する。
図12は、横軸に時間をとり、縦軸に各信号の値をとって、本実施形態のパワーオンリード方法を詳細に例示するタイミングチャート図であり、内部クロックOSCClkが目標よりも速い場合を示す。
図12に示すように、内部クロックOSCClkが目標よりも速い場合は、基準時間tSTD内に収まる周期が16よりも多いため、カウント値Countが「16」を超えて増加する。図12に示す例では、カウント値Countは「19」に達する。このため、差分値Diffは「+3」となり、内部クロックOSCClkは遅くなるように、すなわち、発振周期が長くなるように補正される。
以上説明した装置100の動作を、内部クロックOSCClkの周期に着目して、装置100の起動時から時系列的に記載すると、以下のようになる。
<1>発振周期生成回路23cがコード信号F_OSCの値を固定値Initial Valueに固定することにより、発振器23dが、固定値Initial Valueに基づいて周期が第1の周期に決定された内部クロックOSCClkを発振する。この内部クロックOSCClkの第1の周期は装置100ごとに異なる。
<2>発振周期生成回路23cが基準時間tSTD及び上記<1>で周期が決定された内部クロックOSCClkに基づいてコード信号F_OSCの値を決定することにより、発振器23dが発振する内部クロックOSCClkの周期を自律的に補正して第2の周期とする。
<3>上記<2>において第2の周期に補正された内部クロックOSCClkを用いてヒューズデータを読み出す。
<4>上記<3>において読み出されたヒューズデータに含まれる周期補正情報を用いて内部クロックOSCClkの周期を更に補正して第3の周期とする。
<5>上記<4>において更に補正された第3の周期の内部クロックOSCClkを用いて通常動作を行う。
<1>発振周期生成回路23cがコード信号F_OSCの値を固定値Initial Valueに固定することにより、発振器23dが、固定値Initial Valueに基づいて周期が第1の周期に決定された内部クロックOSCClkを発振する。この内部クロックOSCClkの第1の周期は装置100ごとに異なる。
<2>発振周期生成回路23cが基準時間tSTD及び上記<1>で周期が決定された内部クロックOSCClkに基づいてコード信号F_OSCの値を決定することにより、発振器23dが発振する内部クロックOSCClkの周期を自律的に補正して第2の周期とする。
<3>上記<2>において第2の周期に補正された内部クロックOSCClkを用いてヒューズデータを読み出す。
<4>上記<3>において読み出されたヒューズデータに含まれる周期補正情報を用いて内部クロックOSCClkの周期を更に補正して第3の周期とする。
<5>上記<4>において更に補正された第3の周期の内部クロックOSCClkを用いて通常動作を行う。
次に、カウント値に基づく内部クロックOSCClkの周期の補正方法を説明する。
図13(a)及び(b)は、横軸にコード信号F_OSCの値(コード値)をとり、縦軸にカウント値をとって、発振周期の補正方法を例示するグラフ図であり、(a)は発振が設計よりも遅い場合を示し、(b)は発振が設計よりも速い場合を示す。
図13(a)及び(b)は、横軸にコード信号F_OSCの値(コード値)をとり、縦軸にカウント値をとって、発振周期の補正方法を例示するグラフ図であり、(a)は発振が設計よりも遅い場合を示し、(b)は発振が設計よりも速い場合を示す。
図13(a)及び(b)に示すように、例えば、コード信号F_OSCの値(コード値)を、内部クロックOSCClkの周期に比例した数とする。この場合、発振器23dに入力されるコード値が大きいほど、発振周期は長くなり、発振は遅くなる。そして、上述の如く、発振が遅いほど、カウンタ回路23aにおいて最終的に到達して保持されるカウント値Countは小さくなる。すなわち、コード値又は発振周期が増加すると、カウント値Countは減少する。図13(a)及び(b)において、実線は発振周期が設計中央値である場合のコード値とカウント値との関係を示し、破線は発振周期が設計中央値よりも長い場合及び短い場合のコード値とカウント値との関係を示す。
そして、点Aで示すように、実際の内部クロックOSCClkの周期が設計中央値である場合に、カウント値Countがカウント中央値になるように、コード値の固定値Initial Valueを設定する。例えば、コード値は「0」〜「15」の整数とし、固定値Initial Valueを「8」とし、カウント設計値は「16」とする。但し、上述の如く、実際の発振周期は装置100毎に異なるため、コード値を固定値Initial Valueとしても、カウント値Countがカウント中央値になるとは限らない。すなわち、カウント値Countをカウント中央値とするための最適なコード値は、装置100毎に異なっている。
図13(a)に示すように、実際の発振が設計よりも遅い場合、すなわち、発振周期が設計値よりも長い場合には、コード値が固定値Initial Valueであると、点Bに示すように、カウント値Countはカウント中央値よりも小さい値になる。このため、点Cに示すように、コード値を固定値Initial Valueよりも小さい値に修正することにより、カウント値Countをカウント中央値に近づくように補正する。図9に示す例では、カウント値Countは「14」であり、カウント中央値(16)に対して、差分値Diff(−2)だけずれている。そこでコード値を、固定値Initial Value(8)に、差分値Diff(−2)に対応する値ΔDACを加えた補正値Trimmed Valueとする。
また、図13(b)に示すように、実際の発振が設計よりも速い場合、すなわち、発振周期が設計値よりも短い場合には、コード値が固定値Initial Valueであると、点Dに示すように、カウント値Countはカウント中央値よりも大きい値になる。このため、点Eに示すように、コード値を固定値Initial Valueよりも大きい値に修正することにより、カウント値Countをカウント中央値に近づくように補正する。図12に示す例では、カウント値Countは「19」であり、カウント中央値(16)に対して、差分値Diff(+3)だけずれている。そこでコード値を、固定値Initial Value(8)に、差分値Diff(+3)に対応する値ΔDACを加えた補正値Trimmed Valueとする。
次に、キャリブレーションに失敗した場合の対処方法について説明する。
図14は、横軸に時間をとり、縦軸に各信号の値をとって、本実施形態のパワーオンリード方法を詳細に例示するタイミングチャート図であり、キャリブレーションに失敗した場合を示す。
図14は、横軸に時間をとり、縦軸に各信号の値をとって、本実施形態のパワーオンリード方法を詳細に例示するタイミングチャート図であり、キャリブレーションに失敗した場合を示す。
上述の如く、装置100には、基準時間tSTD内にコントローラ200からコマンドCMD1及びCMD2が入力されることが規定されているが、何らかの原因により、いずれか一方又は両方のコマンドが入力されず、キャリブレーションが不可能となる場合も想定される。このような場合は、パワーオンリードにおいて、内部クロックOSCClkの周期を補正せずに、内部クロックOSCClkの周期を予め決められた固定値として、周期補正情報等のヒューズデータを読み出す。このとき、内部クロックOSCClkの周期が目標値から大きく外れていても安全に読出動作を実行できるように、発振周期の固定値は十分に長く設定する。
以下、この動作について、具体的に説明する。
図14は、基準時間tSTDの始期を示すコマンドCMD1は入力されたものの、終期を示すコマンドCMD2が補正可能期間tCALIB内に入力されなかった場合を示している。
図14は、基準時間tSTDの始期を示すコマンドCMD1は入力されたものの、終期を示すコマンドCMD2が補正可能期間tCALIB内に入力されなかった場合を示している。
図14に示すように、コマンドCMD1が入力された後、コマンドCMD2が入力されないと、カウントイネーブル信号CNTENBがロウレベルにならず、カウント保持信号EVALUATIONがハイレベルにならない。このため、カウンタ回路23aは内部クロックOSCClkに同期してカウントを継続し、カウント値Countを増加させ続ける。
そして、図11に示すように、ステートマシン20がステップS15→ステップS16→ステップS20→ステップS15のループを周回しているときに、コマンドCMD2が入力されることなく、補正可能期間tCALIBが終了して時刻t5に到達すると、ステップS20からステップS21に進み、カウンタ23aにカウントを停止させる。次に、ステップS22に示すように、ステートマシン20は失敗信号CALIBFAILをハイレベル(1)に切り替える。次に、ステップS23に示すように、ステートマシン20は固定値信号INITOSCをロウレベル(0)とする。
次に、図10のステップS30に示すように、ステートマシン20が、キャリブレーションが成功したか否かを判断する。このとき、失敗信号CALIBFAILはハイレベル(1)であるから、ステートマシン20はキャリブレーションが失敗したと判断する。従って、ステップS50に進み、内部クロックOSCClkの周期として、予め決められた固定値を採用する。
すなわち、この時点において、図3及び図4に示すように、パワーオンリードコマンドCMDPORはハイレベル(H)であり、固定値信号INITOSCはロウレベル(L)であり、失敗信号CALIBFAILはハイレベル(H)であるから、発振周期生成回路23cから発振器23dに対して出力されるコード信号F_OSCの値を安全値Safety Valueとする。安全値Safety Valueは、補正前の内部クロックOSCClkの周期が設計中央値から大きく外れていても、ヒューズデータを確実に読み出せるような値であり、例えば、発振器23dに内部クロックOSCClkの周期を最も長い周期とさせる値であるか、又は、内部クロックOSCClkの周期を、コード信号F_OSCdefaultによって決まる周期の2倍若しくは3倍の周期とする値である。安全値Safety Valueは、例えば、固定値Initial Valueとは異なり、固定値Initial Value及び差分値Diffによって決まる補正値Trimmed Valueとも異なる値とする。
これにより、パワーオンリードにおける読出動作速度を十分に遅くし、ヒューズ領域37に格納されたヒューズデータを安全に読み出すことができる。
なお、コマンドCMD1が入力されなかった場合は、図11に示すように、ステップS19からステップS21に進み、上述の動作と同様な動作を行う。
なお、コマンドCMD1が入力されなかった場合は、図11に示すように、ステップS19からステップS21に進み、上述の動作と同様な動作を行う。
また、図8に示すように、ステートマシン20は、時刻t6にコマンドStatuが入力された場合は、これに応答して、情報Infoを装置100の外部に対して出力する。例えば、失敗信号CALIBFAILを選択回路17及び出力バッファ13を介して双方向バスIOx<7:0>に出力する。これにより、周辺回路部10は、補正可能期間tCALIB中にコマンドCMD1及びCMD2の少なくとも一方が入力されなかったときに、その旨を装置100の外部に対して通知する。
次に、本実施形態の効果について説明する。
本実施形態においては、不揮発性記憶装置100を起動したときのパワーオンリードにおいて、内部クロックOSCClkの周期を自律的に調整している。これにより、読出動作の安全性を確保するために内部クロックOSCClkの周期を過剰に長く設定する必要がなくなり、ヒューズ領域37に格納された情報を短時間で読み出すことができる。また、簡便な方法により内部クロックOSCClkの周期を調整しているため、キャリブレーション自体に長時間を要することもない。この結果、不揮発性記憶装置100が大容量化し、ヒューズデータが増大しても、起動時間の増大を抑制できる。
本実施形態においては、不揮発性記憶装置100を起動したときのパワーオンリードにおいて、内部クロックOSCClkの周期を自律的に調整している。これにより、読出動作の安全性を確保するために内部クロックOSCClkの周期を過剰に長く設定する必要がなくなり、ヒューズ領域37に格納された情報を短時間で読み出すことができる。また、簡便な方法により内部クロックOSCClkの周期を調整しているため、キャリブレーション自体に長時間を要することもない。この結果、不揮発性記憶装置100が大容量化し、ヒューズデータが増大しても、起動時間の増大を抑制できる。
また、周期補正情報を利用できないパワーオンリードにおいて、製造ばらつきをそのまま反映したクロック周期ではなく、補正により一定の範囲内にあることを保証されたクロック周期を用いることにより、製造工程上の不具合の影響を排除し、誤読出の危険性を低減することができる。これにより、パワーオンリードの信頼性が向上する。
更に、仮にキャリブレーションに失敗した場合でも、予め決められた安全値を用いて、ヒューズデータを読み出すことができる。この場合、キャリブレーションに成功した場合と比較して、読出動作は遅くなるが、ヒューズデータを確実に読み出して、通常動作に移行することができる。
なお、本実施形態においては、図5〜図7に示すように、積層体MLに4層のワード線WLを積層し、8個のメモリセルトランジスタ75を直列に接続することによって1本のメモリストリングStrを形成する例を示したが、これには限定されない。積層体MLにおけるワード線WLの積層数は3以下又は5以上であってもよく、積層体MLの下方にソース線SLが配置されていてもよい。
次に、第2の実施形態について説明する。
図15は、横軸にコード信号F_OSCの値(コード値)をとり、縦軸にカウント値をとって、発振周期の補正方法を例示するグラフ図であり、発振が設計よりも速く、発振周期のコード値に対する依存性が発振周期が設計中央値にあるときの依存性と異なる場合を示す。
図15において、実線は発振が設計どおりである場合のコード値とカウント値との関係を示し、破線は発振が設計よりも速い場合のコード値とカウント値との関係を示し、一点鎖線は点Fを通り実線に平行な直線を示す。
図15は、横軸にコード信号F_OSCの値(コード値)をとり、縦軸にカウント値をとって、発振周期の補正方法を例示するグラフ図であり、発振が設計よりも速く、発振周期のコード値に対する依存性が発振周期が設計中央値にあるときの依存性と異なる場合を示す。
図15において、実線は発振が設計どおりである場合のコード値とカウント値との関係を示し、破線は発振が設計よりも速い場合のコード値とカウント値との関係を示し、一点鎖線は点Fを通り実線に平行な直線を示す。
図13(a)及び(b)に示すように、前述の第1の実施形態においては、内部クロックOSCClkの発振が設計からずれている場合でも、発振周期のコード値に対する依存性は不変であった。すなわち、図13(a)及び(b)においては、図中の破線は実線に対して平行である。
しかしながら、発振器23dの特性によっては、図15に示すように、発振が設計からずれた場合には、発振周期のコード値に対する依存性も変化してしまう場合がある。すなわち、図15に破線で示す発振が設計よりも速い場合のコード値とカウント値との関係を示す直線は、実線で示す発振が設計どおりである場合の関係を示す直線に対して平行ではない。このような場合に、前述の第1の実施形態と同様な方法によって発振周期を補正しても、補正後の発振周期が設計中央値に近づかない場合がある。
すなわち、図15において、発振が設計どおりである場合は、点Aに示すように、コード値が固定値Initial Valueであるときに、カウント値Countはカウント設計値となる。しかしながら、図15に示す例では、実際の発振が設計よりも速いため、点Fに示すように、カウント値Countはカウント設計値よりも大きくなる。この場合、本来は、点Gになるように補正しなくてはならないが、前述の第1の実施形態と同様に差分値Diffに基づいて発振周期を補正すると、一点鎖線上の点Hを目標として補正してしまい、実際には点Iになる。このため、補正が過剰となり、カウント値はカウント設計値よりも低くなってしまう。すなわち、発振周期は設計中央値よりも長くなり、発振は遅くなってしまう。そして、場合によっては、補正後の発振周期は、補正前の発振周期よりも、設計中央値から遠ざかってしまい、補正が逆効果となる可能性がある。
そこで、本実施形態においては、補正後の発振周期の妥当性について検証するプロセスを設けている。
図16は、本実施形態に係る不揮発性記憶装置を例示するブロック図であり、
図17は、図16に示す発振回路を例示するブロック図であり、
図18は、本実施形態に係る不揮発性記憶装置の動作状態と、発振周期生成回路に入力される信号と出力されるコード信号F_OSCとの関係を例示する図である。
図18において、「L」はロウレベル(非活性)を示し、「H」はハイレベル(活性)を示し、「※」はL及びHのいずれでもよいことを示す。
図16は、本実施形態に係る不揮発性記憶装置を例示するブロック図であり、
図17は、図16に示す発振回路を例示するブロック図であり、
図18は、本実施形態に係る不揮発性記憶装置の動作状態と、発振周期生成回路に入力される信号と出力されるコード信号F_OSCとの関係を例示する図である。
図18において、「L」はロウレベル(非活性)を示し、「H」はハイレベル(活性)を示し、「※」はL及びHのいずれでもよいことを示す。
図16に示すように、本実施形態に係る不揮発性記憶装置100_2においては、前述の第1の実施形態に係る不揮発性記憶装置100(図2参照)の構成に加えて、コマンドデコーダ15から同期化回路19に対してコマンドCMD3が更に出力され、同期化回路19からステートマシン20に対して同期信号CMD3syncが更に出力され、ステートマシン20から発振回路23_2に対して第2のカウントイネーブル信号CNTENB2及び第2のカウント保持信号EVALUATION2が出力される。
図17に示すように、本実施形態の発振回路23_2においては、前述の第1の実施形態における発振回路23の構成に加えて、カウンタ回路23e、差分回路23f及び比較器23gが設けられている。
カウンタ回路23eは、発振器23dから内部クロックOSCClkが入力され、この内部クロックOSCClkの立ち上がりの回数をカウントする。カウンタ回路23eには、ステートマシン20から、カウンタ回路23eのカウント値を「0」にリセットするカウンタリセット信号CNTRSTn、カウンタ回路23eにカウントを開始させるカウントイネーブル信号CNTENB2、カウンタ回路23eにカウントを停止させ、その時点でのカウント値Count2を保持させ出力させるカウント保持信号EVALUATION2が入力される。カウンタ回路23eには、カウンタ回路23aと同様に、公知のカウンタ回路、例えばリプリキャリーカウンタ回路等を用いることができる。
差分回路23fは、カウンタ回路23eからカウント値Count2が入力され、このカウント値Count2と予め決められた参照値との差分を計算し、その差分値Diff2を出力する。
比較器23gは、差分回路23bから差分値Diffが入力され、差分回路23fから差分値Diff2が入力されて、差分値Diffと差分値Diff2とを比較し、その結果を比較結果信号DiffSELとして発振周期生成回路23cに対して出力する。差分値Diffは補正前の発振周期と設計中央値との差に相当する値であり、差分値Diff2は補正後の発振周期と設計中央値との差に相当する値である。このため、補正が適正になされていれば、差分値Diff2の絶対値は差分値Diffの絶対値よりも小さくなるはずである。
そこで、比較器23gは例えば、差分値Diff2の絶対値が差分値Diffの絶対値よりも小さい場合には、補正が妥当であるものとして、比較結果信号DiffSELをハイレベル(H)とする。一方、差分値Diff2の絶対値が差分値Diffの絶対値よりも大きい場合には、補正が妥当でないものとして、比較結果信号DiffSELをロウレベル(L)とする。
図18に示すように、本実施形態における発振周期生成回路23cは、前述の第1の実施形態と比較して、比較結果信号DiffSELを考慮する点が異なっている。すなわち、パワーオンリードコマンドCMDPORが「H」であり、固定値信号INITOSCが「L」であり、失敗信号CALIBFAILが「L」である場合、前述の第1の実施形態においては、図4に示すように、コード信号F_OSCは常に補正値Trimmed Valueとした。
これに対して、本実施形態においては、図18に示すように、同じ条件で比較結果信号DiffSELが「H」である場合、すなわち、差分値Diff2の絶対値が差分値Diffの絶対値よりも小さく、補正が妥当であると判断される場合にのみ、コード信号F_OSCを補正値Trimmed Valueとする。一方、比較結果信号DiffSELが「L」である場合、すなわち、差分値Diff2の絶対値が差分値Diffの絶対値よりも大きく、補正が妥当でないと判断される場合には、コード信号F_OSCを固定値Initial Valueとする。
次に、本実施形態に係る不揮発性記憶装置の動作について説明する。
図19は、横軸に時間をとり、縦軸に各信号の値をとって、本実施形態のキャリブレーション及び検証の概略を例示するタイミングチャート図である。
図19に示すように、本実施形態においては、2回目のコマンドCMD2が入力されてから基準時間tSTD後に、3回目のコマンドCMD3が入力される。そして、1回目のコマンドCMD1と2回目のコマンドCMD2との間隔で定義される基準時間tSTDを利用して前述の第1の実施形態と同様なキャリブレーションを行い、2回目のコマンドCMD2と3回目のコマンドCMD3との間隔で定義される他の基準時間tSTDを利用して、キャリブレーションの妥当性を検証する。
図19は、横軸に時間をとり、縦軸に各信号の値をとって、本実施形態のキャリブレーション及び検証の概略を例示するタイミングチャート図である。
図19に示すように、本実施形態においては、2回目のコマンドCMD2が入力されてから基準時間tSTD後に、3回目のコマンドCMD3が入力される。そして、1回目のコマンドCMD1と2回目のコマンドCMD2との間隔で定義される基準時間tSTDを利用して前述の第1の実施形態と同様なキャリブレーションを行い、2回目のコマンドCMD2と3回目のコマンドCMD3との間隔で定義される他の基準時間tSTDを利用して、キャリブレーションの妥当性を検証する。
次に、検証動作の詳細を、装置100_2の内部の動作と共に説明する。
図20及び図21は、横軸に時間をとり、縦軸に各信号の値をとって、本実施形態のパワーオンリードを詳細に例示するタイミングチャート図であり、
図22は、本実施形態のパワーオンリードにおけるステートマシンの動作を例示するフローチャート図であり、
図23は、図22に示すサブルーチンS80を例示するフローチャート図である。
図21に示す動作は、図20に示す動作に続く動作である。本実施形態のパワーオンリードには、キャリブレーション及びヒューズデータの読出の他に、キャリブレーションの妥当性の検証が含まれる。この検証は、キャリブレーションの後、ヒューズデータの読出の前に実施される。
図20及び図21は、横軸に時間をとり、縦軸に各信号の値をとって、本実施形態のパワーオンリードを詳細に例示するタイミングチャート図であり、
図22は、本実施形態のパワーオンリードにおけるステートマシンの動作を例示するフローチャート図であり、
図23は、図22に示すサブルーチンS80を例示するフローチャート図である。
図21に示す動作は、図20に示す動作に続く動作である。本実施形態のパワーオンリードには、キャリブレーション及びヒューズデータの読出の他に、キャリブレーションの妥当性の検証が含まれる。この検証は、キャリブレーションの後、ヒューズデータの読出の前に実施される。
図19〜図23に示すように、キャリブレーションの動作は、前述の第1の実施形態と同様である。すなわち、図22のステップS10に示すキャリブレーションにおいては、コマンドCMD1とコマンドCMD2との間隔で定義される基準時間tSTD内において、カウンタ回路23aが内部クロックOSCClkの周期数をカウントし、差分回路23bが最終的なカウント値Countと参照値との差分値Diffを算出し、差分値Diffに基づいて補正値Trimmed Valueを計算する。そして、図22のステップS30に示すように、キャリブレーションが成功したか否かの判断を行い、成功した場合は、ステップS40に進み、内部クロックOSCClkの周期を補正値Trimmed Valueに基づく周期に補正する。
次に、ステップS80に示すように、キャリブレーションの妥当性について検証する。すなわち、図23のステップS81に示すように、ステートマシン20が同期信号CMD2syncに同期してカウントイネーブル信号CNTENB2をロウレベルからハイレベルに立ち上げることにより、発振回路23_2のカウンタ回路23eが補正後の内部クロックOSCClkの周期のカウントを開始する。
その後、図23のステップS82に示すように、ステートマシン20はコマンドCMD3の入力待ちの状態になり、コマンドCMD3が入力されるか、補正可能期間tCALIBが経過するまで、ステップS82→ステップS83→ステップS84→ステップS82のループを周回する。
そして、コントローラ200(図1参照)により、装置100_2の入力バッファ11に入力されるライトイネーブル信号WEnxがロウレベルに遷移するのと同期して入力バッファ12にコマンドCMD3が入力されると、コマンドデコーダ15がコマンドCMD3を同期化回路19に対して出力する。同期化回路19は、コマンドCMD3が入力された後、最初に内部クロックOSCClkがロウレベルからハイレベルに立ち上がるタイミングで、同期信号CMD3syncをロウレベルからハイレベルに立ち上げる。
ステートマシン20は、同期信号CMD3syncがハイレベルになるとコマンドCMD3が入力されたと判断して、図23のステップS83からステップS85に進み、カウントイネーブル信号CNTENB2をハイレベルからロウレベルに切り替えると共に、カウント保持信号EVALUATION2をロウレベルからハイレベルに切り替える。これにより、カウンタ回路23eはカウントを停止し、そのときのカウント値Count2を保持する。この結果、差分回路23fが出力する差分値Diff2の値も固定される。図21に示す例では、最終的なカウント値Count2は「11」であり、差分値Diff2は「−5」である。
次に、ステップS87に示すように、図22のステップS40において適用した補正値が適正か否かを評価する。例えば、比較器23gから出力される比較結果信号DiffSELがハイレベル(H)である場合、すなわち、差分値Diff2の絶対値が差分値Diffの絶対値よりも小さい場合は、補正値が適正であり、キャリブレーションが妥当であったと判断する。一方、比較結果信号DiffSELをロウレベル(L)である場合、すなわち、差分値Diff2の絶対値が差分値Diffの絶対値よりも大きい場合には、補正値が適正でなく、キャリブレーションが妥当でなかったと判断する。
補正値が適正であると判断された場合はステップS88に進み、図18に示すように、発振周期生成回路23cはコード信号F_OSCとして、キャリブレーションによって得られた補正値Trimmed Valueを適用する。一方、補正値が適正でないと判断された場合はステップS92に進み、図18に示すように、発振周期生成回路23cはコード信号F_OSCとして元の固定値Initial Valueを適用する。
なお、図20及び図21に示す例では、差分値Diffは「+3」であり、差分値Diff2は「−5」であるため、比較結果信号DiffSELをロウレベル(L)となり、補正値が適正でないと判断される。このため、同期信号F_OSCとして固定値Initial Valueを適用する。
一方、何らかのエラーにより、補正可能期間tCALIB内にコマンドCMD3が入力されなかった場合には、ステップS84からステップS89に進み、カウンタ回路23eを停止させる。そして、ステップS90に示すように、失敗信号CALIBFAILをハイレベル(1)とする。これにより、図18及びステップS91に示すように、同期信号F_OSCとして、安全値Safety Valueを適用する。以後の動作は、前述の第1の実施形態と同様である。
次に、本実施形態の効果について説明する。
本実施形態によれば、発振器23dの製造ばらつき等により、カウント値Countのコード値に対する依存性が大きく変動し、その結果、補正後の内部クロックOSCClkが許容できないほど速く又は遅くなった場合においても、キャリブレーションの妥当性を検証することにより、不適切な内部クロックOSCClkがパワーオンリードに適用されてしまうことを防止できる。この結果、ヒューズ領域に格納された情報をより確実に読み出すことができる。本実施形態における上記以外の構成、動作及び効果は、前述の第1の実施形態と同様である。
本実施形態によれば、発振器23dの製造ばらつき等により、カウント値Countのコード値に対する依存性が大きく変動し、その結果、補正後の内部クロックOSCClkが許容できないほど速く又は遅くなった場合においても、キャリブレーションの妥当性を検証することにより、不適切な内部クロックOSCClkがパワーオンリードに適用されてしまうことを防止できる。この結果、ヒューズ領域に格納された情報をより確実に読み出すことができる。本実施形態における上記以外の構成、動作及び効果は、前述の第1の実施形態と同様である。
なお、本実施形態においては、キャリブレーションが妥当であるか否かの判定を、差分値Diffの絶対値と差分値Diff2の絶対値とを比較することによって行う例を示したが、これには限定されない。例えば、差分値Diff2からコード信号F_OSCの値(コード値)の補正量を求め、この補正量を差分値Diffから求めた補正量と比較してもよい。
また、本実施形態においては、キャリブレーションが妥当でないと判断された場合に、コード信号F_OSCとして固定値Initial Valueを採用する例を示したが、これには限定されない。例えば、コード信号F_OSCとして固定値Initial Value及び補正値Trimmed Valueの平均値を採用してもよい。
更に、本実施形態においては、コマンドCMD1とコマンドCMD2によって定義される1回目の基準時間tSTDと、コマンドCMD2とコマンドCMD3によって定義される2回目の基準時間tSTDとを相互に等しくする例を示したが、これには限定されず、両基準時間は相互に異なっていてもよい。但し、この場合は、差分値Diffと差分値Diff2との比較は、規格化された値同士で行うことが好ましい。
次に、第3の実施形態について説明する。
図5及び図6に示すように、不揮発性記憶装置100においては、複数個、例えば8個のメモリセルトランジスタ75が、1本のU字シリコン部材73によって直列に接続されている。そして、各U字シリコン部材73により、メモリストリングStrが構成されている。
図5及び図6に示すように、不揮発性記憶装置100においては、複数個、例えば8個のメモリセルトランジスタ75が、1本のU字シリコン部材73によって直列に接続されている。そして、各U字シリコン部材73により、メモリストリングStrが構成されている。
しかしながら、装置100を微細化すると、製造工程中に積層体MLを貫通する貫通ホール61が目詰まりしてしまい、シリコンピラー71が細くなり過ぎたり、途切れてしまう可能性がある。シリコンピラー71が細くなり過ぎると、メモリセルトランジスタ75の特性が不良となる。また、シリコンピラー71が途切れてしまうと、メモリストリングStrにオープン不良が発生し、このメモリストリングStrに属するメモリセルトランジスタ75は全て使用不能となる。ヒューズ領域37において、このような形成不良が生じると、ヒューズ領域37に格納したヒューズデータを正確に読み出せなくなってしまい、通常動作に支障が生じる。
そこで、図7に示すように、ヒューズ領域37を複数列のメモリストリングStrによって構成し、各列に同一のデータを書き込んでおき、読出時に読出に適したメモリストリングStrを選択する方法が考えられる。これにより、ヒューズデータに冗長性を持たせ、信頼性を向上させることができる。
本実施形態においては、補正された内部クロックOSCClkを利用して、ヒューズ領域37における読出に適したメモリストリングを探索する。
本実施形態においては、補正された内部クロックOSCClkを利用して、ヒューズ領域37における読出に適したメモリストリングを探索する。
図24は、本実施形態に係る不揮発性記憶装置を例示するブロック図である。
図24に示すように、本実施形態に係る不揮発性記憶装置100_3は、前述の第1の実施形態に係る不揮発性記憶装置100(図2参照)と比較して、ステートマシン20からアドレスバッファ14に対して、指示信号INCSTRが出力される点が異なっている。指示信号INCSTRは、ストリングアドレス信号STRADDの値を1ずつ増加させる信号である。
また、図7に示すように、ヒューズ領域37にはメモリストリングStrからなる列が4列設けられており、各列に同じヒューズデータが格納されている。
図24に示すように、本実施形態に係る不揮発性記憶装置100_3は、前述の第1の実施形態に係る不揮発性記憶装置100(図2参照)と比較して、ステートマシン20からアドレスバッファ14に対して、指示信号INCSTRが出力される点が異なっている。指示信号INCSTRは、ストリングアドレス信号STRADDの値を1ずつ増加させる信号である。
また、図7に示すように、ヒューズ領域37にはメモリストリングStrからなる列が4列設けられており、各列に同じヒューズデータが格納されている。
次に、本実施形態に係る不揮発性記憶装置の動作について説明する。
図25は、横軸に時間をとり、縦軸に各信号の値をとって、本実施形態における読出に適したメモリストリング列の探索動作を例示するタイミングチャート図であり、
図26は、本実施形態におけるステートマシンの動作を例示するフローチャート図である。
図25は、横軸に時間をとり、縦軸に各信号の値をとって、本実施形態における読出に適したメモリストリング列の探索動作を例示するタイミングチャート図であり、
図26は、本実施形態におけるステートマシンの動作を例示するフローチャート図である。
先ず、図25及び図26のステップS10〜S50に示すように、前述の第1の実施形態と同様な方法により、キャリブレーションを行い、内部クロックOSCClkの周期を補正する。
次に、図26のステップS100に示すように、補正された内部クロックOSCClkを用いて、ヒューズ領域37において、読出に適したメモリストリングStrを探索する。以下、ステップS100に示す探索方法を詳細に説明する。
次に、図26のステップS100に示すように、補正された内部クロックOSCClkを用いて、ヒューズ領域37において、読出に適したメモリストリングStrを探索する。以下、ステップS100に示す探索方法を詳細に説明する。
先ず、ステップS101に示すように、ストリングアドレス信号STRADDに値「0」を代入する。これにより、ヒューズ領域37において、メモリストリングStr0が選択される。
次に、ステップS102に示すように、全てのワード線WLに読出非選択電位VREADを印加する。これにより、全てのメモリセルトランジスタ75が電荷蓄積層66に電荷が蓄積されているか否かに拘わらず、オン状態となる。また、バックゲート電極BGにバックゲートトランジスタ77がオン状態となるような電位を印加する。更に、センスアンプ・キャッシュ33のセンスアンプ(図示せず)をイネーブルにする信号STBnを活性化(アクティブロー)して、擬似読出を実施する。なお、「疑似読出」とは、メモリセルトランジスタ75に記憶されたデータを読み出す動作ではなく、メモリストリングStrに形成不良であるか否かを検出するための動作である。
具体的には、選択されたメモリストリングStr0に属する選択ゲート電極SGb0及びSGs0を充電し、選択トランジスタ76がオン状態となるようなオン電位とする。このとき、他の選択ゲート電極SGb1〜SGb3及びSGs1〜SGs3は充電せず、選択トランジスタ76がオフ状態となるオフ電位のままとする。これにより、メモリストリングStr0に属するメモリセルトランジスタ75、選択トランジスタ76及びバックゲートトランジスタ77に不具合がなければ、メモリストリングStr0には電流が流れるようになる。一方、メモリストリングStr1〜Str3においては、選択トランジスタ76がオフ状態であるため、電流は流れない。
従って、ビット線BLとソース線SLとの間に電流が流れれば、これらの間に接続されたメモリストリングStr0には形成不良が生じていないと判断できる。一方、ビット線BLとソース線SLとの間に電流が流れなければ、これらの間に接続されたメモリストリングStr0に不具合があると判断できる。そして、ステップS103に示すように、この擬似読出の結果をセンスアンプ・キャッシュ33のキャッシュ(図示せず)に格納する。
次に、ステップS104に示すように、センスアンプ・キャッシュ33に格納されたデータに基づいて、既知の不良ビット検査により不良ビット数を算出し、基準値と比較する。基準値としては、例えば、レジスタ回路24に保持されたフェイル数基準値F_NFを使用する。
次に、ステップS105に示すように、選択されたメモリストリングStr0の可否について判定する。例えば、不良ビット数がフェイル数基準値F_NF以下であれば、メモリストリングStr0はヒューズデータの読出に適していると判定し、フェイル数カウント回路25が出力する信号PASSをハイレベルとする。一方、不良ビット数がフェイル数基準値F_NFよりも大きければ、メモリストリングStr0はヒューズデータの読出に適していないと判定し、信号PASSをロウレベルとする。信号PASSはステートマシン20に入力される。
メモリストリングStr0がヒューズデータの読出に適していると判定された場合は、ストリングアドレス信号STRADDの値を「0」に保持したまま、ステップS60に進む。一方、メモリストリングStr0がヒューズデータの読出に適していないと判定された場合は、ステップS106に進み、選択されたメモリストリングStrが最終アドレスであるか否かを判断する。図7に示す例では、最終アドレスはメモリストリングStr3であり、メモリストリングStr0は最終アドレスではないため、ステップS107に進み、指示信号INCSTRにより、ストリングアドレス信号STRADDの値に1を加える。これにより、ストリングアドレス信号STRADDの値は「1」となり、メモリストリングStr1が選択される。このように、1本のメモリストリングStrが読出に適していないと判断される度に、ストリングアドレス信号STRADDの値を1ずつ増加させる。
以後、メモリストリングStr1について、ステップS102〜S105の手順を実施する。この手順を、ストリングアドレス信号STRADDをインクリメントしつつ、読出に適したメモリストリングが見つかるまで繰り返す。そして、ステップS60に示すように、ステートマシン20は読出に適すると判断されたメモリストリングStrからヒューズデータを読み出す。
一方、全てのメモリストリングStrが不適であった場合は、ステップS106からステップS108に進み、探索に失敗したことを記録して終了する。この場合、ヒューズデータの少なくとも一部は、読み出すことができない。
図25に示す例では、メモリストリングStr0及びStr1はヒューズデータの読出に適しておらず、信号PASSはロウレベルとなる。一方、メモリストリングStr2はヒューズデータの読出に適しており、信号PASSはハイレベルとなる。従って、ストリングアドレス信号STRADDの値を「2」としたままステップS60に進み、ステートマシン20はメモリストリングStr2からヒューズデータを読み出す。
例えば、メモリストリングStr2に属するメモリセルトランジスタ75のうち、ワード線WL1をゲート電極とするメモリセルトランジスタ75からデータを読み出す場合は、ワード線WL1に読出選択電位VPORを印加し、それ以外のワード線WLに読出非選択電位VREADを印加する。これにより、このメモリセルトランジスタ75の閾値を検出し、データを読み出すことができる。
次に、ステップS70に示すように、読み出したヒューズデータをレジスタ回路24にセットする。
次に、本実施形態の効果について説明する。
本実施形態によれば、複数列のメモリストリングStrに同一のヒューズデータを格納しておき、ヒューズデータを読み出す際に、適切なメモリストリングを自律的に探索することにより、ヒューズデータに冗長性を持たせることができる。これにより、製造プロセスの不具合等によりヒューズ領域において一部のメモリセルトランジスタが形成不良となった場合でも、ヒューズデータを確実に読み出すことができる。特に、セルアレイ31として、図5及び図6に示すような3次元積層構造を用いる場合には、微細化及び積層数の増加に伴って貫通孔が目詰まりしやすくなるため、この効果は有効である。
本実施形態によれば、複数列のメモリストリングStrに同一のヒューズデータを格納しておき、ヒューズデータを読み出す際に、適切なメモリストリングを自律的に探索することにより、ヒューズデータに冗長性を持たせることができる。これにより、製造プロセスの不具合等によりヒューズ領域において一部のメモリセルトランジスタが形成不良となった場合でも、ヒューズデータを確実に読み出すことができる。特に、セルアレイ31として、図5及び図6に示すような3次元積層構造を用いる場合には、微細化及び積層数の増加に伴って貫通孔が目詰まりしやすくなるため、この効果は有効である。
また、本実施形態においては、上述の探索動作を補正された内部クロックOSCClkによって行っているため、短時間で確実に行うことができる。本実施形態における上記以外の構成、動作及び効果は、前述の第1の実施形態と同様である。
次に、第3の実施形態の変形例について説明する。
図27は、本変形例におけるステートマシンの動作を例示するフローチャート図である。
図27に示すように、本変形例においては、図10のステップS10に示す「キャリブレーション」動作の替わりに、ステップS110に示す「キャリブレーション及び読出に適したメモリストリングの探索」動作が設けられている。
図27は、本変形例におけるステートマシンの動作を例示するフローチャート図である。
図27に示すように、本変形例においては、図10のステップS10に示す「キャリブレーション」動作の替わりに、ステップS110に示す「キャリブレーション及び読出に適したメモリストリングの探索」動作が設けられている。
図27のステップS110に示す「キャリブレーション及び読出に適したメモリストリングの探索」動作においては、前述の第1の実施形態においてステップS10で説明したキャリブレーション動作と、前述の第3の実施形態においてステップS100で説明した探索動作を、同時に並行して実施する。すなわち、データシート上において、前述の補正可能期間tCALIBに、読出に適したメモリストリングの探索期間を重ねて配置する。この場合、探索動作は補正前の内部クロックOSCClkを用いて行うことになるが、疑似読出には厳密なタイミング制御は必要とされないため、問題は生じない。
本変形例によれば、キャリブレーションと探索を同時に行うことにより、パワーオンリードに要する時間をより短縮し、不揮発性記憶装置をより速やかに起動させることができる。本変形例における上記以外の構成、動作及び効果は、前述の第3の実施形態と同様である。
なお、前述の第3の実施形態及びその変形例においては、メモリストリングを選択するためのストリングアドレスSTRADDの値を指示信号INCSTRに基づいて変更する例を示したが、これには限定されず、ヒューズデータの読出動作の前に疑似読出を実施することにより、読出に適したメモリストリングが探索されればよい。例えば、ライトイネーブル信号WEnxに同期して、ストリングアドレスSTRADDの値を変更してもよい。
また、前述の各実施形態及びその変形例においては、キャリブレーション及びヒューズデータの読出を一連の動作として連続的に実施する例を示したが、これには限定されず、ヒューズデータの読出に先だって、キャリブレーションだけを単独で実施してもよい。
以上説明した実施形態によれば、ヒューズ領域に格納された情報を短時間で読み出すことができる不揮発性記憶装置を実現することができる。
以上、本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明及びその等価物の範囲に含まれる。また、前述の各実施形態は、相互に組み合わせて実施することができる。
10:周辺回路部、11:入力バッファ、12:入力バッファ、13:出力バッファ、14:アドレスバッファ、15:コマンドデコーダ、16:データバッファ、17:選択回路、18:方向選択回路、19:同期化回路、20:ステートマシン、21:制御レジスタ、22:出力バッファ、23、23_2:発振回路、23a:カウンタ回路、23b:差分回路、23c:発振周期生成回路、23d:発振器、24:レジスタ回路、25:フェイル数カウント回路、30:コア部、31:セルアレイ、32:ロウデコーダ、33:キャッシュ・センスアンプ、36:データ記憶領域、37:ヒューズ領域、50:絶縁膜、51:シリコン基板、52:ポリシリコン膜、54:電極膜、55、56:絶縁膜、57:導電膜、58、59、60:絶縁膜、61:貫通ホール、62:連通孔、63:U字孔、64:ONO膜、65:ブロック層、66:電荷蓄積層、67:トンネル層、68:ゲート絶縁膜、70:U字ピラー、71:シリコンピラー、72:接続部材、73:U字シリコン部材、74:シリコンピラー、75:メモリトランジスタ、76:選択トランジスタ、77:バックゲートトランジスタ、81:貫通ホール、100、100_2、100_3:不揮発性記憶装置、200:コントローラ、BG:バックゲート、BL:ビット線、BP:ビットプラグ、IOx<7:0>:双方向バス、ML:積層体、SG、SGb、SGs、SGb0〜SGb3、SGs0〜SGs3:選択ゲート電極、SL:ソース線、SP:ソースプラグ、Str、Str0〜Str3:メモリストリング、WL、WL0〜WL7:ワード線、CMD1、CMD2、CMD3:コマンド、CMDPOR:パワーオンリードコマンド、CMD_STAT:ステータスリードコマンド、CALIBFAIL:失敗信号、OSCClk:内部クロック、CMD1sync、CMD2sync、CMDPORsync:同期信号、CNTRSTn:カウンタリセット信号、CNTENB、CNTENB2:カウントイネーブル信号、EVALUATION、EVALUATION2:カウント保持信号、INITOSC:固定値信号、RBnx:レディービジー信号、F_OSC、F_OSCdefault:コード信号、INCSTR:指示信号、Count、Count2:カウント値、Diff、Diff2:差分値、基準時間tSTD、tCALIB:補正可能期間、FF:開始コマンド、Status:コマンド、Info:情報、CEnx:チップイネーブル信号、WEnx:ライトイネーブル信号、REnx:リードイネーブル信号、CLEx:コマンドラッチイネーブル信号、ALEx:アドレスラッチイネーブル信号、WPnx:ライトプロテクト信号、RBnx:レディービジー信号、DIN:データ信号、BLKa:ブロックアドレス、STRa:ストリングアドレス、WLa:ワード線アドレス、COLa:カラムアドレス、PASS:信号、BLKADD:ブロックアドレス信号、STRADD:ストリングアドレス信号、WLADD:ワード線アドレス信号、COLADD:カラムアドレス信号、F_NF:フェイル数基準値
Claims (17)
- データを記憶するコア部と、
前記コア部に対して前記データの書込及び読出を行う周辺回路部と、
を備え、
前記コア部は、
それぞれ複数の絶縁膜及び電極膜が交互に積層され、前記電極膜が分断されて第1方向に延びる複数本のワード線となっている積層体と、
前記積層体上に設けられ、前記第1方向に延びる複数本の選択ゲート電極と、
前記積層体の積層方向に延び、前記ワード線及び前記選択ゲート電極を貫く複数本の半導体ピラーと、
前記第1方向に延び、一部の前記半導体ピラーの上端部に接続された複数本のソース線と、
前記第1方向に対して交差する第2方向に延び、残りの前記半導体ピラーの上端部に接続された複数本のビット線と、
上端部が前記ソース線に接続された1本の前記半導体ピラーの下端部と上端部が前記ビット線に接続された他の1本の前記半導体ピラーの下端部とを相互に接続する接続部材と、
前記ワード線と前記半導体ピラーとの間に設けられた電荷蓄積層と、
前記選択ゲート電極と前記半導体ピラーとの間に設けられたゲート絶縁膜と、
を有し、
前記ワード線と前記半導体ピラーの交差部分毎にメモリセルトランジスタが形成されており、
前記選択ゲート電極と前記半導体ピラーの交差部分毎に選択トランジスタが形成されており、
相互に接続された1つの前記接続部材及び2本の前記半導体ピラーからなるU字ピラーを共有する複数個の前記メモリセルトランジスタによりメモリストリングが形成されており、
複数本の前記メモリストリングに同一の周期補正情報が格納されており、
前記周辺回路部は、起動時に、
第1の周期の内部クロックを生成し、
外部から入力される開始コマンドに基づいて、第1のコマンド及び第2のコマンドが外部から入力可能である期間を設定し、
前記第1の周期、並びに外部から入力された前記第1のコマンド及び外部から入力された前記第2のコマンドの入力時間差に基づいて定義された基準時間に基づいて、前記第1の周期を第2の周期に補正し、
前記2本の半導体ピラーと交差する2本の前記選択ゲート電極に、前記選択トランジスタがオン状態となる電位を印加し、前記2本の半導体ピラーと交差する全ての前記ワード線に、前記電荷蓄積層に電荷が蓄積されているか否かに拘わらず前記メモリセルトランジスタがオン状態となる電位を印加し、前記U字ピラーの通電状態を検出することにより、前記複数本のメモリストリングについて、使用可能か否かの判定を順次実施し、
使用可能と判定された前記メモリストリングから、前記第2の周期の内部クロックを用いて前記周期補正情報を読み出し、
前記周期補正情報を用いて前記内部クロックの周期を第3の周期に補正し、
前記第3の周期の内部クロックを用いて外部から入力されるデータの書込及び読出を行い、
前記期間中に前記第1のコマンド及び前記第2のコマンドの少なくとも一方が入力されなかったときは、前記第2の周期を前記第1の周期とし、
外部から入力された前記第2のコマンドと外部から入力された第3のコマンドの入力時間差に基づいて定義された他の基準時間に基づいて、前記第2の周期が妥当であるか否かを検証し、
外部から入力される要求コマンドに応じて、前記補正が正しく行われたか否かを外部に対して通知する不揮発性記憶装置。 - データを記憶するコア部と、
前記コア部に対して前記データの書込及び読出を行う周辺回路部と、
を備え、
前記周辺回路部は、第1の周期の内部クロックを生成し、前記第1の周期及び外部から入力された基準時間に基づいて前記第1の周期を第2の周期に補正する不揮発性記憶装置。 - 前記周辺回路部は、外部から入力される第1のコマンド及び第2のコマンドの入力時間差に基づいて前記基準時間を定義する請求項2記載の不揮発性記憶装置。
- 前記周辺回路部は、外部から入力される開始コマンドに基づいて、前記第1のコマンド及び前記第2のコマンドが入力可能である期間を設定する請求項3記載の不揮発性記憶装置。
- 前記期間中に前記第1のコマンド及び前記第2のコマンドの少なくとも一方が入力されなかったときは、前記周辺回路部は、前記第2の周期を前記第1の周期とする請求項4記載の不揮発性記憶装置。
- 前記周辺回路部は、外部から入力される要求コマンドに応じて、前記補正が正しく行われたか否かを外部に対して通知する請求項2〜5のいずれか1つに記載の不揮発性記憶装置。
- 前記周辺回路部は、
前記基準時間内における前記第1の周期の内部クロックの周期数をカウントするカウンタ回路と、
前記周期数に基づいてコード信号を出力する発振周期生成回路と、
前記コード信号に基づいて前記第2の周期を決定し、前記第2の周期の内部クロックを出力する発振器と、
を有した請求項2〜6のいずれか1つに記載の不揮発性記憶装置。 - 前記周辺回路部は、外部から入力された他の基準時間に基づいて、前記第2の周期が妥当であるか否かを検証する請求項2〜7のいずれか1つに記載の不揮発性記憶装置。
- 前記周辺回路部は、外部から入力される第1〜第3のコマンドのうち、前記第1のコマンドと前記第2のコマンドの入力時間差に基づいて前記基準時間を定義し、前記第2のコマンドと前記第3のコマンドの入力時間差に基づいて前記他の基準時間を定義する請求項8記載の不揮発性記憶装置。
- 前記周辺回路部は、起動時に、
前記第1の周期の内部クロックを生成し、
前記基準時間及び前記第1の周期の内部クロックに基づいて前記第1の周期を前記第2の周期に補正し、
前記第2の周期の内部クロックを用いて前記コア部から周期補正情報を読み出し、
前記周期補正情報を用いて前記内部クロックの周期を第3の周期に補正し、
前記第3の周期の内部クロックを用いて外部から入力されるデータの書込及び読出を行う請求項2〜9のいずれか1つに記載の不揮発性記憶装置。 - 前記コア部は、
それぞれ複数の絶縁膜及び電極膜が交互に積層され、前記電極膜が分断されて第1方向に延びる複数本のワード線となっている積層体と、
前記積層体上に設けられ、前記第1方向に延びる複数本の選択ゲート電極と、
前記積層体の積層方向に延び、前記ワード線及び前記選択ゲート電極を貫く複数本の半導体ピラーと、
前記第1方向に延び、一部の前記半導体ピラーの上端部に接続された複数本のソース線と、
前記第1方向に対して交差する第2方向に延び、残りの前記半導体ピラーの上端部に接続された複数本のビット線と、
上端部が前記ソース線に接続された1本の前記半導体ピラーの下端部と上端部が前記ビット線に接続された他の1本の前記半導体ピラーの下端部とを相互に接続する接続部材と、
前記ワード線と前記半導体ピラーとの間に設けられた電荷蓄積層と、
前記選択ゲート電極と前記半導体ピラーとの間に設けられたゲート絶縁膜と、
を有し、
前記ワード線と前記半導体ピラーの交差部分毎にメモリセルトランジスタが形成されており、
前記選択ゲート電極と前記半導体ピラーの交差部分毎に選択トランジスタが形成されており、
前記周辺回路部は、1つの前記接続部材に接続された2本の前記半導体ピラーと交差する2本の前記選択ゲート電極に、前記選択トランジスタがオン状態となる電位を印加し、前記2本の半導体ピラーと交差する全ての前記ワード線に、前記電荷蓄積層に電荷が蓄積されているか否かに拘わらず前記メモリセルトランジスタがオン状態となる電位を印加し、前記1つの接続部材及び前記2本の半導体ピラーからなるU字ピラーの通電状態を検出することにより、前記U字ピラーを共有する複数個の前記メモリセルトランジスタからなるメモリストリングが使用可能か否かを判定する請求項2〜10のいずれか1つに記載の不揮発性記憶装置。 - 複数本の前記メモリストリングに同一のデータが格納され、
前記周辺回路部は、前記複数本のメモリストリングについて、前記使用可能か否かの判定を順次実施し、
使用可能と判定された前記メモリストリングから、前記同一のデータを読み出す請求項11記載の不揮発性記憶装置。 - 前記周辺回路部は、前記メモリストリングを示すアドレスを保持し、
1本の前記メモリストリングが読出に適していないと判断される度に、前記アドレスの値を変更する請求項11または12に記載の不揮発性記憶装置。 - データを記憶するコア部と、
前記コア部に対して前記データの書込及び読出を行う周辺回路部と、
を備え、
前記周辺回路部は、外部から入力される第1のコマンド及び第2のコマンドの入力時間差に基づいて内部クロックの周期を制御する不揮発性記憶装置。 - 前記周辺回路部は、
前記内部クロックを発振する発振器と、
前記第1のコマンド及び前記第2のコマンドの入力時間差に基づいて定義された基準時間内における前記内部クロックの周期数をカウントするカウンタ回路と、
前記周期数のカウント結果に基づいて、前記内部クロックの周期を補正する発振周期生成回路と、
を有する請求項14記載の不揮発性記憶装置。 - データを記憶するコア部と、
前記コア部に対して前記データの書込及び読出を行う周辺回路部と、
を備え、
前記コア部は、
それぞれ複数の絶縁膜及び電極膜が交互に積層され、前記電極膜が分断されて第1方向に延びる複数本のワード線となっている積層体と、
前記積層体上に設けられ、前記第1方向に延びる複数本の選択ゲート電極と、
前記積層体の積層方向に延び、前記ワード線及び前記選択ゲート電極を貫く複数本の半導体ピラーと、
前記第1方向に延び、一部の前記半導体ピラーの上端部に接続された複数本のソース線と、
前記第1方向に対して交差する第2方向に延び、残りの前記半導体ピラーの上端部に接続された複数本のビット線と、
上端部が前記ソース線に接続された1本の前記半導体ピラーの下端部と上端部が前記ビット線に接続された他の1本の前記半導体ピラーの下端部とを相互に接続する接続部材と、
前記ワード線と前記半導体ピラーとの間に設けられた電荷蓄積層と、
前記選択ゲート電極と前記半導体ピラーとの間に設けられたゲート絶縁膜と、
を有し、
前記ワード線と前記半導体ピラーの交差部分毎にメモリセルトランジスタが形成されており、
前記選択ゲート電極と前記半導体ピラーの交差部分毎に選択トランジスタが形成されており、
前記周辺回路部は、1つの前記接続部材に接続された2本の前記半導体ピラーと交差する2本の前記選択ゲート電極に、前記選択トランジスタがオン状態となる電位を印加し、前記2本の半導体ピラーと交差する全ての前記ワード線に、前記電荷蓄積層に電荷が蓄積されているか否かに拘わらず前記メモリセルトランジスタがオン状態となる電位を印加し、前記1つの接続部材及び前記2本の半導体ピラーからなるU字ピラーの通電状態を検出することにより、前記U字ピラーを共有する複数個の前記メモリセルトランジスタからなるメモリストリングが使用可能か否かを判定する不揮発性記憶装置。 - 複数本の前記メモリストリングに同一のデータが格納され、
前記周辺回路部は、前記複数本のメモリストリングについて、前記使用可能か否かの判定を順次実施し、
使用可能と判定された前記メモリストリングから、前記同一のデータを読み出す請求項16記載の不揮発性記憶装置。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2013025734A JP2014154197A (ja) | 2013-02-13 | 2013-02-13 | 不揮発性記憶装置 |
US14/017,563 US9318212B2 (en) | 2013-02-13 | 2013-09-04 | Nonvolatile memory device changing a period of an internal clock |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2013025734A JP2014154197A (ja) | 2013-02-13 | 2013-02-13 | 不揮発性記憶装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2014154197A true JP2014154197A (ja) | 2014-08-25 |
Family
ID=51297339
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2013025734A Pending JP2014154197A (ja) | 2013-02-13 | 2013-02-13 | 不揮発性記憶装置 |
Country Status (2)
Country | Link |
---|---|
US (1) | US9318212B2 (ja) |
JP (1) | JP2014154197A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10437490B2 (en) | 2016-10-18 | 2019-10-08 | Toshiba Memory Corporation | Reading of start-up information from different memory regions of a memory system |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102154499B1 (ko) * | 2013-12-23 | 2020-09-10 | 삼성전자주식회사 | 불휘발성 메모리 장치 및 그것의 동작 방법 |
US9859292B2 (en) * | 2014-12-29 | 2018-01-02 | Macronix International Co., Ltd. | 3D memory process and structures |
CN106788950A (zh) * | 2016-11-28 | 2017-05-31 | 天津津航计算技术研究所 | 基于vpx架构的b码对时方法 |
JP2018160303A (ja) * | 2017-03-23 | 2018-10-11 | 東芝メモリ株式会社 | 半導体記憶装置 |
US10719477B1 (en) * | 2019-06-20 | 2020-07-21 | Semiconductor Components Industries, Llc | Methods and system for an integrated circuit |
WO2021049033A1 (ja) * | 2019-09-13 | 2021-03-18 | キオクシア株式会社 | メモリシステム |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2003178589A (ja) * | 2001-12-10 | 2003-06-27 | Toshiba Corp | 不揮発性半導体記憶装置 |
JP2011198466A (ja) * | 2011-06-10 | 2011-10-06 | Panasonic Corp | 半導体記憶装置 |
JP2014063551A (ja) * | 2012-09-21 | 2014-04-10 | Toshiba Corp | 半導体記憶装置 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2001176290A (ja) | 1999-12-10 | 2001-06-29 | Toshiba Corp | 不揮発性半導体記憶装置 |
US7009889B2 (en) * | 2004-05-28 | 2006-03-07 | Sandisk Corporation | Comprehensive erase verification for non-volatile memory |
JP4942990B2 (ja) * | 2005-12-12 | 2012-05-30 | パナソニック株式会社 | 半導体記憶装置 |
JP4761959B2 (ja) | 2005-12-26 | 2011-08-31 | 株式会社東芝 | 半導体集積回路装置 |
JP5193796B2 (ja) * | 2008-10-21 | 2013-05-08 | 株式会社東芝 | 3次元積層型不揮発性半導体メモリ |
KR101876997B1 (ko) * | 2012-01-19 | 2018-07-10 | 삼성전자 주식회사 | 오실레이터 오토 트리밍 방법 및 오실레이터 오토 트리밍 기능을 갖는 반도체 장치 |
-
2013
- 2013-02-13 JP JP2013025734A patent/JP2014154197A/ja active Pending
- 2013-09-04 US US14/017,563 patent/US9318212B2/en not_active Expired - Fee Related
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2003178589A (ja) * | 2001-12-10 | 2003-06-27 | Toshiba Corp | 不揮発性半導体記憶装置 |
JP2011198466A (ja) * | 2011-06-10 | 2011-10-06 | Panasonic Corp | 半導体記憶装置 |
JP2014063551A (ja) * | 2012-09-21 | 2014-04-10 | Toshiba Corp | 半導体記憶装置 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10437490B2 (en) | 2016-10-18 | 2019-10-08 | Toshiba Memory Corporation | Reading of start-up information from different memory regions of a memory system |
US11042310B2 (en) | 2016-10-18 | 2021-06-22 | Kioxia Corporation | Reading of start-up information from different memory regions of a memory system |
Also Published As
Publication number | Publication date |
---|---|
US9318212B2 (en) | 2016-04-19 |
US20140226408A1 (en) | 2014-08-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2014154197A (ja) | 不揮発性記憶装置 | |
TWI656530B (zh) | Semiconductor memory device | |
KR102420588B1 (ko) | 비휘발성 메모리 장치, 메모리 시스템, 비휘발성 메모리 장치의 동작 방법 및 메모리 시스템의 동작 방법 | |
US9881684B2 (en) | Semiconductor memory device | |
TWI686807B (zh) | 半導體記憶裝置 | |
TWI611406B (zh) | 記憶體系統 | |
US9064580B2 (en) | Nonvolatile semiconductor memory device and write-in method thereof | |
TWI569268B (zh) | Semiconductor memory device | |
US9355735B1 (en) | Data recovery in a 3D memory device with a short circuit between word lines | |
TW201833933A (zh) | 記憶體內之第一讀取對策 | |
KR102222463B1 (ko) | 저장 장치 및 그것의 타이머 설정 방법 및 구동 방법들 | |
US10854250B2 (en) | Memory device including a circuit for detecting word line defect and operating method thereof | |
US10170202B2 (en) | Memory system | |
US9208023B2 (en) | Systems and methods for scheduling post-write read in nonvolatile memory | |
JP2013122793A (ja) | 不揮発性半導体記憶装置 | |
JP2012203957A (ja) | メモリシステム | |
TWI707342B (zh) | 記憶系統及半導體記憶裝置 | |
JP2014186761A (ja) | 半導体記憶装置、コントローラ、及びメモリシステム | |
US9384845B2 (en) | Partial erase of nonvolatile memory blocks | |
TWI527039B (zh) | Semiconductor memory device and data reading method | |
KR20190054720A (ko) | 전원 전압 변동에 독립적인 워드 라인 불량 검출 회로를 포함하는 메모리 장치 및 그 구동 방법 | |
US9502123B2 (en) | Adaptive block parameters | |
US9502116B2 (en) | Nonvolatile semiconductor memory apparatus | |
KR102659570B1 (ko) | 불휘발성 메모리 장치, 불휘발성 메모리 장치를 포함하는 메모리 시스템, 그리고 불휘발성 메모리 장치를 제어하는 방법 | |
TWI588976B (zh) | Non-volatile semiconductor memory device |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20150204 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20150616 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20150708 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20160112 |