[実施形態]
以下、図1乃至図14を参照しながら、本実施形態に係る半導体メモリについて詳細に説明する。以下において、同一の機能及び構成を有する要素については、同一符号を付し、重複する説明は必要に応じて行う。
(1) 第1の実施形態
図1乃至図8を参照して、第1の実施形態の半導体メモリについて、説明する。
(a) 構成
図1乃至図5を用いて、本実施形態の半導体メモリの構成及び機能について、説明する。
図1は、本実施形態の半導体メモリの構成の主要部を示すブロック図である。本実施形態の半導体メモリは、例えば、不揮発性半導体メモリであって、より具体的な一例としては、フラッシュメモリである。
本実施形態のフラッシュメモリ100は、フラッシュメモリ100のチップの外部に設けられたメモリコントローラ又はホストデバイス120などの外部装置から供給される信号を受信し、メモリコントローラ120又はホストデバイス120に対して信号を送信する。フラッシュメモリ100とメモリコントローラ101又はホストデバイス120との間において、制御信号(コマンド又はステータス)は制御信号入出力端子10Aを介して入出力され、データはデータ入出力端子10Bを介して入出力され、アドレス信号はアドレス入出力端子10Cを介して入出力される。本実施形態のフラッシュメモリ100とメモリコントローラ/ホストデバイス120とによって、メモリシステム200が、形成される。
本実施形態のフラッシュメモリ100は、データを記憶するためのメモリセルアレイ1を含んでいる。メモリセルアレイ1は、複数のメモリセルを有している。
図1に示されるフラッシュメモリが、例えば、NAND型フラッシュメモリである場合、メモリセルアレイ1は、複数のブロックを有する。このブロックBLKとは、消去の最小単位を示している。
ここで、図1に加えて、図2を用いて、図1のメモリセルアレイ1の内部構成について説明する。図2は、1つのブロックBLKの回路構成を示す等価回路図である。
NAND型フラッシュメモリにおいて、1つのブロックBLKは、x方向(第1の方向、ロウ方向)に並んだ複数のメモリセルユニット(以下では、NANDセルユニットともよぶ)MUから構成される。1つのブロックBLK内に、例えば、q個のメモリセルユニットMUが設けられている。
1つのメモリセルユニットMUは、複数(例えば、p個)のメモリセルMC0〜MC(p−1)から形成されるメモリセルストリングと、メモリセルストリングの一端に接続された第1のセレクトトランジスタSTS(以下、ソース側セレクトトランジスタとよぶ)と、メモリセルストリングの他端に接続された第2のセレクトトランジスタSTD(以下、ドレイン側セレクトトランジスタとよぶ)とを含んでいる。メモリセルストリングにおいて、メモリセルMC0〜MC(p−1)の電流経路が、y方向(第2の方向、カラム方向)に沿って直列接続されている。
メモリセルユニットMUの一端(ソース側)、より具体的には、ソース側セレクトトランジスタSTSの電流経路の一端には、ソース線SLが接続される。また、メモリセルユニットMUの他端(ドレイン側)、すなわち、ドレイン側セレクトトランジスタSTDの電流経路の一端に、ビット線BLが接続されている。
尚、1つのメモリセルユニットMUを構成するメモリセルの個数は、2個以上であればよく、例えば、16個、32個あるいは64個以上でもよい。以下では、メモリセルMC0〜MC(p−1)を区別しない場合には、メモリセルMCと表記する。
メモリセルMCは、電荷蓄積層(例えば、浮遊ゲート電極、又は、トラップ準位を含む絶縁膜)を有するスタックゲート構造の電界効果トランジスタである。y方向に隣接する2つのメモリセルMCはソース/ドレインが接続されている。これによって、メモリセルMCの電流経路が直列接続され、メモリセルストリングが形成される。
ソース側セレクトトランジスタSTSのドレインは、メモリセルMC0のソースに接続される。ソース側セレクトトランジスタSTSのソースは、ソース線SLに接続される。ドレイン側セレクトトランジスタのソースは、メモリセルMC(p−1)のドレインに接続される。ドレイン側セレクトトランジスタSTDのドレインは、複数のビット線BL0〜BL(q−1)のうち一本のビット線に接続される。ビット線BL0〜BL(q−1)の本数は、ブロックBLK内のメモリセルユニットMUの個数と同じである。
ワード線WL0〜WL(p−1)はx方向に延在し、各ワード線WL0〜WL(p−1)はx方向に沿って配列された複数のメモリセルMCのゲートに共通に接続される。1つのメモリセルユニットMUにおいて、ワード線の本数は、1つのメモリセルストリングを構成するメモリセルの個数と、同じである。
ドレイン側セレクトゲート線SGDLはx方向に延び、x方向に沿って配列された複数のドレイン側セレクトトランジスタSTDのゲートに共通に接続される。ソース側セレクトゲート線SGSLはx方向に延び、x方向に沿って配列された複数のソース側セレクトトランジスタSTSのゲートに共通に接続される。
以下では、各ビット線BL0〜BL(q−1)を区別しない場合には、ビット線BLと表記し、各ワード線WL0〜WL(p−1)を区別しない場合には、ワード線WLと表記する。
各メモリセルMCは、トランジスタのしきい値電圧の大きさ(しきい値電圧の分布)とデータとが対応づけられることによって、外部からのデータを記憶する。
各メモリセルMCは、2値(1 bit)、又は、3値(2 bit)以上のデータを記憶する。
例えば、1つのメモリセルMCが2値(1 bit)のデータ“0”,“1”を記憶する場合、メモリセルMCは、それらのデータに対応する2つのしきい値分布を有する。また、1つのメモリセルMCが4値(2 bit)のデータ“00”,“01”,“10”,“11”を記憶する場合、メモリセルMCは、それらのデータに対応する4つのしきい値分布を有する。以下では、3値(2bit)以上のデータを記憶するメモリセルのことを、多値メモリともよぶ。
データは、同一のワード線WLに接続されたメモリセルMCに対して、一括して書き込まれる、または、読み出される。データの書き込み/読み出しの制御単位は、ページPGとよばれる。
多値メモリのデータは、下位ビット毎又は上位ビット毎に書き込まれ、また読み出される。したがって、メモリセルMCが2ビットデータを保持している場合には、1本のワード線WLあたり、2つのページが割り当てられていることになる。以下では、下位ビットについて一括して書き込み又は読み出されるページは、下位ページとよび、上位ビットについて一括して書き込み又は読み出されるページは、上位ページとよぶ。
例えば、メモリセルアレイ1は、外部からのデータを記憶するために主に使用される記憶領域(以下では、メイン領域とよぶ)11と、冗長性を確保するための領域(以下では、リダンダンシ領域とよぶ)12とを含んでいる。メイン領域11とリダンダンシ領域12とは、メモリセルアレイ1内において論理的に分割された領域である。
リダンダンシ領域12は、メイン領域11内に不良のメモリセル(以下では、不良セルとよぶ)又は不良のビット線(以下では、不良ビット線とよぶ)が生じた場合に、不良セル及び不良ビット線を救済するためのメモリセル(以下では、リダンダンシセルとよぶ)及びビット線(以下では、リダンダンシビット線とよぶ)を含んでいる。
リダンダンシ領域12内のリダンダンシセルと各配線WL,BL,SLとの接続関係は、図2に示されるメイン領域11内のメモリセルと各配線との接続関係と実質的に同じである。
リダンダンシ領域12内において、複数のリダンダンシセルは、メイン領域11のメモリセルと同様に、メモリセルストリングを形成している。リダンダンシセルからなるメモリストリングの一端及び他端のそれぞれに、セレクトトランジスタが接続され、リダンダンシ領域12内に、メモリセルユニットが形成される。
例えば、リダンダンシ領域12とメイン領域11とは、メモリセルアレイ1内においてロウ方向に隣り合っている。リダンダンシセルは、メモリセルと共通のワード線WLに接続されている。リダンダンシ領域12内のセレクトトランジスタは、メイン領域11内のセレクトトランジスタと共通のセレクトゲート線に接続されている。リダンダンシセルは、メモリセルユニット毎に、1本のビット線(以下では、リダンダンシビット線ともよぶ)に接続される。リダンダンシ領域12内のメモリセルユニットは、メイン領域11内のメモリセルユニットと共通のソース線SLに接続されている。
メモリセルアレイ1内におけるリダンダンシ領域12の記憶容量は、メイン領域11の記憶容量よりも小さくすることができる。
ロウ制御回路2は、メモリセルアレイ1のロウを制御する。ロウ制御回路2は、メモリセルアレイ1内に設けられたワード線WL及びセレクトゲート線SGDL,SGSLに接続されている。ロウ制御回路2は、ロウデコーダ及びドライバを有し、アドレスバッファ9から転送されたアドレス信号に基づいて、ブロックBLK及びページPGを選択し、ワード線WL及びセレクトゲート線SGDL,SGSLの動作(電位)を制御する。
ソース線制御回路4は、メモリセルユニットMUに接続されたソース線SLの電位を制御する。ウェル制御回路5は、メモリセルアレイ1内のウェル領域の電位を制御する。
電位生成回路6は、データの書き込み(プログラム)時、データの読み出し時及び消去時に、各ワード線WLに印加される書き込み電圧、読み出し電位、中間電位及び非選択電位を生成する。電位生成回路6は、例えば、セレクトゲート線SGDL,SGSLに印加される電位も生成する。電位生成回路6によって生成された電位は、ロウ制御回路2に入力され、選択ワード線及び非選択ワード線、セレクトゲート線にそれぞれ印加される。電位生成回路6は、ソース線SLに印加される電位及びウェル領域に印加される電位を生成する。電位生成回路6は、ソース線制御回路5及びウェル制御回路6に、生成した電位を転送する。
データ入出力バッファ7は、データの入出力のインターフェイスとなる。データ入出力バッファ7は、データ入出力端子20Bを介して入力された外部からのデータを、一時的に保持し、所定のタイミングで、保持しているデータをメモリセルアレイ1へ出力する。データ入出力バッファ7は、メモリセルアレイ1から出力されたデータを一時的に保持し、所定のタイミングで、保持しているデータをデータ入出力端子20Bへ出力する。
アドレスバッファ9は、アドレス信号端子20Cを介して入力されたアドレス信号を、一時的に保持する。外部からのアドレス信号は、物理アドレスを示し、物理ロウアドレス及び物理カラムアドレスを含んでいる。
内部制御回路(ステートマシンともよばれる)8は、フラッシュメモリ全体の動作を管理する。内部制御回路8は、制御信号入出力端子20Aから入力された制御信号(コマンド)を受信する。この制御信号は、例えば、メモリコントローラ120やホストデバイス120から出力される。例えば、内部制御回路8は、コマンドインターフェイスを含んでいる。例えば、内部制御回路8は、フラッシュメモリ100の内部の動作状況を示す制御信号(ステータス)を、制御信号入出力端子20Aを介して、メモリコントローラ120又はホストデバイス120へ、送信する。これによって、フラッシュメモリ100の動作状況が、フラッシュメモリ100の外部のメモリコントローラ120又はホストデバイス120に通知される。
カラム制御回路3は、メモリセルアレイ1のビット線BL、メモリセルMCから読み出したデータの入出力、メモリセルMCに書き込むデータの入出力などを制御する。カラム制御回路3は、センスアンプ回路30、データラッチ回路31及びカラムデコーダ35を含んでいる。
センスアンプ回路30は、メモリセルアレイ1内に設けられたビット線BLに接続されている。センスアンプ回路30は、データの読み出し時(メモリセルアレイ1からのデータの出力時)、ビット線BLの電位変動を検知及び増幅し、メモリセルMCが記憶しているデータを判別する。センスアンプ回路31は、データの書き込み時(メモリセルアレイ1に対するデータの入力時)、ビット線BLを充電又は放電させる。
データラッチ回路31は、メモリセルアレイ1内から読み出されたデータ及びメモリセルアレイ1内に書き込むデータを、一時的に記憶する。
カラムデコーダ35は、メモリセルアレイ1のカラムに対して設定された制御単位の選択及び活性化を行う。
本実施形態のフラッシュメモリ100は、ポインタmPTを用いてメモリセルアレイ1及びカラム制御回路3内の回路30,31,35の動作を制御する。本実施形態のフラッシュメモリ100は、カラム制御回路3内に、ポインタmPTを制御するためのポインタ制御回路38を含んでいる。
ポインタmPTを用いて、フラッシュメモリ100の動作を制御することによって、フラッシュメモリ100のデータの入出力を高速化できる。
ポインタ制御回路38は、アドレスバッファ9から転送されたアドレス信号に基づいて、カラムの制御単位を選択するためのポインタmPTを、生成する。
センスアンプ回路30は、信号(データ)の検知及び増幅ための複数のセンスユニット(SU)を有している。データラッチ回路31は、信号(データ)の一時的に格納するための複数のラッチユニット(LU)を有している。カラムデコーダ35は、メモリセルアレイ1のカラムの制御単位毎に割り付けられた複数のローカルカラムデコーダ(LCD)を有している。
ここで、図1に加えて、図3及び図4を用いて、メモリセルアレイ1のカラムに割り付けられた制御単位及びカラム制御回路3の内部構成について、説明する。
図3は、メモリセルアレイ1のカラムに対して設定された制御単位、その制御単位に対応するカラム制御回路3内の回路構成を説明するための模式図である。
図4は、メモリセルアレイ1内のビット線、センスアンプ回路31内のセンスユニット及びデータラッチ回路31内のラッチユニットの接続関係を説明するための模式図である。
図3及び図4に示されるように、センスアンプ回路30は、複数のセンスアンプユニット301を含んでいる。1つのセンスアンプユニット301は、例えば、1本のビット線BLに接続される。センスアンプユニット301は、データの書き込み時、センスアンプ回路30及び内部制御回路8の制御によって、所定のビット線BLを充電及び放電させる。センスアンプユニット301は、データの読み出し時、所定のビット線BLの電位変動を増幅及び検知する。センスアンプユニット301は、ラッチ(バッファ)としての機能を有していてもよい。
尚、ビット線BLのセンス方式に応じて、1つのセンスアンプユニット301は、互いに隣接する偶数ビット線と奇数ビット線とで共有されてもよい。センスアンプユニット301が2つのビット線で共有される場合、センスアンプユニット301を共有する偶数及び奇数ビット線は、動作に応じて異なるタイミングで、センスアンプユニット301に接続される。
データラッチ回路31は、複数のラッチユニット311を含んでいる。1つのラッチユニット311は、センスアンプユニット301(センスアンプ回路30)を経由して、1本のビット線BLに接続される。ラッチユニット311は、メモリセルに書き込むデータ、メモリセルから読み出されたデータ及びメモリセルに対する動作を示す設定情報(フラグ)などを、一時的に保持する。ラッチユニット311は、センスアンプユニット301からの信号又は外部からの信号を増幅する機能を有する。
ラッチユニット311は、複数のラッチを含んでいる。ラッチユニット302は、例えば、メモリセルMCが2ビットのデータを記憶する場合、上位1ビットのデータを保持する上位データラッチと、下位1ビットのデータを保持する下位データラッチとを含んでいる。ラッチユニット311は、動作モードを示すフラグを保持するフラグラッチを含んでいる。また、ラッチユニット311は、キャッシュ読み出し用のラッチや、フェイルビットの判定結果を保持するラッチを、さらに含んでいてもよい。
例えば、8本のビット線(8個のメモリセルユニット)BL0〜BL7、及び、それらのビット線BL0〜BL7に対応する8個のセンスユニット301及び8個のラッチユニット311が、1つの制御単位CUを形成する。以下では、8本のビット線及び8個のセンスユニット及び8個のラッチユニットによって形成される制御単位のことを、カラムユニットCUとよぶ。この場合、1ページのデータにおける1つのカラムユニットCUは、8ビット(1バイト)のデータに対応する。但し、1つのカラムユニット(COLともよぶ)CUに含まれるビット線BLの本数、センスユニット301の個数、及び、ラッチユニット311の個数は、8つに限定されない。
各カラムユニットCUは、カラムユニットCUの選択スイッチとしての電界効果トランジスタ319を介して、カラムデコーダ35及びデータパスに接続されている。以下では、各カラムユニットCUの選択及び活性化に用いられる選択スイッチ319のことを、カラムユニット選択スイッチ319ともよぶ。
図3に示されるように、カラムデコーダ35は、複数のローカルカラムデコーダ(Local Column Decoder)500,501,・・・,50m−1を含んでいる。以下では、説明の簡単化のため、ローカルカラムデコーダを、LCDと表記し、各LCD500,501,・・・,50m−1を区別しない場合には、LCD50と表記する。
複数のLCD50は、メモリセルアレイ1のカラムの選択及び活性化を制御する。ある一群(制御単位)に属する複数(x個)のカラムユニットCUに対して、1つのLCD50が対応付けられている。1つのLCD50が、ある順序及びある動作タイミングに基づいて、カラムユニットCUの選択及び活性化を制御する。1つのLCD50に対応付けられている複数のカラムユニットCUから形成されるグループのことを、カラムブロックCBとよぶ。
各LCD50は、レジスタ5010,5011,・・・,501m−1と選択スイッチ5050,5051,・・・,505m−1とを含んでいる。説明の明確化のため、各LCD50のレジスタ5010,5011,・・・,501m−1を区別しない場合には、レジスタ501と表記し、選択スイッチ5050,5051,・・・,505m−1を区別しない場合には、選択スイッチ505と表記する。
カラムデコーダ35内において、各レジスタ501は、隣接するレジスタ501に接続され、メイン領域11に割り付けられた複数のLCD50にまたがって、シフトレジスタ59を形成している。
LCD50内の選択スイッチ505は、例えば、電界効果トランジスタ505である。選択スイッチ505としての電界効果トランジスタ505は、カラムブロックCBとデータパス70,75との接続を制御する。例えば、レジスタ501が保持している信号が、電界効果トランジスタ505のオン及びオフを制御する制御信号として用いられる。
トランジスタ505がオンすることによって、カラムブロックCB及びカラムユニットCUが、データパス75に電気的に接続される。以下では、LCD50内の選択スイッチ505のことを、データパススイッチ505ともよぶ。
このように、複数のカラムブロックCB及び複数のカラムユニットCUが、メモリセルアレイ1のメイン領域11に設定されている。
メイン領域11と同様の構成のカラムブロックRB及びカラムユニットRUが、メモリセルアレイ1のリダンダンシ領域12に、設定されている。以下では、リダンダンシ領域12のカラムブロックRBのことを、リダンダンシカラムブロックRBとよび、リダンダンシ領域12のカラムユニットRUのことを、リダンダンシユニットRUとよぶ。
リダンダンシ領域12において、メモリセルアレイ1のメイン領域11と同様に、複数(n個)のリダンダンシカラムブロックRBが設定され、各リダンダンシカラムブロックRBは、図4に示される回路構成を有する複数のカラムユニット(リダンダンシユニット)RUを含んでいる。
そして、リダンダンシ領域12の各リダンダンシカラムブロックRBに対応するように、複数のLCD50R0,・・・,50Rn−1が、カラムデコーダ35内に設けられている。以下では、リダンダンシカラムブロックRBに対応するLCD50Rを、リダンダンシLCD50R0,・・・,50Rn−1とよぶ。リダンダンシLCD50R0,・・・,50Rn−1を区別しない場合には、リダンダンシLCD50Rと表記する。
リダンダンシLCD50Rは、メイン領域11に割り付けられたLCD50と実質的に同じ内部構成を有する。各リダンダンシLCD50R0,・・・,50Rn−1は、レジスタ501R0,・・・,501Rn−1と選択スイッチ(電界効果トランジスタ)LCD505R0,・・・,505Rn−1とを含んでいる。説明の明確化のため、リダンダンシ領域12に対応する各LCD50Rにおいて、レジスタ501R0,・・・,501Rn−1を区別しない場合には、レジスタ501Rと表記し、選択スイッチ505R0,・・・,505Rn−1を区別しない場合には、選択スイッチ505Rと表記する。
複数のリダンダンシLCD50Rのレジスタ501R0,・・・,501Rn−1によって、シフトレジスタ59Rが形成されている。複数のリダンダンシLCD50Rのレジスタ501Rによって形成されるシフトレジスタ59Rは、メイン領域11側の複数のLCD50のレジスタ501によって形成されるシフトレジスタ59から電気的に分離されている。
以下では、説明の明確化のため、カラムデコーダ35のうち、メイン領域11のカラムを制御する部分(回路領域)を、メインカラムデコーダ350とよび、リダンダンシ領域12のカラムを制御する部分を、リダンダンシカラムデコーダ350Rとよぶ。
例えば、1つのメモリセルアレイ1のメイン領域11内において、m個のカラムブロックCBが設けられ、カラムデコーダ35内において、m個のLCD50が設けられている。例えば、1つのカラムブロックCBは、16個のカラムユニットCUを含む。メイン領域11に対して設定されるカラムブロックCBの個数は、限定されず、1つのカラムブロックCBに割り付けられるカラムユニットCUの個数、又は、1ページに属するメモリセルMCの個数に応じて変化する。メインカラムデコーダ350は、メイン領域11内のカラムブロックCBの個数と同じ数のLCD50を含んでいる。
リダンダンシ領域12に設定されているリダンダンシカラムブロックRBの個数(n個)は、メイン領域11に設定されているカラムブロックCBの個数より、少ない。リダンダンシカラムデコーダ350R内のリダンダンシLCD50Rの個数は、リダンダンシ領域12内のカラムブロックRBの個数と同じ個数であり、メイン領域11を制御するLCD50の個数より少ない。各リダンダンシカラムブロックRBが含むカラムユニットRUの個数(y個)は、メイン領域11内の各カラムブロックCBが含むカラムユニットCUの個数(x個)と、同じ個数に設定されてもよいし、異なる個数に設定されてもよい。
尚、メモリセルアレイ1のメイン領域11及びリダンダンシ領域12に関して、1つのLCD50,50Rが1つのカラムユニットCUに対応するように、カラムデコーダ35内に、複数のLCD50,50Rが設けられてもよい。
本実施形態のフラッシュメモリ100において、メモリセルアレイ1のメイン領域11とリダンダンシ領域12とに対して、それぞれ独立なデータパス75,75Rが、設けられている。メイン領域11に対するデータパス75とリダンダンシ領域12に対するデータパス75Rとは、電気的に分離されている。以下では、メモリセルアレイ1のメイン領域11とリダンダンシ領域12のそれぞれに対して、独立に設けられたデータパス75,75Rのことを、ローカルデータパス75,75Rともよぶ。2つのローカルデータパス75,75Rは、セレクタ(選択回路)69に接続されている。
セレクタ69に対して、メモリセルアレイ1とメモリセルアレイ1の外部(例えば、データ入出力バッファ7)とのデータの入出力のためのデータパス(以下では、グローバルデータパス又はI/Oパスともよぶ)70が、接続されている。セレクタ69は、制御信号SLTに基づいて、2つのローカルデータパス75,75Rのうちいずれか一方を選択し、選択された一方のローカルデータパス75,75Rを、グローバルデータパス70に接続する。例えば、グローバルデータパス70は、データ入出力バッファ7に接続されている。
図3に示されるように、本実施形態において、フラッシュメモリ100のメモリセルアレイ1のカラムの選択は、ポインタmPT,rPTを用いて、実行される。
ポインタmPT,rPTは、アドレスバッファ9を介して外部からカラム制御回路3に入力されたアドレス信号(カラムアドレス)又はフラッシュメモリ100の内部回路によって生成された内部アドレス信号に基づいて、生成される。
例えば、ポインタmPT,rPTは、カラム制御回路3内に設けられたポインタ制御回路38によって、生成される。ポインタ(ポインタの値)によって、現在選択されているアドレス(カラムユニット、カラムブロック)及びこれから選択されるアドレスが、識別される。
外部からのアドレス信号(スタートアドレス)ADRが入力された場合、ポインタ制御回路38は、メイン領域11のカラムブロックCB及びカラムユニットCUの動作を制御するために、生成されたポインタmPTをアドレス信号が示すLCD50にセットするための制御信号を、メインカラムデコーダ350に出力する。
ポインタmPTが、外部アドレス信号ADRが示す1つのLCD50内のレジスタ501にセットされ、ポインタmPTがセットされたLCD50に対応したカラムブロックCB及びカラムユニットCUが、データの書き込み時又は読み出し時の最初の動作対象となる。
本実施形態において、“ポインタがセットされる”とは、カラムアドレス(カラムブロック及びカラムユニット)に対応するLCD50のレジスタ501内に、ポインタmPTに基づく信号(例えば、“H”レベルの信号)が保持されている状態を意味する。レジスタ501の信号の保持状態に応じて、LCD50内のデータパススイッチ505としての電界効果トランジスタ505が、オン又はオフする。以下では、ポインタがセットされている状態を示す信号のことを、セット状態信号とよぶ。
ポインタ制御回路38は、メイン領域11に対するポインタmPTの生成及びセットとともに、ポインタmPTを複数のLCD50間において移動(シフト)させるためのシフトクロックmCLKを生成する。ポインタ制御回路38の内部で生成されたシフトクロックmCLKが、各LCD50に入力される。
上述のように、複数のLCD50内のレジスタ505は、メインカラムデコーダ350内において、シフトレジスタ59を形成している。各LCD50に入力されるシフトクロックmCLKに同期して、あるLCD(例えば、k番目のLCD)50内のレジスタ501が保持する信号(セット状態信号)が、後段のLCD(例えば、k+1番目のLCD)50内のレジスタ501へ、シフトされる。この結果として、ポインタmPTが、LCD50間をシフトし、シフトクロックmCLKに同期して、選択されるカラムブロックCBが順次切り替わる。
例えば、1番目のLCD500のレジスタ5050に、ポインタmPTが最初にセットされた場合、メイン側シフトクロックmCLKに同期して、2番目のLCD501のレジスタ5051、3番目のLCD502のレジスタ5052へ順次転送される。ポインタmPTが最終段のLCD50m−1のレジスタ505m−1に到達する。
コマンドに対応する所定のデータ長のデータの入出力が完了していない場合、LCD50m−1に対応するカラムブロックCB及びカラムユニットCUの動作が実行された後、ポインタmPTは、1番目のLCD500のレジスタ5050に転送され、再び、メイン側シフトクロックmCLKに同期して、1番目、2番目、3番目のLCD50に順次セット及びシフトされる。
カラムブロックCB内の複数のカラムユニットCUの選択に関して、例えば、1番目のLCD500のレジスタ5050からm番目のLCDのレジスタ505m−1へポインタがシフトされる1つの動作サイクルにおいて、選択されたカラムブロックCBの1つのカラムユニットCUに対する動作が完了すると、ポインタmPTのシフトに同期して、次のカラムブロックCBの1つのカラムユニットCUへ、動作の対象のカラムブロックCB及びカラムユニットCUが1つずつ順次切り替わる。
m個のLCD50のレジスタ5050間においてポインタがシフトされる1つの動作サイクルが繰り返し実行されることによって、メモリセルアレイ1のカラムに割り付けられた連続したアドレスが順次選択され、例えば、1ページ分のデータの転送が実行される。
このように、メモリセルアレイ1のメイン領域11のカラムの制御に関して、ポインタmPTが、複数のLCD50のレジスタによって形成されるシフトレジスタ59内を、所定のタイミングでシフトされ、複数のカラムブロックCB及び複数のカラムユニットCUが、所定の順序で選択される。
ポインタ制御回路38は、メモリセルアレイ1のメイン領域11に対する動作を制御するための回路と共に、メモリセルアレイ1のリダンダンシ領域12に対する動作を制御するための回路を、含んでいる。
ポインタ制御回路38は、メイン領域11に対する制御を実行するとともに、メモリセルアレイ1のメイン領域11内又はメイン領域11を駆動させるための各回路内に不良が存在した場合に、その不良とリダンダンシとの置換を制御する。以下では、リダンダンシの制御するための回路(機能)を含むポインタ制御回路38のことを、ポインタ/リダンダンシ制御回路38とよぶ。
ポインタ/リダンダンシ制御回路38の制御によって、カラムユニットCU又はカラムブロックCBを救済単位として、メイン領域11とリダンダンシ領域12とが置換され、不良セル、不良ビット線、不良のセンスユニット又は不良のラッチユニットが、救済される。
本実施形態のフラッシュメモリにおいて、メモリセルアレイ1のリダンダンシ領域12に対するカラムの制御は、メイン領域11に対するカラムの制御と同様に、ポインタrPTを用いて、実行される。
リダンダンシ領域12のカラムの制御は、メイン領域11に用いられるポインタmPTとは異なるポインタrPTを用いて、制御される。以下では、説明の明確化のため、リダンダンシ領域12のカラムの制御に用いられるポインタrPTのことを、リダンダンシ側ポインタrPTとよぶ。また、メイン領域11のカラムの制御に用いられるポインタmPTのことを、メイン側ポインタmPTとよぶ。
上述のように、リダンダンシカラムデコーダ350Rの複数のリダンダンシLCD50Rにわたって形成されるシフトレジスタ59Rは、メインカラムデコーダ350のシフトレジスタ59とは電気的に分離されている。
リダンダンシ側ポインタrPTは、リダンダンシLCD50Rにまたがって形成されたシフトレジスタ59Rに、“H”レベルの信号(セット状態信号)として保持され、メイン側ポインタmPTとは異なる経路で、複数のリダンダンシLCD50R間を移動する。
リダンダンシ側ポインタrPTは、メイン側ポインタmPTのシフトに用いられるシフトクロックmCLKと異なるシフトクロックrCLKを用いて、リダンダンシカラムデコーダ350R内の複数のリダンダンシLCD50R間を、シフトされる。
以下では、メイン側ポインタmPTのシフトに用いられるシフトクロックmCLKのことを、メイン側シフトクロックmCLKとよび、リダンダンシ側ポインタrPTのシフトに用いられるシフトクロックrCLKのことを、リダンダンシ側シフトクロックrCLKとよぶ。
リダンダンシ側シフトクロックrCLKが、複数のリダンダンシLCD50Rに入力される。例えば、リダンダンシ側ポインタrPTは、入力されたリダンダンシ側シフトクロックrCLKに同期して、シフトレジスタ59R内を移動する。
メイン領域11内の不良のカラムユニットCUが、リダンダンシ領域12のリダンダンシカラムユニットRUと置換される場合において、リダンダンシ側ポインタrPTのセット又はシフトによって、選択されるリダンダンシカラムブロックRB及びリダンダンシカラムユニットRUが、切り替わる。
このように、本実施形態のフラッシュメモリ100において、リダンダンシカラムデコーダ350Rは、メインカラムデコーダ350内のLCD50とは異なるポインタrPT及びシフトクロックrCLKを用いて、リダンダンシ領域12のカラムを制御する。
図1乃至図4に加えて、図5を用いて、本実施形態のフラッシュメモリにおけるポインタ/リダンダンシ制御回路38の構成について、説明する。
図5は、本実施形態のフラッシュメモリが含むポインタ/リダンダンシ制御回路38の内部構成の一例を示す図である。
ポインタ/リダンダンシ制御回路38は、例えば、複数のアドレスデコード線(図示せず)を介して、アドレスバッファ9に接続されている。アドレスバッファ9からのアドレス信号(物理カラムアドレス)が、アドレスデコード線を介して、ポインタ/リダンダンシ制御回路38に入力される。例えば、メイン領域11が8kbyte程度の記憶容量を有する場合、14本のアドレスデコード線が、設けられている。
ポインタ/リダンダンシ制御回路38は、外部アドレス信号ADRの入力時、ポインタmPT,rPTのセットを制御する信号(以下では、セット信号とよぶ)を“L(0)”レベルから“H(1)”レベルへ遷移し、入力された外部アドレス信号ADRに対応するLCD50に対するポインタmPTのセットの準備を行う。
ポインタ/リダンダンシ制御回路38は、アドレス生成ユニット381を用いて内部アドレス信号(入力アドレス信号)Ainの生成を開始し、入力された外部アドレス信号ADRを、インクリメントする。
例えば、最初に選択されるカラムアドレスを示す外部アドレス信号ADRの値が、アドレス生成ユニット381内のカウンタ61によって、フラッシュメモリの動作クロックCLKに同期して、インクリメントされる。外部アドレス信号ADRの変換値及びインクリメントされたアドレスの値は、内部アドレス信号Ainとして、出力される。内部アドレス信号Ainは、外部アドレス信号ADRに対応するメイン領域11内のカラムアドレス(スタートアドレス)、及び、外部アドレス信号ADRに連続するメイン領域11内のカラムアドレスを、示している。例えば、隣接する2つのカラムアドレスは、異なるカラムブロックCBのアドレスに対応している。
また、内部アドレス信号Ainは、外部アドレス信号ADRが示すカラムブロックCB及びカラムユニットCUを示すポインタ、及び、それに続いて順次選択されるカラムブロックCB及びカラムユニットCUのアドレス(カラムアドレス)を示すポインタmPTに、対応する。現在の(選択中の)カラムアドレス(ポインタ値)に+1の加算が施された値が、次に選択されるカラムアドレスを示している。
メイン領域11の隣り合う2つのカラムアドレスは、例えば、異なるカラムブロックCBに属する2つのカラムユニットに相当する。以下では、説明の簡単化のため、カラムユニット、カラムブロック、及び、カラムブロックに対応するLCDのことを、カラムアドレスとよぶ場合もある。また、リダンダンシ領域12のアドレス(リダンダンシアドレス)に関しても、カラムアドレスと同様に述べる。メイン領域11内において、1つのカラムアドレスが1つの制御単位に対応し、リダンダンシ領域11内において、1つのリダンダンシアドレスが1つの制御単位及び不良の救済単位に対応する。
メイン側ポインタmPTの値は、選択されたLCD50に対応した物理カラムアドレスを示している。メイン側ポインタmPTの値は、メイン領域11の物理カラムアドレスに一致する。尚、ポインタmPTがデクリメントされることによって、選択されるカラムブロックCB及びカラムユニットCUが切り替えられてもよい。
ポインタ/リダンダンシ制御回路38は、外部アドレス信号ADRからポインタmPTへの変換が完了し、且つ、メイン領域11を駆動させるための準備が完了した後、カラム制御信号生成ユニット384によって、メイン側ポインタmPTを選択されたLCD50にセットする。
ポインタ/リダンダンシ制御回路38は、LCD50にポインタmPTをセットするのと同期して、メイン側シフトクロックmCLKを生成し、ポインタ/リダンダンシ制御回路38は、メイン側シフトクロックmCLKをメインカラムデコーダ350のLCD50に供給する。メイン側シフトクロックmCLKは、メインカラムデコーダ350内のシフトレジスタ59の制御信号として、用いられる。例えば、メイン側シフトクロックmCLKの周波数は、フラッシュメモリの動作クロックCLKの周波数と異なる。
メイン側シフトクロックmCLKに同期して、シフトレジスタ59を形成する各レジスタ501の信号保持状態(“H”又は“L”レベルの保持状態)が、遷移する。この結果として、“H”レベルのセット状態信号が、メインカラムデコーダ350内においてLCD50間を順次移動し、ポインタmPTがセットされるカラムアドレスがシフトし、選択(アクセス)されるカラムブロックCB及びカラムユニットCUが順次切り替わる。このように、シフトレジスタ59内の信号保持状態の遷移が、ポインタmPTのシフトと等価になる。
本実施形態のフラッシュメモリ100において、ポインタmPTを用いて、現在の選択カラムブロック及び選択カラムユニットのアドレスを、認識できる。ポインタ/リダンダンシ制御回路38は、例えば、LCD50のポインタ保持状態を判別することによって、現在の動作対象のカラムブロックCB及びカラムユニットCUを識別することもできる。
例えば、動作対象のカラムブロックCB及びカラムユニットCUを示すポインタ(ポインタ値)が内部制御回路8又は他の回路へ出力されることによって、フラッシュメモリを形成する周辺回路(例えば、内部制御回路8)、外部のメモリコントローラ120又はホストデバイス120が、現在の動作対象が、どのカラムブロックCB又ははどのカラムユニットCUであるかを、認識できる。
図5に示されるポインタ/リダンダンシ制御回路38は、選択されるメイン領域12側のカラムアドレスが不良であるか否か判定結果に基づいて、不良カラムアドレスとリダンダンシアドレスとの置換処理の判定を行う置換判定回路382を、含んでいる。
置換判定回路382内には、メイン領域11内の不良情報を記憶する不良アドレス情報記憶回路64が、設けられている。
不良アドレス情報記憶回路64は、不良セル、不良ビット線、又は、不良センスユニット/ラッチユニットなどを含む不良カラムユニット又は不良カラムブロックのアドレス(ポインタの値)CRD0,CRD1,・・・,CRDkを、不良情報として記憶する。不良アドレス情報記憶回路64は、複数の不良カラムアドレスCRD0,CRD1,・・・,CRDkが記憶されるように、各不良カラムアドレスCRD0,CRD1,・・・,CRDkが格納される記憶素子(例えば、ラッチ)641を複数個含んでいる。以下では、複数の不良カラムアドレスCRD0,CRD1,・・・,CRDkを区別しない場合には、不良カラムアドレスCRDと表記する。
フラッシュメモリ100のテスト時において、メモリセルアレイ1のメイン領域11に動作不良が検出された場合、その不良を含むカラムユニット(又はカラムブロック)のアドレスCRDが、フラッシュメモリ100に対する電源投入時に、不良アドレス情報記憶回路64内のラッチ(以下では、不良カラムアドレス格納ラッチとよぶ)641に格納される。メイン領域11内の不良情報としての不良カラムアドレスCRDは、メモリコントローラ120及びホストデバイス120に、通知される場合もあるし、通知されない場合もある。
不良カラムアドレス格納ラッチ641に格納される不良カラムアドレスCRDは、メイン領域11及びリダンダンシ領域12とは別途に設けられたメモリセルアレイ1内の不揮発性記憶領域に記憶されているもよいし、チップ内部に設けられた他の記憶領域(例えば、フューズ回路)に記憶されてもよい。不良カラムアドレスCRDは、電源投入時に、メモリコントローラ120又はホストデバイス120などのフラッシュメモリ100の外部から与えられてもよい。また、不良アドレス情報記憶回路64が、不良アドレスを不揮発に記憶していてもよい。
例えば、不良カラムアドレス格納ラッチ641は、リダンダンシ領域12のアドレス(リダンダンシアドレス)RD0,RD1,・・・,RDkに関連付けられている。この結果として、メイン領域11の不良カラムアドレスCRD0,CRD1,・・・,CRDkが、リダンダンシ領域12のリダンダンシアドレスRD0,RD1,・・・,CRDkに関連付けられている。以下では、複数のリダンダンシアドレスRD0,RD1,・・・,RDkを区別しない場合には、リダンダンシアドレスRDと表記する。
各不良カラムアドレス格納ラッチ641の個数は、不良の救済単位としてのリダンダンシアドレスRD、例えば、リダンダンシ領域12内のリダンダンシカラムユニットRUの個数と同じ個数にすることができる。
フラッシュメモリ100の動作時において、不良カラムユニットが動作対象になった場合、不良カラムユニットはアクセスされずに、その不良カラムユニットを示す不良カラムアドレスCRDに関連付けられたリダンダンシアドレスRDがアクセスされる。リダンダンシアドレスRDに対応するリダンダンシユニットRUが、データの入出力(データの書き込み/読み出し)の対象となる。このように、メイン領域11内の不良が、リダンダンシとの置換処理によって、救済される。
尚、不良カラムアドレス格納ラッチ641が、リダンダンシカラムブロックRBと関連付けられている場合、メイン領域11内に生じた不良は、カラムブロック単位で救済される。この場合、不良カラムアドレス格納ラッチ641の個数は、リダンダンシカラムブロックRBの個数と同じに設定することができる。
図5に示されるように、ポインタ/リダンダンシ制御回路38内の置換判定回路382は、比較回路63と判定ユニット65とを含んでいる。
比較回路63は、入力された内部アドレス信号(これから選択されるカラムアドレス/ポインタmPTの値)Ainと不良アドレス情報記憶回路64内の各不良カラムアドレス(不良のポインタ値)CRDとを比較する。例えば、比較回路63は、複数の比較ユニット631を有する。1つの比較ユニット631が、1つの不良カラムアドレス格納ラッチ641に対応するように、比較ユニット631が、比較回路63内に設けられている。
各比較ユニット631は、例えば、入力された内部アドレス信号Ainが、その比較ユニット631に対応する不良カラム格納ラッチ641内の不良カラムアドレスCRDと一致しない場合に、“L(0)”レベルの信号を出力し、内部アドレス信号Ainが不良カラムアドレスCRDと一致した場合に、“H(1)”レベルの信号を出力する。
判定ユニット65は、内部アドレス信号Ainと不良カラムアドレスCRDとの比較結果に基づいた置換処理の有無の判定結果を、判定信号として、出力する。
判定ユニット65は、例えば、ORゲートを含む計算ユニット651を有し、各比較ユニット631からの出力(比較結果)が、ORゲート651の各入力端子に、入力される。各比較ユニット631の出力が全て“0”であれば、判定ユニット65のORゲート651の出力は、“0”となる。これに対して、複数の比較ユニット631の出力に“1”が含まれていれば、判定ユニット65のORゲート651の出力は、“1”となる。
置換判定回路382内に入力された内部アドレス信号Ainが、不良アドレス情報記憶回路64内の不良カラムアドレスと一致しない場合において、判定ユニット65は、これから選択されるメイン領域11内のカラムユニットCUが不良でない(置換処理しない)ことを示す判定信号(例えば、“L(0)”レベルの信号)を出力する。
置換判定回路382内に入力された内部アドレス信号Ainが、不良アドレス情報記憶回路64内の不良カラムアドレスと一致した場合において、判定ユニット65は、これから選択されるメイン領域11内のカラムユニットCUが不良である(置換処理する)ことを示す判定信号(例えば、“H(1)”レベルの信号)を出力する。
判定ユニット65の判定信号は、ポインタ/リダンダンシ制御回路68内のカラム制御信号生成ユニット384に入力される。
カラム制御信号生成ユニット384は、ポインタ/リダンダンシ制御回路38に対する外部/内部アドレス信号ADR,Ainの入力及び判定信号の入力に基づいて、メイン領域11又はリダンダンシ領域12に対するポインタmPT,rPTのセットを制御する。カラム制御信号生成ユニット384は、ポインタmPT,rPTに基づいて、メイン領域11又はリダンダンシ領域12における選択されたアドレスに対応したLCD50,50Rを、セット状態(“H”レベル信号の保持状態)にする。
カラム制御信号生成ユニット384は、メイン領域11側のポインタmPT及びシフトクロックmCLKの生成及び制御のためのメイン側制御ユニット66と、リダンダンシ領域12側のポインタrPT及びシフトクロックrCLKの生成及び制御のためのリダンダンシ側制御ユニット67と、を含んでいる。また、カラム制御信号生成ユニット384は、ポインタmPT,rPTのセットのタイミング及びシフトクロックmCLK,rCLKの生成のタイミングを制御するためのセット信号SETの信号レベルを制御するセット信号制御ユニット68を、含んでいる。
カラム制御信号生成ユニット384は、上述のようにメイン領域11のカラムアドレス(カラムブロック及びカラムユニット)にポインタmPTをセットするのとともに、不良カラムユニットの置換処理を制御するために、リダンダンシ領域12に対応するリダンダンシアドレス(リダンダンシブロック及びリダンダンシユニット)にポインタrPTをセットする。
カラム制御信号生成ユニット384の制御によって、不良カラムアドレスCRDがリダンダンシアドレスRDと置換される場合において、リダンダンシカラムデコーダ350R内のシフトレジスタ59Rを形成するレジスタのうち、置換処理されるリダンダンシアドレスRDに対応するリダンダンシLCD50Rのレジスタ501が、“H”レベルの信号を保持する。“H”レベルの信号を保持するリダンダンシLCD50Rに対応するリダンダンシカラムブロックRBが活性化され、リダンダンシアドレスRDが示すリダンダンシユニットRUが選択される。これによって、リダンダンシユニットRUに対するデータの入出力が実行される。
カラム制御信号生成ユニット384は、各ポインタmPT,rPTの制御とともに、メイン領域11側及びリダンダンシ領域12側のシフトクロックmCLK,rCLKを生成する。
カラム制御信号生成ユニット384は、所定の周波数のメイン側シフトクロックmCLKを生成する。生成されたメイン側シフトクロックmCLKは、上述のように、メインカラムデコーダ350内の各LCD50に供給される。
カラム制御信号生成ユニット384のリダンダンシ側制御ユニット67は、リダンダンシ側シフトクロックrCLKを生成する。そのリダンダンシ側シフトクロックrCLKを、リダンダンシカラムデコーダ350R内においてシフトレジスタ59Rを形成するレジスタ501Rに供給する。
供給されたリダンダンシ側シフトクロックrCLKに同期して、置換対象となるリダンダンシアドレスRDに対応するリダンダンシブロックRB及びリダンダンシユニットRUが選択及び活性化される。供給されたリダンダンシ側シフトクロックrCLKに同期して、リダンダンシ領域12に対するポインタrPTが、リダンダンシLCD50R間でシフトされ、リダンダンシカラムデコーダ350R内のシフトレジスタ59R内のレジスタ501Rの信号保持状態が、遷移する。
リダンダンシ側シフトクロックrCLKは、メイン側シフトクロックmCLKとは異なった周波数を有する。置換判定回路382に入力された内部アドレス信号Ainが不良アドレス情報記憶回路64内の不良カラムアドレスCRDと一致しない場合(置換処理が実行されない場合)、カラム制御信号生成ユニット384のリダンダンシ側制御ユニット67は、リダンダンシ側シフトクロックrCLKの信号レベルを“L”レベルに維持する。入力された内部アドレス信号Ainが不良カラムアドレスCRDと一致した場合(置換処理が実行される場合)において、カラム制御信号生成ユニット384のリダンダンシ側制御ユニット67は、リダンダンシ側シフトクロックrCLKの信号レベルを“L”レベルから“H”レベルに遷移する。
置換判定回路382の判定ユニット65の判定信号は、2つのローカルデータパス75,75Rのうち一方を選択するための選択信号SLTとして、セレクタ69に入力される。セレクタ69は、入力された判定ユニット65からの信号SLTに基づいて、メイン側ローカルデータパス75及びリダンダンシ側ローカルデータパス75Rのうち、いずれか一方を選択する。
上述のように、これから選択されるメイン領域11内のカラムユニットCUが不良でない場合、判定信号は“L”レベルを示し、これから選択されるメイン領域11内のカラムユニットCUが不良である場合、判定信号は“H”レベルを示す。“L”レベルの信号が選択信号SLTとしてセレクタ69に入力された場合、セレクタ69は、メイン側ローカルデータパス75を選択する。これによって、メイン側ローカルデータパス75が、グローバルデータパス70に導通し、ポインタmPTがセットされたカラムアドレスに対応するメイン領域11のカラムユニットCUに対してデータDTの入出力が実行される。
この一方、“H”レベルの信号が、選択信号SLTとしてセレクタ69に入力された場合、セレクタ69は、リダンダンシ側ローカルデータパス75Rを選択する。これによって、リダンダンシ側ローカルデータパス75Rが、グローバルデータパス70に導通し、ポインタrPTがセットされたリダンダンシアドレスに対応するリダンダンシ領域12のカラムユニットRUに対してデータDTの入出力が実行される。リダンダンシユニットRUとグローバスデータパス70との間のデータ転送は、カラム領域11側のLCD50及びラッチユニット311を経由せずに、置換されたリダンダンシユニットRUとグローバルデータパス70との間で、直接実行される。
このように、リダンダンシユニットRUが、不良のカラムユニットCUに置換され、メイン領域11の不良が救済される。
例えば、フラッシュメモリ100の動作中において、不良カラムアドレスCRDは、メモリコントローラ120及びホストデバイス120などの外部装置に通知されず、メモリコントローラ120及びホストデバイス120は、不良の救済(置換処理)によってリダンダンシユニットRUがアクセスされたことを、検知しない。
尚、データの読み出し時において、メイン領域11の不良カラムユニットの代わりにリダンダンシ領域12のリダンダンシユニットRUがグローバルデータパス70に接続された場合にあっても、メイン領域11の不良カラムユニット(又は不良カラムブロック)からのデータは、メイン側ローカルデータパス75まで出力されている。この場合において、メイン側ローカルデータパス75に出力された不良カラムユニットからのデータは、セレクタ69によって、グローバルデータパス75への出力を、遮断されている。
本実施形態のフラッシュメモリにおいて、不良の救済単位であるカラムユニットCUは、メモリセルMCとともにビット線に接続されているセンスユニット301及びラッチユニット311を、含んでいる。それゆえ、本実施形態のフラッシュメモリは、不良セル及び不良ビット線の置換に加えて、メイン領域11のカラムユニットCUが含むセンスユニット301及びラッチユニット311に不良が生じた場合に、上記の互いに独立したポインタmPT,rPTによる置換処理(救済処理)によって、リダンダンシ領域12のリダンダンシユニットRUを用いて、メイン領域11側のセンスユニット301及びラッチユニット311の不良を救済できる。
以上のように、本実施形態のフラッシュメモリ100は、メモリセルアレイ1のカラムの制御に関して、メモリセルアレイ1内のメイン領域11及びそれに接続された各回路を制御するためのポインタmPT及びシフトクロックmCLKと、リダンダンシ領域12及びそれに接続された各回路を制御するためのポインタrPT及びシフトクロックrCLKとを、互いに独立に、生成及び制御する。
本実施形態のフラッシュメモリ100は、互いに独立なポインタmPT,rPT及びシフトクロックmCLK,rCLKを用いて、メイン領域11内の不良とリダンダンシ領域12内のリダンダンシとの置換処理を制御し、メイン領域11内の不良を救済する。
そして、本実施形態のフラッシュメモリ100は、不良カラムアドレスCRDとこれから選択されるアドレスAinとの比較結果に基づいて、セレクタ69によって、メイン領域11及びリダンダンシ領域12のうち一方とデータパス70とを選択的に接続し、メイン領域11とデータパス70との間において、又は、置換処理に用いられるリダンダンシ領域12とデータパス70との間において、データDTを直接転送する。
本実施形態のフラッシュメモリは、リダンダンシ領域12とデータパス70との間のデータ転送を、メイン領域11側のラッチユニット311やデータパス75を経由せずに、実行できる。これによって、本実施形態のフラッシュメモリは、高速動作できる。
したがって、本実施形態の半導体メモリは、動作特性を向上できる。
(b) 動作
図6及び図7を参照して、第1の実施形態のフラッシュメモリの制御方法(動作)について、説明する。尚、以下では、図6及び図7に加えて、図1乃至図5も適宜用いて、本実施形態のフラッシュメモリの動作について説明する。
ここでは、説明の簡単化のため、1番目のカラムブロックCB(CB#0)が含む1番目のカラムユニットCU(CU<0>)が、外部アドレス信号ADRによって選択され、それに続いて、各カラムブロックCB及び各カラムユニットCUが順次選択される動作について、説明する。
図6は、フラッシュメモリのメモリセルアレイ1内における、メイン領域11内の不良カラムアドレスCRDとリダンダンシ領域12内の救済単位としてのリダンダンシアドレスとの対応関係を示している。ここでは、図6に示されるように、一例として、ポインタmPTのシフトにしたがって3番目及びj+1番目のメイン領域11内のカラムアドレスMA2,MAjが不良カラムアドレスCRD0,CRD1である場合について、述べる。
例えば、隣接する2つのカラムアドレスは、隣接する2つのカラムブロックCBにそれぞれ属し、隣接する2つのリダンダンシアドレスは、隣接する2つのリダンダンシカラムブロックRBにそれぞれ属している。
図7は、本実施形態のフラッシュメモリの動作例を説明するためのタイミングチャートを示している。
例えば、図1のフラッシュメモリ100において、メモリコントローラ120又はホストデバイス120から制御信号(コマンド)が、制御信号入出力端子10Aを介して、フラッシュメモリ100の内部に、入力される。メモリコントローラ120又はホストデバイス120からアドレス信号が、アドレス入出力端子10Cを介して、フラッシュメモリ100の内部に入力される。
メモリコントローラ120又はホストデバイス120が、フラッシュメモリ100に対してデータの書き込みを指示している場合、データ入出力端子10Bを介して、書き込むべきデータが、フラッシュメモリ100の内部に、入力される。
外部からのアドレス信号は、アドレスバッファ9に入力される。尚、入力されたコマンドに基づいて、フラッシュメモリ100の内部制御回路(ステートマシン)8が、アドレス信号を生成する場合もある。
フラッシュメモリ100に対するコマンドの入力時、又は、フラッシュメモリ100に対する電源の投入時、不良情報(不良アドレス情報)が、ポインタ/リダンダンシ制御回路38の置換判定回路382内に、入力されている。例えば、不良情報が含む不良カラムアドレスは、置換判定回路382内の不良アドレス情報記憶回路64内に、記憶される。1つ又は複数の不良カラムアドレスCRDは、不良アドレス記憶回路64内の不良カラムアドレス格納ラッチ641に、リダンダンシ領域12に設定された置換単位(救済単位)に対応付けられるように、それぞれ格納される。
アドレス信号ADRは、アドレスバッファ9から、ロウ制御回路2、カラム制御回路3及び内部制御回路8に、それぞれ出力される。
内部制御回路8は、コマンド及びアドレス信号に基づいて、要求された動作を実行するために、フラッシュメモリ内部の各回路を駆動する。ロウ制御回路2は、アドレス信号に基づいたブロック及びページ(ワード線)を駆動するための準備を行う。また、電位生成回路6は、ワード線、セレクトゲート線、ソース線及びウェル領域に印加する電位の生成を開始する。
外部アドレス信号(物理カラムアドレス)ADRは、カラム制御回路3のポインタ/リダンダンシ制御回路38内に入力される。
図7に示されるように、外部アドレス信号ADRの入力に対応して、カラム領域11及びリダンダンシ領域12に対するセット信号mSET,rSETの信号レベルが、ポインタ/リダンダンシ制御回路38内のカラム制御信号生成ユニット384のセット信号制御ユニット68によって、“L(0)”レベルから“H(1)”レベルにされる。セット信号SETの信号レベルの変化によって、メモリセルアレイ1のカラムを制御するための動作が準備される。
メイン領域11側を制御する“H”レベルのセット信号mSET及び外部アドレス信号ADRによって、メイン領域11内のカラムブロックCB及びカラムユニットCUに対応するポインタmPTが、カラム制御信号生成ユニット384によって生成される。
“H”レベルのメイン側セット信号mSETによって、外部アドレス信号ADRが示すメイン領域11側のLCD50に、ポインタmPTをセットさせるためのシフトクロック(メイン側シフトクロック)mCLKが、カラム制御信号生成ユニット384によって生成される。メイン側シフトクロックmCLKは、メインカラムデコーダ350の複数のLCD50に、それぞれ供給される。
生成されたポインタmPTは、入力された外部アドレス信号ADRに対応するカラムブロックCB及びカラムユニットCUを示す値を有する。生成されたポインタmPTは、カラムアドレス(ここでは、アドレスMA0)が示すカラムブロックCB及びカラムユニットCUに対応するLCD50に、“H”レベルの信号としてセットされる。
メイン側のセット信号mSETの信号レベルは、メイン領域11に対する制御の準備が開始された後、カラム制御信号生成ユニット384のセット信号制御部68によって、あるタイミングで、“H”レベルから“L”レベルに遷移される。
セット信号mSETが“H”レベルに遷移してから選択アドレスに対する実質的なアクセスが開始されるまでの期間(LCD50が駆動されるまでの期間)において、外部アドレス信号ADRに対応した内部アドレス信号Ainが、置換判定回路382に転送され、内部アドレス信号Ain(=ADR)は、置換判定回路382の比較回路63に入力される。内部アドレス信号Ain(又はメイン側ポインタmPT)は、比較回路63の各比較ユニット63に入力される。
アドレス信号ADRは、各比較ユニット63によって、不良カラム情報記憶回路64の各不良カラムアドレス格納ラッチ641内に格納された不良カラムアドレスCRDと一致するか否か、比較される。
ここでは、図6に示されるように、外部アドレス信号ADRに基づいて最初に選択されるメイン領域11内の選択アドレスMA0(例えば、1番目のカラムブロックCB#0の1番目のカラムユニットCU<0>)は、不良ではない。この場合において、外部アドレス信号ADRと各不良カラムアドレスCRD0,CRD1,・・・,CRDiとが一致しないので、“0”の信号(“L”レベルの信号)が、各比較ユニット631から判定ユニット65に出力される。
判定ユニット65内の計算ユニット651が含んでいるORゲートの全ての入力端子に、“0”が入力され、ORゲートは、“L(0)”レベルの信号を出力する。
置換判定処理回路382が“L”レベルの判定信号を得た場合、メイン領域11とリダンダンシ領域12との置換処理は実行されない。
“L”レベルの判定信号がカラム制御信号生成ユニット384に入力された場合(メイン領域11の選択アドレスが不良でない場合)、例えば、カラム制御信号生成ユニット384内のリダンダンシ側制御ユニット67は、駆動されず、リダンダンシ領域12に対する制御信号(ポインタ及びシフトクロック)は、生成及び出力されない。
このように、入力されたアドレスが不良カラムアドレスCRDと一致しない場合(これから選択されるメイン領域11内のカラムユニットが不良でない場合)、リダンダンシLCD50のシフトレジスタ590のデータ保持状態は、“L(0)”レベルになっており、リダンダンシLCD50R内のデータパススイッチ505Rは、オンしない。リダンダンシ領域12内のリダンダンシブロックRB及びリダンダンシユニットRUは、リダンダンシ側ローカルデータパスLDP2(75R)に、電気的に接続されない。
メモリセルアレイ1のカラムの制御が開始されるとき、メイン側ポインタmPT及びメイン側シフトクロックmCLKの生成は、例えば、判定信号に依存せずに、外部アドレス信号(又は内部制御回路8からのアドレス信号)ADRが入力したタイミングに基づいて、“H”レベルのセット信号mSETによって、開始されている。
例えば、カラム制御信号生成ユニット384のメイン側制御ユニット66は、判定信号の入力前に、LCD50、カラムブロックCB及びカラムユニットCUに対する制御信号としてのメイン側ポインタmPT及びメイン側シフトクロックmCLKを生成し、それらの信号mPT,mCLKの出力の準備を、完了している。例えば、判定信号の入力されるタイミングに同期して、メイン側ポインタmPTとしての“H”レベルの信号が、メイン側制御ユニット66によって、アドレス信号ADRに対応する所定のLCD50に供給される。ここで、メイン側ポインタmPTは、メイン側シフトクロックmCLKの1番目のクロック信号に同期して、カラムアドレスに対応するMAに対応する所定のLCD50に、保持される。LCD50内のレジスタ501のデータ保持状態が、“H”レベルとなり、“H”レベルの信号に基づいて、データパススイッチ505がオンする。これによって、カラムアドレスMA(ここでは、アドレスMA0)に対応するカラムブロックCB及びカラムユニットCUが、メイン側ローカルデータパスLDP1(75)に電気的に接続される。
置換判定回路382からの判定信号は、セレクタ69の選択信号SLTとして、セレクタ69の制御端子に供給される。選択信号SLTが、“L”レベルである場合、メイン側ローカルデータパスLDP1(75)が、セレクタ69によって、グローバルデータパスGDP(70)に接続される。この場合、リダンダンシ側ローカルデータパスLDP2(75R)は、セレクタ69によって、グローバルデータパスGDP(70)から電気的に分離される。
図6に示されるように、外部アドレス信号ADRに基づいたメイン領域11内の選択単位MA0(ここでは、1番目のカラムブロックCB#0の1番目のカラムユニットCU<0>)が、不良でない場合、ポインタmPTがセットされた状態のLCD50に関して、メイン領域11のカラムブロックCB及びカラムユニットCUが、アクセスされ、選択アドレスMA0としてのカラムユニットCUとデータパスGDPとの間で、データDTがシリアルに入出力される。
データの書き込み時、所定のサイズのデータDTが、グローバルデータパス70、セレクタ69によって選択されたメイン側ローカルデータパス75、オン状態のデータパススイッチ505及びカラム選択スイッチ319を経由して、選択カラムユニットCU内のラッチユニット311又はセンスアンプユニット301に入力される。
尚、データの書き込み時において、選択カラムユニットCUに入力されたデータは、すぐに書き込まれずに、1ページ分のデータが、複数のカラムブロックCB及びカラムユニットCUのラッチユニット及びセンスユニットにわたって格納された後に、アドレス信号(物理ロウアドレス)が示す選択ワード線に書き込み電圧が印加されることによって、選択ワード線に接続された複数のメモリセルMCに一括に書き込むことができる。
データの読み出し時、所定のサイズのデータDTが、選択カラムユニットCU内のラッチユニット311又はセンスアンプユニット301に入力されている。そして、オン状態のデータパススイッチ505及びカラム選択スイッチ319、セレクタ69によって選択されたメイン側ローカルデータパス75及びグローバルデータパス70を経由して、例えば、データ入出力バッファ(ページバッファ)7へ出力される。尚、データの読み出し時において、選択カラムユニットCUから出力されたデータは、1ページ分のデータがデータ入出力バッファ7に格納されてからフラッシュメモリ100の外部へ転送されてもよいし、選択カラムユニットCUからのデータ毎に、随時、外部へ転送されてもよい。
例えば、アドレス信号ADR,Ainと不良カラムアドレスCRDとが一致した場合において、リダンダンシ側ポインタrPTを、所定のリダンダンシアドレスRDにいつでもセット可能なように、リダンダンシ側セット信号rSETは、セット信号制御部68によって、“H”レベルに維持される。
外部アドレス信号ADR又はその外部アドレス信号ADRから得られたポインタmPTは、ポインタ/リダンダンシ制御回路38の制御ユニット381のカウンタ61内に、入力される。フラッシュメモリ100の動作クロックCLKに同期して、メイン領域11側のポインタmPTのインクリメント動作(“+1”の計算処理)が実行される。
インクリメントされた内部アドレス信号Ainは、これからアクセスしようとする(次に選択される)メイン領域11内のカラムブロックCB及びカラムユニットCUのカラムアドレス(ポインタ)MAに対応している。
例えば、ポインタmPTがあるLCD50にセットされてからポインタが次の選択アドレスのLCD50にシフトされるまでの期間(選択カラムユニットCUに対してデータDTの入力又は出力が実行されている期間)において、インクリメントされた内部アドレス信号Ainが、不良であるか否か判定される。
上述の外部アドレス信号ADRに対する動作と実質的に同様の動作によって、インクリメント処理によって得られた内部アドレス信号(ポインタ)Ainが、置換判定回路382内の各比較ユニット631に入力される。入力されたアドレス信号Ainは、不良カラムアドレスCRDと比較され、比較結果が、各比較ユニット631から判定ユニット65へ出力される。比較結果に基づいた判定信号が、判定ユニット65からカラム制御信号生成ユニット384に出力され、選択信号SLTが、判定ユニット65からセレクタ69に出力される。
内部アドレス信号Ainに対する良/不良の判定結果に依存せずに、メイン側ポインタmPTは、所定の周波数のメイン側シフトクロックmCLKによって、データの入出力が完了したカラムユニットCUに対応するLCD50から次に選択されるLCD50にシフトされる。これによって、メイン側ローカルデータパス75に接続されるカラムブロックCB及びカラムユニットCUが、自動的に順次切り替わる。
図6に示される例において、2番目のカラムアドレスMA1が不良でない場合、1番目のカラムアドレスMA0に対応するカラムユニットCUに対するデータの入出力の後、シフトされたメイン側ポインタmPTによって、2番目のカラムアドレスMA1に対応するカラムユニットが、ローカルデータパスLDP1に接続されている。一方、リダンダンシ領域12のリダンダンシブロック及びリダンダンシユニットRUに、ポインタがセットされず、ローカルデータパス75R及びグローバルデータパス70に接続されない。置換判定回路382による内部アドレス信号Ainの判定結果に基づいて、ローカルデータパスLDP1が、セレクタ69の制御によって、グローバルデータパスGDPに接続される。
そして、メイン側ローカルデータパスLDP1を経由したメイン領域11とグローバルデータパスGDPとの間のデータ転送によって、アクセス対象の2番目のカラムアドレスMA1に対応するカラムユニット(ここでは、2番目のカラムブロックCB#1の1番目のカラムユニットCU<0>)に対して、上述の1番目の選択アドレスMA0に対する動作と同様に、データの入力、又は、データの出力が、実行される。
上述と同様に、メイン領域11において動作対象のカラムユニットCUに対応するLCD50から後続のLCD50にポインタmPTがシフトされるまでの期間において、インクリメントされた内部アドレス信号Ainと不良カラムアドレスCRDとが、比較される。
図6に示される例において、メイン領域11内の3番目のカラムアドレスMA2は、不良アドレスCRDである。それゆえ、カラムアドレスMA2が、不良カラムアドレスCRDとして、不良アドレス記憶回路64内の1つの不良カラムアドレス格納ラッチ641内に格納されている。
カラムアドレスMA2を示す内部アドレス信号Ainが、置換判定回路382内に入力された場合、置換判定回路382の複数の比較ユニット631のうち、不良カラムアドレスCRD1としてカラムアドレスMA2を格納しているラッチ641に対応する比較ユニット631の出力信号(比較結果)は、“1”を示す。他の比較ユニット631の出力信号は、“0”を示す。
各比較ユニット631からの信号は、判定ユニット65に入力される。比較ユニット631からの信号が、判定ユニット651の計算ユニット651のORゲートの入力端子にそれぞれ入力される場合、複数の比較ユニット631からの信号において1つでも“1”が含まれていれば、ORゲートの出力(判定信号)は“1”となる。
それゆえ、これから選択されるメイン領域11のカラムアドレスMA2が不良である場合、“H(1)”の判定信号が、置換判定回路382からカラム制御信号生成ユニット384に出力される。
“H”の判定信号に基づいて、リダンダンシ領域12側のセット信号rSETが、カラム制御信号生成ユニット384内のセット信号制御部68によって、“H”レベルから“L”レベルにされる。
セット信号rSETが“L”レベルに遷移するタイミングで、リダンダンシ領域12側の制御信号rPT,rCLKが、カラム制御信号生成ユニット384のリダンダンシ側ユニット68によって、生成される。例えば、“H”の判定信号に基づいて、リダンダンシ側シフトクロックrCLKが、リダンダンシ側制御ユニット68によって生成され、リダンダンシ側シフトクロックrCLKの信号レベルが、“L”レベルから“H”レベルに遷移する。
リダンダンシ側シフトクロックrCLKが、リダンダンシカラムデコーダ350R内の各リダンダンシLCD50Rに供給されるとともに、リダンダンシ側ポインタrPTが、置換対象のアドレスに対応するリダンダンシLCD50Rに、供給される。リダンダンシ側シフトクロックrCLKに同期したタイミングで、リダンダンシ側ポインタrPTとしての“H”レベルの信号が、リダンダンシLCD50Rに入力され、不良カラムアドレスCRDに置換されるリダンダンシアドレスRDに、ポインタrPTがセットされる。
そして、リダンダンシ側ポインタrPT及びリダンダンシ側シフトクロックrCLKによって、制御単位としてのリダンダンシカラムブロックRB及びリダンダンシユニットRUが、不良カラムアドレスCRD(=MA2)が選択されるタイミングで、選択及び活性化される。
リダンダンシ領域12のカラムブロック(リダンダンシカラムブロック)及びカラムユニット(リダンダンシユニット)の選択及び活性化の動作は、メイン領域11のカラムブロックCB及びカラムユニットCUの選択及び活性化の動作と実質的に同じである。
不良カラムアドレスCRD(不良のカラムユニットCU)とリダンダンアドレスRA(リダンダンシユニットRU)との置換処理により、リダンダンシカラムブロックRB及びリダンダンシユニットRUが選択される場合、リダンダンシ側ポインタrPTがセットされたアドレスRDに対応するリダンダンシLCD50R内のレジスタ501に、“H”レベルの信号が保持され、その信号に基づいて、リダンダンシLCD50R内のデータパススイッチ505Rがオンする。
このように、不良カラムユニットと置換されるリダンダンシユニットRUを含むリダンダンシカラムブロックRBが選択される。また、不良カラムアドレスCRDと置換されるリダンダンシユニットRUに対応するカラム選択スイッチ319が、オンされる。これによって、不良カラムアドレスCRDと置換されるリダンダンシユニットRUが活性化され、リダンダンシユニットRUが、リダンダンシ側ローカルデータパスLDP2に、接続される。
尚、メイン領域11側の不良カラムユニットCUがリダンダンシユニットと置換される場合でもあっても、所定の周波数のメイン側シフトクロックmCLKが継続して出力されている。それゆえ、メイン領域11内のカラムアドレスMA2が不良である場合であっても、メイン側ポインタmPTは、メイン側シフトクロックmCLKに同期して、不良カラムアドレスMA2に対応するLCD50にセットされ、不良カラムユニットCUが、メイン側ローカルデータパスLDP1に導通している。
上述のように、本実施形態において、メイン側ローカルデータパスLDP1とリダンダンシ側ローカルデータパスLDP2とは、セレクタ69を介して、グローバルデータパス70に接続されている。内部アドレス信号Ainと不良カラムアドレスCRDとの比較結果に対応する判定信号が、選択信号SLTとして、セレクタ69に供給される。これから選択されるメイン領域11のカラムアドレス(ここでは、アドレスMA2)と不良カラムアドレスCRDとが一致した場合、選択信号SLTとしての判定信号は、“H(1)”レベルを示している。
“H”レベルの選択信号(判定信号)SLTが、セレクタ69に供給された場合、リダンダンシ側ローカルデータパスLDP2が、セレクタ69によって、グローバルデータパスGDPに接続される。メイン側ローカルデータパスLDP1は、セレクタ69によって、グローバルデータパスGDPから電気的に分離される。それゆえ、不良カラムアドレスCRDのカラムユニットが、メイン側ローカルデータパスLDP1と接続されていても、不良カラムアドレスCRDのカラムユニットとグローバルデータパスGDPとの間のデータ転送は、セレクタ69によって遮断される。
セレクタ69が、グローバルデータパス70と2つのローカルデータパス75,75Rとの接続を切り替えるタイミングは、例えば、現在選択中のアドレスに対応するLCDのポインタ保持状態が“H”レベルから“L”レベルに遷移するタイミング、換言すると、メイン側シフトクロックmCLKが“H”レベルから“L”レベルに遷移するタイミングに、同期する。
以上のように、メイン領域11内の不良を含むカラムアドレスMA2が、メイン領域11内において選択されるアドレスである場合、そのアドレスMA2に対応するカラムユニットCUが、リダンダンシ領域12のアドレスRA0に対応するリダンダンシユニットRUに置換される。不良カラムアドレスMA2(CRD0)のカラムユニットCUの代わりに、リダンダンシユニットRUがデータの入出力の対象として、アクセスされる。これによって、メイン領域11内の不良カラムアドレスが、救済される。
リダンダンシ領域12のリダンダンシアドレスRAに対応するリダンダンシユニットRUが、グローバルデータパスGDPに接続され、リダンダンシユニットRUに対して、データ書き込み時においてデータが入力される、又は、データ読み出し時においてデータが出力される。
データの読み出し時において、リダンダンシ領域12のリダンダンシユニットRUがアクセス対象である場合であっても、メイン領域11内の不良のカラムユニットのデータは、メモリセルユニットからセンスユニット及びラッチユニットに読み出されている。上述のように、セレクタ69によって、リダンダンシ側ローカルデータパス(LDP2)がグローバルデータパスGDPに接続され、メイン側ローカルデータパスLDP1は、グローバルデータパスGDPから分離されている。それゆえ、リダンダンシ領域12のリダンダンシユニットRUがアクセスされている場合、メイン領域11のカラムユニットCUからのデータは、グローバルデータパスGDP及び外部に出力されない。
尚、データ書き込み時において不良カラムユニットがリダンダンシユニットRUに置換される場合、セレクタ69によって、ポインタrPTがセットされているリダンダンシLCD50Rに対応するリダンダンシユニットRUにおいて、そのリダンダンシカラムユニットRU内のラッチユニット311に、外部からのデータDTが入力され、不良カラムユニット内のラッチユニット311に、データは入力されない。
不良カラムユニットと置換されたリダンダンシユニットRUとグローバルデータパスGDPとの間のデータDTの転送が完了した後、リダンダンシ側シフトクロックrCLKは、リダンダンシ側制御ユニット67によって、“H”レベルから“L”レベルにされる。
この時、リダンダンシ側ポインタrPTは、セット状態のLCD50Rから後段のLCD50Rにシフトされずに、例えば、データの入力又は出力が完了したアドレスRA0に対応するリダンダンシLCD50Rに、保持される。但し、リダンダンシカラムユニットRUに対するアクセスが完了した後、リダンダンシ側ポインタrPTは、後段のリダンダンシLCD50Rにシフトされてもよいし、リダンダンシ領域12側の全てのリダンダンシLCD50Rの信号保持状態が、一度リセット状態(“L”レベル)にされてもよい。
ここで、リダンダンシ側ポインタrPTが保持されたLCDにおいて、不良カラムアドレスCRDと置換されるリダンダンシユニットRUに対応するカラム選択スイッチ319が、オンされる。しかし、これから選択されるメイン領域11側のアドレスと不良カラムアドレスとが一致していなければ、セレクタ69の制御によって、データパス75Rはグローバルデータパス70に接続されない。その結果として、リダンダンシ側のLCD50RがポインタrPTを保持していても、リダンダンシユニットRU内のラッチユニット311に対するデータの入出力を行わないように制御することができる。
例えば、不良カラムユニットと置換されたリダンダンシユニットRUとグローバルデータパスGDPとの間のデータDTの転送が完了した後、リダンダンシ側のセット信号rSETは、次にカラムアドレスと不良カラムアドレスとが一致した時に、リダンダンシ側ポインタrPTのセットがランダムなタイミングで可能なように、セット信号制御部68によって、“L”レベルから“H”レベルに遷移される。
例えば、フラッシュメモリ100の動作中において、選択されたリダンダンシアドレスは、メモリコントローラ120又はホストデバイス120に通知されない。すなわち、フラッシュメモリ100の内部制御回路8又はポインタ/リダンダンシ制御回路38は、不良カラムアドレスCRDとリダンダンシアドレスRDとの置換処理によって、リダンダンシアドレスRDがアクセスされ、リダンダンシアドレスRDに対応するリダンダンシユニットRUにデータが入力されたこと、又は、リダンダンシユニットRUからデータが出力されたことを、メモリコントローラ120又はホストデバイス120などの外部装置に、通知しない。
リダンダンシユニットRUに対してデータDTが入力又は出力されている期間内において、上述のメイン領域11内のカラムユニットCUに対してデータが入力又は出力されている期間と同様に、不良カラムアドレスCRDとこれから選択されるメイン領域11内のカラムアドレス(内部アドレス信号)Ainが一致しているか否か、置換判定回路382によって、比較及び判定されている。
不良カラムアドレスCRDとこれから選択されるメイン領域11内のアドレス信号Ainとの比較結果及び判定結果に基づいて、次に選択されるアドレスが不良ではないと判定された場合、判定信号に基づいて、メイン側シフトクロックmCLK(又は、リダンダンシ側シフトクロックrCLK)が“H”レベルから“L”レベルに立ち下がるタイミングにおいて、メイン側ローカルデータパスLDP1が、セレクタ69によって、グローバルデータパスGDPに電気的に接続される。この一方で、リダンダンシ側ローカルデータパスLDP2がグローバルデータパスGDPから電気的に分離される。
そして、上述のメイン領域11のカラムアドレス(カラムブロック及びカラムユニット)に対する動作と同様に、メイン側シフトクロックmCLKに同期して、ポインタ(“H”レベルの信号)が、シフトされる。メイン側ポインタmPTがセットされたLCD50に関して、グローバルデータパス70とカラムアドレスMAに対応するカラムユニットCUとの間で、データが転送される。
不良カラムアドレスCRDとこれから選択されるアドレス信号Ainとの比較及び判定結果に基づいて、次に選択されるカラムアドレス(例えば、アドレスMAj)が不良であると判定された場合、判定信号に基づいて、メイン側シフトクロックmCLKが“H”レベルから“L”レベルに立ち下がるタイミングにおいて、リダンダンシ側ローカルデータパス75Rが、セレクタ69によって、グローバルデータパス70に電気的に接続される。この一方、メイン側ローカルデータパス75がグローバルデータパス70から電気的に分離される。
リダンダンシ側セット信号rSETが“H”レベルから“L”レベルに遷移される期間において、リダンダンシ側シフトクロックrCLKが、カラム制御信号生成ユニット384によって、“L”レベルから“H”レベルにされる。“H”レベルのリダンダンシ側シフトクロックrCLKによって、リダンダンシ側ポインタrPTが、所定のリダンダンシLCD50Rへシフトする。また、リダンダンシ側ポインタrPTが新たに生成され、不良カラムアドレスCRDと置換されるリダンダンシアドレスRDのリダンダンシLCD50Rにセットされてもよい。
そして、上述のメイン領域11の不良カラムアドレスCRDと置換されるリダンダンシ領域12のリダンダンシアドレス(カラムブロック及びカラムユニット)に対する動作と同様に、ポインタrPTがセットされたリダンダンシLCD50に関して、グローバルデータパス70と不良カラムアドレスCRDに関連付けられたリダンダンシアドレスRDのリダンダンシユニットRUと間で、データが入力される、又は、データが出力される。
尚、リダンダンシ領域12の使用されないリダンダンシアドレスRD(リダンダンシカラムブロックRB又はリダンダンシユニットRU)に関して、不良カラムアドレス格納ラッチ641に、1ビット又は2ビットで示されるフラグデータを格納することによって、使用されないリダンダンシアドレス(リダンダンシユニット)を判別できる。このフラグデータに基づいて、未使用を示すフラグデータが格納された不良カラムアドレス格納ラッチ641に対応したリダンダンシアドレスRDがアクセスされないように、リダンダンシ領域12に対する動作を制御できる。
以上の動作が、外部から要求された所定のサイズのデータの入力又は出力が完了するまで、繰り返し行われる。上述のように、データの書き込み時において、所定のサイズのデータが揃った後、各カラムユニットのラッチユニットに格納されたデータが、メイン領域11及びリダンダンシ領域12の複数のメモリセルMCに一括に書き込まれる。データの読み出し時において、所定のサイズのデータが入出力バッファ7内に揃った後、入出力バッファ7からフラッシュメモリ100の外部へ転送される。
以上のように、本実施形態のフラッシュメモリに関して、メモリセルアレイ1のメイン領域11とリダンダンシ領域12とにおいて、互いに独立なポインタrPT,mPTを用いて、メイン領域11及びリダンダンシ領域12のカラムの動作が、制御される。
これによって、本実施形態の半導体メモリの制御方法によれば、メモリの動作特性が向上される。
(c) まとめ
第1の実施形態のフラッシュメモリは、メモリセルアレイのメイン領域11とリダンダンシ領域12とを、互いに独立なポインタmPT,rPTを用いて、メイン領域11及びリダンダンシ領域12のカラム(カラムブロック及びカラムユニット)を制御する。
本実施形態のように、メモリセルアレイのカラムの制御がポインタによって実行されることによって、データの転送が高速化される。
本実施形態において、メイン領域11のカラムの制御は、所定の周波数のシフトクロックmCLKを用いてポインタmPTをシフトさせ、所定の順序で、選択及び活性化されるカラムアドレスMAを切り替えることによって、実行される。一方、リダンダンシ領域12のカラムの制御は、メイン領域11内のこれから選択されるカラムアドレスMAが不良カラムアドレスCRDであった場合に、不良カラムアドレスCRDと置換されるリダンダンシアドレスRDに、メイン領域11側のポインタmPTとは独立に制御されるポインタrPTをセットすることによって、実行される。
そして、本実施形態のフラッシュメモリは、選択されるカラムアドレスが正常であるか不良であるかに応じて、メイン領域11とリダンダンシ領域12に対して独立に設けられたローカルデータパス75,75Rと外部に接続されるグローバルデータパス70との接続を切り替える。これによって、メイン領域11側の制御単位(カラムブロック及びカラムユニット)CB,CUとグローバルデータパス70との間のデータ転送、又は、リダンダンシ領域12側の制御単位(リダンダンシブロック及びリダンダンシユニット)RB,RUとグローバルデータパス70との間のデータ転送が、実行される。置換処理によってリダンダンシ領域12がグローバルデータパス70に接続された場合、データ転送は、メイン領域11の回路を経由せずに、リダンダンシ領域12側の制御単位RB,CUとグローバルデータパス70との間で、直接実行される。
このように、本実施形態のフラッシュメモリにおいて、メイン領域11及びメイン領域11側の回路に不良があった場合に、メイン領域11の制御単位CB,CUとリダンダンシ領域12の制御単位RB,RUとが置換処理され、メイン領域11内の不良が救済される。
一般的なフラッシュメモリにおいて、メイン領域の制御単位内の不良と置換されたリダンダンシ領域の制御単位とデータパスとの間においてデータが転送される場合、リダンダンシ領域側の制御単位からのデータは、対応するメイン領域側の制御単位内の回路(例えば、ラッチ)に一度出力され、メイン領域側のラッチに出力されたリダンダンシ領域側からのデータが、データパスに転送される。また、リダンダンシ領域側の制御単位内にデータを入力される場合においても、データパスからのデータが、メイン領域側のラッチに一度入力された後、メイン領域側のラッチを経由して、リダンダンシ領域の制御単位内にデータが転送される。
この場合、リダンダンシ領域側とデータパスとの間のデータの転送は、メイン領域側のラッチを経由して実行されるため、リダンダンシ領域12の制御単位に対するデータの入出力時、メイン領域とリダンダンシ領域との間のデータ転送のための期間に応じて、フラッシュメモリの動作速度が制限される可能性がある。
これに対して、本実施形態のフラッシュメモリ100において、メイン領域11の制御単位(例えば、カラムユニットCU)の回路(例えば、ラッチ311)とリダンダンシ領域12の制御単位(例えば、リダンダンシユニットRU)の回路(例えば、ラッチ)との間のデータの転送が、実行されない。そして、本実施形態のフラッシュメモリ100において、メイン領域11の制御単位CB,CUを経由せずに、リダンダンシ領域12内の制御単位RB,RUと外部に接続されたデータパスとの間で、直接データが転送される。
それゆえ、本実施形態のフラッシュメモリは、メイン領域11とリダンダンシ領域12との間のデータ転送による動作の遅延は、ほとんど生じない。
リダンダンシ領域12の制御単位RB,RUとグローバルデータパス70との間のデータ転送が、メイン領域11側の回路を経由して実行される場合、メイン領域11側の回路、例えば、データ保持用のラッチに不良があった場合に、フラッシュメモリ全体が不良と扱われる可能性がある。
本実施形態のフラッシュメモリによれば、メイン領域11側の制御単位CB,CUに対応するラッチ(ラッチユニット)311に不良が生じた場合であっても、データはリダンダンシ領域12側の制御単位RB,RUとグローバルデータパス70との間で直接転送されるので、フラッシュメモリ全体(チップ)が不良と判定されない
例えば、メイン領域11が、8kバイト程度の記憶容量を有する場合、リダンダンシ領域12の記憶容量は、128バイト程度以下に設定される。この場合、メイン領域11に対するアクセスのために、14本のアドレスデコード線が設けられるのに対して、リダンダンシ領域12に対するアクセスのために、7本程度のアドレスデコード線が設けられる。これによって、リダンダンシ領域12に対してポインタrPTを直接セットする場合においても、動作タイミングにマージンを確保される。
フラッシュメモリの動作におけるタイミングのマージンを考慮すると、メイン領域11側の制御単位にアクセスされた後に、リダンダンシ領域側の制御単位にポインタを直接セットし、再度メイン領域にポインタを直接セットし直す動作は、困難な場合がある。
これに対して、本実施形態のフラッシュメモリにおいて、メイン領域11に対するポインタmPTのセットは、最初のアドレス信号(外部アドレス信号)ADRがポインタ/リダンダンシ制御回路38内に入力されたときのみで、メイン領域11側の制御単位にセットされたポインタmPTは、所定の周波数のシフトクロックrCLKに同期して、不良の制御単位CB,CUが選択されているか否かに依存せずに、メイン領域11側の複数の制御単位CB,CU間を順次シフトする。
このように、本実施形態のフラッシュメモリにおいて、リダンダンシ領域12にポインタrPTがセットされた後に、メイン領域11に対してポインタmPTをセットし直す動作はない。すなわち、メイン領域11側のポインタmPTは、リダンダンシ領域12側のポインタrPTの動作によらず、独立して、シフトクロックmCLKの周期で制御単位CB,CUを順次選択する。そのため、本実施形態のフラッシュメモリは、リダンダンシ領域12に対して直接ポインタをセットするためのマージンが確保されていればよい。それゆえ、本実施形態のフラッシュメモリによれば、タイミングのマージンを比較的容易に確保でき、且つ、動作も高速化できる。
フラッシュメモリの動作中において、ラッチに記憶された不良情報(例えば、アイソレーション情報)に基づいてメイン領域内の不良を確認しながら、メイン領域側の制御単位に対するデータの入出力を実行し、不良のカラムユニットをスキップする(選択しない)ように、フラッシュメモリの動作が制御される場合がある。ここで、アイソレーション情報を記憶するラッチをアイソレーションラッチと称する。
チップ出荷後の事後的に発生するアイソレーションラッチの故障又はアイソレーションラッチのデータ保持状態が安定しない不具合が、生じた場合を考える。事後的に発生する不良のアイソレーションラッチに対応した制御単位だけでなく、不良のアイソレーションラッチに対応した制御単位に続いて選択される全ての制御単位において、入力又は出力されるべきデータと制御単位との対応関係が、1つずつずれる。連続した多数の制御単位においてデータと制御単位との対応関係がずれると、ECC(Error Checking and Correcting)によって、データ内の誤りを訂正できなくなる可能性がある。
本実施形態のフラッシュメモリにおいて、不良の救済処理によってリダンダンシ領域12がアクセス状態であっても、メイン領域11に対して、リダンダンシ領域12に対する制御とは独立して、制御単位の選択(ポインタのシフト)が所定のサイクルで実行されている。それゆえ、本実施形態のフラッシュメモリは、入出力されるデータとアドレスとの対応関係のずれは、生じにくい。
また、本実施形態のフラッシュメモリのように、互いに独立なポインタmPT,rPTを用いて、メモリセルアレイ1のメイン領域11及びリダンダンシ領域12及びそれらに対応する回路を制御することによって、比較的簡便な回路で、メイン領域11の不良を救済できる。それゆえ、本実施形態のフラッシュメモリによれば、フラッシュメモリ内の不良を救済するための回路規模を小さくでき、フラッシュメモリのチップの面積を小さくできる。
以上のように、本実施形態のフラッシュメモリは、フラッシュメモリの動作特性を向上できる。
(2) 第2の実施形態
図8乃至図10を参照して、第2の実施形態の半導体メモリ(例えば、フラッシュメモリ)について、説明する。本実施形態において、第1の実施形態のフラッシュメモリが含む構成と実質的に同じ構成については、同じ符号を付す。本実施形態のフラッシュメモリにおいて、第1の実施形態のフラッシュメモリと実質的に同じ構成、同じ機能或いは同じ動作に関する説明は、必要に応じて行う。
図8は、第2の実施形態のフラッシュメモリのポインタ/リダンダンシ制御回路38の内部構成を示す模式図である。
メモリセルアレイ1のリダンダンシ領域12及びリダンダンシ領域12に対応する各回路に関して、昇順又は降順のような、リダンダンシ領域12内のカラムアドレス(リダンダンシユニット又はリダンダンシカラムブロック)の選択順序の規定が設定されていない場合がある。
リダンダンシアドレスRDの選択順序が規定されていない場合、どのようなタイミングにおいてもリダンダンシ領域12側のLCD50R内にポインタをセットすることが可能である。そのため、リダンダンシアドレスRDにポインタがセットされるまで、リダンダンシ領域12側のセット信号rSETの信号レベルが、常に“H”レベルに維持される。そして、選択されるメイン領域11のカラムアドレスMAと不良カラムアドレスCRDとが一致した場合に、リダンダンシ領域12側のポインタrPTが、リダンダンシアドレスRDに、逐次セットされる。
図8に示される第2の実施形態のフラッシュメモリは、リダンダンシ領域12に対するポインタrPTのセットを制御する回路(以下では、リダンダンシ側ポインタ設定回路とよぶ)389を含む。
リダンダンシ側ポインタ設定回路389は、メイン領域11側のスタートアドレスを示す外部アドレス信号ADRに基づいて、リダンダンシ領域12においてポインタrPTを最初にセットされるリダンダンシアドレスRDを、判別する。その判別結果に基づいて、メイン領域11及びリダンダンシ領域12のカラムユニットに対するデータの入出力の開始前において、所定のリダンダンシLCD50Rにリダンダンシ側ポインタrPTがセットされる。
また、本実施形態において、所定の順序で選択されるメモリ領域11側のアドレスに対して、アドレスの配列に従った所定の順序でリダンダンシアドレスRDが所定の順序の不良カラムアドレスCRDに関連付けられる。これによって、リダンダンシ領域12側に関しても、所定の順序に基づいたリダンダンシ側ポインタrPTのシフトによって、リダンダンシ領域12の置換単位としての各リダンダンシアドレスが、一方向に順次選択され、データパス70に接続される。
本実施形態のフラッシュメモリは、メイン領域11の選択されるカラムアドレスが不良カラムアドレスである場合に、設定された順序に基づいて、メイン領域11内の不良カラムアドレスCRDとリダンダンシ領域12内のリダンダンシアドレスRD(置換単位又は救済単位)とが、置換及び選択される。
第2の実施形態のフラッシュメモリにおいて、リダンダンシ領域12のリダンダンシアドレス(カラムブロックRB、カラムユニットRU、及びリダンダンシLCD50R)に対して選択される順序を規定し、メモリセルアレイ1のメイン領域11に対するアクセスとリダンダンシ領域12に対するアクセスとをそれぞれ実行する例について、説明する。
図9は、メイン領域11内の不良カラムアドレスCRDとリダンダンシ領域12内のリダンダンシアドレスRDとの対応関係の一例を示している。
図9に示されるように、本実施形態において、メイン領域11内の複数のアドレスにおいて、“3”を示すカラムアドレス(カラムユニット)MA3、“6”を示すカラムアドレスMA6、“7”を示すカラムアドレスMA7及び“9”を示すカラムアドレスMA9が、不良カラムアドレスCRDである場合について、述べる。例えば、“3”、“6”、“7”及び“9”のカラムアドレスMA3、MA6,MA7,MA9は、メイン領域11の先頭のカラムアドレス(“0”のカラムアドレス)MA0から数えて、4番目、7番目、8番目及び10番目に選択されるアドレスにそれぞれ対応する。1つのカラムアドレスMAは、1つのカラムユニットCUに対応する。
本実施形態において、不良カラムアドレス格納ラッチ641は、例えば、不良カラムアドレスに対応して、昇順になるように、ソーティングされる。ソーティングされた不良カラムアドレス格納ラッチ641が、置換単位(救済単位)であるリダンダンシアドレスRD(リダンダンシカラムブロックRB又はリダンダンシユニットRU)に、それぞれ対応付けられている。
リダンダンシ領域12内の複数のリダンダンシアドレスRDにおいて、1番目のリダンダンシアドレスRD0は、“3”のカラムアドレスMA3(=CRD0)の置換対象として用いられ、2番目のリダンダンシアドレスRD1は、“6”のカラムアドレスMA6(=CRD1)の置換対象として用いられ、3番目のリダンダンシアドレスRD2は、“7”のカラムアドレスMA7(=CRD2)の置換対象として用いられ、4番目のリダンダンシアドレスRD3は、“9”のカラムアドレスMA9(=CRD3)の置換対象として用いられている。1つのリダンダンシアドレスRDは、1つのリダンダンシユニットRUに対応している。例えば、隣接するリダンダンシアドレスRDのリダンダンシユニットRUは、異なるリダンダンシカラムブロックRBに属し、異なるリダンダンシLCD50Dによって、制御される。
尚、不良カラムアドレス格納ラッチ641のソーティングに関しては、不良アドレス情報内の不良カラムアドレスCRDを並び替えることによって、比較的容易に実行される。不良カラムアドレスCRDを、格納ラッチ641に格納する際に、内部制御回路8によって自動的にソーティングが実行されてもよいし、不良カラムアドレスCRDに基づいて外部(例えば、メモリコントローラ又はホスト)からソーティングが実行されてもよい。また、フラッシュメモリの内部処理によって自動的に実行されたソーティングに対して、外部からソーティング結果を書き換えることもできる。
フラッシュメモリのユーザーの使用時において、メイン領域11内のカラムに不良が生じた場合であっても、メモリコントローラ120又はホストデバイス120によって、不良を含むカラムブロックCB及びカラムユニットCUに対応するカラムアドレスが、不良カラムアドレスとして新たに追加され、不良カラムアドレスとリダンダンシアドレスとの関連付けのために再びソーティングされることが、可能である。
図8に示されるように、ポインタ/リダンダンシ制御回路38は、リダンダンシ側ポインタ設定回路389を含んでいる。リダンダンシ側ポインタ設定回路389は、複数の比較ユニット639を含む比較回路63Zと、計算ユニット62とを有している。
リダンダンシ側ポインタ設定回路389内の各比較ユニット639は、フラッシュメモリの動作のスタートアドレスを示す外部アドレス信号ADRと不良カラムアドレスCRDとの大小関係を比較する。
リダンダンシ側ポインタ設定回路389が用いる不良カラムアドレスCRDは、置換判定回路382内の不良カラムアドレス格納ラッチ641からリダンダンシ側ポインタ設定回路389内の比較ユニット639へ、それぞれ転送される。尚、置換判定回路382内の不良カラムアドレス格納ラッチ641とは別途に追加されたラッチが、リダンダンシ側ポインタ設定回路389の比較ユニット639に対応するように、設けられてもよい。
比較ユニット639は、不良カラムアドレスCRD(不良カラムアドレス格納ラッチ641)と一対一で対応するように、リダンダンシ側ポインタ設定回路389内の比較回路63Z内に、設けられている。
リダンダンシ側ポインタ設定回路389内の比較ユニット639は、外部アドレス信号ADRが不良カラムアドレスCRDより大きいか否か判定する。比較ユニット639は、外部アドレス信号ADRの値が不良カラムアドレスCRDの値以下である場合、“L(0)”レベルの信号を、後段の計算ユニット62へ出力する。比較ユニット639は、外部アドレス信号ADRの値が不良カラムアドレスCRDの値より大きい場合、“H(1)”レベルの信号を、後段の計算ユニット62へ出力する。
計算ユニット62は、例えば、カウンタによって形成されている。
計算ユニットとしてのカウンタ62は、外部アドレス信号ADRと不良カラムアドレスCRDとの比較結果のうち、外部アドレス信号ADRが不良カラムアドレスより大きい比較結果の個数(“H”レベルの信号の個数)を、カウントする。カウンタ62は、計算結果(“H”のカウント数)を、カラム制御信号生成ユニット384に出力する。
カウンタ62からの計算結果に基づいて、リダンダンシ側ポインタ設定回路389は、制御信号SRPを出力する。
カラム制御信号生成ユニット384は、制御信号SRPに基づいて、カウンタ62のカウント数に対応したリダンダンシアドレスRDにリダンダンシ側ポインタrPTをセットするために、最初に選択されるリダンダンシアドレスRDを制御する所定のリダンダンシLCD50Rに、“H”レベルの信号を出力し、“H”レベルの信号を保持させる。
カラム制御信号生成ユニット384は、リダンダンシLCD50Rに、“H”レベルの信号を保持させるために、例えば、リダンダンシ側シフトクロックrCLKを、“H”レベルにする。但し、リダンダンシ側シフトクロックrCLKが“L”レベルに設定された状態において、リダンダンシLCD50Rに、“H”レベルの信号が保持させてもよい。
制御信号SRPに基づいて、リダンダンシ側セット信号rSETは、リダンダンシ側ポインタrPTをセットするタイミングで、カラム制御信号生成ユニット38によって、“Lレベルから”“H”レベルにされる。そして、リダンダンシ側ポインタrPTが所定のリダンダンシアドレスRDにセットされた後、リダンダンシ側セット信号rSETは、“L”レベルにされる。
図10を用いて、第2の実施形態のフラッシュメモリの動作について、説明する。図10は、本実施形態のフラッシュメモリの動作例を説明するためのタイミングチャートを示している。
本実施形態では、メイン領域11における“5”を示すカラムアドレスMA5が、外部アドレス信号ADRとして、カラム制御回路3内に入力された場合を例にあげて、説明する。
リダンダンシアドレスRDと不良カラムアドレスCRDとの対応関係は、例えば、図9に示されように、あらかじめソーティングされ、例えば、カラムアドレスMAの昇順に、不良カラムアドレスCRD0,CRD1,CRD2・・・・が、リダンダンシアドレスRD0,RD1,RD2・・・に、それぞれ関連づけられている。
メイン領域11の“5”のカラムアドレスMA5を示す外部アドレス信号(スタートアドレス)ADRが、ポインタ/リダンダンシ制御回路38内に入力される。
“5”の外部アドレス信号ADRは、アドレス生成ユニット381を経由して、置換判定部382に内部アドレス信号(カラムアドレス)Ainとして入力されると共に、リダンダンシ側ポインタ設定回路389の比較回路63Zに入力される。そして、リダンダンシ側ポインタ設定回路389の比較回路63Z内の各比較ユニット639によって、“5”の外部アドレス信号ADRと不良カラムアドレスCRD0,CRD1,CRD2,CRD3との大小関係が、それぞれ比較される。
外部アドレス信号ADRと不良カラムアドレスCRD0として“3”のカラムアドレスとの比較に関して、アドレス信号ADRの値である“5”は、不良カラムアドレスCRD0の値である“3”より大きい。それゆえ、不良カラムアドレスCRD0に対応する比較ユニット639において、ADR>CRDの関係を有する。この場合において、外部アドレス信号ADRより小さい不良カラムアドレスCRDを格納するラッチ641に対応する比較ユニット639は、“H(1)”の比較結果を出力する。
外部アドレス信号ADRと不良カラムアドレスCRD1としての“6”のカラムアドレスMA6との比較に関して、アドレス信号ADRの値の“5”は、不良カラムアドレスCRD1の値の“6”より小さい。それゆえ、不良カラムアドレスCRD1に対応する比較ユニット639において、ADR>CRDの関係を有さない。この場合において外部アドレス信号ADRより大きい不良カラムアドレスCRDを格納するラッチ641に対応する比較ユニット639は、“L(0)”の比較結果を出力する。
また、外部アドレス信号ADRと不良カラムアドレスCRD2,CRD3としての“7”及び“9”との比較のそれぞれに関しても、不良カラムアドレスCRD1に対応する比較ユニット639と同様に、外部アドレス信号ADRの値の“5”は、不良カラムアドレスCRD2,CRD3の値の“7”及び“9”よりそれぞれ小さい。それゆえ、不良カラムアドレスCRD2,CRD3に対応する各比較ユニット639において、Ain>CRDの関係が成立せず、各比較ユニット639は、“L(0)”の比較結果を、それぞれ出力する。
外部アドレス信号ADRと各不良カラムアドレスCRDとの比較結果が、後段のカウンタ62に出力される。カウンタ62は、比較ユニット639からの複数の比較結果のうち、“H(1)”レベルの信号の個数をカウントする、換言すると、比較ユニット639からの出力である“1”又は“0”の加算処理を行う。
上述のように、4つの比較結果のうち、1つの出力が“1”、残りの出力が“0”である場合、カウンタ62の出力(“1”のカウント結果、加算結果)は、1となる。
カウンタ62の出力としての“1(0001)”の値は、複数のリダンダンシアドレスRDのうち、2番目のリダンダンシアドレスRD1に、関連付けられている。
それゆえ、リダンダンシ領域12側に対するポインタrPTをセットするために、リダンダンシ側セット信号rSETは、制御信号SRPに基づいて、“L”レベルから“H”に設定される。
リダンダンシ側ポインタ設定回路389からの制御信号SRPに基づいて、2番目のリダンダンシアドレスRD1にポインタrPTをセットするために、“H”レベルの信号が、2番目のリダンダンシアドレスRD1に対応するリダンダンシLCD50Rに、出力される。これによって、リダンダンシアドレスRDに対応するリダンダンシLCD50Rのレジスタ501Rが、“H”レベルの信号を保持する。
リダンダンシポインタrPTが所定のリダンダンシアドレスRDにセットされた後、リダンダンシ側セット信号rSETは、“H”レベルから“L”レベルに設定され、入力された外部アドレス信号ADR(又はコマンド)に対応した動作期間中において“L”レベル状態が継続される。
また、“5”の外部アドレス信号ADRは、リダンダンシ側ポインタ設定回路389に入力されるのと実質的に同時に、置換判定回路382の各比較ユニット631Zに入力され、第1の実施形態で述べた動作と実質的に同じ動作が実行される。
リダンダンシ側ポインタ設定回路389の動作と実質的に同時に、スタートアドレスとしての外部アドレス信号ADRが、置換判定回路382内において、不良カラムアドレスCRD0,CRD1,CRD2,CRD3と、それぞれ比較される。
スタートアドレスとしての外部アドレス信号ADRに関して、“5”のカラムアドレスMAに対応するメイン領域11のカラムユニットCUは、置換判定回路382の判定ユニット65によって、不良を含まないカラムアドレスと判定される。メイン領域11内において、アドレスMA5に対応するLCD50のレジスタ501に、“H”レベルの信号が入力され、外部アドレス信号(スタートアドレス)ADRに対応するカラムブロックCB及びカラムユニットCUに、メイン側ポインタmPTがセットされる。
外部アドレス信号ADRと不良カラムアドレスCRDとの判定結果に基づいて、セレクタ69は、メイン側ローカルデータパス75とグローバルデータパス70とを接続する。
一方、リダンダンシ側ローカルデータパス75Rは、セレクタ69によって、グローバルデータパス70から電気的に分離される。それゆえ、リダンダンシ領域12側のリダンダンシアドレスRDがアクセスされる前に、リダンダンシ側ポインタrPTのセット状態であることに対応する“H”レベルの信号が、リダンダンシLCD50Rに、あらかじめ保持された場合であっても、ポインタrPTがセットされたリダンダンシアドレスRDに対応するリダンダンシユニットRUが、グローバルデータパス70に接続されることはない。
したがって、リダンダンシ側ポインタrPTがリダンダンシ領域12側にあらかじめセットされていたとしても、スタートアドレスADRに対応する正常なカラムユニットCUのアクセスに、ポインタrPTがセットされたリダンダンシユニットRUが悪影響を及ぼすことはない。
スタートアドレスADR(“5”)に対応するカラムユニットCUのデータの入力又は出力が完了した後、メイン領域11側にセットされたメイン側ポインタmPTは、所定の周波数のメイン側シフトクロックmCLKに同期して、メインカラムデコーダ350のLCD50間において、順次シフトされる。
置換判定回路382は、インクリメントされたカラムアドレス(内部アドレス信号)Ainに対して、上述のカラムアドレスAinと不良カラムアドレスCRDとの比較を、順次実行する。例えば、リダンダンシ側ポインタ設定回路389は、外部アドレス信号ADRに対応するカラムアドレスと不良カラムアドレスCRDとの比較を完了すると、次の外部アドレス信号ADRが入力されるまで駆動されず、インクリメントされたカラムアドレスAinに対する比較処理を実行しない。
メイン領域11内の“6”に対応するカラムアドレスMA6が動作対象となる場合、“6”のカラムアドレスMA6は不良カラムアドレスCRD1であるため、置換判定回路382の判定ユニット651の出力信号は、置換処理を示す“1”となる。これによって、リダンダンシ側シフトクロックrCLKが“H”レベルに遷移し、リダンダンシカラムユニットCUに対するアクセスが実行される。
第1の実施形態で述べた動作と実質的に同様に、“6”のカラムアドレス(不良カラムアドレス)に関連付けられたリダンダンシアドレスRD1のリダンダンシユニットRUが、セレクタ69によってグローバルデータパス70に電気的に接続される。そして、リダンダンシユニットRUとグローバルデータパス70との間で、データDTが直接転送される。
“6”のカラムアドレスと置換されたリダンダンシユニットRUに対するデータの入力又は出力が完了した後、リダンダンシ側シフトクロックrCLKは、“H”レベルから“L”レベルに遷移される。
尚、上述のように、メイン領域11内の不良カラムユニットは、メイン側ポインタmPTがセットされていても、グローバルデータパス70に接続されない。置換されたリダンダンシユニットRUに対するアクセス後、メイン領域11内の不良カラムユニットCUにセットされたポインタmPTは、シフトクロックmCLKに同期して、次のカラムアドレスに、シフトされる。シフトされたポインタmPTが、次段のLCD50にセットされる。
図9に示されるように、メイン領域11内において、“6”に連続する“7”のカラムアドレスMA7に対応するカラムユニットCUが、不良である場合、2つのリダンダンシユニットが連続してアクセスの対象となる。
置換判定回路382による判定結果に基づいて、リダンダンシ側シフトクロックrCLKの信号レベルが“H”レベルに遷移され、そのリダンダンシ側シフトクロックrCLに同期して、隣接するリダンダンシLCD50R間において、リダンダンシ側ポインタrPTに対応する“H”レベルの信号がシフトする。
本実施形態において、所定の順序で不良カラムアドレスCRDとリダンダンシアドレスRDとが関連付けられ、リダンダンシアドレスRDの選択順序があらかじめ設定されている。それゆえ、リダンダンシ側セット信号rSETが“H”レベルに設定されること無しに、リダンダンシ領域12側のポインタrPTは、リダンダンシ領域12側のシフトクロックrCLKのみで、隣接するリダンダンシアドレスRDにシフトする。
上述の動作と同様に、“7”のカラムアドレスMA7の不良カラムユニットと置換されたリダンダンシユニットRUがアクセスされ、リダンダンシユニットRUに対するデータDTの入力又は出力が実行される。
この後、第1の実施形態で述べた動作と同様に、内部アドレス信号(インクリメントされたカラムアドレス)Ainと不良カラムアドレスCRDとの比較結果に基づいて、メイン領域11のカラムユニットCU及びリダンダンシ領域12のリダンダンシユニットRUのいずれか一方が、セレクタ69を介して、グローバルデータパス70に電気的に直接接続される。
尚、図9に示される例において、外部アドレス信号ADRが、複数の不良カラムアドレスCRDの中で最も小さい不良カラムアドレスCRD0(ここでは、“3”)より小さい場合、リダンダンシ側ポインタ設定回路389内のすべての比較ユニット639に関して、ADR>CRDの関係を有さない。それゆえ、比較ユニット639の出力(比較結果)は、全て“0(L)”レベルとなる。この場合、カウンタ62の出力(カウントされた“H”の個数)は“0(0000)”となる。カウンタ62の出力が“0”の場合、リダンダンシ側ポインタrPTは、最も小さい不良カラムアドレスCRD0との置換対象となるリダンダンシアドレスRD0にポインタがセットされ、“H”レベルの信号がそのリダンダンシアドレスRD0に対応するリダンダンシLCD50Rに保持される。
例えば、“8”の外部アドレス信号ADRが入力された場合、リダンダンシ側ポインタ設定回路389の各比較ユニット639の出力は、“1”が3つ、“0”が1つとなり、カウンタ62の計算結果は、“3(0011)”となる。これによって、“9”の不良カラムアドレスCRD3に関連付けられたリダンダンシアドレスRD3に、リダンダンシ側ポインタrPTがセットされる。
不良カラムアドレスCRDと一致する外部アドレス信号ADRが入力された場合(ここでは、“7”のアドレス信号が入力された場合)、リダンダンシ側ポインタ設定回路389の各比較ユニット639の出力は、“1”が2つ、“0”が2つとなり、カウンタ62の計算結果は、“2(0010)”となる。この計算結果は、“7”のカラムアドレスCRD2に関連付けられたリダンダンシアドレスRD2を、示す。また、スタートアドレスとしての外部アドレス信号ADRに対する置換判定回路382の判定結果も、不良カラムアドレスCRD2が入力されたことを示す。これによって、リダンダンシ側ポインタ設定回路389の制御信号SRPによって、リダンダンシアドレスRDにポインタがセットされ、置換判定回路382及びカラム制御信号生成ユニット384によって、リダンダンシ側シフトクロックrCLKが生成される。
それゆえ、スタートアドレスが不良カラムアドレスCRDである場合であっても、本実施形態のフラッシュメモリが含む置換判定回路382及びリダンダンシ側ポインタ設定回路389によって、リダンダンシ領域12側にポインタrPTをセットすることができ、不良カラムアドレスCRDとリダンダンシアドレスRDとを置換できる。
以上のように、本実施形態において、不良カラムアドレスCRDとリダンダンシアドレスRDとがソーティングされ、不良カラムアドレスCRDの配列に応じて、リダンダンシアドレスRDの選択順序が規定される。リダンダンシアドレスRDの選択順序を規定した状態で、これから選択されるアドレス(例えば、ある動作シーケンスで最初に選択されるアドレス)ADRと不良カラムアドレスCRDとを比較することによって、最初にアクセス対象となるリダンダンシアドレスRDが、置換処理によって活性化される前に、そのリダンダンシアドレスRDに対してポインタrPTをあらかじめセットすることができる。
これによって、本実施形態のフラッシュメモリは、リダンダンシ領域12に対するポインタrPTの制御を、メイン領域12に対するポインタmPTの制御と同様に、クロックrCLKに同期したポインタrPTのシフトによって実行でき、シフトされたポインタrPTがセットされたリダンダンシアドレスRDに、アクセスできる。
したがって、第2の実施形態の半導体メモリ及びその制御方法によれば、第1の実施形態と同様の効果が得られると共に、半導体メモリの動作特性を向上できる。
(3) 第3の実施形態
図11乃至図14を参照して、第3の実施形態の半導体メモリ(例えば、フラッシュメモリ)について、説明する。本実施形態のフラッシュメモリにおいて、第1及び第2の実施形態のフラッシュメモリと実質的に同じ構成、機能及び動作に関する説明は、必要に応じて行う。
図11は、第3の実施形態のフラッシュメモリのポインタ/リダンダンシ制御回路の内部構成を示す模式図である。
リダンダンシ領域12が、不良セル、不良ビット線、不良センスユニット301、或いは、不良ラッチユニット319を含む可能性がある。
図11に示されるように、本実施形態のフラッシュメモリは、リダンダンシ領域12内のリダンダンシアドレス(リダンダンシカラムブロック又はリダンダンシユニット)RDの正常/不良を示すフラグデータFLGが、リダンダンシアドレスRDに関連付けられた不良カラムアドレス格納ラッチ641に付加される。例えば、リダンダンシ領域12のリダンダンシアドレスRDの良/不良を示すフラグデータ(不良リダンダンシ情報)は、メモリコントローラ120又はホストデバイス120などの外部装置に通知しないことができる。
本実施形態のフラッシュメモリは、フラグデータFLGを用いて、リダンダンシ領域12が不良のリダンダンシアドレスRDを含む場合においても、メイン領域11とリダンダンシ領域12とで互いに独立したポインタmPT,rPTによって、メイン領域11のカラムユニットCUとリダンダンシ領域12のリダンダンシユニットRUとを、置換する。
図12は、メイン領域11内の不良カラムアドレスCRDとリダンダンシ領域12内のリダンダンシアドレスRDとの対応関係の一例を示す模式図である。
図12に示されるように、リダンダンシ領域12内において、2番目のリダンダンシアドレスRD1が不良である場合を例示して、本実施形態のフラッシュメモリについて説明する。図12において、メイン領域11内において、“3”、“7”及び“9”のカラムアドレスMA3,MA7,MA9が、不良カラムアドレスCRD0,CRD1,CRD2の場合を例示している。
例えば、1番目のリダンダンシアドレスRD0が、“3”のカラムアドレスMA3(CRD0)に関連付けられ、3番目のリダンダンシアドレスRD2が、“7”のカラムアドレスMA7(CRD1)に関連付けられ、4番目のリダンダンシアドレスRD3が、“9”のカラムアドレスMA9(CRD2)に関連付けられている。これによって、メイン領域11内の不良カラムアドレスCRDが、リダンダンシ領域12内の正常なリダンダンシアドレスRDと置換される。
また、不良リダンダンシアドレスRDに関連付けられた不良カラムアドレス格納ラッチ641Z内には、ダミーアドレスDAが格納される。例えば、ダミーアドレスDAには、不良リダンダンシアドレスRDの前後のリダンダンシアドレスRDに対応するカラムアドレスMA間のアドレスのうちいずれかのアドレスが、用いられる。すなわち、不良リダンダンシアドレスRDの前後のリダンダンシアドレスRDに対応するカラムアドレスMAを“Mn”、“Mm”(Mn、Mmは0以上の整数で、Mmは“2”よりも2以上大きい)であるとすると、Mn<ダミーアドレスDA<Mmの大小関係となる。
図11及び図12に示されるように、本実施形態のフラッシュメモリにおいて、1ビット又は2ビット以上のフラグデータFLGが、各リダンダンシアドレスRDに対応する不良カラムアドレス格納ラッチ641に、追加される。各不良カラムアドレス格納ラッチ641Zは、メイン領域11の不良カラムアドレスCRDとともに、リダンダンシ領域12の不良リダンダンシ情報をフラグデータFLGとして格納している。
本実施形態において、“0”のフラグデータFLGが、不良を含まないリダンダンシアドレス(ここでは、リダンダンシアドレスRD0,RD2,RD3)に関連付けられた不良カラムアドレス格納ラッチ641Zに、格納される。“1”のフラグデータFLGが、不良のリダンダンシアドレス(ここでは、リダンダンシアドレスRD1)に関連付けられた不良カラムアドレス格納ラッチ641Zに、格納される。
内部アドレス信号(カラムアドレス)Ainと不良カラムアドレスCRDとの比較結果に加えて、“0”又は“1”のフラグデータFLGに基づいて、リダンダンシアドレスRAに対応するリダンダンシユニットRUとデータパス70との接続関係が制御される。
図13は、フラグデータFLGを用いてリダンダンシ領域12の動作を制御する置換判定回路382の内部構成の一例を示している。
例えば、図13に示されるように、フラグデータFLGは、比較ユニット631の出力とともに、ANDゲート649に入力される。比較ユニット631の出力(アドレスの比較結果)とフラグデータFLGとのAND演算(論理和)によって、不良リダンダンシユニットがデータパス70に接続されないように、制御される。
判定ユニット65は、比較ユニット631の出力を演算する計算ユニット(NORゲートを含む回路)651に加えて、ANDゲート649の出力を計算/検知する回路(以下では、不良リダンダンシアドレス判定ユニットとよぶ)659を含んでいる。
上述のように、内部アドレス信号Ainが、不良カラムアドレス格納ラッチ641Z内の不良カラムアドレスCRDと一致しない場合において、比較ユニット631の比較結果が“0”となるので、フラグデータが“0”又“1”であっても、ANDゲート649の出力は、“0”となる。
内部アドレス信号Ainが示しているカラムアドレスが、不良カラムアドレス格納ラッチ641Zの不良カラムアドレスCRDと一致した場合、比較ユニット631の比較結果631は、“1”となる。フラグデータFLGが“0”である場合、ANDゲート649の出力は、“0”となる。“0”のフラグデータFLGは、不良カラムアドレス格納ラッチ641Zに対応するリダンダンシアドレスRAが、正常であることを示している。
ANDゲート649の出力が全て“0”である場合、計算ユニット651の出力信号(判定信号)に基づいて、カラム制御信号生成ユニット384及びセレクタ69が駆動する。不良リダンダンシアドレス判定ユニット659は、カラム制御信号生成ユニット384及びセレクタ69を駆動及び制御する信号を出力しない。
比較ユニット631が、“1”の比較結果を出力し、フラグデータFLGが“1”である場合、ANDゲート649の出力は、“1”となる。“1”のフラグデータFLGは、“1”のフラグデータFLGを保持する不良カラム格納ラッチ641Zに対応するリダンダンシユニットが、不良であることを示している。ANDゲート649の出力が“1”である場合、内部アドレス信号Ainは、ダミーアドレス(正常なカラムアドレス)DAと一致している。
判定ユニット65内の不良リダンダンシアドレス判定ユニット659が、ANDゲート649からの“1”の信号を検知した場合、比較ユニット631の“1”の信号に基づいた置換処理が実行されないように(不良リダンダンシアドレスがアクセスされないように)、不良リダンダンシアドレス判定ユニット659が、セレクタ69の動作を制御する。
また、不良リダンダンシアドレス判定ユニット659が、ANDゲート649からの“1”の信号を検知した場合、ダミーアドレスDAとして正常なカラムアドレスMAが用いられているため、アクセスの対象は、メイン領域11内のカラムアドレスである。不良リダンダンシアドレス判定ユニット659からの制御信号によって、セレクタ69が、メイン側ローカルデータパス75を、グローバルデータパス70に接続する。上述のように、置換処理が実行されている場合においても、メイン領域11側において、ポインタmPTは、所定の周期でシフトされ、不良/正常に関わらず、カラムアドレスに対応するカラムユニットCUは、メイン側ローカルデータパス75に接続されている。
それゆえ、ダミーアドレスDAによって置換処理の対象と判定された場合であっても、ANDゲート649からの“1”の出力信号及び不良リダンダンシアドレス判定ユニット659の制御信号に基づいて、セレクタ69の動作を制御することによって、メイン領域11側のカラムユニットCUを、グローバルデータパス70に接続される。
このように、不良リダンダンシアドレスRDにポインタrPTがセットされている状態で、計算ユニット(ORゲート)651の出力が置換処理を示す“1”となっても、不良リダンダンシアドレスRDはグローバルデータパス70に接続されず、メイン領域12のダミーアドレスDAに対応する正常なカラムユニット(カラムアドレス)とグローバルデータパス70との間で、データDTが転送される。
不良リダンダンシアドレスにセットされたポインタrPTは、置換判定回路382からの制御信号及びリダンダンシ側シフトクロックrCLKに基づいて、次に置換対象となるリダンダンシアドレスRDに対応するリダンダンシLCD50Rに、シフトされる。
このように、内部アドレス信号AinとダミーアドレスDAとが一致した場合において、ダミーアドレスDAに対応する比較ユニット631の出力とフラグデータFLGとのAND演算は、“1”となる。ANDゲート649からの“1”の出力が検知された場合、ダミーアドレスDAが格納された不良カラムアドレス格納ラッチ641に関連付けられているリダンダンシアドレスRDは、アクセスされない。リダンダンシ領域12内の不良リダンダンシアドレス(不良のリダンダンシユニット又は不良のリダンダンシカラムブロック)は、スキップされる。
この一方で、正常なリダンダンシアドレスRDに関して、フラグデータFLGが“0”に設定されているので、比較ユニット631の出力(アドレスAin,CRDの比較結果)とフラグデータFLGとのAND演算が、“1”になることはない。
以上のように、フラグデータFLGを用いて、不良リダンダンシアドレスRD(不良リダンダンシユニット)が、アクセスされないように、制御(スキップ)される。
不良リダンダンシアドレスRDに対応する不良カラムアドレス格納ラッチ641に格納されるダミーアドレスDAに関して、k番目のリダンダンシアドレスRDkが不良である場合、k番目のリダンダンシアドレスRDkに関連付けられた不良カラムアドレス格納ラッチに、(k+1)番目のリダンダンシアドレスRDk+1に関連付けられた不良カラムアドレス格納ラッチが格納している不良カラムアドレスCRDから1を引いたカラムアドレスが、ダミーアドレスDAとして、格納される。
図12に示される例において、2番目のリダンダンシアドレスRD1が不良である場合、ダミーアドレスDAを形成するために3番目のリダンダンシアドレスRD2に関連付けられている不良カラムアドレス格納ラッチ641Z内の不良カラムアドレスの値(ここでは、“7”)から1が減算(デクリメント)される。その減算されたカラムアドレスの値“6”が、ダミーアドレスDAとして、不良リダンダンシアドレスRD1に関連付けられた不良カラムアドレス格納ラッチ641Z内に、格納される。
ここで、図12に示される例において、ダミーアドレスDAとしての“6”のカラムアドレスMA6が用いられ、内部カラムアドレスAinとして“6”の正常なカラムアドレスが、各比較ユニット631に入力された場合の動作について、述べる。
内部カラムアドレスAinとして入力された“6”のカラムアドレスに関して、比較ユニット631の出力とフラグデータFLGとが、ANDゲート649によって、計算される。
“6”のカラムアドレスは、正常なアドレスであるので、不良カラムアドレスCRDと関連付けられた比較ユニット631の出力は、“0”となる。
一方、不良リダンダンシアドレスRDに対応する不良カラムアドレス格納ラッチ641Zに、ダミーアドレスDAとして“6”のアドレスが格納されているため、比較ユニット631は、“1”を出力する。
そして、不良リダンダンシアドレスを示す“1”のフラグデータFLGと、ダミーアドレスDAと一致した比較ユニット641の“1”の出力によって、ダミーアドレスDAが格納されたラッチ641Zに対応するANDゲート649の計算結果は、“1”となる。
ダミーアドレスDAは、不良を含まないカラムアドレスと同じ値(ここでは、“6”)を有するので、ダミーアドレスDAに対応するカラムアドレスは、アクセスの対象となる。それゆえ、ANDゲート649からの“1”の出力に基づいて、メイン側ローカルデータパス75が、グローバルデータパス70に接続され、リダンダンシ側ローカルデータパス75Rが、グローバルデータパスに接続されないように、判定ユニット65からの信号に基づいて、セレクタ69が制御される。
これによって、ダミーアドレスDAとして扱われたカラムアドレスMA6に対応する正常なカラムユニットCUが、グローバルデータパス70に接続される。
一方、不良リダンダンシアドレスRDに対応する不良リダンダンシユニットRUに、ポインタrPTがセットされるが、セレクタ69によって、グローバルデータパス75に接続されない。
このように、内部アドレス信号Ainが、不良リダンダンシアドレスに関連付けられたダミーアドレスDAと一致した場合、ダミーアドレスDAが示す正常なカラムユニットCUがアクセスされ、ダミーアドレスDAに関連付けられたリダンダンシアドレスRDが示す不良リダンダンシユニットRUは、スキップされる。
ダミーアドレスDAと異なる値のカラムアドレスAinが、各比較ユニット631に入力された場合において、上述のように、比較ユニット631の出力及びフラグデータFLGの少なくとも一方は、“0”である。この場合、各ANDゲート649の計算結果は、“0”となる。それゆえ、上述の動作のように、不良カラムアドレスCRDと内部アドレス信号Ainとの比較結果に基づいて、メイン領域11側又はリダンダンシ領域12側のアドレス(カラムブロックCB,RB及ぶカラムユニットCU,RU)のいずれか一方が、グローバルデータパス70に接続される。
尚、連続した複数のリダンダンシアドレスRDが不良である場合、隣接する正常なリダンダンシアドレスRDに関連付けられた不良カラムアドレス格納ラッチ641Zのアドレス(不良カラムアドレス)から1ずつ減算した値が、連続した値のダミーアドレスDAとして、連続した不良リダンダンシアドレスRDに関連付けられた不良カラムアドレス格納ラッチ641に、それぞれ格納される。
ダミーアドレスDAが不良カラムアドレスCRDに対する減算処理によって生成される場合、ダミーアドレスDAが“0”のカラムアドレスMA0より小さくなる可能性がある。この場合において、不良リダンダンシアドレスRDを示すフラグデータFLGを2ビットで表現し、例えば、“0”のカラムアドレスMA0より小さくなるダミーアドレスDAが格納される不良カラムアドレス格納ラッチ641Zにおいて、フラグデータFLGの上位の1ビットを“1”に設定すればよい。フラグデータFLGの上位ビットによって、不良リダンダンシアドレスに関連付けられた不良カラムアドレス格納ラッチ641のダミーアドレスDAの値に関わらず、不良リダンダンシアドレスがアクセスされないように制御される。
例えば、連続した複数のリダンダンシアドレスRDk−1,RDk,RDk+1において、リダンダンシアドレスRDkが不良であり、その前後の正常なリダンダンシアドレスRDk−1,RDk+1が、メイン領域11側の連続した不良カラムアドレスMAj,MAj+1にそれぞれ置換される場合がある。
但し、図14に示されるメイン/リダンダンシのカラムアドレスの対応関係例のように、不良リダンダンシアドレスの位置に応じて、不良カラムアドレスCRDとリダンダンシアドレスRDとにおけるポインタmPT,rPTの制御の効率化のため、正常なリダンダンシアドレスRDを未使用としてもよい。
ここで、2番目のリダンダンシアドレスRD1が不良であり、メイン領域11の連続する“5”及び“6”のカラムアドレスMA5,MA6が、不良である場合を例示して、説明する。
この場合、1番目のリダンダンシアドレスRD0を、不良の“5”のカラムアドレスMA5の置換処理のために用いずに、“5”のカラムアドレスMA5を正常な3番目のリダンダンシアドレスRD1に関連付け、“6”のカラムアドレスを正常な4番目のリダンダンシアドレスRD4に関連付けてもよい。2番目のリダンダンシアドレスRD1は、不良であるため、使用されず、上述のように、フラグデータFLG及びダミーアドレスDAが格納される。
例えば、未使用の1番目のリダンダンシアドレスRD0に対応する不良カラムアドレス格納ラッチ641Zに、“1”のフラグデータFLGと、不良のリダンダンシアドレスRD1とは異なる値のダミーアドレスが、格納される。例えば、リダンダンシアドレスRD1のダミーアドレスDA(“DA1”と表記する)には、リダンダンシアドレスRD2に対応するカラムアドレスMAより前のアドレスのうちいずれかのアドレスが、用いられる。例えば、リダンダンシアドレスRD0のダミーアドレスDA(“DA0”と表記する)には、不良リダンダンシアドレスRD1に対応するカラムアドレスMAより前のアドレスのうちいずれかのアドレスが、用いられる。すなわち、不良リダンダンシアドレスRD1の後のリダンダンシアドレス(ここでは、RD2)に対応するカラムアドレスMAを“Mz”(zは0以上の整数で、zは“2”よりも2以上大きい値)であるとすると、ダミーアドレスDA0<ダミーアドレスDA1<Mzの大小関係となる。
このように、不良リダンダンシアドレスRDkの前後の2つのリダンダンシアドレスRDk−1,RDk+1に、連続した不良カラムアドレスCRDk,CRDk+1が関連付けられること無しに、正常なリダンダンシアドレスRDk−1が未使用にされ、連続する不良カラムアドレスCRDk,CRDk+1が、連続するリダンダンシアドレスRDk+1,RDk+2に関連付けられるように、リダンダンシアドレスの選択順序が設定される。これによって、リダンダンシ領域12に対するポインタrPTの制御を、効率化できる。
尚、“Mz”が2よりも小さい場合は、前述したように、不良リダンダンシアドレスRDを示すフラグデータFLGを2ビットで表現すれば良い。
本実施形態で述べたように、リダンダンシ領域12及びリダンダンシ領域12に対応する回路に不良が存在した場合においても、リダンダンシアドレスRDが不良であることを示すフラグデータFLGを用いて、不良リダンダンシアドレスを動作の対象から除外することによって、フラッシュメモリの動作速度を劣化させずに、メイン領域11の不良カラムアドレスCRDとリダンダンシアドレスRDとを置換できる。
尚、本実施形態のフラッシュメモリと第2の実施形態のフラッシュメモリとを組み合わせて、メイン領域11及びリダンダンシ領域12のカラムを制御することも可能である。
以上のように、第3の実施形態の半導体メモリ及びその制御方法によれば、第1及び第2の実施形態と同様の効果が得られると共に、半導体メモリの動作特性を向上できる。
[その他]
本実施形態において、半導体メモリとして、フラッシュメモリを例示したが、本実施形態は、メモリセルアレイのカラムの制御方式が実質的に同じであれば、MRAM(Magnetoresistive RAM)、ReRAM(Resistive RAM)及びPCRAM(Phase Change RAM)のようなメモリにも適用できる。
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。