(57)【要約】【課題】多様化された各種データであっても、書換頻度、必要容量およびデータの保持期間を考慮して最適な書込み、読出し制御を行える不揮発性半導体装置１を提供する。【解決手段】マルチレベルセルの不揮発性半導体メモリ５を用いて、データエリア５ｂを所定のエリアごとに分割してアクセスする不揮発性半導体装置１において、前記エリアごとに書込むデータ種別と対応付けた書込設定を格納する管理エリア５ａを備え、前記書込設定は、前記データ種類に応じてマルチレベルセルとシングルレベルセルを切り替えるとともに書込みレベルを変化させる設定とし、前記書込設定に基づいて書込み、読出しを行うようにした。【選択図】図１
2012009112.tif 000002
【特許請求の範囲】
【請求項１】
マルチレベルセルの不揮発性半導体メモリを用いて、データエリアを所定のエリアごとに分割してアクセスする不揮発性半導体装置において、
前記エリアごとに書込むデータ種別と対応付けた書込設定を格納する管理エリアを備え、
前記書込設定は、前記データ種類に応じて、マルチレベルセルとシングルレベルセルを切り替えるとともに書込みレベルを変化させる設定とし、前記書込設定に基づいて書込み、読出しを行うようにしたことを特徴とする不揮発性半導体装置。
【請求項２】
前記データ種別は、書き換える頻度、データ容量および当該データの保持期間に基づいて分類し、前記書込設定は、通常書込の書込みレベルを高くした拡張書込を設け、シングルレベルセルでの通常書込、シングルレベルセルでの拡張書込、マルチレベルセルでの通常書込またはマルチレベルセルでの拡張書込とし、前記書込設定に基づいて書込み、読出しを行うようにしたことを特徴とする請求項１記載の不揮発性半導体装置。
【請求項３】
マルチレベルセルの不揮発性半導体メモリを用いて、データエリアを所定のエリアごとに分割してアクセスする不揮発性半導体装置において、
前記エリアごとに書込むデータ種別と対応付けた書込設定を格納する管理エリアを備え、
前記書込設定は、前記データ種類に応じてマルチレベルセルとシングルレベルセルを切り替えるとともにマルチレベルセルの不揮発性半導体メモリの複数ビット分をシングルレベルセルの１ビットとして使用できる設定とし、前記書込設定に基づいて書込み、読出しを行うようにしたことを特徴とする不揮発性半導体装置。
【請求項４】
前記管理エリアは、前記データエリアにそれぞれ設けるようにしたことを特徴とする請求項１ないし請求項３いずれか記載の不揮発性半導体装置。
【請求項５】
前記シングルレベルセルでの通常書込とマルチレベルセルでの通常書込のエリアについてのみ、スタティックウェアレベリングを実施するようにした請求項２記載の不揮発性半導体装置。
【請求項６】
ホスト装置と接続される不揮発性半導体装置とからなる不揮発性半導体システムであって、
前記不揮発性半導体装置は、前記エリアごとに書込むデータ種別と対応付けた書込設定を格納する管理エリアを備え、マルチレベルセルの不揮発性半導体メモリを用いて、データエリアを所定のエリアごとに分割して前記書込設定に基づいて書込み、読出しを行う不揮発性半導体装置であって、
前記ホスト装置は、マルチレベルセルの不揮発性半導体メモリの複数ビット分とシングルレベルセルの１ビットを対応付けて変換する中間ドライバを備えたことを特徴とする不揮発性半導体システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、フローティングゲートを持つ不揮発性半導体メモリを使用した不揮発性半導体装置（Ｓｏｌｉｄ  Ｓｔａｔｅ  ＤｒｉｖｅまたはＳｏｌｉｄ  Ｓｔａｔｅ  Ｄｉｓｋ；ＳＳＤ）の制御技術に関するものである。
【背景技術】
【０００２】
ＮＡＮＤ、ＮＯＲフラッシュメモリなどのフローティングゲートを使用した不揮発性半導体メモリは、フローティングゲートに電圧をかけ、絶縁膜のトンネル効果を利用して電荷を除去または注入することで値を保持する。
【０００３】
そして、ＮＡＮＤフラッシュメモリのフローティングゲートとしては、２値セル、すなわち、１つのセルに２つの電圧レベル（以下、単に「レベル」という）をとり、１ビットの値を保持できるシングルレベルセル（以下、「ＳＬＣ」という）と、多値セル、すなわち、１つのセルに４つまたはそれ以上のレベルを取り、２ビットまたはそれ以上の値を保持できるマルチレベルセル（以下、「ＭＬＣ」という）とがある。
【０００４】
そして、ＭＬＣの場合は、１セルに多くの値を保持できるので、ＳＬＣの場合と比較して、容量単価を安くすることができるという特長がある。
【０００５】
図１２は、１つのセルに２ビットを保持する保持するＭＬＣとして、”０”、”１”、”２”、”３”の４値の値をそれぞれの所定のレベルで書き込んだときの、レベルごとの不揮発性半導体メモリセルの分布図を示す。なお、ｉ＝１、２、３とすると、書込み時はＶｒ（ｉ）＋ΔＶ（ｉ）のレベルにて行い、読出しは、Ｖｒ（ｉ）をそれぞれの値の閾値レベルとする例を示している。また、同図のＶｅは、このレベルから書込みレベルが高くなるほど絶縁膜の損傷が大きくなる電圧を示している。
【０００６】
フローティングゲートの特徴として、書込み時に注入した電荷は絶縁膜より少しずつ漏れ、各セルの保持電圧は徐々に低下し、本例では、閾値レベルＶｒ（３）、Ｖｒ（２）、Ｖｒ（１）をそれぞれ下回ると値が “３”→”２”、”２”→”１”、”１”→”０”にそれぞれ変化してしまうことになる。
【０００７】
従って、データ保持期間を長くするためには、高電圧にて書き込む必要があるが、高電圧にて書き込むと絶縁膜が破壊されやすくなり、書換可能回数が少なくなる。このように、書換可能回数とデータ保持期間は背反の関係にある。
【０００８】
ＳＬＣの場合も、上述のように書換可能回数とデータ保持期間は背反の関係にあるが、２値のみを取るため、ＭＬＣと比べて書込み電圧を低くすることができ、書換可能回数を多くすることができる。一方、ＭＬＣの場合は、高い電圧により電荷を注入する必要があるので、書換可能回数がＳＬＣと比較して一桁以上少なくなるという欠点がある。
【０００９】
この背反する書換可能回数とデータ保持期間をいずれも改善する技術が、以下のように提案され始めている。
【００１０】
例えば、ＳＬＣにおいて、書込電圧を上位からの指示により変えることで、通常は低い電圧で書込みを行い絶縁膜の破壊を抑え、書換可能回数を多くすることができるようにし、長期間保存したいデータのときは高い電圧で書き込んでΔＶを広くとり、電荷を長い期間保持できるようにするという技術が提案されている（例えば、特許文献１参照）。
【００１１】
また、ＭＬＣの不揮発性半導体メモリを使用し、データの保存の方法をＭＬＣのままのエリアと、ＳＬＣとして使用するエリアとを用意して、保存されるデータの特性に合わせた使い分けを行い、回数管理テーブルの書き換え回数が任意の設定値以上となったときは、２値／多値テーブルを多値から２値に変更しＳＬＣとして使用する技術も提案されている（例えば、特許文献２参照）。
【００１２】
また、２値データの信頼性を保持するために、ＮＡＮＤフラッシュメモリの読出し・書込み単位とした不揮発性半導体メモリの各ページにＭＬＣエリアとＳＬＣエリアを作り、これらを使い分ける技術も提案されている（例えば、特許文献３参照）。
【００１３】
また、専用の消去・書込回路を不揮発性半導体メモリに設け、同じエリアを、ＭＬＣとＳＬＣとで使い分ける技術も提案されている（例えば、特許文献４参照）。
【００１４】
また、ＭＬＣの不揮発性半導体メモリを使用して、一部のエリアをＳＬＣとして読み出す技術も提案されている（例えば、特許文献５参照）。
【先行技術文献】
【特許文献】
【００１５】
【特許文献１】再表２００７−０４３１３３号公報
【特許文献２】特開２００９−０４８６８０号公報
【特許文献３】特開２００９−０１５９７７号公報
【特許文献４】特開２００５−１０８３０３号公報
【特許文献５】特表２００９−５１８７７５号公報
【発明の概要】
【発明が解決しようとする課題】
【００１６】
しかしながら、一方では、近年、現金自動預払機等の自動化機器にて取り扱われるデータは多様化されてきており、例えば、図１３に示したように、オペレーティングシステム（以下、「ＯＳ」という）やアプリケーションプログラム（以下、「ＡＰ」という）のパラメータやログなどは、使用容量は少ないが、書換回数が多く、高信頼性を要し、プログラムデータは、使用容量は少ないが、書換回数は少なく、高信頼性を要し、宣伝用のデータや一時ファイルは、使用容量は多く、書換回数は中程度で、信頼性は低くてよく、ジャーナルデータなどの保存用データでは、使用容量は多く、書換回数は少ないが、長期間の保存が必要である。
【００１７】
このように、近年の現金自動預払機等の自動化機器にて取り扱われるデータのように多様化されたデータを取扱う場合、上記従来の不揮発性半導体記憶装置では、書換頻度、必要容量、データの保持期間のすべてを考慮する必要があるが、そのようにはなっておらず、最適な制御を行うことはできなかった。
【課題を解決するための手段】
【００１８】
本発明は、前述の課題を解決するため次の構成を採用する。すなわち、マルチレベルセルの不揮発性半導体メモリを用いて、データエリアを所定のエリアごとに分割してアクセスする不揮発性半導体装置において、データ種別と書込設定の対応テーブルと、前記エリアごとの前記書込設定を格納する管理エリアを備え、前記書込設定は、前記データ種類に応じてマルチレベルセルとシングルレベルセルを切り替えるとともに書込みレベルを変化させる設定とした。
【発明の効果】
【００１９】
本発明の不揮発性半導体記憶装置によれば、マルチレベルセルの不揮発性半導体メモリを用いて、データエリアを所定のエリアごとに分割してアクセスする不揮発性半導体装置において、データ種別と書込設定の対応テーブルと、前記エリアごとの前記書込設定を格納する管理エリアを備え、前記書込設定は、前記データ種類に応じてマルチレベルセルとシングルレベルセルを切り替えるとともに書込みレベルを変化させる設定としたので、多様化された各種データであっても、書換頻度、必要容量およびデータの保持期間を考慮して最適な書込み、読出し制御を行うことができる。
【図面の簡単な説明】
【００２０】
【図１】実施例１の不揮発性半導体記憶装置の構成図である。
【図２】実施例１の不揮発性半導体記憶装置の管理エリアの構成と書込設定の説明図である。
【図３】実施例１の不揮発性半導体記憶装置の動作フローチャート図である。
【図４】実施例１の不揮発性半導体記憶装置の動作説明図である。
【図５】実施例２の不揮発性半導体記憶装置の管理エリアの構成と書込設定の説明図である。
【図６】実施例２の不揮発性半導体記憶装置の動作説明図である。
【図７】実施例３の不揮発性半導体記憶装置の論理構成の説明図である。
【図８】実施例３の不揮発性半導体記憶装置の動作フローチャート図である。
【図９】実施例４の不揮発性半導体記憶装置の動作フローチャート図である。
【図１０】実施例５の不揮発性半導体記憶システムの構成図である。
【図１１】変形例の不揮発性半導体記憶装置の動作説明図である。
【図１２】従来の不揮発性半導体記憶装置の動作説明図である。
【図１３】自動化機器等におけるデータの種類と各データに要求される特性の説明図である。
【発明を実施するための形態】
【００２１】
以下、本発明に係わる実施の形態例を、図面を用いて説明する。なお、図面に共通する要素には同一の符号を付す。
【実施例１】
【００２２】
（構成）
図１に、実施例１の不揮発性半導体記憶装置１の構成図を示す。同図に示したように、実施例１の不揮発性半導体記憶装置１は、ホスト装置２０とのインタフェイス（以下、「Ｉ／Ｆ」という）となるＩ／Ｆバス３ａで接続されたＩ／Ｆコントローラ３を備え、コマンドやデータを送受信できるようになっている。
【００２３】
さらに、実施例１の不揮発性半導体記憶装置１は、ホスト装置２０からのコマンドを解釈し各部を制御する制御部２と、受信したデータを一時的に格納するバッファ４と、前述のホスト装置２０からのデータを保存するＮＡＮＤフラッシュメモリ等からなる不揮発性半導体メモリ５を備える。
【００２４】
そして、不揮発性半導体メモリ５は、所定のエリアごとに分割されたデータエリア５ｂと、前記エリアごとに後述する書込設定としてのフラグ値を保存する管理エリア５ａを備える。
【００２５】
図２（ａ）に、不揮発性半導体メモリ５のデータエリア５ｂがｎ個に分割された管理エリア５ａの構成を示す。同図に示したように、管理エリア５ａは、エリア＃１〜＃ｎごとに書込設定としてのフラグ値を格納可能で、それぞれのフラグ値は、ｎ個に分割されたデータエリア５ｂの各エリアのフラグ値として保存される。
【００２６】
なお、データエリア５ｂの各エリアのサイズは、フラッシュメモリのブロックサイズ（通常、数ＫＢ〜数ＭＢ程度）としてもよいし、さらに大きなサイズとし管理エリア５ａに格納するフラグ値の数を少なくして管理エリア５ａのサイズを小さくするようにしてもよい。
【００２７】
図２（ｂ）は、データ種別とフラグ値の対応テーブルを示し、書き込むデータ種別に応じた書込設定（フラグ値）を決定するためのテーブルとなっている。なお、この対応テーブルは、ホスト装置２０の図示しない記憶部に格納しておいてもよいし、不揮発性半導体装置１の制御部２の図示しないメモリ等に格納しておいてもよい。
【００２８】
この対応テーブルにより、あるエリアに書き込むデータがＯＳやＡＰのデータ・ログの場合は後述のＳＬＣ通常書込設定としフラグ値を”１”とし、当該エリアに書き込むデータがプログラムデータの場合は後述のＳＬＣ拡張書込設定としフラグ値を”２”とし、当該エリアに書き込むデータが宣伝用データや一時ファイルのときは後述のＭＬＣ通常書込設定としフラグ値を”３”とし、当該エリアに書き込むデータがジャーナルデータなど記録保存用データのときは後述のＭＬＣ拡張書込設定としフラグ値を”４”とする。
【００２９】
以上のデータ種別と書込設定（フラグ値）の対応テーブルに基づいて、エリアごとに、書き込むデータの種別に応じて書込設定（フラグ値）を決定し、当該フラグ値を管理エリア５ａのフラグ＃１〜＃ｎにそれぞれ保存できる構成となっている。
【００３０】
（動作）
以上の構成により実施例１の不揮発性半導体記憶装置１は、以下のように動作する。この動作を図３の動作フローチャート図および図４の動作説明図を用いて以下詳細に説明する。
【００３１】
まず、図示していないが、管理エリア５ａのフラグ＃１〜＃ｎの設定を行う。この設定は、例えば、あらかじめ管理用コマンドを定め、ホスト装置２０にてデータエリア５ｂの各エリアのデータ種別を任意に設定し、ホスト装置２０から前記管理用コマンドを用いてこれらを不揮発性半導体記憶装置１に送信するようにすればよい。
【００３２】
そして、各エリアのデータ種別を受信した不揮発性半導体記憶装置１は、各エリアのデータ種別に対応するフラグ値を管理エリア５ａのフラグ＃１〜＃ｎにそれぞれ書き込む。このとき、フラグ値の書込み方法としては、後述するＳＬＣ拡張書込などの信頼性の高い書込設定にて書き込むようにするとよい。
【００３３】
管理エリア５ａのフラグ＃１〜＃ｎを設定した後、不揮発性半導体記憶装置１は、ホスト装置２０からの読出し／書込みコマンドを受領すると（ステップＳ０１）、コマンドのアドレスよりアクセスするデータエリア５ｂのエリアを特定し、管理エリア５ａからフラグ値を取得する（ステップＳ０２）。
【００３４】
そして、コマンドが読出しコマンドか、書込みコマンドかどうかを判定し（ステップＳ０３）、読出しのときは、前記取得したフラグ値に対応する書込設定により詳細後述のように読出しを行い（ステップＳ０４）、本処理を終了する。
【００３５】
一方、コマンドが書込みコマンドのときは、前記取得したフラグ値に対応する書込み設定により詳細後述のように書込みを実施し（ステップＳ０５）、本処理を終了する。
【００３６】
なお、ステップＳ０４およびステップＳ０５の各書込設定における不揮発性半導体メモリ５へのアクセスは、図４に示したように行う。
【００３７】
まず、フラグ値”１”の「（１）ＳＬＣ通常書込設定」では、「（３）ＭＬＣ通常書込設定」の”１”と同じ電圧レベルで書込みを行い、読出し時はＶｒ（１）まで電圧レベルが低下しても”１”として読出しを行う。
【００３８】
そして、フラグ値”２”の「（２）ＳＬＣ拡張書込設定」では、”１”の書込みにあたり、「（３）ＭＬＣ通常書込設定」の”３”と同じレベルで書込みを行い、読出し時はＶｒ（１）までレベルが低下しても”１”として読出しを行う。
【００３９】
そして、基本となるフラグ値”３”の「（３）ＭＬＣ通常書込設定」では、従来技術の図１２にて説明したＭＬＣの不揮発性半導体メモリの通常の書込みおよび読出しと同様に行う。
【００４０】
そして、フラグ値”４”の「（４）ＭＬＣ拡張書込設定」では、「（３）ＭＬＣ通常書込設定」よりも広い範囲でΔＶ（ｉ）が取れるように、書込みレベルおよびＶｒ（ｉ）を広く取ったΔＶ（ｉ）＊、Ｖｒ（ｉ）＊とし、それぞれのΔＶ（ｉ）＊、Ｖｒ（ｉ）＊にて書込みおよび読出しを行う。
【００４１】
（実施例１の効果）
以上のように実施例１の不揮発性半導体記憶装置によれば、マルチレベルセルの不揮発性半導体メモリを用いて、データエリアを所定のエリアごとに分割してアクセスする不揮発性半導体装置において、データ種別と書込設定の対応テーブルと、前記エリアごとの前記書込設定を格納する管理エリアを備え、前記書込設定は、前記データ種類に応じてマルチレベルセルとシングルレベルセルを切り替えるとともに書込みレベルを変化させる設定としたので、多様化された各種データであっても、書換頻度、必要容量およびデータの保持期間を考慮して最適な書込み、読出し制御を行うことができる。
【実施例２】
【００４２】
（構成）
実施例２の不揮発性半導体記憶装置１では、管理エリア５ａの構成は、図５の管理エリアの構成と書込設定の説明図に示したように、実施例１では設けられていたフラグ値”４”のＭＬＣ拡張書込設定が設けられていない構成となっており、通常のＭＬＣの不揮発性半導体メモリを使用できる構成となっている。
【００４３】
すなわち、実施例１の不揮発性半導体記憶装置１では、フラグ値”４”のＭＬＣ拡張書込設定が設けられており、通常のＭＬＣの不揮発性半導体メモリとは異なるレベルでの書込みや読出しを行うことができる特殊な不揮発性半導体メモリを必要としていたが、実施例２の不揮発性半導体記憶装置１では、ＭＬＣ拡張書込設定は設けず、ＳＬＣの不揮発性半導体メモリの２ビット分をＳＬＣの１ビットとして使用できるようになっている。
【００４４】
（動作）
以上の構成により実施例２の不揮発性半導体記憶装置１は、以下のように動作する。この動作を図６の動作説明図を用いて以下詳細に説明する。
【００４５】
なお、図５（ａ）の管理エリア５ａのフラグ＃１〜＃ｎの設定動作は実施例１と同様であり、実施例２の不揮発性半導体記憶装置１の読出しまたは書込み動作は図３の動作フローチャートを用いて実施例１にて説明した動作と同様であるので簡略化のためにその詳細な説明は省略する。
【００４６】
まず、フラグ”３”の「ＭＬＣ通常書込設定」では、通常のＭＬＣと同様、１つのセルに４種類の値を書き、その値をそのまま読出す。
【００４７】
すなわち、図６に示したように、”０”を２ビットにて表わし”００”として書込み、同様に、”１”を”０１”として書込み、”２”を”１０”として書込み、”３”を”１１”として書込む。そして、読出しも２ビットにて読出し、”００”を”０”とし、”０１”を”１”とし、”１０”を”２”とし、”１１”を”３”として読出す。
【００４８】
フラグ”１”の「ＳＬＣ通常書込設定」では、１つのセルに１ビットの”０”または”１”を書込む際、２ビットの”００”または”０１”を書込み、読出し時には２ビットの”００”、または”０１”が読出されるが、これを１ビットの”０”または”１”とする。
【００４９】
フラグ”２”の「ＳＬＣ拡大書込設定」では、１つのセルに１ビットの”０”または”１”を書込む際、２ビットの”００”または”１１”を書込み、読出し時に２ビットの”００”を読出した場合は”０”とし、”０１”、”１０”、”１１”のいずれかを読出したときは”１”とする。
【００５０】
以上のように、通常書込設定の場合は、従来の不揮発性半導体記憶装置と同様、「ＳＬＣ通常書込設定」の場合はセルへの書込みの際に書込み電圧レベルを低く抑えることができ書換可能な回数を増やすことができ、「ＭＬＣ通常書込設定」の場合は、書換可能な回数は少なくなるが、容量を大きくすることができる。
【００５１】
また、ＳＬＣ拡大書込設定の場合では、ΔＶを大きくとるため、書換可能な回数は少なくなるが、読出しの際には、ΔＶを大きくして書込んだときと同様の作用が得られので、データ保持期間を長くすることができる。
【００５２】
（実施例２の効果）
以上のように実施例２の不揮発性半導体記憶装置によれば、ＭＬＣ拡張書込設定は設けず、ＭＬＣの不揮発性半導体メモリの２ビット分をＳＬＣの１ビットとして使用できるようにしたので、通常のＭＬＣとして使用される安価な不揮発性半導体メモリを用いて、実施例１と同様の効果を得ることができる。
【実施例３】
【００５３】
（構成）
実施例１および実施例２の不揮発性半導体記憶装置１では、あらかじめツール等を用いて管理エリア５ａに書込設定のフラグ＃１〜＃ｎを設定し、それ以降固定されたままであった。
【００５４】
実施例３の不揮発性半導体記憶装置１では、図７に示したように不揮発性半導体メモリ５の論理構成として管理エリア５ａを設けず、フラッシュメモリが通常有する冗長データを利用して、エリア＃１〜＃ｎ（５ｅ（１）〜５ｅ（ｎ））に書込設定としてのフラグ値をそれぞれ設定できるフラグエリア＃１〜＃ｎ（５ｆ（１）〜５ｆ（ｎ））を設け、エリアごとの書込設定を随時変更できるようになっている。
【００５５】
前述のように実施例３の不揮発性半導体記憶装置１では、実施例１または実施例２にてあらかじめ設定していた書込設定としてのフラグ値の設定は行わず、未使用エリアのフラグ値の初期値を、例えば、すべて「ＭＬＣ通常書込設定」”３”とするようにする。勿論、実施例１または実施例２のようにあらかじめエリアごとにフラグ値を設定してもよい。
【００５６】
また、実施例３の不揮発性半導体記憶装置１では、書込みコマンドとして書込設定をオプションとした書込みコマンドを用意し、ホスト装置２０から不揮発性半導体記憶装置１への書込みコマンドは書込設定のオプションとともに発行するようになっている。その他の構成は、実施例１の構成と同様であるので、簡略化のためにその詳細な説明は省略する。
【００５７】
（動作）
以上の構成により実施例３の不揮発性半導体記憶装置１は、以下のように動作する。この動作を前述の図８の動作フローチャートを用いて以下詳細に説明する。
【００５８】
なお、各書込設定における不揮発性半導体メモリ５への書込動作は、図４の動作説明図を用いて説明した実施例１にて動作と同様であるので、簡略化のためにその詳細な説明は省略する。
【００５９】
まず、実施例３の不揮発性半導体記憶装置１は、ホスト装置２０からの読出し／書込みコマンドおよび書込設定オプションを受領すると（ステップＳ１１）、コマンドが読出しコマンドか、書込みコマンドかどうかを判定し（ステップＳ１２）、コマンドが読出しコマンドのときは、コマンドのアドレスよりアクセスするデータエリア５ｂのエリア５ｅ（ｘ）を特定し、当該エリア５ｅ（ｘ）のフラグエリア５ｆ（ｘ）からフラグ値を取得し（ステップＳ１３）、当該取得したフラグ値の書込設定に応じて読出しを行い（ステップＳ１４）、本処理を終了する。
【００６０】
一方、コマンドが書込みコマンドのときは（ステップＳ１２）、コマンドのアドレスよりアクセスするデータエリア５ｂのエリア５ｅ（ｘ）を特定し、書込みコマンドともに送信されてきた書込設定オプションに基づいて当該エリア５ｅ（ｘ）に書込みを実施し（ステップＳ１５）、書込設定のフラグ値を当該エリアのフラグエリア５ｆ（ｘ）に格納して（ステップＳ１６）、本処理を終了する。
【００６１】
（実施例３の効果）
以上のように実施例３の不揮発性半導体記憶装置によれば、データエリアにそれぞれのエリアの書込設定としてのフラグ値を格納できるフラグエリアを設けるようにしたので、実施例１の効果に加え、エリアごとの書込設定を随時変更することができる。
【実施例４】
【００６２】
通常の不揮発性半導体記憶装置１では、例えば、特開２００８−２２５５７６号公報等にて開示されているように、ウェアレベリングという技術により書換回数の平準化を行い、不揮発性半導体記憶装置の長寿命化を図っている。
【００６３】
そして、スタティックウェアレベリングという、プログラムデータ等の書換えのない静的エリアをも含めた書換回数の平準化する技術では、書換回数の少ないエリアのデータを書換回数の多いエリアに書き直すことで、書込み回数の少なかったエリアも書換える機会を増やし、書換回数の平準化を図るようにしている。
【００６４】
しかしながら、実施例１若しくは実施例３の不揮発性半導体装置ではエリアごとに異なった書込み方式をとるため、そのままでは適用することができない。すなわち、プログラムデータ等の書換えのない静的エリアは、図４の（２）、（４）のように拡張書込により書込みを行うため、書換寿命が（１）、（３）の通常書込による書換寿命とは異なり、そのままでは適用することができない。
【００６５】
（構成）
以上の背景を踏まえ、実施例４の不揮発性半導体記憶装置１では、拡張書込によるエリアを除いた通常書込によるエリアにスタティックウェアレベリングを適用する構成となっている。
【００６６】
なお、実施例４の不揮発性半導体装置１の構成および管理エリア５ａやデータエリア５ｂの構成は、実施例１若しくは実施例３の構成と同様であるので簡略化のためにその詳細な説明は省略する。
【００６７】
（動作）
実施例４の不揮発性半導体装置１の動作は、実施例１若しくは実施例３の構成と同様であるが、実施例４の不揮発性半導体装置１では、図９に示したようなスタティックウェアレベリングの動作が付加されている。なお、スタティックウェアレベリングは、通常、ホスト装置２０からのアクセスが一定時間ないような負荷の軽いタイミングにて実施される。
【００６８】
まず、「ＳＬＣ通常書込設定」のエリアをリストアップし（ステップＳ２１）、当該リストアップしたエリアに対してスタティックウェアレベリングを実施する（ステップＳ２２）。
【００６９】
次に、「ＭＬＣ通常書込設定」のエリアについてもリストアップし（ステップＳ２３）、当該リストアップしたエリアに対してスタティックウェアレベリングを実施する（ステップＳ２４）。
【００７０】
（実施例４の効果）
以上のように実施例４の不揮発性半導体記憶装置によれば、エリアごとに異なった書込み方式にて書込みを行う不揮発性半導体装置において、書換寿命の低下が著しい「ＳＬＣ拡張書込設定」と「ＭＬＣ拡張書込設定」のエリアはスタティックウェアレベリングを行わず、「ＳＬＣ通常書込設定」と「ＭＬＣ通常書込設定」のエリアについてのみ、スタティックウェアレベリングを実施するようにしたので、実施例１若しくは実施例３の効果の効果に加え、適正な書換回数の平準化をも行うことができ、不揮発性半導体装置の長寿命化をも図ることができる。
【実施例５】
【００７１】
（構成）
実施例５の不揮発性半導体記憶システムおよび不揮発性半導体記憶装置１では、通常のＭＬＣの不揮発性半導体メモリを使用し、実施例２にて述べた読出しおよび書込み制御をホスト装置２０のプログラムとして実施できる構成としている。
【００７２】
実施例５の不揮発性半導体記憶システムの構成を図１０に示す。同図に示したように、実施例５の不揮発性半導体記憶システムは、ホスト装置２０に、アプリケーションプログラムを動作させるアプリケーション１０と、アプリケーション１０からの命令によりファイルのアクセスを制御するファイルシステム１１と、ファイルシステム１１からの読出し／書込みコマンドを受け、Ｉ／Ｆドライバ１３にＩ／Ｏコマンドを送出する中間ドライバ１２を備えている。
【００７３】
なお、不揮発性半導体メモリ５の構成は、実施例１の構成と同様であるので、簡略化のためにその詳細な説明は省略する。
【００７４】
（動作）
実施例５の不揮発性半導体記憶システムの動作を、前述の図１０のシステム構成図および実施例２にて用いた図５および図６を用いて以下詳細に説明する。なお、管理エリア５ａのフラグ値の設定動作は実施例２と同様であるので、簡略化のためにその詳細な説明は省略する。
【００７５】
まず、アプリケーション１０のツール等により管理エリア５ａのフラグ値を設定すると、アプリケーション１０は、ファイルシステム１１を介して、中間ドライバ１２に書込みコマンドを送信する。
【００７６】
これを受信した中間ドライバ１２は、「ＭＬＣ通常モード」のエリアにはそのままのデータを書込み、「ＳＬＣ通常モード」のエリアには、１ビットの”０”または”１”のデータを、２ビットの”００”または”０１”にして書込み、読出し時は２ビットの”００”や”０１”のデータを１ビットの”０”や”１”として読出す。
【００７７】
また、「ＳＬＣ拡張モード」のエリアには、１ビットの”０”または”１”のデータを、２ビットの”００”または”１１”にして書込み、読出しの時は２ビットの”００”は１ビットの”０”として読出し、２ビットの”０１”、”１０”、”１１”のデータは１ビットの”１”として読出す。
【００７８】
（実施例５の効果）
以上のように実施例５の不揮発性半導体記憶装置によれば、ホスト装置に、マルチレベルセルの不揮発性半導体メモリの複数ビット分とシングルレベルセルの１ビットを対応付けて変換する中間ドライバを備えたので、通常の不揮発性半導体装置を用いて、実施例２の不揮発性半導体記憶装置と同様の効果を得ることができる。
【００７９】
《その他の変形例》
以上の実施例の説明では、セルあたり４レベル（０、１、２、３の値をとる２ビット）のＭＬＣを使用するように説明したが、セルあたり８レベル（０、１、２、３、４、５、６、７の値をとる３ビット）やそれ以上のＭＬＣを使用する場合であっても同様に本発明を適用することができる。
【００８０】
また、３ビット以上にてＭＬＣを使用する場合では、実施例２において、ＭＬＣ拡大書込をも行うことができる。例えば、セルあたり３ビットによる８レベルのＭＬＣを使うときでは、２ビットでの表現も可能となるので、ＭＬＣ拡大書込も行うことができる。この場合、書込み時の値と読出し時の値は、図１１の変形例の不揮発性半導体記憶装置の動作説明図に示したような値とすればよい。
【産業上の利用可能性】
【００８１】
以上述べたように、本発明はフローティングゲートを持つ不揮発性半導体メモリを使用した不揮発性半導体装置または不揮発性半導体システムに広く用いることができる。
【符号の説明】
【００８２】
１    不揮発性半導体記憶装置
２    制御部
３    Ｉ／Ｆコントローラ
３ａ  Ｉ／Ｆバス
４    バッファ
５    不揮発性半導体メモリ
５ａ  管理エリア
５ｂ  データエリア
１０  アプリケーション
１１  ファイルシステム
１２  中間ドライバ
１３  Ｉ／Ｆドライバ
２０  ホスト装置
Ｖｒ  読取りレベル
Ｖｒ＋ΔＶ  書込みレベル
【図１】
2012009112.tif 000003
【図２】
2012009112.tif 000004
【図３】
2012009112.tif 000005
【図４】
2012009112.tif 000006
【図５】
2012009112.tif 000007
【図６】
2012009112.tif 000008
【図７】
2012009112.tif 000009
【図８】
2012009112.tif 000010
【図９】
2012009112.tif 000011
【図１０】
2012009112.tif 000012
【図１１】
2012009112.tif 000013
【図１２】
2012009112.tif 000014
【図１３】
2012009112.tif 000015