JP2014021530A - 乱数発生回路、及び不揮性半導体装置 - Google Patents
乱数発生回路、及び不揮性半導体装置 Download PDFInfo
- Publication number
- JP2014021530A JP2014021530A JP2012156481A JP2012156481A JP2014021530A JP 2014021530 A JP2014021530 A JP 2014021530A JP 2012156481 A JP2012156481 A JP 2012156481A JP 2012156481 A JP2012156481 A JP 2012156481A JP 2014021530 A JP2014021530 A JP 2014021530A
- Authority
- JP
- Japan
- Prior art keywords
- random number
- generation circuit
- memory cell
- number generation
- memory cells
- 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
Landscapes
- Read Only Memory (AREA)
Abstract
【課題】LFSRを用いた擬似乱数発生回路に比較して予測可能性が低い乱数を発生できる乱数発生回路を提供する。
【解決手段】本発明の乱数発生回路は、不揮発性メモリに搭載される乱数発生回路であって、複数の不揮発性メモリセルについての製造直後の閾値分布のばらつきの状態を検出し、該閾値分布のばらつきの状態に基づいて乱数を発生させる。
【選択図】図3
【解決手段】本発明の乱数発生回路は、不揮発性メモリに搭載される乱数発生回路であって、複数の不揮発性メモリセルについての製造直後の閾値分布のばらつきの状態を検出し、該閾値分布のばらつきの状態に基づいて乱数を発生させる。
【選択図】図3
Description
本発明は、乱数発生回路に関し、特に、不揮発性半導体装置に搭載される乱数発生回路、及びこの乱数発生回路を備える不揮発性半導体装置に関する。
NAND型フラッシュメモリにおいては、記憶するデータの暗号化のために乱数発生回路が使用されることがある。この乱数発生回路にはいくつかの種類があるが、その一例として、線形帰還シフトレジスタ(linear feedback shift register;LFSR)を用いた乱数発生回路などがある。図9は、LFSRを用いた擬似乱数発生回路の例を示す図である。従来の乱数発生回路としては、図9に示すようなタップシーケンスのLFSRを用いた擬似乱数発生回路がある。
なお、乱数発生回路に関連する半導体装置がある(特許文献1を参照)。この特許文献1に記載の半導体装置は、テスト時に、ECC(Error Check and Correct)回路とBIST(Built−In Self−Test)回路とが活性化された状態で、ECC回路によるエラー訂正が必ず行われるように構成されている。
特許文献1に記載の半導体装置には、LFSRを搭載した擬似乱数発生回路が搭載されているが、発生結果の予測がつきやすいので、セキュリティ用途で使用できない。
しかしながら、LFSRのような、擬似乱数発生回路で生成される乱数は、一見、乱数のように見えるが、実際には特定のアルゴリズムにより実現されており、生成される乱数の予測が可能である。また、一定の周期で同じ乱数が発生するため、固有IDなどのセキュリティの用途には使用できないという問題がある。
しかしながら、LFSRのような、擬似乱数発生回路で生成される乱数は、一見、乱数のように見えるが、実際には特定のアルゴリズムにより実現されており、生成される乱数の予測が可能である。また、一定の周期で同じ乱数が発生するため、固有IDなどのセキュリティの用途には使用できないという問題がある。
本発明は、斯かる実情に鑑みなされたものであり、その目的は、LFSRを用いた擬似乱数発生回路に比較して予測可能性が低い乱数を発生させることができる、乱数発生回路、及び不揮発性半導体装置を提供することにある。
本発明は、上記課題を解決するためになされたものであり、本発明の乱数発生回路は、不揮発性メモリに搭載される乱数発生回路であって、複数の不揮発性メモリセルについての製造直後の閾値分布のばらつきの状態を検出し、該閾値分布のばらつきの状態に基づいて乱数を発生させることを特徴とする。
このような構成の乱数発生回路では、複数の不揮発性メモリセルについての製造直後の閾値分布のばらつきを検出して、乱数を生成する。
これにより、本発明の乱数発生回路は、LFSRを用いた擬似乱数発生回路に比較して予測可能性が低い乱数を発生することができる。
このような構成の乱数発生回路では、複数の不揮発性メモリセルについての製造直後の閾値分布のばらつきを検出して、乱数を生成する。
これにより、本発明の乱数発生回路は、LFSRを用いた擬似乱数発生回路に比較して予測可能性が低い乱数を発生することができる。
また、本発明の不揮発性半導体装置は、上記の乱数発生回路を備えることを特徴とする。これにより、本発明の不揮発性半導体装置は、不揮発性メモリセルの製造直後の閾値分布のばらつきを検出して、LFSRを用いた擬似乱数発生回路に比較して予測可能性が低い乱数を発生することができる。
本発明によれば、不揮発性メモリセルの製造直後の閾値分布のばらつきを検出することにより、予測可能性が低い乱数を発生させることができる。
以下、図面を参照して、本発明の実施の形態について説明する。
(不揮発性半導体装置1の全体構成の説明)
図1は、この発明の一実施形態による不揮発性半導体装置1の構成を示すブロック図である。この図1に示す不揮発性半導体装置1は、NAND型フラッシュメモリで構成される半導体記憶装置の例である。図1に示す不揮発性半導体装置1は、後述するように、乱数発生回路18Aを備える点に特徴がある。
(不揮発性半導体装置1の全体構成の説明)
図1は、この発明の一実施形態による不揮発性半導体装置1の構成を示すブロック図である。この図1に示す不揮発性半導体装置1は、NAND型フラッシュメモリで構成される半導体記憶装置の例である。図1に示す不揮発性半導体装置1は、後述するように、乱数発生回路18Aを備える点に特徴がある。
図1に示すように、本実施形態に係る不揮発性半導体装置1は、主要な構成要素として、メモリセルアレイ10と、制御回路11と、ロウデコーダ(Xデコーダ)12と、ページバッファコントロール13と、ページバッファ群14と、パスビット数カウンタ15と、ライトステートマシーン16と、乱数生成部18と、I/Oバッファ(入出力バッファ回路)18と、入出力端子となるI/Oパッド(入出力端子)20と、を有して構成される。
なお、図1に示す不揮発性半導体装置1において、乱数発生回路18A(点線で囲まれる部分)は、乱数の発生に関係する主要な構成として、ページバッファコントロール13、ページバッファ群14、パスビット数カウンタ15、ライトステートマシーン16、及び電圧生成回路17における乱数発生に関係する部分と、乱数生成部18とを代表して示したものである。
なお、図1に示す不揮発性半導体装置1において、乱数発生回路18A(点線で囲まれる部分)は、乱数の発生に関係する主要な構成として、ページバッファコントロール13、ページバッファ群14、パスビット数カウンタ15、ライトステートマシーン16、及び電圧生成回路17における乱数発生に関係する部分と、乱数生成部18とを代表して示したものである。
メモリセルアレイ10は、複数のスタックゲート構造のトランジスタ、すなわち電気的書き換え可能な不揮発性メモリセル(以下、単に「メモリセル」とも呼ぶ)をカラム方向(列方向)に直列接続して、ビット線毎に設けられたNANDセルストリングを、行方向(ビット線の配列方向)に複数個配置したブロックから構成される。このブロックは、ビット線の配線方向に複数個配置される。また、このブロックは、メモリセルのデータの消去単位で設けられている。各ブロックにおいては、同一行に配置された不揮発性メモリセル各々のゲートには、ビット線に直交したワード線が接続される。
図2は、NAND型フラシュメモリによるメモリセルアレイ10の構成例を示す図である。より具体的には、メモリセルアレイ10は、図2に示すように、N+1本のビット線BL0〜BLN(ビット線BLで総称)と、n+1本のワード線WL0〜WLn(ワード線WLで総称)と、共通ソース線CSLと、各ビット線BLと共通ソース線CSLとの間にそれぞれ接続されたN+1個のメモリストリングST0〜STN(メモリストリングSTで総称)と、を備える。各メモリストリングSTは、互いに直列接続されたn+1個のフローティングゲート構造の電気的書き換え可能な不揮発性メモリセルMC0〜MCnを備え、ドレイン側のメモリセルMCnは選択トランジスタSS1を介して対応するビット線BLに接続され、ソース側のメモリセルMC0は選択トランジスタGS1を介して共通ソース線CSLに接続される。また、同一行のメモリセルの制御ゲートは、共通のワード線WLに接続されている。
図2に示すメモリセルアレイにおいて、メモリセルのイレース(消去)は、例えば、Nチャネル型のメモリセルMC0〜MCnが形成されるP型ウェル領域に高電圧を印加し、ワード線WL0〜WLnに0Vを印加することにより行われる。これにより、例えばポリシリコンなどからなる電荷蓄積層であるフローティングゲートより電子を引き抜いて、メモリセルMCの閾値電圧を消去閾値電圧VtL(例えば、−1V)に設定する。一方、書き込み(プログラム)においては、例えば、メモリセルのソース、及びドレインに0Vを与え、制御ゲート(選択したワード線WL)に高電圧を印加することにより、半導体基板よりフローティングゲートに電子を注入し、閾値電圧を上昇させて書込閾値電圧VtHに設定する。そして、例えば、メモリセルMC0〜MCnの閾値電圧を閾値電圧VtLのままに保持することにより当該メモリセルのデータ値を「1」とし、閾値電圧を閾値電圧VtHに設定することにより当該メモリセルのデータ値を「0」とする。
また、メモリセルからデータを読み出すときには、全てのビット線BLを所定の電圧でプリチャージした後に、閾値VtLとVtH間の読み出し電圧を、読み出し対象のメモリセルMCに共通に接続されたワード線WLを介して、選択メモリセルの各制御ゲートに印加する。また、高電圧を、上記選択メモリセル以外のメモリセルMCおよび選択トランジスタSS1,GS1の各制御ゲートに印加して、上記選択メモリセル以外のメモリセルMCならびに選択トランジスタSS1,GS1を導通させる。従って、選択メモリセルのデータ値が「1」のときには、当該選択メモリセルにセル電流が流れる一方、選択メモリセルのデータ値が「0」のときには、当該選択メモリセルにセル電流が流れないので、セル電流が流れるか否かに基づいて、各選択メモリセルに書き込まれているデータを読み出すことができる。
なお、以下では、1つのワード線により選択されるメモリセルを「ページ」と称する。
なお、以下では、1つのワード線により選択されるメモリセルを「ページ」と称する。
図1に戻り、制御回路11は、ロウデコーダ(Xデコーダ)12、ページバッファコントロール13、ページバッファ群14、パスビット数カウンタ15、ライトステートマシーン16、及び乱数生成部18等の動作を統括して制御する制御部であり、メモリセルアレイ10からのデータの読み出しと、メモリセルアレイ10へのデータの書き込み及び消去と、ベリファイ動作と、乱数発生動作とを行う際に、不揮発性半導体装置1の全体の動作を制御する。
ロウデコーダ12は、I/Oバッファ19から制御回路11を通してアドレス信号を入力し、入力したアドレス信号をデコードし、データの読み出しと、書き込み及び消去と、ベリファイの対象となるメモリセルに接続されるワード線WLを選択する機能を有する。また、ロウデコーダ12は、電圧生成回路17から電圧信号VWLを入力し、データの読み出し、書き込み、消去、及びベリファイ動作に応じた電圧をワード線WLに印加する機能を備える。
ページバッファ群14は、ページ単位のデータのプログラム及び読み出しを行うため、ページ単位のビット線毎に設けられたページバッファ14Aの複数から構成されている。このページバッファ群14におけるページバッファ14Aの各々は、ビット線に接続され、接続されたビット線の電位を増幅して判定するセンスアンプ回路として用いるラッチ回路を有する。このページバッファ群14内のページバッファ14Aにより、メモリセルアレイ10からデータを読み出すと共に、メモリセルアレイ10へのデータの書込制御を行う。
また、ページバッファコントロール13は、入力されたアドレス信号に基づき、指定されたページバッファ14Aを選択するカラムデコーダの機能を有する。ここでは、ページバッファ群14の全てのページバッファ14Aを選択する、すなわち1ページ分のデータが図に示す出力データバスDOUTBUS[n:0]に読み出される。また、各ページバッファ14Aは、ページバッファコントロール13から制御指令及びプリチャージ電圧の信号を入力し、メモリセルアレイ10のビット線BLにプリチャージ電圧を印加するプリチャージ回路を備える。
また、ページバッファ14Aは、メモリセルから読み出したデータを、出力データバス(DOUTBUS)を通して、I/Oバッファ19に出力する。また、ページバッファ14Aは、I/Oバッファ19からメモリセルへの書き込みデータを入力し、メモリセルへのデータ書き込みを行う。なお、メモリセルからのデータの読み出し、メモリセルへのデータの書き込み及び消去は、ページバッファ14Aや、ロウデコーダ12や、ページバッファコントロール13等により行われる。
ページバッファコントロール13は、ページバッファ群14内のページバッファ14Aの動作を制御するための回路である。このページバッファコントロール13は、メモリセルアレイ10内のメモリセルに対するデータのプログラム、読み出し、消去などの動作、及びベリファイの動作の制御を行う。特に、ページバッファコントロール13は、不揮発性メモリセルからのデータ読み出し(データ読み出し動作)、不揮発性メモリセルへのデータ書き込み動作(プログラム動作及びプログラムベリファイ動作)、不揮発性メモリセルのデータ消去動作(イレース動作及びその後のイレースベリファイ動作)において、ページバッファを制御するための制御信号をページバッファ14Aに対して出力する。また、ページバッファコントロール13は、電圧生成回路17から、メモリセルへのデータの読み出し、書き込み、及び消去に応じたビット線BLの電圧信号VBが入力され、この電圧信号VBに基づいて制御信号をページバッファ14Aに出力する。
パスビット数カウンタ15は、ページバッファコントロール13及びページバッファ14Aにより行われるベリファイ動作の結果を基に、全体のベリファイビット数の内、何ビットがベリファイパスしたかを判定する。すなわち、パスビット数カウンタ15は、ベリファイ読み出し時において、ベリファイパスと判定されたメモリセルのビット数(「パスセル数」とも呼ぶ)をカウントする。パスビット数カウンタ15は、パスセル数の情報を信号PBNとして、ライトステートマシーン16に出力する
ライトステートマシーン16は、パスビット数カウンタ15のカウント結果(パスセル数の情報)を基に、メモリセルアレイ10内の不揮発性メモリセルに対するデータの書込み、消去、及びベリファイ動作等を、ページバッファコントロール13を介して制御する。また、ライトステートマシーン16は、電圧生成回路17を制御し、この電圧生成回路17は、不揮発性メモリセルに対するデータの書込み、消去、及びベリファイ動作時に使用する各種電圧を電源電圧から昇圧動作等により生成する。
この電圧生成回路17は、メモリセルへのデータの読み出し、書き込み、消去、及びベリファイ動作に応じたビット線BLの電圧信号VBを生成し、この電圧信号VBをページバッファ14Aに出力する。また、電圧生成回路17は、メモリセルへのデータの読み出し、書き込み、消去、及びベリファイ動作に応じたワード線WLの電圧を制御する電圧信号VWLを生成する。
特に、電圧生成回路17から出力される電圧信号VWLには、後述するベリファイ動作により乱数を発生させる際に、ワード線WLの電圧を変化させるための電圧信号が含まれる。
特に、電圧生成回路17から出力される電圧信号VWLには、後述するベリファイ動作により乱数を発生させる際に、ワード線WLの電圧を変化させるための電圧信号が含まれる。
乱数発生回路18Aは、乱数の発生に関係する主要な部分として、ページバッファコントロール13、ページバッファ群14、パスビット数カウンタ15、及びライトステートマシーン16における乱数発生に関係する部分と、乱数生成部18とを代表して示したものである。
この乱数発生回路18Aは、後述するように、製造直後の不揮発性メモリセルの特性の差異を利用して乱数を発生させる。乱数発生回路18Aは、製造直後の不揮発性メモリにおける、メモリセルのベリファイ動作時においてベリファイパスするメモリセルの割合が1/2(50%)になるように、メモリセルに印加する電圧を制御することにより、製造直後の不揮発性メモリセルの特性の差異を利用して乱数を発生させる。
なお、図1に示す乱数発生回路18Aは、1ページ分の不揮発性メモリセル及びページバッファ14Aを使用して、1ページ分のビット長に相当する乱数を生成する例であるが、2ページ分の不揮発性メモリセル及びページバッファ14Aを使用して、2ページ分のビット長に相当する乱数を生成するようにしてもよく、また、3ページ分以上のビット長の乱数を発生させるようにしてもよい。さらに、1ページ分のビット長に相当する乱数から、所望のビット長(例えば、128バイト)の乱数を1又は2以上抽出するようにしてもよい。すなわち、乱数発生回路18Aは、複数の乱数を1組のセットとして発生するようにしてもよい。
乱数生成部18は、乱数発生回路18Aにより生成された乱数をページバッファ14Aから読み込んで保持し、乱数Randとして出力する。
I/Oバッファ19は、データの入出力、アドレス信号の入力、及び動作制御コマンド等の入力に使用されるバッファ回路であり、このI/Oバッファ19は、外部回路との接続端子となるI/Oパッド20に接続される。この入出力バッファ23は、外部から供給されるアドレスをページバッファ群14及びロウデコーダ12へ出力し、外部から供給されるコマンドを示すコマンドデータをページバッファコントロール13及び制御回路11へ出力する。また、I/Oバッファ19は、外部から入力されるデータをページバッファ群14のページバッファ14Aの各々へ出力、あるいはページバッファ14Aを介し、メモリセルアレイ10から読み出されたデータを外部に出力する。
(乱数発生動作についての説明)
図3は、本実施形態の不揮発性半導体装置1における乱数発生動作について説明するための図である。
図3は、本実施形態の不揮発性半導体装置1における乱数発生動作について説明するための図である。
図3(A)は、通常のプログラム/イレース(書込/消去)時のメモリセルの閾値Vtの分布を示す図であり、SLC(Single Level Cell)の閾値Vtの分布を示す図である。また、図3(B)は、製造直後のメモリセルの閾値Vtの初期分布の例を示す図である。
この図3(A)及び図3(B)のそれぞれにおいて、横軸は閾値Vtの電圧レベルを示し、縦軸はメモリセル数を示している。
この図3(A)及び図3(B)のそれぞれにおいて、横軸は閾値Vtの電圧レベルを示し、縦軸はメモリセル数を示している。
図3(A)に示すように、メモリセルは、通常は、閾値Vtがイレース基準電圧EV以下になるようにイレース(消去)が行われ、閾値分布が分布曲線Aに示す状態になり、この状態においてデータ値「1」になる。また、メモリセルは、通常は、閾値Vtがプログラム基準電圧PV以上になるようにプログラム(書込み)が行われ、閾値分布が分布曲線Bに示す状態になり、この状態においてデータ値「0」になる。
一方、図3(B)に示すように、製造直後のメモリセルは、その閾値分布が、符号Cで示すような初期分布曲線になる。この初期分布曲線Cに示すように、製造直後のメモリセルの閾値は、−側の電圧値VLから+側の電圧値VHまで、広い分布幅を示す。
ここで、分布の中心がどの閾値になるかは、製造プロセス条件などにより異なる。本実施形態では、製造直後のメモリセルに対して、ワード線WLの電圧(ベリファイ電圧)を変化させながら、ベリファイ動作とベリファイ判定動作とを繰り返し、ベリファイ電圧を、イレースセルと判定されるメモリセルが全体のメモリセルのビット数の1/2(50%)になるようにする。
図3(B)において、符号nはベリファイの回数を示しており、この例では、ベリファイ電圧を、低い電圧値V0から、ベリファイ回数が増える毎に、一定の電圧ΔVずつ上昇させて高い電圧値に変化させていく。これにより、ベリファイ回数が増えるにつれてイレースセルと判定されるメモリセル数が増えていくことになる。
ここで、分布の中心がどの閾値になるかは、製造プロセス条件などにより異なる。本実施形態では、製造直後のメモリセルに対して、ワード線WLの電圧(ベリファイ電圧)を変化させながら、ベリファイ動作とベリファイ判定動作とを繰り返し、ベリファイ電圧を、イレースセルと判定されるメモリセルが全体のメモリセルのビット数の1/2(50%)になるようにする。
図3(B)において、符号nはベリファイの回数を示しており、この例では、ベリファイ電圧を、低い電圧値V0から、ベリファイ回数が増える毎に、一定の電圧ΔVずつ上昇させて高い電圧値に変化させていく。これにより、ベリファイ回数が増えるにつれてイレースセルと判定されるメモリセル数が増えていくことになる。
(ベリファイ動作による乱数発生)
以下、図3(B)を参照して、本実施形態の不揮発性半導体装置1(より正確には乱数発生回路18A)における、ベリファイ動作により乱数を発生させる場合の動作について説明する。
なお、図3(B)に示す例では、ベリファイ動作によりイレースセルと判定されるメモリセルを増加させるため、以下の説明において、イレースセルと判定されるメモリセルを「パスセル」と呼び、イレースセルと判定されないメモリセル(プログラムセル)を「フェイルセル」と呼ぶことがある。また、イレースセルと判定されたメモリセル数を「パスビット数」と呼ぶことがある。
以下、図3(B)を参照して、本実施形態の不揮発性半導体装置1(より正確には乱数発生回路18A)における、ベリファイ動作により乱数を発生させる場合の動作について説明する。
なお、図3(B)に示す例では、ベリファイ動作によりイレースセルと判定されるメモリセルを増加させるため、以下の説明において、イレースセルと判定されるメモリセルを「パスセル」と呼び、イレースセルと判定されないメモリセル(プログラムセル)を「フェイルセル」と呼ぶことがある。また、イレースセルと判定されたメモリセル数を「パスビット数」と呼ぶことがある。
最初に、不揮発性半導体装置1は、ベリファイ動作時のワード線WLの電圧(ベリファイ電圧)を、イレース基準電圧EVと同じかそれに近い電圧値V0に設定する(n=0)し、1回目(n=0)のベリファイ動作を行う。
続いて、不揮発性半導体装置1は、この1回目のベリファイ動作の結果から、パスビット数カウンタ15によりイレースセルと判定されるメモリセル(パスビット数)が、全体のメモリセルのビット数の1/2(50%)になったか否かを判定する。
続いて、不揮発性半導体装置1は、この1回目のベリファイ動作の結果から、パスビット数カウンタ15によりイレースセルと判定されるメモリセル(パスビット数)が、全体のメモリセルのビット数の1/2(50%)になったか否かを判定する。
不揮発性半導体装置1は、1回目のベリファイ動作においてパスビット数が全体のメモリセルのビット数の1/2(50%)以下であると判定された場合は、続いて、ベリファイ電圧を、電圧値V0から一定値ΔVだけ上昇させた電圧値V1とし、2回目(n=1)のベリファイ動作を行い、この2回目のベリファイ動作の結果から、パスビット数が、全体のメモリセルのビット数の1/2(50%)になったか否かを判定する。
以降、不揮発性半導体装置1は、ベリファイ電圧を一定電圧ΔVずつ上昇させながら、ベリファイ動作とパスビット数の判定とを繰り返して行い、ベリファイ電圧が電圧値VMとなるM+1回目(n=M)のベリファイ動作により、パスビット数が全体のメモリセルのビット数の予め設定された所定の割合を超えた時に、ベリファイ動作を停止する。所定の割合は、例えば、1/2、或いは1/2の近傍の値に設定される。
このM回目のベリファイ動作において、ページバッファ14A内のラッチ回路(図4のS−ラッチ21を参照)に格納されているパスセル・フェイルセルの情報は、1/2がパスセルを示し、1/2がフェイルセルを示していることになる。すなわち、イレースセルと判定されるメモリセルが1/2(50%)になり、プログラムセルと判定されるメモリセルが、全ビット数の1/2(50%)になる。
ここで、製造直後のメモリセルの閾値分布は、製造時の特性のばらつきや、物理的なゆらぎなどにより決定され、製造者やユーザが容易に想像することは不可能である。このため、M回目(n=M)のベリファイ動作により、ページバッファ14Aに格納されているデータは、LFSRで生成する乱数などとは異なり、予測可能性が極めて低い乱数となる。
なお、上述した図3(B)に示す例では、パスビット数が全体のメモリセルのビット数の1/2(50%)を超えた時にベリファイ動作を停止し、この時のパスセルとフェイルセルの分布の情報を基に乱数を生成するようにしているが、これに限定されず、パスビット数の割合は、例えば、30%、40%、50%、60%、70%など任意の割合に設定することができる。
さらに、図3(B)に示す例では、ベリファイ電圧を電圧が低い側(VL側)から次第に上昇させて、イレースセルと判定されるメモリセルの数を判定しているが、逆に、ベリファイ電圧を電圧が高い側(VH側)から次第に下降させて、プログラムセルと判定されるメモリセルが、全ビット数の1/2(50%)以上になるようにベリファイ電圧を変化させるようにしてもよい。
ところで、上記乱数発生動作により、乱数を発生させてページバッファ14Aに格納することができるが、乱数の発生に使用したメモリセルは、その閾値分布が、例えば、図3(B)の初期分布曲線Cであり、図3(A)に示すような正規の閾値分布曲線とは異なる。このため、メモリセルの1/2がベリファイパスした直後の状態で、再度メモリセルのデータの読み出しを行なっても、読み出しに必要なマージンが得られないため、同一のデータが読み出されるとは限らないことになる。従って、メモリセルの閾値分布を、図3(A)に示すような正規の閾値分布になるように書き換える必要がある。このため、本実施形態の不揮発性半導体装置1では、ページバッファ14Aは、次に説明する構成を備えている。
[ページバッファの回路構成]
図4は、ページバッファ14Aの構成例を示す図である。図4では、1本のビット線(BLi)に対応するページバッファ14Aの一例を示している。この図4に示すページバッファ14Aは、SLCのページバッファ回路として用いられる回路である。
図4は、ページバッファ14Aの構成例を示す図である。図4では、1本のビット線(BLi)に対応するページバッファ14Aの一例を示している。この図4に示すページバッファ14Aは、SLCのページバッファ回路として用いられる回路である。
ページバッファ14Aは、データ書き込み時のビット線BLiへの電位供給を制御するとともに、読み出し時のセンスデータをラッチするS−ラッチ21(図上で左側のラッチ回路)と、キャッシュプログラム時に、キャッシュデータを格納するC−ラッチ22(図上で右側のラッチ回路)とで構成される。また、他に、S−ラッチ21とC−ラッチ22との間でデータを転送するためのトランジスタ、メモリセルへのデータ書き込み時にS−ラッチ21からビット線への電圧供給を行うトランジスタ、メモリセルからの読み出し時に、ビット線BLiの電圧を基にセンス動作を行い、S−ラッチ21へデータを格納するためのトランジスタ、外部からC−ラッチ22へデータを入出力するためのトランジスタなどで構成される。
より具体的には、この図4に示すページバッファ14Aは、トランジスタ31〜50と、S−ラッチ21と、C−ラッチ22と有して構成されている。
ここで、トランジスタ31、トランジスタ32、及びトランジスタ43は、Pチャネル型MOS(Metal Oxide Semiconductor)トランジスタであり、それ以外のトランジスタは、Nチャネル型MOSトランジスタである。
ここで、トランジスタ31、トランジスタ32、及びトランジスタ43は、Pチャネル型MOS(Metal Oxide Semiconductor)トランジスタであり、それ以外のトランジスタは、Nチャネル型MOSトランジスタである。
また、S−ラッチ21は、インバータ回路IVS1、及びインバータ回路IVS2から構成される。ここで、インバータ回路IVS1は、出力端子が接続点(ノード)NS2においてインバータ回路IVS2の入力端子に接続され、入力端子が接続点NS1においてインバータ回路IVS2の出力端子に接続される。また、C−ラッチ22は、インバータ回路IVC1、及びインバータ回路IVC2から構成される。ここで、インバータ回路IVC1は、出力端子が接続点NC2においてインバータ回路IVC2の入力端子に接続され、入力端子が接続点NC1においてインバータ回路IVC2の出力端子に接続される。
トランジスタ31は、ソースが電源配線に接続され、ゲートが接続点NS1に接続され、ドレインがトランジスタ32のソースに接続される。
トランジスタ32は、ソースがトランジスタ31のドレインに接続され、ゲートが制御信号BLPCの配線に接続され、ドレインがトランジスタ33のドレイン、及び接続点SOに接続される。
トランジスタ33は、ドレインが接続点SOに接続され、ゲートが制御信号SOGNDの配線に接続され、ソースがトランジスタ34のドレインに接続される。
トランジスタ34は、ドレインがトランジスタ33のソースに接続され、ゲートが接続点NS1に接続され、ソースが接地される。
トランジスタ32は、ソースがトランジスタ31のドレインに接続され、ゲートが制御信号BLPCの配線に接続され、ドレインがトランジスタ33のドレイン、及び接続点SOに接続される。
トランジスタ33は、ドレインが接続点SOに接続され、ゲートが制御信号SOGNDの配線に接続され、ソースがトランジスタ34のドレインに接続される。
トランジスタ34は、ドレインがトランジスタ33のソースに接続され、ゲートが接続点NS1に接続され、ソースが接地される。
トランジスタ35は、ドレインが接続点NS1に接続され、ゲートが制御信号SETSの配線に接続され、ソースが接続点XS1に接続される。
トランジスタ37は、ドレインが接続点NS2に接続され、ゲートが制御信号RSTSの配線に接続され、ソースが接続点XS1及びトランジスタ38のドレインに接続される。
トランジスタ37は、ドレインが接続点NS2に接続され、ゲートが制御信号RSTSの配線に接続され、ソースが接続点XS1及びトランジスタ38のドレインに接続される。
トランジスタ38は、ドレインが接続点XS1及びトランジスタ37のソースに接続され、ソースが接地される。
トランジスタ39は、ドレインが接続点SOに接続され、ゲートが制御信号TRANSの配線に接続され、ソースがトランジスタ40のドレインに接続される。
トランジスタ40は、ドレインがトランジスタ39のソースに接続され、ゲートが接続点NS2に接続され、ソースが接地される。
トランジスタ41は、ドレインがビット線BLiに接続され、ゲートが制御信号BLSLTの配線に接続され、ソースが接続点SOに接続される。トランジスタ42は、ドレインがビット線BLiに接続され、ゲートが制御信号PDISの配線に接続され、ソースが接地される。
トランジスタ39は、ドレインが接続点SOに接続され、ゲートが制御信号TRANSの配線に接続され、ソースがトランジスタ40のドレインに接続される。
トランジスタ40は、ドレインがトランジスタ39のソースに接続され、ゲートが接続点NS2に接続され、ソースが接地される。
トランジスタ41は、ドレインがビット線BLiに接続され、ゲートが制御信号BLSLTの配線に接続され、ソースが接続点SOに接続される。トランジスタ42は、ドレインがビット線BLiに接続され、ゲートが制御信号PDISの配線に接続され、ソースが接地される。
トランジスタ43は、ソースが電源配線に接続され、ゲートが制御信号LOADの配線に接続され、ドレインが接続点SOに接続される。
トランジスタ44は、ドレインが接続点NC1に接続されゲートが制御信号SETCの配線に接続され、ソースが接続点XC1及びトランジスタ45のドレインに接続される。
トランジスタ45は、ドレインが接続点XC1及びトランジスタ44のソースに接続され、ゲートが制御信号DIENの配線に接続され、ソースがデータ入力端子DINに接続される。
トランジスタ46は、ドレインが接続点NC2に接続され、ゲートが制御信号RSTCの配線に接続され、ソースが接続点XC1及びトランジスタ47のドレインに接続される。
トランジスタ47は、ドレインが接続点XC1及びトランジスタ46のソースに接続され、ゲートが接続点SOに接続され、ソースが接地される。
トランジスタ44は、ドレインが接続点NC1に接続されゲートが制御信号SETCの配線に接続され、ソースが接続点XC1及びトランジスタ45のドレインに接続される。
トランジスタ45は、ドレインが接続点XC1及びトランジスタ44のソースに接続され、ゲートが制御信号DIENの配線に接続され、ソースがデータ入力端子DINに接続される。
トランジスタ46は、ドレインが接続点NC2に接続され、ゲートが制御信号RSTCの配線に接続され、ソースが接続点XC1及びトランジスタ47のドレインに接続される。
トランジスタ47は、ドレインが接続点XC1及びトランジスタ46のソースに接続され、ゲートが接続点SOに接続され、ソースが接地される。
トランジスタ48は、ドレインが接続点SOに接続され、ゲートが制御信号TRANCの配線に接続され、ソースがトランジスタ49のドレインに接続される。トランジスタ49は、ドレインがトランジスタ48のソース及びトランジスタ50のドレインに接続され、ゲートが接続点NC2に接続される。
トランジスタ50は、ドレインがトランジスタ48のソース及びトランジスタ49のドレインに接続され、ゲートが制御信号DOENの配線に接続され、ソースが出力信号線の端子DOUTに接続される。
トランジスタ50は、ドレインがトランジスタ48のソース及びトランジスタ49のドレインに接続され、ゲートが制御信号DOENの配線に接続され、ソースが出力信号線の端子DOUTに接続される。
上記構成のページバッファ14Aは、S−ラッチ21側の回路と、このS−ラッチ21側の回路と類似するC−ラッチ22側の回路との2つの回路を主要な要素として構成されている。以下では、ページバッファ14Aについて、メモリセルに対するデータ読み出し動作、プログラム動作、及びイレース動作等の各々の動作における通常の動作については、その説明を省略し、本発明に直接関係するS−ラッチ21に保持されたデータのC−ラッチ22へ退避する動作、及びC−ラッチ22に退避したデータをS−ラッチ21に戻す動作についてのみ説明する。
本実施形態の不揮発性半導体装置1においては、乱数発生回路18Aにより生成された乱数のデータは、図4に示すページバッファ14A内のS−ラッチ21に保持される。ページバッファ14Aは、このS−ラッチ21に保持したデータを、一旦、C−ラッチ22に退避した後に、乱数発生に用いたメモリセルをイレースする。このメモリセルをイレースした後に、ページバッファ14Aは、C−ラッチ22に退避したデータをS−ラッチ21に戻し、このS−ラッチ21に戻したデータを再びメモリセルに書き込む。これにより、メモリセルに乱数のデータが確実に保持される。
以下、図5及び図6を参照して、S−ラッチ21からC−ラッチ22へのデータの退避動作と、C−ラッチ22からS−ラッチ21へのデータの戻し動作について説明する。
図5は、S−ラッチ21のデータをC−ラッチ22へ退避する動作を説明するためのタイミングチャートである。この図5は、横方向に時間の経過を示し、縦方向に、制御信号LOADと、制御信号TRANSと、接続点SOのノード電位と、制御信号RSTCと、制御信号SETCと、接続点NC1のノード電位と、接続点NC2のノード電位とを、並べて示したものである。また、それぞれの信号のレベルを、1(「H」レベル)または0(「L」レベル)で示したものである。
また、期間T1は、接続点SOのプリチャージ期間を示し、期間T2は、C−ラッチ22のリセット期間を示し、期間T3は、S−ラッチから接続点SOへのデータ転送期間を示し、期間T4は、接続点SOからC−ラッチへのデータ転送期間を示している。
また、期間T1は、接続点SOのプリチャージ期間を示し、期間T2は、C−ラッチ22のリセット期間を示し、期間T3は、S−ラッチから接続点SOへのデータ転送期間を示し、期間T4は、接続点SOからC−ラッチへのデータ転送期間を示している。
図5を参照して、最初に、期間T1において、トランジスタ43のゲートに印加される制御信号LOADが「L」レベルになることにより、トランジスタ43がオンになり、接続点SOが「H」レベルにプリチャージされる。
その後、期間T2に至り、C−ラッチ22側のトランジスタ46のゲートに印加される制御信号RSTCが「H」レベルになることにより、接続点NC1が「H」レベルにセットされ、接続点NC2が「L」レベルにセットされる。
その後、期間T2に至り、C−ラッチ22側のトランジスタ46のゲートに印加される制御信号RSTCが「H」レベルになることにより、接続点NC1が「H」レベルにセットされ、接続点NC2が「L」レベルにセットされる。
その後、期間T3に至り、トランジスタ39のゲートに印加される制御信号TRANSが「H」レベルになることにより、接続点SOのノード電位が、接続点NS2のノード電位に応じて、「H」レベル(実線で示す波形)又は「L」レベル(点線で示す波形)に変化する。
より具体的には、接続点SOは、接続点NS1のノード電位が「H」であり接続点NS2のノード電位が「L」レベルの場合(NS1/NS2=1/0の場合)に、「H」レベルになる。また、接続点SOは、接続点NS1のノード電位が「L」であり接続点NS2のノード電位が「H」レベルの場合(NS1/NS2=0/1の場合)に、「L」レベルになる。
より具体的には、接続点SOは、接続点NS1のノード電位が「H」であり接続点NS2のノード電位が「L」レベルの場合(NS1/NS2=1/0の場合)に、「H」レベルになる。また、接続点SOは、接続点NS1のノード電位が「L」であり接続点NS2のノード電位が「H」レベルの場合(NS1/NS2=0/1の場合)に、「L」レベルになる。
続いて、期間T4に至り、トランジスタ44のゲートに印加される制御信号SETCが「H」レベルになり、トランジスタ46のゲートに印加される制御信号RSTCが「L」レベルであることにより、接続点SOのノード電位(「H」レベル又は「L」レベル)に応じた電位が、C−ラッチ22に設定される。
例えば、期間T4において、接続点SOのノード電位が「H」レベルである場合は、実線で示すように、C−ラッチ22の接続点NC1が「L」レベルとなり、接続点NC2が「H」レベルとなる。一方、期間T4において、接続点SOのノード電位が「L」レベルである場合は、点線で示すように、C−ラッチ22の接続点NC1が「H」レベルとなり、接続点NC2が「L」レベルとなる。
例えば、期間T4において、接続点SOのノード電位が「H」レベルである場合は、実線で示すように、C−ラッチ22の接続点NC1が「L」レベルとなり、接続点NC2が「H」レベルとなる。一方、期間T4において、接続点SOのノード電位が「L」レベルである場合は、点線で示すように、C−ラッチ22の接続点NC1が「H」レベルとなり、接続点NC2が「L」レベルとなる。
このように、接続点SOのノード電位は、S−ラッチ21の接続点NS2のノード電位により「H」レベル又は「L」レベルに変化し、また、接続点SOのノード電位(「H」レベル又は「L」レベル)に応じて、C−ラッチ22の接続点NC2のノード電位が変化する。これにより、S−ラッチ21に保持されたデータを、C−ラッチ22に退避することができる。
また、図6は、C−ラッチ22に退避したデータをS−ラッチ21へ戻す際の動作を説明するためのタイミングチャートである。この図6において、期間T1は、接続点SOのプリチャージ期間を示し、期間T2は、S−ラッチ21のリセット期間を示し、期間T3は、C−ラッチから接続点SOへのデータ転送期間を示し、期間T4は、接続点SOからS−ラッチへのデータ転送期間を示している。
図6を参照して、最初に、期間T1において、トランジスタ43のゲートに印加される制御信号LOADが「L」レベルになることにより、トランジスタ43がオンになり、接続点SOが「H」レベルにプリチャージされる。
その後、期間T2に至り、S−ラッチ21側のトランジスタ37のゲートに印加される制御信号RSTSが「H」レベルになることにより、接続点NS1が「H」レベルにセットされ、接続点NS2が「L」レベルにセットされる。
その後、期間T2に至り、S−ラッチ21側のトランジスタ37のゲートに印加される制御信号RSTSが「H」レベルになることにより、接続点NS1が「H」レベルにセットされ、接続点NS2が「L」レベルにセットされる。
その後、期間T3に至り、トランジスタ48のゲートに印加される制御信号TRANCが「H」レベルになることにより、接続点SOのノード電位が、接続点NC2のノード電位に応じて、「H」レベル(実線で示す波形)又は「L」レベル(点線で示す波形)に変化する。より具体的には、接続点SOは、接続点NC2のノード電位が「H」レベルの場合に「L」レベルになり、接続点NC2のノード電位が「L」レベルの場合に「H」レベルなる。
続いて、期間T4に至り、トランジスタ35ゲートに印加される制御信号SETSが「H」レベルになり、トランジスタ37のゲートに印加される制御信号RSTSが「L」レベルであることにより、接続点SOのノード電位(「H」レベル又は「L」レベル)に応じた電位が、S−ラッチ21に設定される。
例えば、期間T4において、接続点SOのノード電位が「H」レベルである場合は、実線で示すように、S−ラッチ21の接続点NS1が「L」レベルとなり、接続点NS2が「H」レベルとなる。
一方、期間T4において、接続点SOのノード電位が「L」レベルである場合は、点線で示すように、S−ラッチ21の接続点NS1が「H」レベルとなり、接続点NS2が「L」レベルとなる。
一方、期間T4において、接続点SOのノード電位が「L」レベルである場合は、点線で示すように、S−ラッチ21の接続点NS1が「H」レベルとなり、接続点NS2が「L」レベルとなる。
このように、接続点SOのノード電位は、C−ラッチ22の接続点NC2のノード電位により「H」レベル又は「L」レベルに変化し、また、接続点SOのノード電位(「H」レベル又は「L」レベル)に応じて、S−ラッチ21の接続点NS2のノード電位が変化する。これにより、C−ラッチ22に退避したデータを、S−ラッチ21側に戻すことができる。
[応用例]
次に、図4に示すページバッファ14Aを用いた応用例について説明する。図7は、本実施形態の不揮発性半導体装置1における応用例を示すフローチャートである。この応用例では、メモリセルのパス・フェイル情報(乱数のデータ)を、S−ラッチ21からC−ラッチ22に転送した後、一旦、イレース動作により、メモリセル(例えば、乱数発生に使用したメモリセル)を消去状態にした後、C−ラッチ22のデータをS−ラッチ21に再度転送し、その後、S−ラッチ21のデータをメモリセルに書き込む。
これにより、メモリセルに書き込んだ乱数のデータについて、メモリセルの閾値の分布は、図3(A)で示した通常の分布と同等となる。
次に、図4に示すページバッファ14Aを用いた応用例について説明する。図7は、本実施形態の不揮発性半導体装置1における応用例を示すフローチャートである。この応用例では、メモリセルのパス・フェイル情報(乱数のデータ)を、S−ラッチ21からC−ラッチ22に転送した後、一旦、イレース動作により、メモリセル(例えば、乱数発生に使用したメモリセル)を消去状態にした後、C−ラッチ22のデータをS−ラッチ21に再度転送し、その後、S−ラッチ21のデータをメモリセルに書き込む。
これにより、メモリセルに書き込んだ乱数のデータについて、メモリセルの閾値の分布は、図3(A)で示した通常の分布と同等となる。
すなわち、ベリファイ動作においてメモリセルの所定の割合、例えば50%がパスセル(イレースセルと判定されたメモリセル)となり、ページバッファ14A内に乱数を生成した直後の状態において、再度、メモリセルのデータの読み出しを行っても、読み出しに必要なマージンが得られないため、同一のデータが読み出されるとは限らない。そこで、本応用例を用いることにより、発生させた乱数を確実にメモリセルに記憶させ、十分なマージンを持って乱数を読み出すことができる。
図7は、上述した応用例における処理の流れをフローチャートで示したものである。以下、図7のフローチャートを参照して、その処理の流れについて説明する。
乱数発生回路18Aは、ベリファイ電圧を1回目の電圧(例えば、図3に示す電圧値V1)に設定し、1ページ分のメモリセルに対してベリファイ動作を行う(ステップS101)。
このステップS101の処理に続いて、乱数発生回路18Aは、パスビット数カウンタ15により、パスビット数の割合が全ビット数の50%以上であるか否かを判定する(ステップS102)。すなわち、ベリファイ動作において、イレースセルと判定されるメモリセルが全ビット数の1/2(50%)以上であるか否かを判定する。
乱数発生回路18Aは、ベリファイ電圧を1回目の電圧(例えば、図3に示す電圧値V1)に設定し、1ページ分のメモリセルに対してベリファイ動作を行う(ステップS101)。
このステップS101の処理に続いて、乱数発生回路18Aは、パスビット数カウンタ15により、パスビット数の割合が全ビット数の50%以上であるか否かを判定する(ステップS102)。すなわち、ベリファイ動作において、イレースセルと判定されるメモリセルが全ビット数の1/2(50%)以上であるか否かを判定する。
そして、ステップS102の処理において、パスビット数(イレースセルと判定されるメモリセル数)が50%以上でないと判定された場合に(ステップS102:No)、乱数発生回路18Aは、電圧生成回路17によりベリファイ電圧を一定電圧ΔVだけ増加させ(ステップS103)、ステップS101の処理に戻り、再度、メモリセルへのベリファイ動作を開始する。
一方、ステップS102の処理において、パスビット数が50%以上であると判定された場合に(ステップS102:Yes)、乱数発生回路18Aは、メモリセルのベリファイ動作を停止し、ステップS104の処理に移行する。このステップS104の処理により、乱数発生回路18Aは、ページバッファ14Aにおいて、S−ラッチ21に保持されたデータをC−ラッチ22に転送(退避)する(ステップS104)。
なお、ステップS104の処理により、S−ラッチ21に保持されたデータをC−ラッチ22に転送(退避)するのは、次のステップS105及びS106のメモリセルのイレース(消去)動作において、S−ラッチ21が使用され、このS−ラッチ21に保持した乱数のデータが失われるためである。
なお、ステップS104の処理により、S−ラッチ21に保持されたデータをC−ラッチ22に転送(退避)するのは、次のステップS105及びS106のメモリセルのイレース(消去)動作において、S−ラッチ21が使用され、このS−ラッチ21に保持した乱数のデータが失われるためである。
ステップS105においてメモリセルのイレース動作(消去動作)が開始された後、乱数発生回路18Aは、このイレース動作(消去動作)を、メモリセルの全ビットパス、すなわち全ビットのイレースが完了するまで繰り返す(ステップS105,S106,S107)。なお、このステップS106のベリファイ動作において使用されるベリファイ電圧は、通常のイレース基準電圧EV(図3(A)を参照)である。
そして、ステップS107の処理において、メモリセルの全ビットパスと判定された場合に(ステップS107:Yes)、乱数発生回路18Aは、ステップS108の処理に移行し、ページバッファ14Aにおいて、C−ラッチ22に退避したデータをS−ラッチ21に転送する(ステップS108)。
このステップS108の処理の終了後にステップS109の処理に移行し、乱数発生回路18Aは、ページバッファコントロール13及びページバッファ14Aにより、S−ラッチ21に保持されたデータのメモリセルへの書込み動作とベリファイ動作とを、全ビットの書込みが完了するまで行う(ステップS109,S110,S111)。
このステップS108の処理の終了後にステップS109の処理に移行し、乱数発生回路18Aは、ページバッファコントロール13及びページバッファ14Aにより、S−ラッチ21に保持されたデータのメモリセルへの書込み動作とベリファイ動作とを、全ビットの書込みが完了するまで行う(ステップS109,S110,S111)。
そして、乱数発生回路18Aは、S−ラッチ21に保持されたデータのメモリセルへの書込みが完了した場合に(ステップS111:Yes)、メモリセルへの乱数データの格納処理を完了して終了する。
このように、図7に示す応用例では、メモリセルのベリファイ動作により乱数を発生させることができるとともに、発生させた乱数のデータをそのまま確実にメモリセルに記憶できる。また、乱数発生回路18Aは、十分なマージンを持ってメモリセルから乱数を読み出して、出力することができる。
このように、図7に示す応用例では、メモリセルのベリファイ動作により乱数を発生させることができるとともに、発生させた乱数のデータをそのまま確実にメモリセルに記憶できる。また、乱数発生回路18Aは、十分なマージンを持ってメモリセルから乱数を読み出して、出力することができる。
以上、説明したように、本実施形態の不揮発性半導体装置1では、乱数発生回路18Aにより、メモリセルの閾値の初期分布のばらつきを検出して、予測可能性が極めて低い乱数を発生することが可能となる。このため、不揮発性半導体装置1では、この乱数を暗号演算などに利用することにより、セキュリティレベルを向上させることができる。さらに、不揮発性半導体装置1では、生成した乱数を、メモリセルアレイ10にそのまま格納することができる。このため、本実施形態の不揮発性半導体装置1では、複雑な回路を用意することなく、予測可能性が極めて低い乱数を簡単に生成して保持することができる。
以上、本発明の実施の形態について説明したが、ここで、本発明と上述した実施形態との対応関係について補足して説明しておく。すなわち、上記実施形態において、本発明における不揮発性半導体装置は、不揮発性半導体装置1が対応し、また、本発明における乱数発生回路は、図1に示す不揮発性半導体装置1において、乱数発生回路18Aが対応する。
この乱数発生回路18Aは、乱数の発生に関係する主要な部分として、ページバッファコントロール13、ページバッファ群14、パスビット数カウンタ15、ライトステートマシーン16、及び電圧生成回路17における乱数発生に関係する部分と、乱数生成部18とを代表して示したものである。
また、本発明における不揮発性メモリセルは、メモリセルアレイ10中の不揮発性メモリセルが対応し、本発明におけるページバッファは、ページバッファ14Aが対応する。また、本発明における第1ラッチ回路は、図4に示すS−ラッチ21が対応し、本発明における第2ラッチ回路は、C−ラッチ22が対応する。
この乱数発生回路18Aは、乱数の発生に関係する主要な部分として、ページバッファコントロール13、ページバッファ群14、パスビット数カウンタ15、ライトステートマシーン16、及び電圧生成回路17における乱数発生に関係する部分と、乱数生成部18とを代表して示したものである。
また、本発明における不揮発性メモリセルは、メモリセルアレイ10中の不揮発性メモリセルが対応し、本発明におけるページバッファは、ページバッファ14Aが対応する。また、本発明における第1ラッチ回路は、図4に示すS−ラッチ21が対応し、本発明における第2ラッチ回路は、C−ラッチ22が対応する。
そして、上記実施形態において、本発明の乱数発生回路18Aは、不揮発性メモリに搭載される乱数発生回路18Aであって、複数の不揮発性メモリセルについての製造直後の閾値分布のばらつきの状態を検出し、該閾値分布のばらつきの状態に基づいて乱数を発生させる。
このような構成の乱数発生回路18Aでは、複数の不揮発性メモリセルについての製造直後の閾値分布のばらつきの状態を検出して、乱数を生成する。
これにより、本発明の乱数発生回路18Aは、予測可能性が低い乱数を発生することができる。
このような構成の乱数発生回路18Aでは、複数の不揮発性メモリセルについての製造直後の閾値分布のばらつきの状態を検出して、乱数を生成する。
これにより、本発明の乱数発生回路18Aは、予測可能性が低い乱数を発生することができる。
また、上記実施形態において、本発明の乱数発生回路18Aは、複数の不揮発性メモリセルについて製造直後のイレースセルとプログラムセルとの分布の情報を、ベリファイ動作を行って生成し、生成した分布の情報に基づいて乱数を発生させる。
このような構成の乱数発生回路18Aでは、製造直後の不揮発性メモリセルに対してベリファイ動作を行い、イレースセルと判定されるメモリセルと、プログラムセルと判定されるメモリセルとの分布の状態を検出する。そして、このイレースセルとプログラムセルとの分布の状態の情報に基づいて乱数を生成する。
これにより、本発明の乱数発生回路18Aは、不揮発性メモリセルの製造直後の閾値分布のばらつきの状態を検出して、予測可能性が低い乱数を発生することができる。
このような構成の乱数発生回路18Aでは、製造直後の不揮発性メモリセルに対してベリファイ動作を行い、イレースセルと判定されるメモリセルと、プログラムセルと判定されるメモリセルとの分布の状態を検出する。そして、このイレースセルとプログラムセルとの分布の状態の情報に基づいて乱数を生成する。
これにより、本発明の乱数発生回路18Aは、不揮発性メモリセルの製造直後の閾値分布のばらつきの状態を検出して、予測可能性が低い乱数を発生することができる。
また、上記実施形態において、本発明の乱数発生回路18Aは、ベリファイ動作において、複数の不揮発性メモリセルのワード線に印加するベリファイ電圧を、所定の初期電圧値から、予め設定された所定の割合以上の不揮発性メモリセルがベリファイパスする電圧値に向けて徐々に変更し、ベリファイパスする不揮発性メモリセルが所定の割合以上になった時に、ベリファイパスする不揮発性メモリセルとベリファイフェイルする不揮発性メモリセルとの分布の状態に基いて乱数を発生させる。
このような構成の乱数発生回路18Aでは、複数の不揮発性メモリセルのワード線に印加するベリファイ電圧を徐々に変化させ、例えば、イレースセルとしてベリファイパスするメモリセルの割合が所定の割合(例えば、50%)以上になるようにする。そして、イレースセルが所定の割合以上(例えば、50%以上)になった時に、この時のイレースセルとプログラムセルとの分布の状態を検出し、この分布の状態の情報を基に乱数を生成する。
これにより、例えば、所定の割合(例えば、50%)のイレースセル(データ値「1」)を含む乱数を生成することができる。
このような構成の乱数発生回路18Aでは、複数の不揮発性メモリセルのワード線に印加するベリファイ電圧を徐々に変化させ、例えば、イレースセルとしてベリファイパスするメモリセルの割合が所定の割合(例えば、50%)以上になるようにする。そして、イレースセルが所定の割合以上(例えば、50%以上)になった時に、この時のイレースセルとプログラムセルとの分布の状態を検出し、この分布の状態の情報を基に乱数を生成する。
これにより、例えば、所定の割合(例えば、50%)のイレースセル(データ値「1」)を含む乱数を生成することができる。
また、上記実施形態において、本発明の乱数発生回路18Aは、複数の不揮発性メモリセルは、1ページ分の不揮発性メモリセルであって、それぞれのメモリセルに対応して1つのページバッファが設けられ、1ページ分の不揮発性メモリセルについてのベリファイ動作により、ベリファイパスする不揮発性メモリセルが所定の割合を超えたと判定された時に、ページバッファに読み出されたデータを乱数として保持する。
このような構成の乱数発生回路18Aでは、乱数を発生させるために使用する複数の不揮発性メモリセルとして、1ページ分の不揮発性メモリセルを使用する。
これにより、乱数発生回路18Aは、1ページのビット長に相当する乱数を生成することができる。
このような構成の乱数発生回路18Aでは、乱数を発生させるために使用する複数の不揮発性メモリセルとして、1ページ分の不揮発性メモリセルを使用する。
これにより、乱数発生回路18Aは、1ページのビット長に相当する乱数を生成することができる。
また、上記実施形態において、本発明の乱数発生回路18Aは、上記ベリファイ動作において、ワード線の電圧WLは、予め設定した初期電圧であってイレースセルと判定される不揮発性メモリセルが所定の割合以下となる第1レベルから、イレースセルと判定される不揮発性メモリセルが所定の割合以上となる第2レベルに向けて徐々に変更され、上記ベリファイ動作において、イレースセルと判定される不揮発性メモリセルの割合が所定の割合を超えたと判定された場合に、イレースセルとプログラムセルとの分布の情報を検出する。
このような構成の乱数発生回路18Aでは、ベリファイ動作時のワード線WLの電圧(ベリファイ電圧)を、所定の割合(例えば、50%)以下の不揮発性メモリセルのみがイレースセルと判定される第1レベル(例えば、図3に示す電圧値V0)から、所定の割合(例えば、50%)以上の不揮発性メモリセルがイレースセルと判定される第2レベル(例えば、図3に示す電圧値VM)に向けて徐々に変更する。そして、イレースセルと判定されるメモリセルの割合が所定の割合(例えば、50%)に到達した場合に、ベリファイ動作を停止し、イレースセルとプログラムセルとの分布の情報を検出する。
これにより、乱数発生回路18Aは、ベリファイ動作時のワード線WLの電圧を徐々に変更させながら、イレースセルと判定されるメモリセルの割合が所定の割合(例えば、50%)になるようにして、乱数を生成することができる。このため、乱数発生回路18Aは、乱数発生のための特別な回路を用意することなく、簡易な方法により乱数を発生させることができる。
このような構成の乱数発生回路18Aでは、ベリファイ動作時のワード線WLの電圧(ベリファイ電圧)を、所定の割合(例えば、50%)以下の不揮発性メモリセルのみがイレースセルと判定される第1レベル(例えば、図3に示す電圧値V0)から、所定の割合(例えば、50%)以上の不揮発性メモリセルがイレースセルと判定される第2レベル(例えば、図3に示す電圧値VM)に向けて徐々に変更する。そして、イレースセルと判定されるメモリセルの割合が所定の割合(例えば、50%)に到達した場合に、ベリファイ動作を停止し、イレースセルとプログラムセルとの分布の情報を検出する。
これにより、乱数発生回路18Aは、ベリファイ動作時のワード線WLの電圧を徐々に変更させながら、イレースセルと判定されるメモリセルの割合が所定の割合(例えば、50%)になるようにして、乱数を生成することができる。このため、乱数発生回路18Aは、乱数発生のための特別な回路を用意することなく、簡易な方法により乱数を発生させることができる。
また、上記実施形態において、乱数発生回路18Aは、前記ページバッファが、ページバッファに読み出された不揮発性メモリセルのデータを保持する第1ラッチ回路(S−ラッチ21)と、第1ラッチ回路(S−ラッチ21)のデータを退避して保持するための第2ラッチ回路A(C−ラッチ22)と、を備え、ベリファイ動作においてイレースセルと判定される不揮発性メモリセルが所定の割合(例えば、50%)を超えたと判定された場合に、該ベリファイ動作を終了し、ベリファイ動作の終了後に、第1ラッチ回路(S−ラッチ21)から第2ラッチ回路(C−ラッチ22)へデータを退避し、このデータの退避後に不揮発性メモリセルをイレースし、不揮発性メモリセルのイレース後に、第2ラッチ(C−ラッチ22)に退避したデータを第1ラッチ回路(S−ラッチ21)に戻し、第1ラッチ回路(S−ラッチ21)に戻されたデータを不揮発性メモリセルに書き戻す。
このような構成の乱数発生回路18Aでは、生成した乱数を不揮発性メモリセルに再度書き込んで保持する。
これにより、乱数発生回路18Aでは、生成した乱数を、メモリセルアレイ10にそのまま格納することができるとともに、生成した乱数を確実に保持して読み出すことができる。
このような構成の乱数発生回路18Aでは、生成した乱数を不揮発性メモリセルに再度書き込んで保持する。
これにより、乱数発生回路18Aでは、生成した乱数を、メモリセルアレイ10にそのまま格納することができるとともに、生成した乱数を確実に保持して読み出すことができる。
以上、本発明の実施の形態について説明したが、本発明の乱数発生回路及び不揮発性半導体装置は、上述の図示例にのみ限定されるものではなく、本発明の要旨を逸脱しない範囲内において種々変更を加え得ることは勿論である。
例えば、上述した実施形態では、不揮発性メモリセルがSLCである不揮発性半導体装置の例について説明したが、本発明の乱数発生回路は、不揮発性メモリセルがMLC(Multi Level Cell)である不揮発性半導体装置においても実現可能である。
例えば、上述した実施形態では、不揮発性メモリセルがSLCである不揮発性半導体装置の例について説明したが、本発明の乱数発生回路は、不揮発性メモリセルがMLC(Multi Level Cell)である不揮発性半導体装置においても実現可能である。
1…不揮発性半導体装置、10…メモリセルアレイ、11…制御回路、12…ロウデコーダ、13…ページバッファコントロール、14…ページバッファ群、14A…ページバッファ、15…パスビット数カウンタ、16…ライトステートマシーン、17…電圧生成回路、18…乱数生成部、18A…乱数発生回路、19…I/Oバッファ、20…I/Oパッド
Claims (7)
- 不揮発性メモリに搭載される乱数発生回路であって、複数の不揮発性メモリセルについての製造直後の閾値分布のばらつきの状態を検出し、該閾値分布のばらつきの状態に基づいて乱数を発生させることを特徴とする乱数発生回路。
- 前記複数の不揮発性メモリセルについて製造直後のイレースセルとプログラムセルとの分布の情報を、ベリファイ動作を行って生成し、生成した分布の情報に基づいて乱数を発生させることを特徴とする請求項1に記載の乱数発生回路。
- ベリファイ動作において、複数の不揮発性メモリセルのワード線に印加するベリファイ電圧を、所定の初期電圧値から、予め設定された所定の割合以上の不揮発性メモリセルがベリファイパスする電圧値に向けて徐々に変更し、
前記ベリファイパスする不揮発性メモリセルが前記所定の割合以上になった時に、ベリファイパスする不揮発性メモリセルとベリファイフェイルする不揮発性メモリセルとの分布の状態に基いて乱数を発生させる
ことを特徴とする請求項2に記載の乱数発生回路。 - 前記複数の不揮発性メモリセルは、1のページバッファに接続される1ページ分の不揮発性メモリセルであって、
前記1ページ分の不揮発性メモリセルについての前記ベリファイ動作により、ベリファイパスする不揮発性メモリセルが前記所定の割合を超えたと判定された時に、前記ページバッファに読み出されたデータを乱数として保持する
ことを特徴とする請求項3に記載の乱数発生回路。 - 前記ベリファイ動作において、前記ワード線の電圧は、予め設定した初期電圧であってイレースセルと判定される不揮発性メモリセルが前記所定の割合以下となる第1レベルから、イレースセルと判定される不揮発性メモリセルが前記所定の割合以上となる第2レベルに向けて徐々に変更され、
前記ベリファイ動作において、イレースセルと判定される不揮発性メモリセルの割合が前記所定の割合を超えたと判定された場合に、前記ベリファイ動作を停止し、イレースセルとプログラムセルとの分布の情報を検出する。
ことを特徴とする請求項4に記載の乱数発生回路。 - 前記ページバッファは、
前記ページバッファに読み出された前記不揮発性メモリセルのデータを保持する第1ラッチ回路と、
前記第1ラッチ回路のデータを退避して保持するための第2ラッチ回路と、
を備え、
前記ベリファイ動作においてイレースセルと判定される不揮発性メモリセルが前記所定の割合を超えたと判定された場合に、該ベリファイ動作を終了し、
前記ベリファイ動作の終了後に、前記第1ラッチ回路から前記第2ラッチ回路へデータを退避し、
前記データの退避後に前記不揮発性メモリセルをイレースし、
前記不揮発性メモリセルのイレース後に、前記第2ラッチに退避したデータを前記第1ラッチ回路に戻し、
前記第1ラッチ回路に戻されたデータを前記不揮発性メモリセルに書き戻す
ことを特徴とする請求項5に記載の乱数発生回路。 - 請求項1から6のいずれか1項に記載の乱数発生回路を備える不揮発性半導体装置。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2012156481A JP2014021530A (ja) | 2012-07-12 | 2012-07-12 | 乱数発生回路、及び不揮性半導体装置 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2012156481A JP2014021530A (ja) | 2012-07-12 | 2012-07-12 | 乱数発生回路、及び不揮性半導体装置 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JP2014021530A true JP2014021530A (ja) | 2014-02-03 |
Family
ID=50196388
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2012156481A Pending JP2014021530A (ja) | 2012-07-12 | 2012-07-12 | 乱数発生回路、及び不揮性半導体装置 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP2014021530A (ja) |
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US9640238B2 (en) | 2014-05-21 | 2017-05-02 | Panasonic Intellectual Property Management Co., Ltd. | Data generating device and data generating method |
| JP2020013546A (ja) * | 2018-07-13 | 2020-01-23 | 力旺電子股▲ふん▼有限公司eMemory Technology Inc. | 短チャネル効果に基づく乱数ビット発生器 |
-
2012
- 2012-07-12 JP JP2012156481A patent/JP2014021530A/ja active Pending
Cited By (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US9640238B2 (en) | 2014-05-21 | 2017-05-02 | Panasonic Intellectual Property Management Co., Ltd. | Data generating device and data generating method |
| JP2020013546A (ja) * | 2018-07-13 | 2020-01-23 | 力旺電子股▲ふん▼有限公司eMemory Technology Inc. | 短チャネル効果に基づく乱数ビット発生器 |
| US11709656B2 (en) | 2018-07-13 | 2023-07-25 | Ememory Technology Inc. | Short channel effect based random bit generator |
| US11989533B2 (en) | 2018-07-13 | 2024-05-21 | Ememory Technology Inc. | Short channel effect based random bit generator |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US9064580B2 (en) | Nonvolatile semiconductor memory device and write-in method thereof | |
| KR102069864B1 (ko) | 반도체 메모리 장치 및 이의 동작 방법 | |
| JP4901348B2 (ja) | 半導体記憶装置およびその制御方法 | |
| KR101184814B1 (ko) | 불휘발성 메모리 장치 및 이의 프로그램 방법 | |
| TWI657441B (zh) | 半導體記憶裝置 | |
| JP5565948B2 (ja) | 半導体メモリ | |
| JP2008047273A (ja) | 半導体記憶装置およびその制御方法 | |
| JP5992983B2 (ja) | 不揮発性半導体記憶装置 | |
| JP2013125576A (ja) | 不揮発性半導体記憶装置 | |
| JP2014157650A (ja) | 半導体記憶装置 | |
| US9251902B2 (en) | Semiconductor storage device | |
| CN103426480A (zh) | 存储器件及其验证方法 | |
| KR100905717B1 (ko) | 플래시 메모리 장치에서의 e - fuse 데이터 독출 방법 | |
| JP6102146B2 (ja) | 半導体記憶装置 | |
| CN101071640B (zh) | 验证闪存器件的方法 | |
| CN113345503B (zh) | 半导体存储装置以及读出方法 | |
| JP2014021529A (ja) | 乱数発生回路、及び不揮性半導体装置 | |
| JP2014021530A (ja) | 乱数発生回路、及び不揮性半導体装置 | |
| JP5784788B2 (ja) | 不揮発性半導体記憶装置とその書き込み方法 | |
| KR102148569B1 (ko) | 반도체 장치 | |
| JP2010218623A (ja) | 不揮発性半導体記憶装置 | |
| JP2013218758A (ja) | 不揮発性半導体記憶装置 | |
| JP2013127827A (ja) | 不揮発性半導体記憶装置 | |
| JP5814961B2 (ja) | 不揮発性半導体記憶装置 | |
| JP5731624B1 (ja) | 半導体記憶装置 |