(57)【要約】【課題】  チップサイズの増大を抑制しつつ、任意のプロテクト領域を設定することが可能な半導体記憶装置を提供する。【解決手段】  半導体記憶装置は、独立してデータ消去可能な最小単位であるブロックを複数有する不揮発性メモリと、前記不揮発性メモリのバッファとして機能する揮発性メモリと、各々の前記ブロックに対して実行可能な動作を制限するプロテクト情報を保持することが可能なプロテクト用ＳＲＡＭと、外部から入力されたブロックアドレスに対応する前記プロテクト情報を、前記プロテクト用ＳＲＡＭから読み出して設定することが可能なレジスタと、前記レジスタに設定された前記プロテクト情報に基づき、前記ブロック対して要求された動作を制限するか否かを決定する制御部と、を具備する。【選択図】  図１
2010009132.tif 000002
【特許請求の範囲】
【請求項１】
独立してデータ消去可能な最小単位であるブロックを複数有する不揮発性メモリと、
前記不揮発性メモリのバッファとして機能する揮発性メモリと、
各々の前記ブロックに対して実行可能な動作を制限するプロテクト情報を保持することが可能なプロテクト用ＳＲＡＭと、
外部から入力されたブロックアドレスに対応する前記プロテクト情報を、前記プロテクト用ＳＲＡＭから読み出して設定することが可能なレジスタと、
前記レジスタに設定された前記プロテクト情報に基づき、前記ブロック対して要求された動作を制限するか否かを決定する制御部と、
を具備することを特徴とする半導体記憶装置。
【請求項２】
前記プロテクト情報は、前記ブロックに保持されたデータの消去動作を制限する情報を含むことを特徴とする請求項１に記載の半導体記憶装置。
【請求項３】
前記プロテクト情報は、前記ブロックに対して前記揮発性メモリに保持されたデータを書き込む動作を制限する情報を含むことを特徴とする請求項２に記載の半導体記憶装置。
【請求項４】
前記プロテクト情報は２ビットのデータであり、前記プロテクト用ＳＲＡＭはセレクタを介して２ビット分のセンスアンプ回路に接続されていることを特徴とする請求項３に記載の半導体記憶装置。
【請求項５】
前記揮発性メモリはＳＲＡＭであり、前記プロテクト用ＳＲＡＭは前記揮発性メモリとセンスアンプを共有することを特徴とする請求項１に記載の半導体記憶装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、半導体記憶装置に係り、例えば、プロテクト機能を有するシステム製品に関する。
【背景技術】
【０００２】
従来、不揮発性メモリを構成するブロック毎に、データの書き込み許可・禁止の情報を別の記憶領域に保持するメモリシステムが知られている。ホスト機器がメモリシステム内部に設定されたメモリ領域への書き込みを行う場合、その情報が許可なら書き込み動作を行い、禁止なら書き込み動作を行わない。消去動作も同様に、ブロック毎に消去許可・禁止の情報を保持しており、その情報が許可なら消去動作を行っている。
【０００３】
例えば、ブロック毎にデータの書き込み許可・禁止の情報を保持する場合、不揮発性メモリの容量が大きくなる事でそのブロック数も多くなる事が見込まれ、プロテクト情報を保持する領域も必然的に大きくなる。これを回避するため、書込み領域の「始まりブロックアドレス」と「終了ブロックアドレス」のみを状態レジスタに保持するメモリシステムが開示されている（例えば、特許文献１参照。）。
【０００４】
しかしながら、書込み領域の「始まりブロックアドレス」と「終了ブロックアドレス」のみを状態レジスタに保持する方式を採用する場合、プロテクト情報を保持するブロックのアドレス設定の自由度が低くなり、任意のブロックに対してプロテクトを実行したいユーザにとっては利便性の低下に繋がる。
【特許文献１】特開２００４−１０３２１９号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
本発明は、チップサイズの増大を抑制しつつ、任意のプロテクト領域を設定することが可能な半導体記憶装置を提供する。
【課題を解決するための手段】
【０００６】
本発明の一態様に係る半導体記憶装置は、独立してデータ消去可能な最小単位であるブロックを複数有する不揮発性メモリと、前記不揮発性メモリのバッファとして機能する揮発性メモリと、各々の前記ブロックに対して実行可能な動作を制限するプロテクト情報を保持することが可能なプロテクト用ＳＲＡＭと、外部から入力されたブロックアドレスに対応する前記プロテクト情報を前記プロテクト用ＳＲＡＭから読み出して設定することが可能なレジスタと、前記レジスタに設定された前記プロテクト情報に基づき、前記ブロック対して要求された動作を制限するか否かを決定する制御部と、を具備することを特徴とする。
【発明の効果】
【０００７】
本発明によれば、チップサイズの増大を抑制しつつ、任意のプロテクト領域を設定することが可能な半導体記憶装置を提供できる。
【発明を実施するための最良の形態】
【０００８】
以下、本発明の実施形態について図面を参照して説明する。
【０００９】
図１は、本実施形態に係る半導体記憶装置のシステム構成を示すブロック図である。本実施形態に係る半導体記憶装置は、例えば、ＯｎｅＮＡＮＤ（登録商標）などに代表される、不揮発性半導体メモリを搭載したメモリシステムに関連する。
【００１０】
＜メモリシステムの全体構成＞  
本実施形態に係るメモリシステム１は、ＮＡＮＤ型フラッシュメモリ２、ＲＡＭ部３、及びコントローラ部４を備えている。そしてＮＡＮＤ型フラッシュメモリ２、ＲＡＭ部３、及びコントローラ部４は、同一の半導体基板上に形成され、１つのチップに集積されている。以下、各ブロックの詳細について説明する。
【００１１】
＜ＮＡＮＤ型フラッシュメモリ２＞  
ＮＡＮＤ型フラッシュメモリ２は、メモリシステム１の主記憶部として機能する。図示するようにＮＡＮＤ型フラッシュメモリ２は、メモリセルアレイ１０、ロウデコーダ１１、ページバッファ１２、電圧発生回路１３、シーケンサ１４、及びオシレータ１５、１６を備えている。
【００１２】
メモリセルアレイ１０は、データを保持可能な複数のメモリセルトランジスタを備えている。図２はメモリセルアレイ１０の等価回路図である。図示するように、メモリセルアレイ１０は第１領域１７と第２領域１８とを含む。第１領域１７は、ユーザデータなどの正味のデータ（以下、メインデータと呼ぶ）を保持する。他方、第２領域１８は第１領域１７のスペア領域として用いられ、例えばエラー訂正用の情報（パリティなど）を保持する。
【００１３】
第１領域１７及び第２領域１８はそれぞれ、複数のメモリセルユニット１９を備えている。メモリセルユニット１９の各々は、例えば３２個のメモリセルトランジスタＭＴ０〜ＭＴ３１と、選択トランジスタＳＴ１、ＳＴ２とを含んでいる。以下、メモリセルトランジスタＭＴ０〜ＭＴ３１を区別しない場合には、単にメモリセルトランジスタＭＴと呼ぶ。
【００１４】
メモリセルトランジスタＭＴは、半導体基板上にゲート絶縁膜を介在して形成された電荷蓄積層（例えば、浮遊ゲート）と、電荷蓄積層上にゲート間絶縁膜を介在して形成された制御ゲートとを有する積層ゲート構造を備えている。なお、メモリセルトランジスタＭＴの個数は３２個に限られず、８個や１６個、６４個、１２８個、２５６個などであってもよく、その数は限定されるものではない。また、メモリセルトランジスタＭＴは、窒化膜に電子をトラップさせる方式を用いたＭＯＮＯＳ（Ｍｅｔａｌ  Ｏｘｉｄｅ  Ｎｉｔｒｉｄｅ  Ｏｘｉｄｅ  Ｓｉｌｉｃｏｎ）構造であっても良い。
【００１５】
メモリセルトランジスタＭＴは、隣接するもの同士でソース、ドレインを共有している。そして、選択トランジスタＳＴ１、ＳＴ２間に、その電流経路が直列接続されるようにして配置されている。直列接続されたメモリセルトランジスタＭＴの一端側のドレインは選択トランジスタＳＴ１のソースに接続され、他端側のソースは選択トランジスタＳＴ２のドレインに接続されている。
【００１６】
同一行にあるメモリセルトランジスタＭＴの制御ゲートは、ワード線ＷＬ０〜ＷＬ３１のいずれかに共通接続される。また同一行にある選択トランジスタＳＴ１、ＳＴ２のゲートは、それぞれセレクトゲート線ＳＧＤ、ＳＧＳに共通接続されている。なお説明の簡単化のため、以下ではワード線ＷＬ０〜ＷＬ３１を、単にワード線ＷＬと呼ぶことがある。
【００１７】
第１領域１７において同一列にある選択トランジスタＳＴ１のドレインは、ビット線ＢＬ０〜ＢＬｎ（ｎは自然数）に共通接続される。また、第２領域１８において同一列にある選択トランジスタＳＴ１のドレインは、ビット線ＢＬ（ｎ＋１）〜ＢＬｍ（ｍは自然数）に共通接続される。ビット線ＢＬ０〜ＢＬｍについても、単にビット線ＢＬと呼ぶことがある。選択トランジスタＳＴ２のソースはソース線ＳＬに共通接続される。なお、選択トランジスタＳＴ１、ＳＴ２は必ずしも両方必要ではなく、メモリセルユニット１１を選択出来るのであればいずれか一方のみが設けられていても良い。
【００１８】
上記構成において、同一のワード線ＷＬに接続された複数のメモリセルトランジスタＭＴには一括してデータが書き込まれ、または読み出され、この単位をページと呼ぶ。更に、同一行にある複数のメモリセルユニット１９は一括してデータが消去され、この単位をブロックと呼ぶ。メモリセルアレイ１０は、複数のブロックを含む。
【００１９】
各々のメモリセルトランジスタＭＴは、例えば、浮遊ゲートに注入された電子の多寡によるトランジスタの閾値電圧の変化に応じて、１ビットのデータを保持することが可能である。なお、閾値電圧の制御を細分化し、各々のメモリセルトランジスタＭＴに２ビット以上のデータを保持する構成としても良い。
【００２０】
ロウデコーダ１１は、データの書き込み、読み出し、及び消去動作の際に、ワード線ＷＬ及びセレクトゲート線ＳＧＤ、ＳＧＳを選択する。そして、ワード線ＷＬ及びセレクトゲート線ＳＧＤ、ＳＧＳに対して、各動作に必要な所定の電圧を印加する。
【００２１】
ページバッファ１２は、ページサイズ（例えば、２ＫB＋６４B）のデータを保持可能とされ、データの書き込み動作時には、ＲＡＭ部３から与えられるデータを一時的に保持し、メモリセルアレイ１０にデータを書き込む。他方、読み出し動作時には、メモリセルアレイ１０から読み出されたデータを一時的に保持し、ＲＡＭ部３へ転送する。ページバッファ１２の一部の領域がメインデータ保持用として使用され、残りがパリティなどの保持用として使用される。以下では、メモリセルアレイ１０からページバッファ１２に読み出したデータをＲＡＭ部３に転送することをロード（Ｌｏａｄ）、ＲＡＭ部３からページバッファ１２へ転送したデータをメモリセルアレイ１０に書き込むことをプログラム（Ｐｒｏｇｒａｍ）とも呼ぶ。
【００２２】
電圧発生回路１３は、外部から与えられる電圧を昇圧または降圧することにより、データの書き込み、読み出し、及び消去に必要な電圧を発生する。そして発生した電圧を、例えばロウデコーダ１１に供給する。電圧発生回路１３で発生された電圧が、ワード線ＷＬに印加される。
【００２３】
シーケンサ１４は、ＮＡＮＤ型フラッシュメモリ２全体の動作を司る。即ち、コントローラ部４からプログラム命令、ロード命令、または消去命令（図示せず）を受けると、これに応答して、データの書き込み、読み出し、及び消去を実行するためのシーケンスを実行する。そして、このシーケンスに従って、電圧発生回路１３やページバッファ１２の動作を制御する。
【００２４】
オシレータ１５は内部クロックＩＣＬＫを生成する。即ち、クロック生成器として機能する。そしてオシレータ１５は、生成した内部クロックＩＣＬＫをシーケンサ１４に供給する。シーケンサ１４は、この内部クロックＩＣＬＫに同期して動作する。
【００２５】
オシレータ１６は内部クロックＡＣＬＫを生成する。即ち、クロック生成器として機能する。そしてオシレータ１６は、生成した内部クロックＡＣＬＫをコントローラ部４やＲＡＭ部４へ供給する。内部クロックＡＣＬＫは、コントローラ部４やＲＡＭ部３の動作の基準となるクロックである。
【００２６】
＜ＲＡＭ部３＞  
次に、ＲＡＭ部３について説明する。ＲＡＭ部３は、ＥＣＣ部２０、ＳＲＡＭ（Ｓｔａｔｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）３０、インタフェース部４０、及びアクセスコントローラ５０を備えている。以下、それぞれについて説明する。
【００２７】
＜＜ＥＣＣ部２０＞＞  
ＥＣＣ部２０は、データについてのエラー検出及びエラー訂正、並びにパリティの生成（以下、これらをまとめてＥＣＣ処理と呼ぶことがある）を行う。即ち、データのロード時には、ＮＡＮＤ型フラッシュメモリ２から読み出されたデータについてエラーの検出及び訂正を行う。他方、データのプログラム時には、プログラムすべきデータについてパリティの生成を行う。ＥＣＣ部２０は、ＥＣＣバッファ２１及びＥＣＣエンジン２２を備えている。
【００２８】
ＥＣＣバッファ２１は、ＮＡＮＤバスによりＮＡＮＤ型フラッシュメモリ２のページバッファ１２と接続され、ＥＣＣバスによりＳＲＡＭ３０と接続される。これらのバス幅は共になどしく、例えば６４ビットである。そしてデータのロード時には、ページバッファ１２からＮＡＮＤバスを介して転送されるデータを保持すると共に、ＥＣＣ処理済みのデータをＳＲＡＭ３０へＥＣＣバスを介して転送する。他方、データのプログラム時には、ＳＲＡＭ３０からＥＣＣバスを介して転送されるデータを保持すると共に、転送されたデータとパリティとをページバッファ１２へＮＡＮＤバスを介して転送する。
【００２９】
ＥＣＣエンジン２２は、ＥＣＣバッファ２１に保持されるデータを用いてＥＣＣ処理を行う。ＥＣＣエンジンは、例えばハミングコードを用いた１ビット訂正方式を用いる。ＥＣＣエンジン２２は、データロード時にパリティからシンドロームを生成し、これによりエラー検出を行う。そしてエラーが発見された際には、これを訂正する。他方、データプログラム時には、パリティを生成しメインデータに付加する。
【００３０】
＜＜ＳＲＡＭ３０＞＞  
次に、ＳＲＡＭ３０について説明する。メモリシステム１においてＳＲＡＭ３０は、ＮＡＮＤ型フラッシュメモリ２に対するバッファメモリとして機能する。図示するように、ＳＲＡＭ３０はＤＱバッファ３１、複数（本実施形態では２つ）のデータＲＡＭ、及び１つのブート（Ｂｏｏｔ）ＲＡＭを備えている。
【００３１】
ＤＱバッファ３１は、データＲＡＭまたはブートＲＡＭにデータを書き込む、または読み出す際に、一時的にデータを保持する。ＤＱバッファ３１は、ＥＣＣバスにより、ＥＣＣバッファ２１との間でデータ転送可能とされている。またＤＱバッファ３１は、例えば６４ビットのバス幅を有するＲＡＭ／Ｒｅｇｉｓｔｅｒバスを用いて、インタフェース部４０との間でデータ転送可能とされている。ＤＱバッファ３１もページバッファ１２と同様に、メインデータを保持する領域と、パリティなどを保持する領域とを備えている。
【００３２】
ブートＲＡＭは、例えばメモリシステム１を起動するためのブートコードを一時的に保持する。またデータＲＡＭは、ブートコード以外のデータ（メインデータ及びパリティビット）を一時的に保持し、その容量はＮＡＮＤ型フラッシュメモリ２のページバッファ１２の容量と対応している。データＲＡＭ及びブートＲＡＭはそれぞれ、メモリセルアレイ３２、センスアンプ３３、及びロウデコーダ３４を備えている。
【００３３】
メモリセルアレイ３２は、データ保持可能な複数のＳＲＡＭセルを備える。ＳＲＡＭセルはそれぞれ、ワード線及びビット線に接続される。メモリセルアレイ３２も、メモリセルアレイ１０と同様に、メインデータを保持する領域と、パリティなどを保持する領域とを備えている。センスアンプ３３は、ＳＲＡＭセルからビット線に読み出したデータをセンス・増幅する。またセンスアンプ３３は、ＤＱバッファ３１内のデータをＳＲＡＭセルに書き込む際の負荷としても機能する。ロウデコーダ３４は、メモリセルアレイ３２におけるワード線を選択する。
【００３４】
＜＜インタフェース部４０＞＞  
次に、インタフェース部４０について説明する。図示するようにインタフェース部４０は、複数（本実施形態では２つ）のバーストバッファ（ｂｕｒｓｔ  ｂｕｆｆｅｒ）４１、４２、及びインタフェース４３を備えている。
【００３５】
インタフェース４３は、ＮＯＲ型フラッシュメモリと同様のインタフェース規格をサポートしている。インタフェース４３は、メモリシステム１外部のホスト機器と接続可能とされ、ホスト機器との間でデータ、制御信号、及びアドレスＡｄｄ＜１５：０＞など、種々の信号の入出力を司る。制御信号の一例は、メモリシステム１全体を活性化するチップイネーブル信号／ＣＥ、アドレスをラッチさせるためのアドレスバリッド信号／ＡＶＤ、バーストリード（ｂｕｒｓｔ  ｒｅａｄ）用のクロックＣＬＫ、書き込み動作を活性化するライトイネーブル信号／ＷＥ、データの外部への出力を活性化するアウトプットイネーブル信号／ＯＥ、などである。
【００３６】
インタフェース４３は、例えば１６ビットのバス幅を有するＤＩＮ／ＤＯＵＴバスによりバーストバッファ４１、４２と接続されている。そして、読み出し（Ｒｅａｄ）の際には、ホスト機器からのリード要求に係る制御信号をアクセスコントローラ５０へ転送し、バーストバッファ４１、４２内のデータをホスト機器へ出力する。また、書き込み（Ｗｒｉｔｅ）の際には、ホスト機器からのライト要求に係る制御信号をアクセスコントローラ５０へ転送し、またホスト機器から与えられるデータをバーストバッファ４１、４２へ転送する。
【００３７】
バーストバッファ４１、４２は、ＲＡＭ／ＲｅｇｉｓｔｅｒバスによりＤＱバッファ３１及びコントローラ部４とデータ転送可能とされ、また前述のＤＩＮ／ＤＯＵＴバスによりインタフェース４３とデータ転送可能とされている。そして、ホスト機器からインタフェース４３を介して与えられるデータ、またはＤＱバッファ３１から与えられるデータを、一時的に保持する。
【００３８】
＜＜アクセスコントローラ５０＞＞  
アクセスコントローラ５０は、インタフェース４３から制御信号及びアドレスを受け取る。そして、ホスト機器の要求を満たす動作を実行するよう、ＳＲＡＭ３０及びコントローラ部４を制御する。
【００３９】
より具体的には、アクセスコントローラ５０は、ホスト機器から受けた書き込みコマンド、または読み出しコマンド（Ｗｒｉｔｅ／Ｒｅａｄ）に応じてＳＲＡＭ３０をアクティブ状態とする。また、アクセスコントローラ５０は、ＳＲＡＭ３０に対して、書き込み要求、または読み出し要求（Ｗｒｉｔｅ／Ｒｅａｄ）を分配する。これらの制御により、ＳＲＡＭ３０は動作を開始する。
【００４０】
更に、アクセスコントローラ５０は、コントローラ部４の備えるレジスタ６０をアクティブ状態とする。また、アクセスコントローラ５０は、ホスト機器から受けたプログラムコマンド、またはロードコマンド（Ｐｒｏｇｒａｍ／Ｌｏａｄ）を分配して、レジスタに設定する。レジスタ６０にこれらのコマンドが設定されることで、コントローラ部４は動作を開始する。
【００４１】
＜コントローラ部４＞  
次に、コントローラ部４について説明する。コントローラ部４は、ＮＡＮＤ型フラッシュメモリ２及びＲＡＭ部３の動作を制御する。即ち、メモリシステム１全体としての内部動作を統括する機能を有する。図示するように、コントローラ部４は、レジスタ６０、コマンドユーザインタフェース（Ｃｏｍｍａｎｄ  Ｕｓｅｒ  Ｉｎｔｅｒｆａｃｅ）６１、ステートマシン（Ｓｔａｔｅ  Ｍａｃｈｉｎｅ）６２、アドレス／コマンド発生回路６３、アドレス／タイミング発生回路６４、及びプロテクト用ＳＲＡＭ６５を備えている。
【００４２】
レジスタ６０は、メモリシステム１の動作状態を設定するために設けられている。即ち、レジスタ６０には、前述したようにプログラムコマンドまたはロードコマンドが、インタフェース部４０を介して設定される。レジスタ６０には、外部アドレス空間の一部が割り当てられる。
【００４３】
コマンドユーザインタフェース６１は、所定アドレスのレジスタ６０にコマンドが設定されることで、メモリシステム１に対して動作実行コマンドが与えられたことを認識する。そして、各動作に必要な内部コマンド信号（Ｃｏｍｍａｎｄ）を発行し、ステートマシン６２へ出力する。
【００４４】
ステートマシン６２は、コマンドユーザインタフェース６１から与えられる内部コマンド信号に基づいて、メモリシステム１内部におけるシーケンス動作を制御する。ステートマシン６２がサポートする機能動作は、ロード、プログラム、及び消去など、多数存在し、これらの動作を実行するよう、ＮＡＮＤ型フラッシュメモリ２及びＲＡＭ部３の動作を制御する。
【００４５】
アドレス／コマンド発生回路６３は、ステートマシン６２の制御に基づいてＮＡＮＤ型フラッシュメモリ２の動作を制御する。より具体的には、ＮＡＮＤ型フラッシュメモリ２の内部アドレス、ＮＡＮＤ型フラッシュメモリ２のインタフェース規格に従ったコマンドなどを生成し、ＮＡＮＤ型フラッシュメモリ２へ出力する。また、アドレス／コマンド発生回路６３は、オシレータ１６の生成する内部クロックＡＣＬＫに同期しつつ、これらのアドレスやコマンドを出力する。
【００４６】
アドレス／タイミング発生回路６４は、ステートマシン６２の制御に基づいてＲＡＭ部３の動作を制御する。より具体的には、ＲＡＭ部３において必要なアドレス及びコマンドを発行して、アクセスコントローラ５０及びＥＣＣエンジン２２へ出力する。また、アドレス／タイミング発生回路６４は、後述するプロテクト用ＳＲＡＭ６５の制御に必要なアドレス及びコマンドを発行して、アクセスコントローラ５０に出力する。
【００４７】
プロテクト用ＳＲＡＭ６５は、レジスタ６０に対応して設けられており、ＮＡＮＤ型フラッシュメモリ２内部の記憶領域を構成するメモリセルアレイ１０の各ブロックに対する書き込み・消去動作の許可／禁止を設定することが可能である。即ち、本実施形態に係るメモリシステム１は、チップ内の不揮発性メモリであるＮＡＮＤ型フラッシュメモリ２のブロックアドレスに対応するアドレスに、書き込み許可・禁止、消去許可・禁止の情報を保持するＳＲＡＭを有している。プロテクト機能の詳細に関しては後述する。
【００４８】
＜メモリシステム１の動作＞  
次に、上記構成のメモリシステム１における動作について簡単に説明する。本実施形態に係るメモリシステム１では、ＮＡＮＤ型フラッシュメモリ２へのデータのプログラム、及びＮＡＮＤ型フラッシュメモリ２からのデータのロードは、ＳＲＡＭ３０を介して行われる。
【００４９】
即ち、データをプログラムする場合には、ホスト機器は最初に、ＳＲＡＭ３０のアドレスを指定し、データをデータＲＡＭに一旦格納する。その後、ホスト機器は、メモリシステム１に対してプログラムコマンドを発行する。ホスト機器からプログラムコマンドを受けたメモリシステム１内部では、ＳＲＡＭ３０に格納されたデータが、ページ単位で一括してページバッファ１２に転送され、メモリセルアレイ１０に書き込まれる。
【００５０】
また、データをロードする場合には、ホスト機器から指定されたＮＡＮＤ型フラッシュメモリ２のアドレスに従って、データがメモリセルアレイ１０からページバッファ１２に読み出され、データＲＡＭに一旦、格納される。その後、ホスト機器は、ＳＲＡＭ３０のアドレスを指定し、データＲＡＭに保持されるデータを、インタフェース部４０を介して読み出す。
【００５１】
＜プロテクト機能＞  
本実施形態に係るメモリシステム１は、メモリセルアレイ１０を構成するブロック単位のプロテクト機能をサポートしている。図３に、各ブロックの動作状態の遷移を模式的に示す。図３では簡単の為、３つのブロックｂｌｏｃｋ０、ｂｌｏｃｋ１、ｂｌｏｃｋ２のみを示している。メモリセルアレイ１０を構成する各ブロックは、例えば、“Ｕｎｌｏｃｋ”、“Ｌｏｃｋ”、または“Ｌｏｃｋ−ｔｉｇｈｔ”の３状態のいずれか１つに設定される。
【００５２】
“Ｕｎｌｏｃｋ”状態に設定されたブロックに対しては、書き込み（ｐｒｏｇｒａｍ）及び消去が可能である。ホスト機器は、「Ｌｏｃｋ  ｂｌｏｃｋ  Ｃｏｍｍａｎｄ」を入力することにより、“Ｕｎｌｏｃｋ”状態のブロックを“Ｌｏｃｋ”状態に設定することが可能である（ｂｌｏｃｋ１参照）。なお、ホスト機器からメモリシステム１に対してリセット信号が入力され、システムリセットが行われた場合、メモリセルアレイ１０を構成する全てのブロックは、“Ｌｏｃｋ”状態に初期化される。
【００５３】
“Ｌｏｃｋ”状態に設定されたブロックに対しては、書き込み（ｐｒｏｇｒａｍ）及び消去は共に不可能である。ホスト機器は、「Ｕｎｌｏｃｋ  ｂｌｏｃｋ  Ｃｏｍｍａｎｄ」を入力することにより、“Ｌｏｃｋ”状態のブロックを“Ｕｎｌｏｃｋ”状態に設定することが可能である（ｂｌｏｃｋ１参照）。また、ホスト機器は、「Ａｌｌ  Ｂｌｏｃｋ  Ｕｎｌｏｃｋ  Ｃｏｍｍａｎｄ」を入力することにより、“Ｌｏｃｋ”状態の全てのブロックを同時に“Ｕｎｌｏｃｋ”状態に設定することが可能である。メモリシステム１の電源投入時は、メモリセルアレイ１０を構成する全てのブロックが“Ｌｏｃｋ”状態に設定されている。これにより、意図しない内部データの消失を防止することが可能となる。
【００５４】
“Ｌｏｃｋ−ｔｉｇｈｔ”状態に設定されたブロックに対しては、書き込み（ｐｒｏｇｒａｍ）及び消去は共に不可能であり、且つ、システムリセットが行われない限り、他の状態に遷移することが不可能である。“Ｌｏｃｋ−ｔｉｇｈｔ”状態は、ホスト機器が“Ｌｏｃｋ”状態に設定されたブロックのアドレスを指定し、「Ｌｏｃｋ−ｔｉｇｈｔ  ｂｌｏｃｋ  Ｃｏｍｍａｎｄ」を入力した場合にのみ、設定することが可能である（ｂｌｏｃｋ１参照）。
【００５５】
各ブロックの動作状態は、２ビットのデータとしてプロテクト用ＳＲＡＭ６５に保持される。図４に、ＳＲＡＭセルの保持するデータと、各ブロックに適用される動作制限との対応表を示す。本実施形態では、例えば、データ“１１”を“Ｌｏｃｋ”状態に、データ“１０”を“ＵｎＬｏｃｋ”状態に、データ“０１”を“Ｌｏｃｋ−ｔｉｇｈｔ”状態に対応付ける。また、データ“００”は“Ｒｅｓｅｒｖｅ”とする。
【００５６】
なお、本実施形態では、各ブロックに対して書き込み及び消去を同時に許可／禁止する場合について説明するが、例えば、書き込みを許可し、且つ、消去を禁止した状態、消去を許可し、且つ、書き込みを禁止した状態などを別途定義することも可能である。新たに定義すべき状態が１つであれば、“Ｒｅｓｅｒｖｅ”である上記データ“００”を利用すれば良い。新たに定義すべき状態が２つ以上であれば、３ビット以上のデータを対応付ければ良い。
【００５７】
図５は、メモリセルアレイ１０を構成する各ブロックと、各ブロックのブロックアドレスに対応付けられたＳＲＡＭセルとの対応関係を模式的に示している。本実施形態では、２ビットで各ブロックの動作状態（プロテクト状態）を判別しているので、例えば、ブロック０の状態は、プロテクト用ＳＲＡＭ６５のｃｅｌｌ０及びｃｅｌｌ１によって定めれば良い。また、ブロック１の状態は、プロテクト用ＳＲＡＭ６５のｃｅｌｌ２及びｃｅｌｌ３によって定めれば良い。メモリセルアレイ１０にｎ個のブロックが存在する場合、各ブロックの動作状態を定める為に必要なＳＲＡＭセル数は、２ｎ個となる。
【００５８】
＜プロテクト機能を利用した動作例＞  
ＲＡＭ部３のデータＲＡＭに書き込まれたデータを、ＮＡＮＤ型フラッシュメモリ２に書き込む（ｐｒｏｇｒａｍ）場合の動作例について、以下説明する。
【００５９】
ホスト機器がＮＡＮＤ型フラッシュメモリ２への書き込み要求を行う際、メモリシステム１に対して、書き込み対象のメモリセルトランジスタＭＴを含むブロックのブロックアドレスが入力され、レジスタ６０に設定される。また、ホスト機器から書き込み要求を受けたアクセスコントローラ５０は、プログラムコマンドをレジスタ６０に設定する。
【００６０】
次に、コマンドユーザインタフェース６１を介して当該ブロックに対するプログラムコマンドを受けたステートマシン６５は、書き込み対象ブロックのプロテクト状態を示す２ビットのデータをプロテクト用ＳＲＡＭ６５から読み出し、レジスタ６０に設定する。レジスタ６０は、プロテクト状態を示すデータをデコードし、デコード結果を受けたステートマシン６２は、ＮＡＮＤフラッシュメモリ２への書き込みを行うか否かを判断する。
【００６１】
例えば、プロテクト用ＳＲＡＭ６５から読み出したデータが“１１”であった場合、当該ブロックに対する書き込みは禁止されているから、ステートマシン６２は、ＮＡＮＤ型フラッシュメモリ２に対する書き込み要求を発行せず、書き込みはエラーとなる。また、プロテクト用ＳＲＡＭ６５から読み出したデータが“１０”であった場合、当該ブロックに対する書き込みは許可されているから、ステートマシン６２は、ＮＡＮＤ型フラッシュメモリ２に対する書き込み要求を発行する。また、プロテクト用ＳＲＡＭ６５から読み出したデータが“０１”であった場合、当該ブロックに対する書き込みは禁止されているから、ステートマシン６２は、ＮＡＮＤ型フラッシュメモリ２に対する書き込み要求を発行せず、書き込みはエラーとなる。
【００６２】
また、ホスト装置がＮＡＮＤ型フラッシュメモリ２への消去要求を行う場合についても、上記と同様の処理が行われる。
【００６３】
＜プロテクト用ＳＲＡＭ構成例１＞  
図６（ａ）、（ｂ）、（ｃ）に、プロテクト情報を持つＳＲＡＭと他のデータ保持用ＳＲＡＭとに同一動作がある場合（同時にアクセスする可能性がある場合）のレイアウトイメージを示す。この様な場合、ＳＲＡＭセルの周辺回路を共通化することは出来ないので、図１に示すように、プロテクト用ＳＲＡＭとその他のデータ保持用ＳＲＡＭとは別個に構成する必要がある。
【００６４】
図６（ｂ）において、ＳＲＡＭセルＳＣ２は、セレクタＳを介して、センスアンプＳＡに接続されている。本実施形態では、各ブロックの動作状態を２ビットのデータで制限しているから、これに対応してセンスアンプＳＡも２ビット分配置されている。セレクタＳは、ホスト機器が指定するブロックアドレスに応じてセルを切り替え、センスアンプＳＡと接続する。
【００６５】
レイアウトや作業効率を考えると、プロテクト情報を持つＳＲＡＭが他のＳＲＡＭ、例えば外部とデータの授受を行うＳＲＡＭと同一動作がある場合、図６のように構成する事で、ＮＡＮＤ型フラッシュメモリのブロック数が変更された場合も、ＳＲＡＭセル領域以外の箇所は変更せずに、メモリセルの容量だけを変更する事で対応が可能となる。
【００６６】
例えば、ＳＲＡＭセルの容量が、図６（ｂ）から図６（ａ）に示すように減少した場合であっても、セレクタＳ及びセンスアンプＳＡの構成を変更する必要は無い。また、同様に、ＳＲＡＭセルの容量が、図６（ｂ）から図６（ｃ）に示すように増加した場合であっても、セレクＳ及びセンスアンプＳＡの構成を変更する必要は無い。
【００６７】
＜プロテクト用ＳＲＡＭ構成例２＞
図７に、プロテクト情報を持つＳＲＡＭと他のデータ保持用ＳＲＡＭとに同一動作がなく（同時にアクセスする可能性がない）、独立に動作させることが可能な場合のレイアウトイメージを示す。この様な場合、ＳＲＡＭセルの周辺回路を共通化することが出来るので、図１とは異なり、プロテクト用ＳＲＡＭとその他のデータ保持用ＳＲＡＭとを同一領域に配置することが可能である。
【００６８】
図７は、図１に示すＲＡＭ部３におけるＳＲＡＭ３０と同一領域に、プロテクト用ＳＲＡＭを配置した場合の例を示している。図７において、プロテクト用ＳＲＡＭとデータＲＡＭ０とは、ロウデコーダ３４によって独立して選択可能であり、また、センスアンプ３３を共有している。セレクタＳは、データＲＡＭ０に対するアクセス時には、読み出したデータをそのままデータバスに出力する。また、セレクタＳは、プロテクト用ＳＲＡＭに対するアクセス時には、ＮＡＮＤ型フラッシュメモリ２内部のアクセス対象ブロックに対応する２ビットのデータを選択して、データバスに出力する。
【００６９】
即ち、プロテクト情報を持つＳＲＡＭが他のデータ保持用ＳＲＡＭと同一動作がない場合、他のＳＲＡＭの冗長領域にプロテクト情報を持たせることで、センスアンプなどの制御回路を他のＳＲＡＭと共有することが可能になり、従って、レイアウト縮小が可能となる。
【００７０】
＜効果＞  
以上、本実施形態に係るメモリシステム１は、各ブロックのプロテクト情報を、メモリシステム１内部のＳＲＡＭに保持するようにしたので、ブロック単位のプロテクト情報を、エリアペナルティを最小限に抑えつつ設定することが可能である。従って、任意のブロックについてプロテクト情報を記憶することができ、ユーザの利便性を維持することも同時に可能である。
【００７１】
以上、本実施形態を用いて本願発明の説明を行ったが、本願発明は上記各実施形態に限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で種々変形することが可能である。また、本実施形態には種々の段階の発明が含まれており、開示される複数の構成要件の適宜な組み合わせにより種々の発明が抽出され得る。例えば、本実施形態に示される全構成要件から幾つかの構成要件が削除されても、発明が解決しようとする課題の欄で述べた課題の少なくとも１つが解決でき、発明の効果の欄で述べられている効果の少なくとも１つが得られる場合には、この構成要件が削除された構成が発明として抽出され得る。
【図面の簡単な説明】
【００７２】
【図１】メモリシステムの構成を示すブロック図。
【図２】ＮＡＮＤ型フラッシュメモリのメモリセルアレイの等価回路図。
【図３】ＮＡＮＤ型フラッシュメモリのメモリセルアレイを構成する各ブロックの動作状態の遷移を示す模式図。
【図４】ＳＲＡＭセルの保持するデータと各ブロックに適用される動作制限との対応表。
【図５】各ブロックのブロックアドレスに対応付けられたＳＲＡＭセルを示す模式図。
【図６】プロテクト用ＳＲＡＭ構成例を示すブロック図。
【図７】プロテクト用ＳＲＡＭ構成例を示すブロック図。
【符号の説明】
【００７３】
１  メモリシステム
２  ＮＡＮＤ型フラッシュメモリ
３  ＲＡＭ部
４  コントローラ部
１０  メモリセルアレイ
１１  ロウデコーダ
１２  ページバッファ
１３  電圧発生回路
１４  シーケンサ
１５、１６  オシレータ
１７  第１領域
１８  第２領域
１９  メモリセルユニット
２０  ＥＣＣ部
２１  ＥＣＣバッファ
２２  ＥＣＣエンジン
３０  ＳＲＡＭ
３１  ＤＱバッファ
３２  メモリセルアレイ
３３  センスアンプ
３４  ロウデコーダ
４０  インタフェース部
４１、４２  バーストバッファ
４３  インタフェース
５０  アクセスコントローラ
６０  レジスタ
６１  コマンドユーザインタフェース
６２  ステートマシン
６３  アドレス／コマンド設定回路
６４  アドレス／タイミング発生回路
６５  プロテクト用ＳＲＡＭ
ＭＴ  メモリセルトランジスタ
ＳＴ  選択トランジスタ
ＳＧＤ、ＳＧＳ  セレクトゲート線
ＷＬ  ワード線
ＢＬ  ビット線
ＳＬ  ソース線
ＳＣ１  ＳＲＡＭセル
Ｓ  セレクタ
ＳＡ  センスアンプ
【図１】
2010009132.tif 000003
【図２】
2010009132.tif 000004
【図３】
2010009132.tif 000005
【図４】
2010009132.tif 000006
【図５】
2010009132.tif 000007
【図６】
2010009132.tif 000008
【図７】
2010009132.tif 000009