【解決手段】半導体記憶装置10は、複数のメモリセル66を含み、メモリセル66に保持されているデータを読み出す際にメモリセル66に印加する読出電圧、及び保持されているデータに応じてメモリセル66に流れる電流を比較する比較電流各々の値の適否の判定に用いる判定用データを格納する既知データ格納領域22を有するメモリセルアレイ20と、データを読み出す読出対象メモリセル66を表すアドレスに応じて、読出対象メモリセル66に読出電圧を印加させるデコーダ30と、保持されているデータに応じて読出対象メモリセル66に流れる電流と、比較電流とを比較した比較結果を出力する比較回路37を有するセンスアンプ36と、を備える。
複数のメモリセルを含み、メモリセルに保持されているデータを読み出す際にメモリセルに印加する読出電圧、及び保持されているデータに応じてメモリセルに流れる電流を比較する比較電流各々の値の適否の判定に用いる判定用データを格納する既知データ格納領域を有するメモリセルアレイと、
データを読み出す読出対象メモリセルを表すアドレスに応じて、前記読出対象メモリセルに読出電圧を印加させるデコーダと、
保持されているデータに応じて前記読出対象メモリセルに流れる電流と、比較電流とを比較した比較結果を出力する比較回路と、
を備えた半導体記憶装置。
前記判定用データは、論理値が異なる第1データ及び第2データを含み、前記第1データが保持されているメモリセルに流れる電流は、前記第2データが保持されているメモリセルに流れる電流よりも大きく、
前記比較電流生成回路は、前記読出対象メモリセルが前記第1データを保持するメモリセルの場合は、前記比較電流として前記調整値に基づいて増加させた第1の比較電流を前記比較回路に出力し、また、前記読出対象メモリセルが前記第2データを保持するメモリセルの場合は、前記比較電流として前記調整値に基づいて減少させた第2の比較電流を前記比較回路に出力し、
前記比較回路は、前記読出対象メモリセルが前記第1データを保持するメモリセルの場合は、前記第1の比較電流と前記読出対象メモリセルに流れる電流とを比較した第1の比較結果を出力し、また、前記読出対象メモリセルが前記第2データを保持するメモリセルの場合は、前記第2の比較電流と前記読出対象メモリセルに流れる電流とを比較した第2の比較結果を出力する、
請求項2に記載の半導体記憶装置。
前記第1の比較結果が、前記読出対象メモリセルに流れる電流が前記第1の比較電流以上であることを示し、かつ、前記第2の比較結果が、前記読出対象メモリセルに流れる電流が前記第2の比較電流よりも小さいことを示す場合、前記読出電圧、及び前記調整値により調整される前の比較電流が適切であると判定する制御回路をさらに備えた、
請求項3に記載の半導体記憶装置。
前記判定用データは、論理値が異なる第1データ及び第2データを含み、前記第1データが保持されているメモリセルに流れる電流は、前記第2データが保持されているメモリセルに流れる電流よりも大きく、
前記読出電圧生成回路は、前記読出対象メモリセルが前記第1データを保持するメモリセルの場合は、前記読出電圧として前記調整値に基づいて減少させた第1の読出電圧を前記デコーダに出力し、また、前記読出対象メモリセルが前記第2データを保持するメモリセルの場合は、前記読出電圧として前記調整値に基づいて増加させた第2の読出電圧を前記デコーダに出力し、
前記比較回路は、前記読出対象メモリセルが前記第1データを保持するメモリセルの場合は、前記読出対象メモリセルに流れる電流と比較電流とを比較した第1の比較結果を出力し、また、前記読出対象メモリセルが前記第2データを保持するメモリセルの場合は、前記読出対象メモリセルに流れる電流と比較電流とを比較した第2の比較結果を出力する、
請求項5に記載の半導体記憶装置。
前記第1の比較結果が、前記読出対象メモリセルに流れる電流が比較電流以上であることを示し、かつ、前記第2の比較結果が、前記読出対象メモリセルに流れる電流よりも小さいことを示す場合、前記比較電流、及び前記調整値により調整される前の読出電圧が適切であると判定する制御回路をさらに備えた、
請求項6に記載の半導体記憶装置。
複数のメモリセルを含み、メモリセルに保持されているデータを読み出す際にメモリセルに印加する読出電圧、及び保持されているデータに応じてメモリセルに流れる電流を比較する比較電流各々の値の適否の判定に用いる判定用データを格納する既知データ格納領域を有するメモリセルアレイと、データを読み出すメモリセルを表すアドレスに応じて、当該メモリセルに読出電圧を印加させるデコーダと、保持されているデータに応じてメモリセルに流れる電流と、比較電流とを比較した比較結果を出力する比較回路と、を備えた半導体記憶装置におけるデータ読出方法であって、
前記判定用データを読み出した際の前記比較結果に基づいて、前記適否の判定を行い、
適切であると判定した前記読出電圧を前記デコーダが印加する読出電圧として設定し、
適切であると判定した前記比較電流を前記比較回路が比較する比較電流として設定する、
処理を含むデータ読出方法。
【発明を実施するための形態】
【0013】
以下では、図面を参照して、各実施形態を詳細に説明する。
【0014】
[第1実施形態]
まず、本実施形態の半導体記憶装置の構成について説明する。
図1には、本実施形態の半導体記憶装置10の一例の概略を表す構成図を示す。
【0015】
図1に示すように、本実施形態の半導体記憶装置10は、不揮発性のメモリセルアレイ20、ロウデコーダ30、カラムデコーダ32、アドレスレジスタ34、センスアンプ36、読出電圧生成回路38、比較電流生成回路40、読出電圧値設定データレジスタ42、比較電流値設定データレジスタ44、比較電流調整回路46、比較電流調整値設定データレジスタ48、コマンド回路50、及び制御回路52を備える。
【0016】
本実施形態においてデータを記憶(保持)するメモリセルアレイ20は、不揮発性のメモリであり、
図2に示した例のように、保持するデータの書き換えが電気的に可能な複数のメモリセル66が2次元状(マトリクス状)に配置されている。
図2に示すように、本実施形態のメモリセルアレイ20は、浮遊ゲートを有するMOS(Metal-Oxide-Semiconductor)トランジスタをメモリセル66として用いている。なお、本実施形態では、保持されているデータを読み出す対象のメモリセル66を読出対象メモリセル66ともいう。
【0017】
図2に示すように、メモリセルアレイ20には、セルバイアス線60と、複数本のワード線62(
図2では62_1、62_2)と、複数本のビット線64(
図2では64_1、64_2、64_3)と、が設けられている。ワード線62及びビット線64は、メモリセル66の配列に応じて配置され、
図2に示した例では、メモリセル66が配列された行毎にワード線62が設けられ、列毎にビット線64が設けられている。なお、
図2に示したメモリセルアレイ20では、6つのメモリセル66が2行×3列に設けられ、2本のワード線62(62_1、62_2)と、3本のビット線64(64_1、64_2、64_3)が設けられた場合を例示したが、メモリセル66の数及びその配置等は、これに限定されるものではない。
【0018】
セルバイアス線60及び各ワード線62は、ロウデコーダ30に接続され、各ビット線64は、カラムデコーダ32に接続されている。また、セルバイアス線60には、メモリセル66のドレインまたはソースが接続されている。また、ワード線62には、メモリセル66のゲートが接続されている。また、ビット線64には、メモリセル66のソースまたはドレインが接続されている。
【0019】
図1に示すように、本実施形態のメモリセルアレイ20は、初期設定データ格納領域24を有する。初期設定データ格納領域24は、メモリセルアレイ20を動作させるための初期設定データが格納される複数のメモリセル66を含む領域である。当該初期設定データは特に限定されず、例えば、バッドセクタ(不良セクタ)に関する情報及び各種の初期値等が挙げられる。なお、一例として、本実施形態における初期設定データは、既知データ格納領域22及び初期設定データ格納領域24以外の領域のメモリセル66からデータを読み出す際に用いる読出電圧及び比較電流値(以下、「通常読出電圧」及び「通常比較電流値」という)を含んでいる。
【0020】
また、
図1に示すように、本実施形態のメモリセルアレイ20は、既知データ格納領域22を有する。既知データ格納領域22は、既知のデータであって、読出電圧及び比較電流値の適否の判定に用いる予め定められた判定用データ(以下、単に「判定用データ」という)が格納される複数のメモリセル66を含む領域である。既知データ格納領域22には、例えば、初期設定データ格納領域24に格納されている初期設定データを読み出すための読出電圧及び比較電流値などの条件を検出するための判定用データが格納されている。既知データ格納領域22に格納される判定用データは、論理値が異なる複数のデータであり、本実施形態の半導体記憶装置10では、判定用データの一例として、論理値が「1」のデータ及び論理値が「0」のデータを用いている。本実施形態の論理値が「1」の判定用データが、本開示の第1データの一例であり、本実施形態の論理値が「0」の判定用データが、本開示の第2データの一例である。
【0021】
なお、本実施形態の半導体記憶装置10では、通常のデータ(判定用データ及び初期設定データと異なるデータ)は、既知データ格納領域22及び初期設定データ格納領域24以外の領域のメモリセル66に保持される。また、本実施形態の半導体記憶装置10では、既知データ格納領域22及び初期設定データ格納領域24に格納されているデータの書き換え及び消去は可能であるが、通常の動作を行う場合では、既知データ格納領域22及び初期設定データ格納領域24に対するデータの書き換え及び消去は行われない。
【0022】
制御回路52は、メモリセルアレイ20へのデータの書き込み、読み出し、及び消去を行うために半導体記憶装置10の全体を制御する機能を有している。また、制御回路52は、初期設定データ格納領域24に格納されている初期設定データを読み出す際に用いる読出電圧及び比較電流の適否を判定する機能を有している。さらに、本実施形態の制御回路52は、半導体記憶装置10に電源が投入された際に、初期設定データ格納領域24に格納されている初期データを、適切であると判定した読出電圧及び比較電流値を用いて読み出して、初期設定を行う機能を有している。
【0023】
このような制御回路52としては、例えば、MCU(Micro Control Unit)やCPU(Central Processing Unit)等を用いることができるが、特に限定されるものではない。
【0024】
図1に示すように、制御回路52には、アドレスレジスタ34、センスアンプ36、読出電圧値設定データレジスタ42、比較電流値設定データレジスタ44、比較電流調整回路46、比較電流調整値設定データレジスタ48、コマンド回路50、及びパワーオンリセット回路56が接続されている。
【0025】
制御回路52は、設定順序に、読出電圧値設定データ、比較電流値設定データ、及び比較電流調整値設定データの組合せを対応付けて定義した設定値テーブル54(
図4参照、詳細後述)から読み取った各設定データを、読出電圧値設定データレジスタ42、比較電流値設定データレジスタ44、及び比較電流調整値設定データレジスタ48に出力する。なお、本実施形態では、一例として、設定値テーブル54は図示を省略した記憶部に記憶されており、当該記憶部が制御回路52に接続されている。なお、設定値テーブル54を記憶する記憶部は、半導体記憶装置10の内部に設けられていてもよいし、外部に設けられていてもよい。
【0026】
読出電圧値設定データレジスタ42には、制御回路52から出力された読出電圧値設定データが設定される。読出電圧値設定データレジスタ42は、設定された読出電圧値設定データを読出電圧生成回路38に出力し、読出電圧生成回路38は、入力された読出電圧値設定データに応じて読出電圧を生成してロウデコーダ30に出力する。
【0027】
アドレスレジスタ34には、制御回路52から出力されたメモリセルアレイ20のアドレスを表す信号が設定される。アドレスレジスタ34は、設定されたアドレスをロウデコーダ30及びカラムデコーダ32に出力する。
【0028】
ロウデコーダ30は、アドレスレジスタ34から入力されたアドレスに応じてセルバイアス線60及びワード線62を選択し、選択したセルバイアス線60及びワード線62に、読出電圧生成回路38から入力された読出電圧を印加する。
【0029】
カラムデコーダ32は、アドレスレジスタ34から入力されたアドレスに応じてビット線64を選択し、選択したビット線64をセンスアンプ36に接続する。
【0030】
コマンド回路50には、制御回路52から出力された読出コマンドが入力される。コマンド回路50は、読出コマンドに基づいて、センスアンプ36をアクティブ状態にさせる。
【0031】
比較電流値設定データレジスタ44には、制御回路52から出力された比較電流値設定データが設定される。比較電流値設定データレジスタ44は、設定された比較電流値設定データを比較電流生成回路40に出力する。
【0032】
比較電流調整値設定データレジスタ48には、制御回路52から出力された比較電流調整値設定データが設定される。比較電流調整値設定データレジスタ48は、設定された比較電流調整値設定データを比較電流調整回路46に出力する。比較電流調整回路46は、制御回路52から入力された調整指示信号に応じて、比較電流調整値設定データレジスタ48から入力された比較電流調整値設定データに応じた比較電流の調整値を決定し、決定した調整値を比較電流生成回路40に出力する。
【0033】
比較電流生成回路40は、比較電流値設定データレジスタ44から入力された比較電流値設定データに応じた比較電流を生成し、また、比較電流調整回路46から比較電流の調整値が入力された場合は、入力された調整値に応じて調整した比較連電流をセンスアンプ36に出力する。
【0034】
センスアンプ36が、コマンド回路50によりアクティブにされることにより、セルバイアス線60から読出対象メモリセル66を介して、カラムデコーダ32により選択されたビット線64を経由した電流経路が形成される。
図1に示すように、本実施形態のセンスアンプ36は、比較回路37を含む。センスアンプ36は、選択されたビット線64に流れる電流と、比較電流生成回路40から出力された比較電流とを比較回路37により比較した比較結果に基づいて、既知データ格納領域22に格納されている判定用データの論理値が「1」または「0」のいずれであるかを判定し、判定結果を制御回路52に出力する。
【0035】
本実施形態の半導体記憶装置10では、半導体記憶装置10に電源が投入されると、
図3に例示した初期設定を行うシーケンス(初期設定シーケンス)が実行される。
図3は、本実施形態の初期設定シーケンスの流れの一例を表したフローチャートである。
【0036】
まず、ステップS100で半導体記憶装置10は、パワーオンリセット回路56によりパワーオンリセットを行う。パワーオンリセット回路56は、半導体記憶装置10の外部に設けられた外部電源の立ち上がりを検出し、制御回路52をリセット状態にさせるためのリセット信号を制御回路52に出力する。制御回路52は当該リセット信号に応じて、リセット状態で待機する。その後、パワーオンリセット回路56は、外部電源から供給される電圧が既定の高さ(大きさ)に達すると、リセット状態を解除させるためのリセット信号を制御回路52に出力する。これにより、制御回路52はリセット状態を解除する。
【0037】
次のステップS102で半導体記憶装置10の制御回路52は、設定順序を表す変数nを「1」とする(n=1)。
【0038】
次のステップS104で制御回路52は、設定順序がn番目の各設定データを設定値テーブル54から読み出して各データレジスタにラッチ(設定)させる。また、本実施形態の制御回路52は、比較電流の調整を行わせるための調整指示信号を比較電流調整回路46に出力する。
【0039】
本実施形態の設定値テーブル54は、
図4に例示したように、設定順序(n)に、読出電圧値設定データ、比較電流値設定データ、及び比較電流調整値設定データの組合せを対応付けて定義したものである。なお、設定値テーブル54に定義する上記組合せの数は特に限定されない。また、設定値テーブル54に定義される読出電圧値設定データ、比較電流値設定データ、及び比較電流調整値設定データの組合せは、異なる組合せ同士において、これら3種の設定データのうちの何れかの値が異なっておれば、同一の値が含まれていてもよい。例えば、
図4に例示した設定値テーブル54における、設定順序が1(n=1)〜設定順序が3(n=3)の3つの組合せでは、読出電圧値設定データVr_1〜Vr_3が同一の値であり、比較電流値設定データIc_1〜Ic_2が各々異なる値であり、比較電流調整値設定データが同一の値であってもよい。
【0040】
例えば、初期シーケンスを開始して最初にステップS104の処理を行う場合、すなわち、n=1の場合、制御回路52は、設定値テーブル54から設定順序が1の読出電圧値設定データVr_1を読み出して、読出電圧値設定データレジスタ42に設定(ラッチ)させる。
【0041】
これにより、読出電圧生成回路38は、読出電圧値設定データレジスタ42に設定された読出電圧値設定データに応じた読出電圧を生成してロウデコーダ30に出力する。
【0042】
また、制御回路52は、設定値テーブル54から設定順序が1の比較電流値設定データIc_1を読み出して、比較電流値設定データレジスタ44に設定(ラッチ)させる。さらに、制御回路52は、設定値テーブル54から設定順序が1の比較電流調整値設定データIca_1を読み出して、比較電流調整値設定データレジスタ48に設定(ラッチ)させる。
【0043】
これにより、比較電流調整回路46は、調整指示信号に基づいて、比較電流調整値設定データレジスタ48に設定された比較電流調整値設定データに応じた調整値を決定し、比較電流生成回路40に出力する。一方、比較電流生成回路40は、比較電流値設定データレジスタ44に設定された比較電流値設定データに応じた比較電流を、比較電流調整回路46で決定された調整値により調整(増減)し、調整した比較電流を生成してセンスアンプ36に出力する。
【0044】
具体的には、本実施形態の比較電流調整回路46は、比較電流値設定データに応じた比較電流Icを調整値により増加(電流値を大きく)することにより、比較電流Ic1を生成する。比較電流Ic1は、論理値が「1」の判定用データを保持するメモリセル66に流れる電流との比較に用いられる(詳細後述)。また、本実施形態の比較電流調整回路46は、比較電流値設定データに応じた比較電流Icを調整値により減少(電流値を小さく)することにより、比較電流Ic0を生成する。比較電流Ic0は、論理値が「0」の判定用データを保持するメモリセル66に流れる電流との比較に用いられる(詳細後述)。本実施形態の比較電流Ic1が本開示の第1の比較電流の一例であり、本実施形態の比較電流Ic0が本開示の第2の比較電流の一例である。
【0045】
次のステップS106で、制御回路52は、メモリセルアレイ20の既知データ格納領域22から判定用データを読み出させる。
【0046】
ここで、本実施形態の半導体記憶装置10において、センスアンプ36が読出対象メモリセル66に保持されているデータの論理値を判定する判定方法について
図5を参照して説明する。
図5にはメモリセル66のId−Vgs特性と比較電流Icとの関係の一例を示す。なお、メモリセル66のドレインとソースとの間には電位差があるものとする。本実施形態では、メモリセル66のドレインに流れる電流を電流Idと表記し、メモリセル66のゲートとソースとの間の電位差であり、読出電圧に対応する電圧を電圧Vgsと表記する。メモリセル66は、電気的操作で閾値を変化することができ、消費電力無しに状態を保つことができる特性を持つ。本実施形態の半導体記憶装置10では、論理値が「1」のデータを保持するメモリセル66の閾値Vt1を、論理値が「0」のデータを保持するメモリセル66の閾値Vt0よりも低くしている。
【0047】
図5に示すように、メモリセル66の電圧Vgsが閾値Vt1よりも高くなると、論理値が「1」のデータを保持するメモリセル66に流れる電流Id1は、論理値が「0」のデータを保持するメモリセル66に流れる電流Id0より多くなる。ここで、例えば、電流Id1と電流Id0との中間値に比較電流Icを設定した場合、センスアンプ36は、電流Idが比較電流Ic以上の場合は読み出したデータの論理値を「1」と判定し、電流Idが比較電流Icより小さい場合は読み出したデータの論理値を「0」と判定することができる。
【0048】
次に、比較電流調整回路46から出力された調整値により比較電流Icを調整した場合の、センスアンプ36における論理値の判定方法について
図6〜10を参照して説明する。本実施形態の半導体記憶装置10は、論理値が「1」の判定用データを読み出す際は、比較電流Icを調整値により電流値が大きくなる側に追い込む調整を行った比較電流Ic1(Ic<Ic1)を用いる。また、論理値が「0」の判定用データを読み出す際は、比較電流Icを調整値により電流値が小さくなる側に追い込む調整を行った比較電流Ic0(Ic>Ic0)を用いる。
【0049】
図6には、比較電流Ic及び読出電圧Vrが適切な場合における、メモリセル66のId−Vgs特性と比較電流Ic、Ic1、Ic0との関係の一例を示す。
図6に示すように、読出電圧Vrを印加した場合、論理値が「1」のデータを保持するメモリセル66に流れる電流Id1は、比較電流Ic1以上であるため、センスアンプ36は、読み出したデータの論理値が「1」であると判定する。また、論理値が「0」のデータを保持するメモリセル66に流れる電流Id0は、比較電流Ic0よりも小さいため、センスアンプ36は、読み出したデータの論理値が「0」であると判定する。このように、
図6に示したように、比較電流Ic及び読出電圧Vrが適切である場合、メモリセル66に保持されているデータの実際の論理値と、読み出されたデータの論理値とが一致する。
【0050】
一方、
図7には、比較電流Icが適切な値よりも大きい場合における、メモリセル66のId−Vgs特性と比較電流Ic、Ic1、Ic0との関係の一例を示す。
図7に示すように、読出電圧Vrを印加した場合、論理値が「1」のデータを保持するメモリセル66に流れる電流Id1が、比較電流Ic1よりも小さいため、センスアンプ36は、読み出したデータの論理値が「0」であると判定する。また、論理値が「0」のデータを保持するメモリセル66に流れる電流Id0は、比較電流Ic0よりも小さいため、センスアンプ36は、読み出したデータの論理値が「0」であると判定する。このように、
図7に例示した場合では、メモリセル66に保持されているデータの実際の論理値(「1」)と読み出されたデータの論理値とが一致しなくなる。
【0051】
また、
図8には、比較電流Icが適切な値よりも小さい場合における、メモリセル66のId−Vgs特性と比較電流Ic、Ic1、Ic0との関係の一例を示す。
図8に示すように、読出電圧Vrを印加した場合、論理値が「1」のデータを保持するメモリセル66に流れる電流Id1は、比較電流Ic1以上であるため、センスアンプ36は、読み出したデータの論理値が「1」であると判定する。また、論理値が「0」のデータを保持するメモリセル66に流れる電流Id0が、比較電流Ic0以上であるため、センスアンプ36は、読み出したデータの論理値が「1」であると判定する。このように、
図8に例示した場合では、メモリセル66に保持されているデータの実際の論理値(「0」)と読み出されたデータの論理値とが一致しなくなる。
【0052】
また、
図9には、読出電圧Vrが適切な値よりも小さい場合における、メモリセル66のId−Vgs特性と比較電流Ic、Ic1、Ic0との関係の一例を示す。
図9に示すように、読出電圧Vrを印加した場合、論理値が「1」のデータを保持するメモリセル66に流れる電流Id1は、比較電流Ic1よりも小さいため、センスアンプ36は、読み出したデータの論理値が「0」であると判定する。また、論理値が「0」のデータを保持するメモリセル66に流れる電流Id0が、比較電流Ic0よりも小さいため、センスアンプ36は、読み出したデータの論理値が「0」であると判定する。このように、
図9に例示した場合では、メモリセル66に保持されているデータの実際の論理値(「1」)と読み出されたデータの論理値とが一致しなくなる。
【0053】
さらに、
図10には、読出電圧Vrが適切な値よりも大きい場合における、メモリセル66のId−Vgs特性と比較電流Ic、Ic1、Ic0との関係の一例を示す。
図10に示すように、読出電圧Vrを印加した場合、論理値が「1」のデータを保持するメモリセル66に流れる電流Id1は、比較電流Ic1以上であるため、センスアンプ36は、読み出したデータの論理値が「1」であると判定する。また、論理値が「0」のデータを保持するメモリセル66に流れる電流Id0が、比較電流Ic0以上であるため、センスアンプ36は、読み出したデータの論理値が「1」であると判定する。このように、
図10に例示した場合では、メモリセル66に保持されているデータの実際の論理値(「0」)と読み出されたデータの論理値とが一致しなくなる。
【0054】
図6〜
図10を参照して説明したように、本実施形態の半導体記憶装置10によれば、比較電流調整回路46から出力された調整値により比較電流Icを調整することにより、メモリセル66に保持されているデータの実際の論理値と、センスアンプ36が判定した論理値(読み出されたデータの論理値)とが一致しない場合は、比較電流Ic及び読出電圧Vrの少なくとも一方が適切ではないと判定することができる。
【0055】
なお、調整値が大きくなるほど、メモリセル66に保持されているデータの実際の論理値と、センスアンプ36が判定した論理値(読み出されたデータの論理値)とが一致しにくくなる。そのため、調整値が大きいほど、適否の判定が厳しくなる。当該調整値は、例えば、メモリセルアレイ20の仕様、読出電圧Vrの誤差の許容範囲、及び比較電流Icの誤差の許容範囲等に応じて定めればよい。
【0056】
本ステップS106では、具体的には、論理値が「1」の判定用データを読み出す場合、制御回路52は、論理値が「1」の判定用データが格納されたメモリセル66のアドレスを表す信号をアドレスレジスタ34に出力し、また、読出コマンドをコマンド回路50に出力する。ロウデコーダ30は、アドレスレジスタ34のアドレスに応じたセルバイアス線60及びワード線62に、読出電圧Vrを印加させる。カラムデコーダ32は、アドレスレジスタ34のアドレスに応じたビット線64を選択して、センスアンプ36に接続する。センスアンプ36の比較回路37は、比較電流Ic1とメモリセル66に流れる電流Id1とを比較する。センスアンプ36は、メモリセル66に流れる電流Id1が比較電流Ic1以上である場合、読み出されたデータの論理値が「1」であると判定し、電流Id1が比較電流Ic1よりも小さい場合、読み出されたデータの論理値が「0」であると判定する。なお、本実施形態における、この場合の比較回路37の比較結果が、本開示の第1の比較結果の一例である。
【0057】
また、論理値が「0」の判定用データを読み出す場合、制御回路52は、論理値が「0」の判定用データが格納されたメモリセル66のアドレスを表す信号をアドレスレジスタ34に出力し、また、読出コマンドをコマンド回路50に出力する。ロウデコーダ30は、アドレスレジスタ34のアドレスに応じたセルバイアス線60及びワード線62に、読出電圧Vrを印加させる。カラムデコーダ32は、アドレスレジスタ34のアドレスに応じたビット線64を選択して、センスアンプ36に接続する。センスアンプ36の比較回路37は、比較電流Ic0とメモリセル66に流れる電流Id0とを比較する。センスアンプ36は、メモリセル66に流れる電流Id0が比較電流Ic0よりも小さい場合、読み出されたデータの論理値が「0」であると判定し、電流Id0が比較電流Ic0以上である場合、読み出されたデータの論理値が「1」であると判定する。なお、本実施形態における、この場合の比較回路37の比較結果が、本開示の第2の比較結果の一例である。
【0058】
次のステップS108で制御回路52は、読み出したデータの論理値(センスアンプ36が判定した論理値)と、読み出したメモリセル66に保持されている判定用データの実際の論理値とが一致するか否かを判定する。
【0059】
論理値が「1」の判定用データ及び論理値が「0」の判定用データの少なくとも一方において、センスアンプ36が判定した論理値と、読み出したメモリセル66に保持されている判定用データの実際の論理値とが一致しない場合、ステップS108の判定が否定判定になり、ステップS110の処理へ移行する。
【0060】
ステップS110で制御回路52は、設定順序を表す変数nに「1」を加算(n=n+1)した後、ステップS104に戻る。これにより、設定値テーブル54から次の設定順序に対応付けられている読出電圧値設定データ、比較電流値設定データ、及び比較電流調整値設定データを用いて、ステップS106及びステップS108の処理を繰り返す。
【0061】
一方、論理値が「1」の判定用データ及び論理値が「0」の判定用データの両方において、センスアンプ36が判定した論理値と、読み出したメモリセル66に保持されている判定用データの実際の論理値とが一致する場合、ステップS108の判定が肯定判定になり、ステップS112の処理へ移行する。
【0062】
ステップS112で制御回路52は、ステップS108においてセンスアンプ36が判定した論理値と、読み出したメモリセル66に保持されている判定用データの実際の論理値とが一致した場合に使用した、読出電圧及び比較電流値を用いて、初期設定データ格納領域24に格納されている初期設定データを読み出させる。本実施形態では、制御回路52は、初期設定データ格納領域24のアドレスを表す信号をアドレスレジスタ34に出力する。これにより、読出電圧生成回路38から出力された読出電圧Vrが、初期設定データ格納領域24のメモリセル66に対応するセルバイアス線60及びワード線62にロウデコーダ30から印加される。
【0063】
また、制御回路52は、比較電流調整回路46に、比較電流Icの調整を停止させるための調整指示信号を出力する。これにより、センスアンプ36は、初期設定データ格納領域24のメモリセル66に流れる電流Idと、比較電流Icとを比較回路37が比較した比較結果に基づいて、論理値を判定し、判定結果を制御回路52に出力する。
【0064】
本実施形態の半導体記憶装置10では、このようにして初期設定データ格納領域24に格納されている初期設定データを読み出すことにより、初期設定データに含まれる通常読出電圧の値及び通常比較電流の値が読み出される。
【0065】
次のステップS114で制御回路52は、読み出した通常読出電圧の値を読出電圧値設定データレジスタ42にラッチ(設定)し、また、通常比較電流の値を比較電流生成回路40にラッチ(設定)した後、本初期設定シーケンスを終了する。
【0066】
このように初期設定シーケンスを実行することにより、本実施形態の半導体記憶装置10では、上記初期設定シーケンスの実行後は、通常読出電圧及び通常比較電流を用いてメモリセルアレイ20のメモリセル66に保持されているデータが読み出されるようになる。
【0067】
このように本実施形態の半導体記憶装置10は、初期シーケンスにおいて、既知データ格納領域22に格納された判定用データの適否の判定を行う。判定用データの論理値が「1」の場合、比較電流生成回路40は、調整値に基づいて比較電流Icを大きくする調整を行った比較電流Ic1を生成する。センスアンプ36の比較回路37は、論理値が「1」の判定用データが保持されたメモリセル66に流れる電流Id1と、比較電流Ic1とを比較する。センスアンプ36は、電流Id1が比較電流Ic1以上である場合、読み出したデータの論理値が「1」であると判定し、電流Id1が比較電流Ic1よりも小さい場合、読み出したデータの論理値が「0」であると判定する。
【0068】
また、判定用データの論理値が「0」の場合、比較電流生成回路40は、調整値に基づいて比較電流Icを小さくする調整を行った比較電流Ic0を生成する。センスアンプ36の比較回路37は、論理値が「0」の判定用データが保持されたメモリセル66に流れる電流Id0と、比較電流Ic0とを比較する。センスアンプ36は、電流Id0が比較電流Ic0よりも小さい場合、読み出したデータの論理値が「0」であると判定し、電流Id0が比較電流Ic0以上である場合、読み出したデータの論理値が「1」であると判定する。
【0069】
制御回路52は、判定用データの論理値が「1」の場合及び「0」の場合の両方共に、判定用データの実際の論理値と、センスアンプ36が判定した読み出したデータの論理値とが一致する場合、比較電流Ic及び読出電圧Vrが適切であると判定する。適切であると判定した比較電流Ic及び読出電圧Vrを用いて、初期設定データ格納領域に格納されているデータを読出し、各種初期設定を行う。
【0070】
[第2実施形態]
上記第1実施形態では、比較電流Icを調整値により調整した比較電流Ic1及び比較電流Ic0を用いて、既知データ格納領域22に格納された判定用データを読み出すことにより、読出電圧Vr及び比較電流Icの適否の判定を行った。本実施形態では、比較電流Icを調整するのに代えて、読出電圧Vrを調整値により調整することにより、読出電圧Vr及び比較電流Icの適否の判定を行う場合について説明する。
【0071】
図11には、本実施形態の半導体記憶装置10の一例の概略を表す構成図を示す。
図11に示すように本実施形態の半導体記憶装置10は、第1実施形態の半導体記憶装置10(
図1参照)が備えていた比較電流調整回路46及び比較電流調整値設定データレジスタ48に代えて、読出電圧調整回路70及び読出電圧調整値設定データレジスタ72を備えている点で異なっている。
【0072】
読出電圧調整回路70及び読出電圧調整値設定データレジスタ72は制御回路52に接続されている。読出電圧調整値設定データレジスタ72には、制御回路52から出力された読出電圧調整値設定データが設定される。読出電圧調整値設定データレジスタ72は、設定された読出電圧調整値設定データを読出電圧調整回路70に出力する。読出電圧調整回路70は、制御回路52から入力された調整指示信号に応じて、読出電圧調整値設定データレジスタ72から入力された読出電圧調整値設定データに応じた読出電圧の調整値を決定し、決定した調整値を読出電圧生成回路38に出力する。
【0073】
本実施形態の読出電圧生成回路38は、読出電圧値設定データレジスタ42から入力された読出電圧値設定データに応じた読出電圧を生成し、また、読出電圧調整回路70から読出電圧の調整値が入力された場合は、入力された調整値に応じて調整した読出電圧をロウデコーダ30に出力する。
【0074】
このように、本実施形態の半導体記憶装置10では、読出電圧調整値設定データレジスタ72に読出電圧値設定データを制御回路52が設定するため、
図12に示すように、当該設定に用いる設定値テーブル54が第1実施形態の設定値テーブル54(
図4参照)と異なっている。本実施形態の設定値テーブル54は、
図12に例示したように、設定順序(n)に、読出電圧値設定データ、比較電流値設定データ、及び読出電圧調整値設定データの組合せを対応付けて定義したものである。
【0075】
次に、
図13〜17を参照して、本実施形態の半導体記憶装置10において、読出電圧調整回路70から出力された調整値により読出電圧Vrを調整した場合の、センスアンプ36における論理値の判定方法について説明する。本実施形態の半導体記憶装置10は、論理値が「1」の判定用データを読み出す際は、読出電圧Vrを調整値により電圧値が小さくなる側に追い込む調整を行った読出電圧Vr1(Vr1<Vr)を用いる。また、論理値が「0」の判定用データを読み出す際は、読出電圧Vrを調整値により電圧値が大きくなる側に追い込む調整を行った読出電圧Vr0(Vr0>Vr)を用いる。
【0076】
図13には、比較電流Ic及び読出電圧Vrが適切な場合における、メモリセル66のId−Vgs特性と読出電圧Vr、Vr1、Vr0との関係の一例を示す。
図13に示すように、読出電圧Vr1を印加した場合、論理値が「1」のデータを保持するメモリセル66に流れる電流Id1は、比較電流Ic以上であるため、センスアンプ36は、読み出したデータの論理値が「1」であると判定する。また、読出電圧Vr0を印加した場合、論理値が「0」のデータを保持するメモリセル66に流れる電流Id0は、比較電流Icよりも小さいため、センスアンプ36は、読み出したデータの論理値が「0」であると判定する。このように、
図13に示したように、比較電流Ic及び読出電圧Vrが適切である場合、メモリセル66に保持されているデータの実際の論理値と、読み出されたデータの論理値とが一致する。
【0077】
一方、
図14には、読出電圧Vrが適切な値よりも小さい場合における、メモリセル66のId−Vgs特性と読出電圧Vr、Vr1、Vr0との関係の一例を示す。
図14に示すように、読出電圧Vr1を印加した場合、論理値が「1」のデータを保持するメモリセル66に流れる電流Id1が、比較電流Icよりも小さいため、センスアンプ36は、読み出したデータの論理値が「0」であると判定する。また、読出電圧Vr0を印加した場合、論理値が「0」のデータを保持するメモリセル66に流れる電流Id0は、比較電流Icよりも小さいため、センスアンプ36は、読み出したデータの論理値が「0」であると判定する。このように、
図14に例示した場合では、メモリセル66に保持されているデータの実際の論理値(「1」)と読み出されたデータの論理値とが一致しなくなる。
【0078】
また、
図15には、読出電圧Vrが適切な値よりも大きい場合における、メモリセル66のId−Vgs特性と読出電圧Vr、Vr1、Vr0との関係の一例を示す。
図15に示すように、読出電圧Vr1を印加した場合、論理値が「1」のデータを保持するメモリセル66に流れる電流Id1は、比較電流Ic以上であるため、センスアンプ36は、読み出したデータの論理値が「1」であると判定する。また、読出電圧Vr0を印加した場合、論理値が「0」のデータを保持するメモリセル66に流れる電流Id0が、比較電流Ic以上であるため、センスアンプ36は、読み出したデータの論理値が「1」であると判定する。このように、
図15に例示した場合では、メモリセル66に保持されているデータの実際の論理値(「0」)と読み出されたデータの論理値とが一致しなくなる。
【0079】
また、
図16には、比較電流Icが適切な値よりも大きい場合における、メモリセル66のId−Vgs特性と読出電圧Vr、Vr1、Vr0との関係の一例を示す。
図16に示すように、読出電圧Vr1を印加した場合、論理値が「1」のデータを保持するメモリセル66に流れる電流Id1は、比較電流Icよりも小さいため、センスアンプ36は、読み出したデータの論理値が「0」であると判定する。また、読出電圧Vr0を印加した場合、論理値が「0」のデータを保持するメモリセル66に流れる電流Id0が、比較電流Icよりも小さいため、センスアンプ36は、読み出したデータの論理値が「0」であると判定する。このように、
図16に例示した場合では、メモリセル66に保持されているデータの実際の論理値(「1」)と読み出されたデータの論理値とが一致しなくなる。
【0080】
さらに、
図17には、比較電流Icが適切な値よりも小さい場合における、メモリセル66のId−Vgs特性と読出電圧Vr、Vr1、Vr0との関係の一例を示す。
図17に示すように、読出電圧Vr1を印加した場合、論理値が「1」のデータを保持するメモリセル66に流れる電流Id1は、比較電流Ic以上であるため、センスアンプ36は、読み出したデータの論理値が「1」であると判定する。また、読出電圧Vr0を印加した場合、論理値が「0」のデータを保持するメモリセル66に流れる電流Id0が、比較電流Ic以上であるため、センスアンプ36は、読み出したデータの論理値が「1」であると判定する。このように、
図17に例示した場合では、メモリセル66に保持されているデータの実際の論理値(「0」)と読み出されたデータの論理値とが一致しなくなる。
【0081】
図13〜
図17を参照して説明したように、本実施形態の半導体記憶装置10によれば、読出電圧調整回路70から出力された調整値により読出電圧Vrを調整することにより、メモリセル66に保持されているデータの実際の論理値と、センスアンプ36が判定した論理値(読み出されたデータの論理値)とが一致しない場合は、比較電流Ic及び読出電圧Vrの少なくとも一方が適切ではないと判定することができる。
【0082】
なお、第1実施形態と同様に、調整値が大きくなるほど、メモリセル66に保持されているデータの実際の論理値と、センスアンプ36が判定した論理値(読み出されたデータの論理値)とが一致しにくくなる。そのため、本実施形態においても調整値が大きいほど、適否の判定が厳しくなる。当該調整値は、例えば、メモリセルアレイ20の仕様、読出電圧Vrの誤差の許容範囲、及び比較電流Icの誤差の許容範囲等に応じて定めればよい。
【0083】
次に、本実施形態の半導体記憶装置10において実行される初期設定シーケンスについて説明する。初期設定シーケンスの流れは、第1実施形態における初期設定シーケンスの流れ(
図3参照)と同様であるが、ステップS104及びS106の各処理における動作の一部が第1実施形態と異なっているため、これら各ステップにおける第1実施形態の半導体記憶装置10と異なる動作について説明する。
【0084】
ステップS104で制御回路52は、設定順序がn番目の各設定データを設定値テーブル54から読み出して各データレジスタにラッチ(設定)させる際に、本実施形態では、読出電圧調整値設定データを読出電圧調整値設定データレジスタ72にラッチさせる。また、本実施形態の制御回路52は、読出電圧の調整を行わせるための調整指示信号を読出電圧調整回路70に出力する。
【0085】
これにより、読出電圧調整回路70は、調整指示信号に基づいて、読出電圧調整値設定データレジスタ72に設定された読出電圧調整値設定データに応じた調整値を決定し、読出電圧生成回路38に出力する。一方、読出電圧生成回路38は、読出電圧値設定データレジスタ42に設定された読出電圧値設定データに応じた読出電圧を、読出電圧調整回路70で決定された調整値により調整(増減)し、調整した読出電圧を生成してロウデコーダ30に出力する。
【0086】
具体的には、本実施形態の読出電圧生成回路38は、読出電圧値設定データに応じた読出電圧Vrを調整値により減少(電圧値を小さく)することにより、読出電圧Vr1を生成する。上述したように、読出電圧Vr1は、論理値が「1」の判定用データを保持するメモリセル66に流れる電流との比較に用いられる。また、本実施形態の読出電圧生成回路38は、読出電圧値設定データに応じた読出電圧Vcを調整値により増加(電圧値を大きく)することにより、読出電圧Vr0を生成する。上述したように、読出電圧Vr0は、論理値が「0」の判定用データを保持するメモリセル66に流れる電流との比較に用いられる。本実施形態の読出電圧Vr1が本開示の第1の読出電圧の一例であり、本実施形態の読出電圧Vr0が本開示の第2の読出電圧の一例である。
【0087】
また、ステップS106で制御回路52は、メモリセルアレイ20の既知データ格納領域22から判定用データを読み出させるが、本実施形態では、論理値が「1」の判定用データを読み出す場合、ロウデコーダ30が読出電圧Vr1を印加し、センスアンプ36の比較回路37は、比較電流Icとメモリセル66に流れる電流Id1とを比較する。また、論理値が「0」の判定用データを読み出す場合、ロウデコーダ30が読出電圧Vr0を印加し、センスアンプ36の比較回路37は、比較電流Icとメモリセル66に流れる電流Id0とを比較する。
【0088】
このように本実施形態の半導体記憶装置10は、初期シーケンスにおいて、既知データ格納領域22に格納された判定用データの適否の判定を行う。判定用データの論理値が「1」の場合、読出電圧生成回路38は、調整値に基づいて読出電圧Vrを小さくする調整を行った読出電圧Vr1を生成する。センスアンプ36の比較回路37は、論理値が「1」の判定用データが保持されたメモリセル66に流れる電流Id1と、比較電流Icとを比較する。センスアンプ36は、電流Id1が比較電流Ic以上である場合、読み出したデータの論理値が「1」であると判定し、電流Id1が比較電流Icよりも小さい場合、読み出したデータの論理値が「0」であると判定する。
【0089】
また、判定用データの論理値が「0」の場合、読出電圧生成回路38は、調整値に基づいて読出電圧Vrを大きくする調整を行った読出電圧Vr0を生成する。センスアンプ36の比較回路37は、論理値が「0」の判定用データが保持されたメモリセル66に流れる電流Id0と、比較電流Icとを比較する。センスアンプ36は、電流Id0が比較電流Icよりも小さい場合、読み出したデータの論理値が「0」であると判定し、電流Id0が比較電流Ic以上である場合、読み出したデータの論理値が「1」であると判定する。
【0090】
制御回路52は、判定用データの論理値が「1」の場合及び「0」の場合の両方共に、判定用データの実際の論理値と、センスアンプ36が判定した読み出したデータの論理値とが一致する場合、比較電流Ic及び読出電圧Vrが適切であると判定する。
【0091】
以上説明したように、上記各実施形態の半導体記憶装置10は、複数のメモリセル66を含み、メモリセル66に保持されているデータを読み出す際にメモリセル66に印加する読出電圧、及び保持されているデータに応じてメモリセル66に流れる電流を比較する比較電流各々の値の適否の判定に用いる判定用データを格納する既知データ格納領域22を有するメモリセルアレイ20と、データを読み出す読出対象メモリセル66を表すアドレスに応じて、読出対象メモリセル66に読出電圧を印加させるデコーダ30と、保持されているデータに応じて読出対象メモリセル66に流れる電流と、比較電流とを比較した比較結果を出力する比較回路37を有するセンスアンプ36と、を備える。
【0092】
上記構成により、上記各実施形態の半導体記憶装置10によれば、既知データ格納領域22を用いて読出電圧及び比較電流の適否の判定を行うことができるため、メモリセルアレイ20のメモリセル66に保持されているデータ、例えば、初期設定データ格納領域24のメモリセル66に保持されている初期設定データを適切に読み出すことができる。
【0093】
また、上記各実施形態の半導体記憶装置10によれば、調整値により調整した比較電流または読出電圧を用いて適否の判定を行っている。そのため、上記各実施形態の半導体記憶装置10によれば、調整値により調整していない読出比較電流または読出電圧を用いて適否の判定を行う場合に比べて、読出電圧及び比較電流をより適切な値とすることができる。従って、メモリセル66に保持されているデータをより適切に読み出すことができる。
【0094】
なお、上記第1実施形態では、比較電流調整回路46が決定した調整値を用いて調整した比較電流を適否の判定に用い、第2実施形態では、読出電圧調整回路70が決定した調整値を用いて調整した読出電圧を適否の判定に用いる形態について説明したが、当該形態に限定されない。
【0095】
例えば、第1実施形態のように、比較電流を調整値により調整した比較電流を適否の判定に用いる形態では、設定値テーブル54に、比較電流値設定データ及び比較電流調整値設定データ(
図4参照)に代わり、調整値により調整済みの比較電流Ic1に対応するデータ及び比較電流Ic0に対応するデータを格納しておいてもよい。この場合、制御回路52は、読み出す判定用データの論理値に応じて、比較電流値設定データレジスタ44に比較電流Ic1に対応するデータまたは比較電流Ic0に対応するデータを設定(ラッチ)させればよい。なお、この場合の半導体記憶装置10は、第1実施形態の半導体記憶装置10(
図1参照)と異なり、比較電流調整回路46及び比較電流調整値設定データレジスタ48が不要となる。
【0096】
また、上記各実施形態では、初期設定シーケンスにおいて適切であると判定された読出電圧Vr及び比較電流Icを用いて、初期設定データ格納領域24から初期設定データを読み出し、初期設定シーケンスの実行後は、初期設定データに含まれている通常読出電圧及び通常比較電流を用いてメモリセル66に保持されているデータを読み出している。しかしながら当該形態に限定されず、初期設定シーケンスにおいて適切であると判定された読出電圧Vr及び比較電流Icを、初期設定データの読み出しの他、例えば、既知データ格納領域22及び初期設定データ格納領域24以外の領域のメモリセル66に保持されているデータを読み出す際に用いてもよい。
【0097】
また、上記各実施形態では、メモリセルアレイ20のメモリセル66として、論理値が「1」または「0」のデータを保持する、いわゆる2値と呼ばれるメモリセルである場合について説明したが、メモリセル66はこれに限らず、例えば、4値以上の多値のメモリセルであってもよい。
【0098】
また、上記各実施形態では、半導体記憶装置10が制御回路52を備える形態について説明したが当該形態に限定されない。例えば、半導体記憶装置10の外部のMCU等が、上述した制御回路52の機能の一部または全部を有していてもよい。
【0099】
また、その他の上記各実施形態で説明した半導体記憶装置10及びメモリセルブロック20等の構成及び動作等は一例であり、本発明の主旨を逸脱しない範囲内において状況に応じて変更可能であることはいうまでもない。