説明

半導体記憶装置

【課題】 チップサイズの増大を抑制しつつ、任意のプロテクト領域を設定することが可能な半導体記憶装置を提供する。
【解決手段】 半導体記憶装置は、独立してデータ消去可能な最小単位であるブロックを複数有する不揮発性メモリと、前記不揮発性メモリのバッファとして機能する揮発性メモリと、各々の前記ブロックに対して実行可能な動作を制限するプロテクト情報を保持することが可能なプロテクト用SRAMと、外部から入力されたブロックアドレスに対応する前記プロテクト情報を、前記プロテクト用SRAMから読み出して設定することが可能なレジスタと、前記レジスタに設定された前記プロテクト情報に基づき、前記ブロック対して要求された動作を制限するか否かを決定する制御部と、を具備する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、半導体記憶装置に係り、例えば、プロテクト機能を有するシステム製品に関する。
【背景技術】
【0002】
従来、不揮発性メモリを構成するブロック毎に、データの書き込み許可・禁止の情報を別の記憶領域に保持するメモリシステムが知られている。ホスト機器がメモリシステム内部に設定されたメモリ領域への書き込みを行う場合、その情報が許可なら書き込み動作を行い、禁止なら書き込み動作を行わない。消去動作も同様に、ブロック毎に消去許可・禁止の情報を保持しており、その情報が許可なら消去動作を行っている。
【0003】
例えば、ブロック毎にデータの書き込み許可・禁止の情報を保持する場合、不揮発性メモリの容量が大きくなる事でそのブロック数も多くなる事が見込まれ、プロテクト情報を保持する領域も必然的に大きくなる。これを回避するため、書込み領域の「始まりブロックアドレス」と「終了ブロックアドレス」のみを状態レジスタに保持するメモリシステムが開示されている(例えば、特許文献1参照。)。
【0004】
しかしながら、書込み領域の「始まりブロックアドレス」と「終了ブロックアドレス」のみを状態レジスタに保持する方式を採用する場合、プロテクト情報を保持するブロックのアドレス設定の自由度が低くなり、任意のブロックに対してプロテクトを実行したいユーザにとっては利便性の低下に繋がる。
【特許文献1】特開2004−103219号公報
【発明の開示】
【発明が解決しようとする課題】
【0005】
本発明は、チップサイズの増大を抑制しつつ、任意のプロテクト領域を設定することが可能な半導体記憶装置を提供する。
【課題を解決するための手段】
【0006】
本発明の一態様に係る半導体記憶装置は、独立してデータ消去可能な最小単位であるブロックを複数有する不揮発性メモリと、前記不揮発性メモリのバッファとして機能する揮発性メモリと、各々の前記ブロックに対して実行可能な動作を制限するプロテクト情報を保持することが可能なプロテクト用SRAMと、外部から入力されたブロックアドレスに対応する前記プロテクト情報を前記プロテクト用SRAMから読み出して設定することが可能なレジスタと、前記レジスタに設定された前記プロテクト情報に基づき、前記ブロック対して要求された動作を制限するか否かを決定する制御部と、を具備することを特徴とする。
【発明の効果】
【0007】
本発明によれば、チップサイズの増大を抑制しつつ、任意のプロテクト領域を設定することが可能な半導体記憶装置を提供できる。
【発明を実施するための最良の形態】
【0008】
以下、本発明の実施形態について図面を参照して説明する。
【0009】
図1は、本実施形態に係る半導体記憶装置のシステム構成を示すブロック図である。本実施形態に係る半導体記憶装置は、例えば、OneNAND(登録商標)などに代表される、不揮発性半導体メモリを搭載したメモリシステムに関連する。
【0010】
<メモリシステムの全体構成>
本実施形態に係るメモリシステム1は、NAND型フラッシュメモリ2、RAM部3、及びコントローラ部4を備えている。そしてNAND型フラッシュメモリ2、RAM部3、及びコントローラ部4は、同一の半導体基板上に形成され、1つのチップに集積されている。以下、各ブロックの詳細について説明する。
【0011】
<NAND型フラッシュメモリ2>
NAND型フラッシュメモリ2は、メモリシステム1の主記憶部として機能する。図示するようにNAND型フラッシュメモリ2は、メモリセルアレイ10、ロウデコーダ11、ページバッファ12、電圧発生回路13、シーケンサ14、及びオシレータ15、16を備えている。
【0012】
メモリセルアレイ10は、データを保持可能な複数のメモリセルトランジスタを備えている。図2はメモリセルアレイ10の等価回路図である。図示するように、メモリセルアレイ10は第1領域17と第2領域18とを含む。第1領域17は、ユーザデータなどの正味のデータ(以下、メインデータと呼ぶ)を保持する。他方、第2領域18は第1領域17のスペア領域として用いられ、例えばエラー訂正用の情報(パリティなど)を保持する。
【0013】
第1領域17及び第2領域18はそれぞれ、複数のメモリセルユニット19を備えている。メモリセルユニット19の各々は、例えば32個のメモリセルトランジスタMT0〜MT31と、選択トランジスタST1、ST2とを含んでいる。以下、メモリセルトランジスタMT0〜MT31を区別しない場合には、単にメモリセルトランジスタMTと呼ぶ。
【0014】
メモリセルトランジスタMTは、半導体基板上にゲート絶縁膜を介在して形成された電荷蓄積層(例えば、浮遊ゲート)と、電荷蓄積層上にゲート間絶縁膜を介在して形成された制御ゲートとを有する積層ゲート構造を備えている。なお、メモリセルトランジスタMTの個数は32個に限られず、8個や16個、64個、128個、256個などであってもよく、その数は限定されるものではない。また、メモリセルトランジスタMTは、窒化膜に電子をトラップさせる方式を用いたMONOS(Metal Oxide Nitride Oxide Silicon)構造であっても良い。
【0015】
メモリセルトランジスタMTは、隣接するもの同士でソース、ドレインを共有している。そして、選択トランジスタST1、ST2間に、その電流経路が直列接続されるようにして配置されている。直列接続されたメモリセルトランジスタMTの一端側のドレインは選択トランジスタST1のソースに接続され、他端側のソースは選択トランジスタST2のドレインに接続されている。
【0016】
同一行にあるメモリセルトランジスタMTの制御ゲートは、ワード線WL0〜WL31のいずれかに共通接続される。また同一行にある選択トランジスタST1、ST2のゲートは、それぞれセレクトゲート線SGD、SGSに共通接続されている。なお説明の簡単化のため、以下ではワード線WL0〜WL31を、単にワード線WLと呼ぶことがある。
【0017】
第1領域17において同一列にある選択トランジスタST1のドレインは、ビット線BL0〜BLn(nは自然数)に共通接続される。また、第2領域18において同一列にある選択トランジスタST1のドレインは、ビット線BL(n+1)〜BLm(mは自然数)に共通接続される。ビット線BL0〜BLmについても、単にビット線BLと呼ぶことがある。選択トランジスタST2のソースはソース線SLに共通接続される。なお、選択トランジスタST1、ST2は必ずしも両方必要ではなく、メモリセルユニット11を選択出来るのであればいずれか一方のみが設けられていても良い。
【0018】
上記構成において、同一のワード線WLに接続された複数のメモリセルトランジスタMTには一括してデータが書き込まれ、または読み出され、この単位をページと呼ぶ。更に、同一行にある複数のメモリセルユニット19は一括してデータが消去され、この単位をブロックと呼ぶ。メモリセルアレイ10は、複数のブロックを含む。
【0019】
各々のメモリセルトランジスタMTは、例えば、浮遊ゲートに注入された電子の多寡によるトランジスタの閾値電圧の変化に応じて、1ビットのデータを保持することが可能である。なお、閾値電圧の制御を細分化し、各々のメモリセルトランジスタMTに2ビット以上のデータを保持する構成としても良い。
【0020】
ロウデコーダ11は、データの書き込み、読み出し、及び消去動作の際に、ワード線WL及びセレクトゲート線SGD、SGSを選択する。そして、ワード線WL及びセレクトゲート線SGD、SGSに対して、各動作に必要な所定の電圧を印加する。
【0021】
ページバッファ12は、ページサイズ(例えば、2KB+64B)のデータを保持可能とされ、データの書き込み動作時には、RAM部3から与えられるデータを一時的に保持し、メモリセルアレイ10にデータを書き込む。他方、読み出し動作時には、メモリセルアレイ10から読み出されたデータを一時的に保持し、RAM部3へ転送する。ページバッファ12の一部の領域がメインデータ保持用として使用され、残りがパリティなどの保持用として使用される。以下では、メモリセルアレイ10からページバッファ12に読み出したデータをRAM部3に転送することをロード(Load)、RAM部3からページバッファ12へ転送したデータをメモリセルアレイ10に書き込むことをプログラム(Program)とも呼ぶ。
【0022】
電圧発生回路13は、外部から与えられる電圧を昇圧または降圧することにより、データの書き込み、読み出し、及び消去に必要な電圧を発生する。そして発生した電圧を、例えばロウデコーダ11に供給する。電圧発生回路13で発生された電圧が、ワード線WLに印加される。
【0023】
シーケンサ14は、NAND型フラッシュメモリ2全体の動作を司る。即ち、コントローラ部4からプログラム命令、ロード命令、または消去命令(図示せず)を受けると、これに応答して、データの書き込み、読み出し、及び消去を実行するためのシーケンスを実行する。そして、このシーケンスに従って、電圧発生回路13やページバッファ12の動作を制御する。
【0024】
オシレータ15は内部クロックICLKを生成する。即ち、クロック生成器として機能する。そしてオシレータ15は、生成した内部クロックICLKをシーケンサ14に供給する。シーケンサ14は、この内部クロックICLKに同期して動作する。
【0025】
オシレータ16は内部クロックACLKを生成する。即ち、クロック生成器として機能する。そしてオシレータ16は、生成した内部クロックACLKをコントローラ部4やRAM部4へ供給する。内部クロックACLKは、コントローラ部4やRAM部3の動作の基準となるクロックである。
【0026】
<RAM部3>
次に、RAM部3について説明する。RAM部3は、ECC部20、SRAM(Static Random Access Memory)30、インタフェース部40、及びアクセスコントローラ50を備えている。以下、それぞれについて説明する。
【0027】
<<ECC部20>>
ECC部20は、データについてのエラー検出及びエラー訂正、並びにパリティの生成(以下、これらをまとめてECC処理と呼ぶことがある)を行う。即ち、データのロード時には、NAND型フラッシュメモリ2から読み出されたデータについてエラーの検出及び訂正を行う。他方、データのプログラム時には、プログラムすべきデータについてパリティの生成を行う。ECC部20は、ECCバッファ21及びECCエンジン22を備えている。
【0028】
ECCバッファ21は、NANDバスによりNAND型フラッシュメモリ2のページバッファ12と接続され、ECCバスによりSRAM30と接続される。これらのバス幅は共になどしく、例えば64ビットである。そしてデータのロード時には、ページバッファ12からNANDバスを介して転送されるデータを保持すると共に、ECC処理済みのデータをSRAM30へECCバスを介して転送する。他方、データのプログラム時には、SRAM30からECCバスを介して転送されるデータを保持すると共に、転送されたデータとパリティとをページバッファ12へNANDバスを介して転送する。
【0029】
ECCエンジン22は、ECCバッファ21に保持されるデータを用いてECC処理を行う。ECCエンジンは、例えばハミングコードを用いた1ビット訂正方式を用いる。ECCエンジン22は、データロード時にパリティからシンドロームを生成し、これによりエラー検出を行う。そしてエラーが発見された際には、これを訂正する。他方、データプログラム時には、パリティを生成しメインデータに付加する。
【0030】
<<SRAM30>>
次に、SRAM30について説明する。メモリシステム1においてSRAM30は、NAND型フラッシュメモリ2に対するバッファメモリとして機能する。図示するように、SRAM30はDQバッファ31、複数(本実施形態では2つ)のデータRAM、及び1つのブート(Boot)RAMを備えている。
【0031】
DQバッファ31は、データRAMまたはブートRAMにデータを書き込む、または読み出す際に、一時的にデータを保持する。DQバッファ31は、ECCバスにより、ECCバッファ21との間でデータ転送可能とされている。またDQバッファ31は、例えば64ビットのバス幅を有するRAM/Registerバスを用いて、インタフェース部40との間でデータ転送可能とされている。DQバッファ31もページバッファ12と同様に、メインデータを保持する領域と、パリティなどを保持する領域とを備えている。
【0032】
ブートRAMは、例えばメモリシステム1を起動するためのブートコードを一時的に保持する。またデータRAMは、ブートコード以外のデータ(メインデータ及びパリティビット)を一時的に保持し、その容量はNAND型フラッシュメモリ2のページバッファ12の容量と対応している。データRAM及びブートRAMはそれぞれ、メモリセルアレイ32、センスアンプ33、及びロウデコーダ34を備えている。
【0033】
メモリセルアレイ32は、データ保持可能な複数のSRAMセルを備える。SRAMセルはそれぞれ、ワード線及びビット線に接続される。メモリセルアレイ32も、メモリセルアレイ10と同様に、メインデータを保持する領域と、パリティなどを保持する領域とを備えている。センスアンプ33は、SRAMセルからビット線に読み出したデータをセンス・増幅する。またセンスアンプ33は、DQバッファ31内のデータをSRAMセルに書き込む際の負荷としても機能する。ロウデコーダ34は、メモリセルアレイ32におけるワード線を選択する。
【0034】
<<インタフェース部40>>
次に、インタフェース部40について説明する。図示するようにインタフェース部40は、複数(本実施形態では2つ)のバーストバッファ(burst buffer)41、42、及びインタフェース43を備えている。
【0035】
インタフェース43は、NOR型フラッシュメモリと同様のインタフェース規格をサポートしている。インタフェース43は、メモリシステム1外部のホスト機器と接続可能とされ、ホスト機器との間でデータ、制御信号、及びアドレスAdd<15:0>など、種々の信号の入出力を司る。制御信号の一例は、メモリシステム1全体を活性化するチップイネーブル信号/CE、アドレスをラッチさせるためのアドレスバリッド信号/AVD、バーストリード(burst read)用のクロックCLK、書き込み動作を活性化するライトイネーブル信号/WE、データの外部への出力を活性化するアウトプットイネーブル信号/OE、などである。
【0036】
インタフェース43は、例えば16ビットのバス幅を有するDIN/DOUTバスによりバーストバッファ41、42と接続されている。そして、読み出し(Read)の際には、ホスト機器からのリード要求に係る制御信号をアクセスコントローラ50へ転送し、バーストバッファ41、42内のデータをホスト機器へ出力する。また、書き込み(Write)の際には、ホスト機器からのライト要求に係る制御信号をアクセスコントローラ50へ転送し、またホスト機器から与えられるデータをバーストバッファ41、42へ転送する。
【0037】
バーストバッファ41、42は、RAM/RegisterバスによりDQバッファ31及びコントローラ部4とデータ転送可能とされ、また前述のDIN/DOUTバスによりインタフェース43とデータ転送可能とされている。そして、ホスト機器からインタフェース43を介して与えられるデータ、またはDQバッファ31から与えられるデータを、一時的に保持する。
【0038】
<<アクセスコントローラ50>>
アクセスコントローラ50は、インタフェース43から制御信号及びアドレスを受け取る。そして、ホスト機器の要求を満たす動作を実行するよう、SRAM30及びコントローラ部4を制御する。
【0039】
より具体的には、アクセスコントローラ50は、ホスト機器から受けた書き込みコマンド、または読み出しコマンド(Write/Read)に応じてSRAM30をアクティブ状態とする。また、アクセスコントローラ50は、SRAM30に対して、書き込み要求、または読み出し要求(Write/Read)を分配する。これらの制御により、SRAM30は動作を開始する。
【0040】
更に、アクセスコントローラ50は、コントローラ部4の備えるレジスタ60をアクティブ状態とする。また、アクセスコントローラ50は、ホスト機器から受けたプログラムコマンド、またはロードコマンド(Program/Load)を分配して、レジスタに設定する。レジスタ60にこれらのコマンドが設定されることで、コントローラ部4は動作を開始する。
【0041】
<コントローラ部4>
次に、コントローラ部4について説明する。コントローラ部4は、NAND型フラッシュメモリ2及びRAM部3の動作を制御する。即ち、メモリシステム1全体としての内部動作を統括する機能を有する。図示するように、コントローラ部4は、レジスタ60、コマンドユーザインタフェース(Command User Interface)61、ステートマシン(State Machine)62、アドレス/コマンド発生回路63、アドレス/タイミング発生回路64、及びプロテクト用SRAM65を備えている。
【0042】
レジスタ60は、メモリシステム1の動作状態を設定するために設けられている。即ち、レジスタ60には、前述したようにプログラムコマンドまたはロードコマンドが、インタフェース部40を介して設定される。レジスタ60には、外部アドレス空間の一部が割り当てられる。
【0043】
コマンドユーザインタフェース61は、所定アドレスのレジスタ60にコマンドが設定されることで、メモリシステム1に対して動作実行コマンドが与えられたことを認識する。そして、各動作に必要な内部コマンド信号(Command)を発行し、ステートマシン62へ出力する。
【0044】
ステートマシン62は、コマンドユーザインタフェース61から与えられる内部コマンド信号に基づいて、メモリシステム1内部におけるシーケンス動作を制御する。ステートマシン62がサポートする機能動作は、ロード、プログラム、及び消去など、多数存在し、これらの動作を実行するよう、NAND型フラッシュメモリ2及びRAM部3の動作を制御する。
【0045】
アドレス/コマンド発生回路63は、ステートマシン62の制御に基づいてNAND型フラッシュメモリ2の動作を制御する。より具体的には、NAND型フラッシュメモリ2の内部アドレス、NAND型フラッシュメモリ2のインタフェース規格に従ったコマンドなどを生成し、NAND型フラッシュメモリ2へ出力する。また、アドレス/コマンド発生回路63は、オシレータ16の生成する内部クロックACLKに同期しつつ、これらのアドレスやコマンドを出力する。
【0046】
アドレス/タイミング発生回路64は、ステートマシン62の制御に基づいてRAM部3の動作を制御する。より具体的には、RAM部3において必要なアドレス及びコマンドを発行して、アクセスコントローラ50及びECCエンジン22へ出力する。また、アドレス/タイミング発生回路64は、後述するプロテクト用SRAM65の制御に必要なアドレス及びコマンドを発行して、アクセスコントローラ50に出力する。
【0047】
プロテクト用SRAM65は、レジスタ60に対応して設けられており、NAND型フラッシュメモリ2内部の記憶領域を構成するメモリセルアレイ10の各ブロックに対する書き込み・消去動作の許可/禁止を設定することが可能である。即ち、本実施形態に係るメモリシステム1は、チップ内の不揮発性メモリであるNAND型フラッシュメモリ2のブロックアドレスに対応するアドレスに、書き込み許可・禁止、消去許可・禁止の情報を保持するSRAMを有している。プロテクト機能の詳細に関しては後述する。
【0048】
<メモリシステム1の動作>
次に、上記構成のメモリシステム1における動作について簡単に説明する。本実施形態に係るメモリシステム1では、NAND型フラッシュメモリ2へのデータのプログラム、及びNAND型フラッシュメモリ2からのデータのロードは、SRAM30を介して行われる。
【0049】
即ち、データをプログラムする場合には、ホスト機器は最初に、SRAM30のアドレスを指定し、データをデータRAMに一旦格納する。その後、ホスト機器は、メモリシステム1に対してプログラムコマンドを発行する。ホスト機器からプログラムコマンドを受けたメモリシステム1内部では、SRAM30に格納されたデータが、ページ単位で一括してページバッファ12に転送され、メモリセルアレイ10に書き込まれる。
【0050】
また、データをロードする場合には、ホスト機器から指定されたNAND型フラッシュメモリ2のアドレスに従って、データがメモリセルアレイ10からページバッファ12に読み出され、データRAMに一旦、格納される。その後、ホスト機器は、SRAM30のアドレスを指定し、データRAMに保持されるデータを、インタフェース部40を介して読み出す。
【0051】
<プロテクト機能>
本実施形態に係るメモリシステム1は、メモリセルアレイ10を構成するブロック単位のプロテクト機能をサポートしている。図3に、各ブロックの動作状態の遷移を模式的に示す。図3では簡単の為、3つのブロックblock0、block1、block2のみを示している。メモリセルアレイ10を構成する各ブロックは、例えば、“Unlock”、“Lock”、または“Lock−tight”の3状態のいずれか1つに設定される。
【0052】
“Unlock”状態に設定されたブロックに対しては、書き込み(program)及び消去が可能である。ホスト機器は、「Lock block Command」を入力することにより、“Unlock”状態のブロックを“Lock”状態に設定することが可能である(block1参照)。なお、ホスト機器からメモリシステム1に対してリセット信号が入力され、システムリセットが行われた場合、メモリセルアレイ10を構成する全てのブロックは、“Lock”状態に初期化される。
【0053】
“Lock”状態に設定されたブロックに対しては、書き込み(program)及び消去は共に不可能である。ホスト機器は、「Unlock block Command」を入力することにより、“Lock”状態のブロックを“Unlock”状態に設定することが可能である(block1参照)。また、ホスト機器は、「All Block Unlock Command」を入力することにより、“Lock”状態の全てのブロックを同時に“Unlock”状態に設定することが可能である。メモリシステム1の電源投入時は、メモリセルアレイ10を構成する全てのブロックが“Lock”状態に設定されている。これにより、意図しない内部データの消失を防止することが可能となる。
【0054】
“Lock−tight”状態に設定されたブロックに対しては、書き込み(program)及び消去は共に不可能であり、且つ、システムリセットが行われない限り、他の状態に遷移することが不可能である。“Lock−tight”状態は、ホスト機器が“Lock”状態に設定されたブロックのアドレスを指定し、「Lock−tight block Command」を入力した場合にのみ、設定することが可能である(block1参照)。
【0055】
各ブロックの動作状態は、2ビットのデータとしてプロテクト用SRAM65に保持される。図4に、SRAMセルの保持するデータと、各ブロックに適用される動作制限との対応表を示す。本実施形態では、例えば、データ“11”を“Lock”状態に、データ“10”を“UnLock”状態に、データ“01”を“Lock−tight”状態に対応付ける。また、データ“00”は“Reserve”とする。
【0056】
なお、本実施形態では、各ブロックに対して書き込み及び消去を同時に許可/禁止する場合について説明するが、例えば、書き込みを許可し、且つ、消去を禁止した状態、消去を許可し、且つ、書き込みを禁止した状態などを別途定義することも可能である。新たに定義すべき状態が1つであれば、“Reserve”である上記データ“00”を利用すれば良い。新たに定義すべき状態が2つ以上であれば、3ビット以上のデータを対応付ければ良い。
【0057】
図5は、メモリセルアレイ10を構成する各ブロックと、各ブロックのブロックアドレスに対応付けられたSRAMセルとの対応関係を模式的に示している。本実施形態では、2ビットで各ブロックの動作状態(プロテクト状態)を判別しているので、例えば、ブロック0の状態は、プロテクト用SRAM65のcell0及びcell1によって定めれば良い。また、ブロック1の状態は、プロテクト用SRAM65のcell2及びcell3によって定めれば良い。メモリセルアレイ10にn個のブロックが存在する場合、各ブロックの動作状態を定める為に必要なSRAMセル数は、2n個となる。
【0058】
<プロテクト機能を利用した動作例>
RAM部3のデータRAMに書き込まれたデータを、NAND型フラッシュメモリ2に書き込む(program)場合の動作例について、以下説明する。
【0059】
ホスト機器がNAND型フラッシュメモリ2への書き込み要求を行う際、メモリシステム1に対して、書き込み対象のメモリセルトランジスタMTを含むブロックのブロックアドレスが入力され、レジスタ60に設定される。また、ホスト機器から書き込み要求を受けたアクセスコントローラ50は、プログラムコマンドをレジスタ60に設定する。
【0060】
次に、コマンドユーザインタフェース61を介して当該ブロックに対するプログラムコマンドを受けたステートマシン65は、書き込み対象ブロックのプロテクト状態を示す2ビットのデータをプロテクト用SRAM65から読み出し、レジスタ60に設定する。レジスタ60は、プロテクト状態を示すデータをデコードし、デコード結果を受けたステートマシン62は、NANDフラッシュメモリ2への書き込みを行うか否かを判断する。
【0061】
例えば、プロテクト用SRAM65から読み出したデータが“11”であった場合、当該ブロックに対する書き込みは禁止されているから、ステートマシン62は、NAND型フラッシュメモリ2に対する書き込み要求を発行せず、書き込みはエラーとなる。また、プロテクト用SRAM65から読み出したデータが“10”であった場合、当該ブロックに対する書き込みは許可されているから、ステートマシン62は、NAND型フラッシュメモリ2に対する書き込み要求を発行する。また、プロテクト用SRAM65から読み出したデータが“01”であった場合、当該ブロックに対する書き込みは禁止されているから、ステートマシン62は、NAND型フラッシュメモリ2に対する書き込み要求を発行せず、書き込みはエラーとなる。
【0062】
また、ホスト装置がNAND型フラッシュメモリ2への消去要求を行う場合についても、上記と同様の処理が行われる。
【0063】
<プロテクト用SRAM構成例1>
図6(a)、(b)、(c)に、プロテクト情報を持つSRAMと他のデータ保持用SRAMとに同一動作がある場合(同時にアクセスする可能性がある場合)のレイアウトイメージを示す。この様な場合、SRAMセルの周辺回路を共通化することは出来ないので、図1に示すように、プロテクト用SRAMとその他のデータ保持用SRAMとは別個に構成する必要がある。
【0064】
図6(b)において、SRAMセルSC2は、セレクタSを介して、センスアンプSAに接続されている。本実施形態では、各ブロックの動作状態を2ビットのデータで制限しているから、これに対応してセンスアンプSAも2ビット分配置されている。セレクタSは、ホスト機器が指定するブロックアドレスに応じてセルを切り替え、センスアンプSAと接続する。
【0065】
レイアウトや作業効率を考えると、プロテクト情報を持つSRAMが他のSRAM、例えば外部とデータの授受を行うSRAMと同一動作がある場合、図6のように構成する事で、NAND型フラッシュメモリのブロック数が変更された場合も、SRAMセル領域以外の箇所は変更せずに、メモリセルの容量だけを変更する事で対応が可能となる。
【0066】
例えば、SRAMセルの容量が、図6(b)から図6(a)に示すように減少した場合であっても、セレクタS及びセンスアンプSAの構成を変更する必要は無い。また、同様に、SRAMセルの容量が、図6(b)から図6(c)に示すように増加した場合であっても、セレクS及びセンスアンプSAの構成を変更する必要は無い。
【0067】
<プロテクト用SRAM構成例2>
図7に、プロテクト情報を持つSRAMと他のデータ保持用SRAMとに同一動作がなく(同時にアクセスする可能性がない)、独立に動作させることが可能な場合のレイアウトイメージを示す。この様な場合、SRAMセルの周辺回路を共通化することが出来るので、図1とは異なり、プロテクト用SRAMとその他のデータ保持用SRAMとを同一領域に配置することが可能である。
【0068】
図7は、図1に示すRAM部3におけるSRAM30と同一領域に、プロテクト用SRAMを配置した場合の例を示している。図7において、プロテクト用SRAMとデータRAM0とは、ロウデコーダ34によって独立して選択可能であり、また、センスアンプ33を共有している。セレクタSは、データRAM0に対するアクセス時には、読み出したデータをそのままデータバスに出力する。また、セレクタSは、プロテクト用SRAMに対するアクセス時には、NAND型フラッシュメモリ2内部のアクセス対象ブロックに対応する2ビットのデータを選択して、データバスに出力する。
【0069】
即ち、プロテクト情報を持つSRAMが他のデータ保持用SRAMと同一動作がない場合、他のSRAMの冗長領域にプロテクト情報を持たせることで、センスアンプなどの制御回路を他のSRAMと共有することが可能になり、従って、レイアウト縮小が可能となる。
【0070】
<効果>
以上、本実施形態に係るメモリシステム1は、各ブロックのプロテクト情報を、メモリシステム1内部のSRAMに保持するようにしたので、ブロック単位のプロテクト情報を、エリアペナルティを最小限に抑えつつ設定することが可能である。従って、任意のブロックについてプロテクト情報を記憶することができ、ユーザの利便性を維持することも同時に可能である。
【0071】
以上、本実施形態を用いて本願発明の説明を行ったが、本願発明は上記各実施形態に限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で種々変形することが可能である。また、本実施形態には種々の段階の発明が含まれており、開示される複数の構成要件の適宜な組み合わせにより種々の発明が抽出され得る。例えば、本実施形態に示される全構成要件から幾つかの構成要件が削除されても、発明が解決しようとする課題の欄で述べた課題の少なくとも1つが解決でき、発明の効果の欄で述べられている効果の少なくとも1つが得られる場合には、この構成要件が削除された構成が発明として抽出され得る。
【図面の簡単な説明】
【0072】
【図1】メモリシステムの構成を示すブロック図。
【図2】NAND型フラッシュメモリのメモリセルアレイの等価回路図。
【図3】NAND型フラッシュメモリのメモリセルアレイを構成する各ブロックの動作状態の遷移を示す模式図。
【図4】SRAMセルの保持するデータと各ブロックに適用される動作制限との対応表。
【図5】各ブロックのブロックアドレスに対応付けられたSRAMセルを示す模式図。
【図6】プロテクト用SRAM構成例を示すブロック図。
【図7】プロテクト用SRAM構成例を示すブロック図。
【符号の説明】
【0073】
1 メモリシステム
2 NAND型フラッシュメモリ
3 RAM部
4 コントローラ部
10 メモリセルアレイ
11 ロウデコーダ
12 ページバッファ
13 電圧発生回路
14 シーケンサ
15、16 オシレータ
17 第1領域
18 第2領域
19 メモリセルユニット
20 ECC部
21 ECCバッファ
22 ECCエンジン
30 SRAM
31 DQバッファ
32 メモリセルアレイ
33 センスアンプ
34 ロウデコーダ
40 インタフェース部
41、42 バーストバッファ
43 インタフェース
50 アクセスコントローラ
60 レジスタ
61 コマンドユーザインタフェース
62 ステートマシン
63 アドレス/コマンド設定回路
64 アドレス/タイミング発生回路
65 プロテクト用SRAM
MT メモリセルトランジスタ
ST 選択トランジスタ
SGD、SGS セレクトゲート線
WL ワード線
BL ビット線
SL ソース線
SC1 SRAMセル
S セレクタ
SA センスアンプ

【特許請求の範囲】
【請求項1】
独立してデータ消去可能な最小単位であるブロックを複数有する不揮発性メモリと、
前記不揮発性メモリのバッファとして機能する揮発性メモリと、
各々の前記ブロックに対して実行可能な動作を制限するプロテクト情報を保持することが可能なプロテクト用SRAMと、
外部から入力されたブロックアドレスに対応する前記プロテクト情報を、前記プロテクト用SRAMから読み出して設定することが可能なレジスタと、
前記レジスタに設定された前記プロテクト情報に基づき、前記ブロック対して要求された動作を制限するか否かを決定する制御部と、
を具備することを特徴とする半導体記憶装置。
【請求項2】
前記プロテクト情報は、前記ブロックに保持されたデータの消去動作を制限する情報を含むことを特徴とする請求項1に記載の半導体記憶装置。
【請求項3】
前記プロテクト情報は、前記ブロックに対して前記揮発性メモリに保持されたデータを書き込む動作を制限する情報を含むことを特徴とする請求項2に記載の半導体記憶装置。
【請求項4】
前記プロテクト情報は2ビットのデータであり、前記プロテクト用SRAMはセレクタを介して2ビット分のセンスアンプ回路に接続されていることを特徴とする請求項3に記載の半導体記憶装置。
【請求項5】
前記揮発性メモリはSRAMであり、前記プロテクト用SRAMは前記揮発性メモリとセンスアンプを共有することを特徴とする請求項1に記載の半導体記憶装置。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate


【公開番号】特開2010−9132(P2010−9132A)
【公開日】平成22年1月14日(2010.1.14)
【国際特許分類】
【出願番号】特願2008−164807(P2008−164807)
【出願日】平成20年6月24日(2008.6.24)
【出願人】(598010562)東芝メモリシステムズ株式会社 (119)
【出願人】(000003078)株式会社東芝 (54,554)
【Fターム(参考)】