(57)【特許請求の範囲】
【請求項１】
多値記憶可能なメモリセルを複数有する不揮発性半導体メモリと、前記不揮発性半導体メモリに格納されたプログラムコードに基づいて動作可能なＣＰＵとを具備する情報処理システムであって、
前記不揮発性半導体メモリは、ページアドレスで指定可能な第１ページ及び第２ページが割り当てられたワード線を複数有し、前記第１ページは前記ワード線に接続された複数のメモリセルの第１ビットに対応し、前記第２ページは前記ワード線に接続された複数のメモリセルの第２ビットに対応し、
前記プログラムコードは、前記複数のワード線の少なくとも一部において、前記第１ページのみに格納され、かつ、前記第２ページには格納されないことを特徴とする情報処理システム。
【請求項２】
前記不揮発性半導体メモリは、ユーザデータを記憶することが可能であり、前記ユーザデータは、前記複数のワード線の少なくとも一部において、前記第１ページ及び前記第２ページの両方に格納されることを特徴とする請求項１記載の情報処理システム。
【請求項３】
前記不揮発性半導体メモリは、前記プログラムコードを格納する場合において、前記第２ページに対応する前記第２ビットに固定値を書き込むことを特徴とする請求項１記載の情報処理システム。
【請求項４】
前記不揮発性半導体メモリは、ＮＡＮＤ型フラッシュメモリであることを特徴とする請求項１記載の情報処理システム。
【請求項５】
前記不揮発性半導体メモリは、前記ページアドレスにより前記第１ページを指定することで、前記ワード線に割り当てられた前記第２ページを不使用とした状態で、前記第１ページにのみ前記プログラムコードを格納可能であることを特徴とする請求項１記載の情報処理システム。
【請求項６】
前記第１ページに対応するページアドレスのみに対してアクセスするブートアップ制御装置を更に具備し、前記ＣＰＵは前記ブートアップ制御装置が読み出した前記プログラムコードによってブートアップ制御されることを特徴とする請求項１記載の情報処理システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理システムに関する。
【背景技術】
【０００２】
不揮発性メモリ(例えばＮＡＮＤ型フラッシュメモリ)でブート・リード・オンリ・メモリ（ブートＲＯＭ）を代用するシステムでは、一般的に、ＮＡＮＤリードデータをスタティック・ランダム・アクセス・メモリ（ＳＲＡＭ）に転送後、ホスト中央演算処理装置（ホストＣＰＵ）がＳＲＡＭをブートＲＯＭとしてアクセスする機構を採用する。
【０００３】
一方、ＮＡＮＤ型不揮発性メモリからＳＲＡＭへのロードが完了し、ＳＲＡＭが読み出し待機状態（リードレディ）になるまでの間、ホストＣＰＵのＳＲＡＭアクセスを待たせて禁止しなければならない。従来技術では、ブート制御部とＣＰＵのパワーオンリセット信号を独立に生成、供給し、ブート制御部のＳＲＡＭアクセスがレディー状態になるタイミングで、ＣＰＵのパワーオンリセット信号を解除する機構を設けている。
【０００４】
ＮＡＮＤフラッシュメモリを利用したブートシステム及びその方法については、既に開示されている（例えば、特許文献１）。又、ファイルメモリなどに利用されるＮＡＮＤ型フラッシュメモリにおいて、メモリ上の任意のアドレスにシステムブート用データを書き込む不揮発性半導体記憶装置についても既に開示されている（例えば、特許文献２）。又、ブートコードとＮＡＮＤフラッシュメモリについても、既に開示されている（例えば、特許文献３及び特許文献４）。又、多値ＮＡＮＤセルの構成についても、既に開示されている（例えば、特許文献５）。
【０００５】
多値ＮＡＮＤ型不揮発性メモリをブートＲＯＭに使用する場合、多値ＮＡＮＤ型不揮発性メモリは２値ＮＡＮＤ型不揮発性メモリに比べてデータ保持回路の経年劣化による微小なしきい値変動によってデータ化けが発生しやすく、信頼性が低いという問題点があり、エラーフリーに近い信頼性の高いブートシステムを実現することが困難である。
【０００６】
一方、ブート制御部とＣＰＵのパワーオンリセット信号を独立に生成、供給し、ブート制御部のＳＲＡＭアクセスがレディー状態になるタイミングで、ＣＰＵのパワーオンリセット信号を解除する機構の問題点は、パワーオンリセット回路が複雑化する点にある。ＳＲＡＭレディーのタイミングは、ＳＲＡＭにロードするプログラム容量や、ＮＡＮＤリードデータのエラー有無によるリトライ、エラー訂正処理等で変動する。このため、常にワーストケースのタイミングでＣＰＵリセットを解除する必要がある。従って、ＳＲＡＭレディータイミングに合わせて最短時間でＣＰＵリセットを解除することができず、結果として、システム立ち上がりの平均時間を短縮できないという問題点がある。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２００３−２７１３９１号公報
【特許文献２】特開２００３−１６２４５３号公報
【特許文献３】特開２００３−１１４８２６号公報
【特許文献４】米国特許第５，５１９，８４３号明細書
【特許文献５】特開２００２−３１３０８９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
本発明の目的は、ユーザの用途に応じた多機能の情報処理システムを提供することにある。
【課題を解決するための手段】
【０００９】
上記目的を達成するために、本発明の一態様によれば、多値記憶可能なメモリセルを複数有する不揮発性半導体メモリと、前記不揮発性半導体メモリに格納されたプログラムコードに基づいて動作可能なＣＰＵとを具備する情報処理システムであって、前記不揮発性半導体メモリは、ページアドレスで指定可能な第１ページ及び第２ページが割り当てられたワード線を複数有し、前記第１ページは前記ワード線に接続された複数のメモリセルの第１ビットに対応し、前記第２ページは前記ワード線に接続された複数のメモリセルの第２ビットに対応し、前記プログラムコードは、前記複数のワード線において、前記第１ページのみに格納され、かつ、前記第２ページには格納されない情報処理システムが提供される。
【発明の効果】
【００１０】
本発明によれば、ユーザの用途に応じた多機能の情報処理システムを提供することができる。
【図面の簡単な説明】
【００１１】
【図１】本発明の第１の実施の形態に係るマイクロプロセッサブートアップ制御装置の模式的ブロック構成図。
【図２】本発明の第２の実施の形態に係る多値不揮発性メモリの制御装置を構成するブートアップ制御シーケンサの模式的ブロック構成図。
【図３】本発明の第１及び第２の実施の形態に適用する多値ＮＡＮＤ型不揮発性メモリの多値ＮＡＮＤブートコード格納ページアドレスを説明する模式図。
【図４】本発明の第２の実施の形態に適用する多値ＮＡＮＤ型不揮発性メモリのページ単位及びメモリセルブロックの構成を説明する模式図。
【図５】本発明の第２の実施の形態に適用する多値ＮＡＮＤ型不揮発性メモリのページ単位において、奇数ページ及び偶数ページについて説明する模式図。
【図６】本発明の第２の実施の形態に適用する多値ＮＡＮＤ型不揮発性メモリにおいて、４値ＮＡＮＤセルのしきい値分布の例について説明する模式図。
【図７】本発明の第３の実施の形態に係る情報処理システムの模式的ブロック構成図。
【図８】本発明の第４の実施の形態に係る情報処理システムの模式的ブロック構成図。
【図９】本発明の第３及び第４の実施の形態に係る情報処理システムに適用する多値ＮＡＮＤ型不揮発性メモリのブートコード用メモリセルブロックと多値メモリストレージ部とを共に備える構成を説明する模式図。
【図１０】本発明の第５の実施の形態に係る情報処理システムの模式的ブロック構成図。
【図１１】本発明の第５の実施の形態に適用する多値ＮＡＮＤ型不揮発性メモリにおいて、４値ＮＡＮＤセルのしきい値分布の例について説明する模式図。
【図１２】本発明の第５の実施の形態に係る情報処理システムに適用する多値ＮＡＮＤ型不揮発性メモリの詳細な構成図であって、２値コードを記憶する領域１と４値ユーザデータを記憶する領域２を備える構成を説明する模式図。
【発明を実施するための形態】
【００１２】
次に、図面を参照して、本発明の第１乃至第５の実施の形態を説明する。以下の図面の記載において、同一又は類似の部分には同一又は類似の符号を付している。ただし、図面は模式的なものであり、各ブロックの大きさの比率等は現実のものとは異なることに留意すべきである。又、図面相互間においても各ブロックの寸法の関係や比率が異なる部分が含まれていることはもちろんである。
【００１３】
また、以下に示す第１乃至第５の実施の形態は、この発明の技術的思想を具体化するための装置やシステムを例示するものであって、この発明の技術的思想は、構成部品の構成、構造、配置等を下記のものに特定するものでない。
【００１４】
（第１の実施の形態）
本発明の第１の実施の形態に係るマイクロプロセッサブートアップ制御装置は、図１に示すように、外部のＣＰＵ及び不揮発性メモリ３８に接続され、不揮発性メモリ３８のデータを読み込んでＣＰＵをブートアップ制御するマイクロプロセッサブートアップ制御装置１２である。そして、このマイクロプロセッサブートアップ制御装置１２は、不揮発性メモリ３８に接続された揮発性メモリ（ＳＲＡＭ）２４と、不揮発性メモリ３８からブートアップコードをＳＲＡＭ２４に転送するセレクタ３６と、ブートアップコードの転送が完了するまで、ＣＰＵに対してＣＰＵ読み込みデータを送出し、ＣＰＵを待機状態にするブートアップ制御シーケンサ２６とを備える。
【００１５】
ここで、ＣＰＵ読み込みデータはＣＰＵ命令コードである。又、ＣＰＵ命令コードは無演算命令(ＮＯＰ)、算術論理演算命令、データ転送命令、分岐命令、或いは周辺機器に対する入出力命令の内のいずれかである。ＣＰＵ読み込みデータはＣＰＵ出力アドレスに関わらず決定することができる。
【００１６】
又、本発明の第１の実施の形態に係るマイクロプロセッサブートアップ制御装置１２は、図１に示すように、不揮発性メモリ３８からブートアップコードをＳＲＡＭ２４に転送完了後、ＣＰＵ出力アドレスに関わらず、分岐命令をＣＰＵに読み込ませるホストインタフェース部１０を備えていても良い。ホストインタフェース部１０からブートアップ制御シーケンサ２６に対しては、外部メモリアドレス信号ＥＭＡが供給され、ブートアップ制御シーケンサ２６からホストインタフェース部１０に対しては、外部メモリリードデータ信号ＥＭＲが供給される。
【００１７】
不揮発性メモリ３８からブートアップコードをＳＲＡＭ２４に転送完了後、ＣＰＵ出力アドレスに関わらず、分岐命令をＣＰＵに読み込ませた後に、ＣＰＵ出力アドレスに応じたデータをＣＰＵに読み込ませる。ＡＮＤゲート３２及びバッファ回路３４はＣＰＵ出力アドレスに応じたデータをＣＰＵに読み込ませる手段の駆動クロック信号ＣＬＫをホストＣＰＵバス信号ＨＢＳから生成する手段である。
【００１８】
ＡＮＤゲート３２にホストバス信号ＨＢＳ（ＷＥ／ＯＥ）を供給しているため、ブートアップ制御装置１２にクロック発生回路を設ける必要がないという利点もある。
【００１９】
ここで、外部のＣＰＵを接続するホストＣＰＵバス４２とホストインタフェース部１０の間には、ホストバス信号ＨＢＳが転送され、ＡＮＤゲート３２に対しては、ホストＣＰＵバス信号ＨＢＳから分岐されたライトイネーブル信号ＷＥ及びアウトプットイネーブル信号ＯＥが入力される。バッファ回路３４の出力信号であるクロック信号ＣＬＫはそれぞれ、ホストインタフェース部１０、ブートアップ制御シーケンサ２６及びエラー検出・訂正処理部４０に入力される。
【００２０】
又、第１の実施の形態に係るマイクロプロセッサブートアップ制御装置１２は、図１に示すように、ＳＲＡＭ２４へのロードデータのエラー有無を検出し、エラーがあった場合、訂正する手段であるエラー検出・訂正処理部４０を備え、不揮発性メモリ３８の複数ブロックに同一ブートアッププログラムのセットを格納し、ロードしたブロックにデータエラーが発生した場合、エラー訂正処理を行い、エラー訂正不可能な場合、他のセットを逐次選択し、選択したセットをＳＲＡＭ２４に再ロードし、エラー検出とエラー訂正を実行する。
【００２１】
更に、ＣＰＵ命令コードは、ブートアップコードを実行するまでに必要の無い装置に対する算術論理演算命令；ブートアップコードを実行するまでに影響の無い装置に対する算術論理演算命令；ブートアップコードを実行終了するまでに必要の無いメモリに対する算術論理演算命令；ブートアップコードを実行終了するまでに影響の無いメモリに対する算術論理演算命令、ブートアップコードを実行するまで必要の無いレジスタに対する算術論理演算命令；ブートアップコードを実行するまでに影響の無いレジスタに対する算術論理演算命令；ブートアップコードを実行するまでに必要の無い装置に対するデータ転送命令；ブートアップコードを実行するまでに影響の無い装置に対するデータ転送命令；ブートアップコードを実行終了するまでに必要の無いメモリに対するデータ転送命令；ブートアップコードを実行終了するまでに影響の無いメモリに対するデータ転送命令；ブートアップコードを実行するまで必要の無いレジスタに対するデータ転送命令、ブートアップコードを実行するまでに影響の無いレジスタに対するデータ転送命令；ブートアップコードを実行終了するまで必要の無い周辺機器に対する入出力命令及びブートアップコードを実行終了するまで影響の無い周辺機器に対する入出力命令の内、いずれであっても良い。
【００２２】
ここで、レジスタとは、ＣＰＵの命令セットに定義されているレジスタ類に対して無意味な操作をループで実行し、実効的なＮＯＰのループ実行を実現する機能を有するものであって、例えば、無効データが格納されているアキュムレータレジスタにインクリメント命令を連続実行するなどの動作をするものである。
【００２３】
又、ここでメモリとは、汎用ＤＲＡＭ或いは汎用ＳＲＡＭで構成されたメインメモリを意味する。
【００２４】
ここで周辺装置と周辺機器、更にメモリは、広義には全て周辺装置に分類される。ここで周辺装置とは、ボード形態で供給するものである。周辺機器とは大規模なセット機器を想定することができる。例えば、装置としては、汎用メモリ（ＤＲＡＭ，ＳＲＡＭ）、ビデオカード、ＵＳＢインタフェース、ＰＣカードインタフェース等である。機器としては、モニター、プリンタ、キーボード等の周辺端末機器等である。
【００２５】
更に、第１の実施の形態に係るマイクロプロセッサブートアップ制御装置１２においては、分岐命令の示すアドレスがブートアップコードのスタート番地を示していても良く、分岐命令の示すアドレスを不揮発性メモリ３８上の一部から提供しても良く、複数のブートアッププログラムセットを不揮発性メモリ３８上に格納し、装置の入力ピンの状態によりブートアッププログラムセットを選択し、該選択されたブートアッププログラムをＳＲＡＭ２４へロードしても良い。
【００２６】
或いは、第１の実施の形態に係るマイクロプロセッサブートアップ制御装置１２においては、不揮発性メモリ３８からブートアップコードをＳＲＡＭ２４に転送完了後、ＣＰＵ及び、マイクロプロセッサブートアップ制御装置１２以外に対してリセット動作を行いブートアップコードを実行させても良い。
【００２７】
ＣＰＵバスインタフェースを構成するホストＣＰＵバス４２にはアドレス信号、データバス信号、ライトイネーブル信号(ＷＥ)、出力イネーブル信号(ＯＥ)、その他の信号が転送される。外部にＣＰＵを接続するホストＣＰＵバス４２は、ホストＣＰＵバス信号（ＨＢＳ）を転送するデータバスを介して、ホストインタフェース部１０及びＡＮＤゲート３２に接続されている。ＡＮＤゲート３２に対しては、ライトイネーブル信号(ＷＥ)、アウトプットイネーブル信号(ＯＥ)が供給されている。
【００２８】
ホストＣＰＵバス４２には、例えばメインメモリを構成するＳＲＡＭ２４を備えるブートアップ制御装置１２、その他の周辺装置が複数接続されている。不揮発性メモリ３８に対するブートアップ制御装置１２は、ホストインタフェース部１０、不揮発性メモリの制御装置であるブートアップ制御シーケンサ２６、ＳＲＡＭ２４、エラー検出・訂正処理部４０から構成され、例えば、多値ＮＡＮＤ型不揮発性メモリを除く部分を同一チップ上に形成してワンチップＬＳＩで実現する。ＳＲＡＭ２４には多値ＮＡＮＤ型不揮発性メモリ３８からロードしたプログラムを格納する。システムに電源が投入され、ＳＲＡＭ２４へのＮＡＮＤデータロードが終了した後、ＣＰＵはＳＲＡＭ２４をアクセスしてブートアップ処理を開始する。
【００２９】
[ブートアップ処理]
（ａ）システムに電源が投入されると、パワーオンリセットがホストＣＰＵとブートアップ制御装置１２にかかり、リセット解除後に動作開始する。
【００３０】
（ｂ）ＣＰＵはブートプログラム実行目的でブートアップ制御装置１２内のＳＲＡＭ２４をＲＯＭに見立ててアクセスする。
【００３１】
（ｃ）次に、ブートアップ制御装置１２はＳＲＡＭ２４へのＮＡＮＤデータロードを開始し、ＳＲＡＭ２４へのＮＡＮＤデータロードが完了するまでの第１フェーズで、ＣＰＵ出力アドレスに関係なく、ＣＰＵに無演算命令（ＮＯＰ）コードを出力し続け、ＣＰＵを実効的に待機状態にする。
【００３２】
（ｄ）次に、ブートアップ制御装置１２は、ＳＲＡＭ２４へのＮＡＮＤデータロードが完了した第２フェーズで、ＣＰＵ出力アドレスに関係なく、ジャンプ命令を出力する。
【００３３】
（ｅ）次に、ブートアップ制御装置１２は、ジャンプ命令出力後の第３フェーズでは、ＣＰＵ出力アドレスに応じた命令を出力する。ＣＰＵは第１フェーズでプログラムカウンタがフリーラン状態で更新されているため、ＣＰＵ出力アドレスはインバリッドな値になっているが、第２フェーズのジャンプ命令によってそのアドレスが確定し、正常なプログラム実行ルーチンに移行できる。
【００３４】
[ＮＡＮＤリードデータのエラー処理]
続いて、ＮＡＮＤリードデータのエラー処理について説明する。
【００３５】
本発明の第１の実施の形態に係るマイクロプロセッサブートアップ制御装置１２に適用する多値ＮＡＮＤ型不揮発性メモリ３８の多値ＮＡＮＤブートコード格納ページアドレスは、図３に示すように、ＮＡＮＤページアドレスマップで、（０）〜（５）の６ページあり、各ページは５２８バイト（５１２バイト分のデータ記憶部＋１６バイト分の冗長部）の容量を備える。
【００３６】
（ａ）ブートアップ制御装置１２においては、ページ０をエラー検出・訂正処理部４０でエラーチェックを実行しつつ、ＳＲＡＭ２４にロードし、エラーがなければロード処理完了とし、エラーが発生した場合は異常終了とする。ブートコードのセットがページ（０）に格納されており、このセットのコピーをページ（１）〜（５）にも冗長に格納している。図１に示すブートアップ制御装置１２は、最初に多値ＮＡＮＤ型不揮発性メモリ３８のページ（０）にあるセット１をＳＲＡＭ２４にロードするが、多値ＮＡＮＤ型不揮発性メモリ３８からＳＲＡＭ２４へのデータロードと並列に、エラー検出・訂正処理部４０でエラーチェック処理を行う。エラーがなければ、ロード処理完了し、上述フェーズ２，３に移行する。
【００３７】
（ｂ）エラーがあった場合、エラー検出・訂正処理部４０は、エラーが発生したバイトアドレスとエラー訂正情報を記憶し、これらの情報に基づいて、ＳＲＡＭ２４にロードされているエラー発生アドレスのデータ訂正を行い、ロード処理完了し、上述フェーズ２，３に移行する。
【００３８】
（ｃ）訂正不可能エラーの場合、予備の冗長セット２〜５を逐次ロードし、同様にエラー検出・訂正を行う。最終セット５までこれを繰り返しても訂正不可能ならば（全セット訂正不可能エラーだった場合）、ブートエラーとして異常終了する。冗長セット数は目標のブートエラー回避率に応じて任意に設定すればよく、設定数を予めブートアップ制御装置１２に通知すればよい。或いは、冗長セットの中に、最終セットを識別させるコードを格納し、このコードでブートアップ制御装置１２が再ロードを自動停止するようにしても良い。更に、不揮発性メモリ３８の消去ブロック（例えば１６キロバイト）の複数ブロックに冗長セットを設け、更にブートエラー回避率を上げることができる。
【００３９】
本発明の第１の実施の形態に係るマイクロプロセッサブートアップ制御装置においては、多値ＮＡＮＤ型不揮発性メモリ３８をブートＲＯＭに代用するシステムで、ＮＡＮＤリードデータをＳＲＡＭ２４に転送後、ホストＣＰＵがＳＲＡＭ２４をブートＲＯＭとしてアクセスしてブート実行するもので、多値ＮＡＮＤ型不揮発性メモリ３８からＳＲＡＭ２４へのロードが完了しＳＲＡＭ２４がリードレディになるまでの間、ホストＣＰＵにＳＲＡＭリードデータとして無演算(ＩＤＬＥ)命令（ＮＯＰなど）を出力し、ＣＰＵを実効的に待機（ＷＡＩＴ）状態にする動作を実行することができる。
【００４０】
以上のように、本発明の第１の実施の形態に係るマイクロプロセッサブートアップ制御装置によれば、ブートアップ制御装置１２とＣＰＵのパワーオンリセット信号を独立に生成、供給する必要がないため、パワーオンリセット回路を簡素化でき、ＳＲＡＭレディータイミングに合わせて最短時間でＣＰＵのＳＲＡＭアクセスを許可でき、システム立ち上がりの平均時間を短縮できるマイクロプロセッサブートアップ制御装置を実現することができる。
【００４１】
（第２の実施の形態）
本発明の第２の実施の形態に係る不揮発性メモリの制御装置２６の構成は、図２に示すように、外部の不揮発性メモリ３８，揮発性メモリであるＳＲＡＭ２４及びホストインタフェース部１０に対して接続され、不揮発性メモリ３８のアドレスを指定するアドレスジェネレータ１８と、アドレスジェネレータ１８に接続されアドレスジェネレータ１８からアドレスジェネレータメモリアドレス信号ＡＧＭＡを受信し、ＳＲＡＭ２４に対して内部メモリアドレス信号ＩＭＡを供給する第１のセレクタ２０と、ＳＲＡＭ２４からの内部メモリリードデータ信号ＩＭＲを受信して、ホストインタフェース部１０に対して外部メモリリードデータ信号ＥＭＲを供給する第２のセレクタ１４と、第２のセレクタ１４及び第１のセレクタ２０に対して、内部制御信号ＳＭＳを供給し、アドレスジェネレータ１８に対して、内部制御信号ＳＡＧを供給するステートマシン１６と、第２のセレクタ１４に対して無演算命令信号ＮＯＰを発生する無演算命令コード生成回路２２とを備える。
【００４２】
又、セルの保持データを連続するページアドレスに割り当てる不揮発性メモリ３８を更に備え、不揮発性メモリ３８のアドレスが連続する偶数ページ、奇数ページに同一データを書き込み、一方のページのみをアクセスする不揮発性メモリの制御装置２６の構成としても良い。
【００４３】
又、セルの保持データを連続するページアドレスに割り当てる多値ＮＡＮＤ型不揮発性メモリ３８を更に備え、多値ＮＡＮＤ型不揮発性メモリ３８のアドレスが連続する偶数ページ、奇数ページに同一データを書き込み、一方のページのみをアクセスする構成としても良い。
【００４４】
又、多値ＮＡＮＤ型不揮発性メモリ３８は、データの信頼性を要求するデータ、例えばブートアップ命令コード、システムを起動するのに必要なパラメータなどを格納することもできる。
【００４５】
本発明の第２の実施の形態に係る不揮発性メモリの制御装置（ブートアップ制御シーケンサ）２６に適用する多値ＮＡＮＤ型不揮発性メモリ３８の多値ＮＡＮＤブートコード格納ページアドレスは、図３に示すように、ＮＡＮＤページアドレスマップで、（０）〜（５）の６ページあり、各ページは、例えば、５１２バイトの容量を備える。ブートコードのセットがページ１に格納されており、このセットのコピーがページ２にも格納されている。ブートアップ制御装置１２はページ０をエラー検出・訂正処理部４０でエラーチェックを実行しつつ、ＳＲＡＭ２４にロードし、エラーがなければロード処理完了とし、エラーが発生した場合は異常終了とする。
【００４６】
本発明の第２の実施の形態に適用する多値ＮＡＮＤ型不揮発性メモリ３８は、図４に示すように、複数のメモリセルブロック２８を備え、更に各メモリセルブロック２８は、それぞれ、例えば０〜６３ページからなるページ単位３０を備えている。また、多値ＮＡＮＤ型不揮発性メモリ３８はデータ入出力を行うためのページバッファ３１を備えている。ページバッファの記憶容量は、５２８バイト（５１２バイト＋１６バイト）である。データ書込などの際には、ページバッファは、自身の記憶容量に相当する１ページ分の単位でデータ入出力処理を実行する。ここで、「ページ」とは、ページバッファのデータ入出力処理により書き込み又は読み出しが可能な単位である。
【００４７】
多値ＮＡＮＤ型不揮発性メモリ３８において、各メモリセルは２のＮ乗（Ｎは２以上の整数）のしきい値状態を有している。つまり、各メモリセルはＮビットの情報を記憶することができる。以下においては、説明の便宜上、各メモリセルが４つのしきい値状態を有する場合について説明する。ページ単位３０へのアドレス発生回路は、例えば、図２中に示されるアドレスジェネレータ１８を用いることもできる。
【００４８】
本発明の第２の実施の形態に適用する多値ＮＡＮＤ型不揮発性メモリ３８のページ単位において、奇数ページ及び偶数ページは、図５に示すように、連続したページ単位によって表される。例えば、１〜４０９６ビット、即ち、５１２バイトの偶数ページ（０）及び奇数ページ（１）が連続したページ単位として表されている。
【００４９】
本発明の第２の実施の形態に適用する多値ＮＡＮＤ型不揮発性メモリにおいて、４値ＮＡＮＤセルの保持データしきい値分布は、図６に示すように、２ビット（bit）データの下位ビットをＮＡＮＤデバイス外部から見た論理的偶数ページの１ビットデータに割り当て、上位ビットを奇数ページの１ビットデータに割り当てている。
【００５０】
偶数、奇数ページに同一データを書き込むので、セルのしきい値分布は“１１”, “１０”, “００”, “０１”の４通り中、“１１”,“００”のみになる。
【００５１】
読み出し動作は、まず、しきい値リード“１，０”をリファレンスに保持データを識別する。この判定でしきい値より低ければ保持データ“１１”で判定処理終了する。この判定でしきい値より高ければ、しきい値リード“０，１”で判定し、低いかどうか確認する。論理的には２回目の判定結果は低くなる。物理的にも保持データが高い方に誤って経年変化することは通常ありえない。それは、メモリセル外部からメモリセルのフローティングゲートに対して電荷を注入しなければ、しきい値電圧は高いほうに遷移しない理由による。これにより、多値ＮＡＮＤ型不揮発性メモリ３８の電荷抜け等の経年劣化による読み出しデータエラーを大幅に低減することができる。
【００５２】
尚、図３に示した多値ＮＡＮＤ型不揮発性メモリの多値ＮＡＮＤブートコード格納ページアドレスにおいて、セット２及びセット３はセット１にエラーがあった場合の予備セットであり、結果としてページ（１）〜ページ（５）にはページ（０）と同一データが格納されている。
【００５３】
本発明の第２の実施の形態に係る不揮発性メモリの制御装置（ブートアップ制御シーケンサ）２６によれば、セルの保持データを連続するページアドレスに割り当てる多値ＮＡＮＤ型不揮発性メモリを使用し、メモリのアドレスが連続する偶数、奇数ページに同一データを書き込み、一方のページのみをアクセスすることによって、多値ＮＡＮＤ型不揮発性メモリをブートＲＯＭに使用する場合のデータ保持の経年劣化による微小なしきい値変動によるデータ化けの発生や、信頼性低下の問題点を解消し、エラーフリーに近い、信頼性の高い不揮発性メモリの制御装置（ブートアップ制御シーケンサ）を実現することができる。
【００５４】
（第３の実施の形態）
本発明の第３の実施の形態に係る情報処理システム６０の構成は、図７に示すように、複数のワード線，複数のワード線の各々に接続されたＮ個（Ｎは２より大きい自然数）のしきい値状態を有する複数のメモリセルを具備し、プログラムコードとユーザデータとが格納された多値ＮＡＮＤ型不揮発性メモリ３８と、多値ＮＡＮＤ型不揮発性メモリ３８に接続され、多値ＮＡＮＤ型不揮発性メモリ３８からプログラムコードが転送される揮発性メモリであるＳＲＡＭ２４を備えるブートアップ制御装置１２と、ブートアップ制御装置１２に接続され、ＳＲＡＭ２４に転送されたプログラムコードに基づいて動作するＣＰＵ５０とを備える。各ワード線に接続された複数のメモリセルは複数のページを形成し、プログラムコードは、複数のページの一部のページのみに格納されている。
【００５５】
又、本発明の第３の実施の形態に係る情報処理システム６０は、多値ＮＡＮＤ型不揮発性メモリ３８に接続され、多値ＮＡＮＤ型不揮発性メモリ３８を制御するＮＡＮＤコントローラ５８と、ＣＰＵ５０，ブートアップ制御装置１２及びＮＡＮＤコントローラ５８を共通接続するＣＰＵバス５４と、ＣＰＵバス５４に接続されたＤＲＡＭ５２とを更に備えていても良い。
【００５６】
更に、本発明の第３の実施の形態に係る情報処理システム６０では、ブートアップ制御装置１２内に配置されるアドレスジェネレータ１８によって構成されるアドレス発生回路を備え、このアドレス発生回路により発生されたアドレス信号に基づいて、ページが指定される。
【００５７】
又、多値ＮＡＮＤ型不揮発性メモリ３８は、２つの領域に分割され、一方はＮ値で、他方はＮ／２値で使用すると共に、プログラムコードをＮ／２値で使用しても良い。
【００５８】
４値の場合の本発明の第３の実施の形態に係る情報処理システム６０は、複数のワード線，複数のワード線の各々に接続された４つのしきい値状態を判別する４値メモリを有する複数のメモリセルを具備し、プログラムコードとユーザデータとが格納された多値ＮＡＮＤ型不揮発性メモリ３８と、システムの起動時に多値ＮＡＮＤ型不揮発性メモリ３８からプログラムコードが転送される揮発性メモリであるＳＲＡＭ２４を備えるブートアップ制御装置１２と、ＳＲＡＭ２４に転送されたプログラムコードに基づいて動作するＣＰＵ５０とを備える。複数のワード線の内、１本のワード線に共通に接続された複数のメモリセルは、アドレス指定可能な奇数ページと偶数ページとを形成し、プログラムコードは、奇数ページまたは偶数ページの何れか一方のみに格納されている。
【００５９】
多値ＮＡＮＤ型不揮発性メモリ３８は、２つの領域に分割され、一方は４値で、他方は２値で使用すると共に、プログラムコードを２値で使用する。ユーザデータは、奇数ページと偶数ページとの両方に格納される。又、多値ＮＡＮＤ型不揮発性メモリ３８と揮発性メモリ２４とは同一のパッケージに収められていても良い。
【００６０】
更に又、４値の場合の本発明の第３の実施の形態に係る情報処理システム６０においては、ブートアップ制御装置１２内に配置されるアドレスジェネレータ１８によって構成されるアドレス発生回路を備え、このアドレス発生回路により発生されたアドレス信号に基づいて、起動時に奇数ページまたは偶数ページの何れか一方のみをアドレスする。
【００６１】
更に又、本発明の第３の実施の形態に係る情報処理システム６０においては、４値の場合の簡単な構成としては、プログラムコードが格納された多値ＮＡＮＤ型不揮発性メモリ３８と、多値ＮＡＮＤ型不揮発性メモリ３８の連続するページアドレス空間に対して、偶数ページアドレス又は奇数ページアドレスのみに対してアクセスする多値ＮＡＮＤ型不揮発性メモリの制御装置２６を備えるブートアップ制御装置１２と、ＣＰＵバス５４と、ＣＰＵバス５４を介して、多値ＮＡＮＤ型不揮発性メモリの制御装置２６に接続され、プログラムコードによってブートアップ制御されるＣＰＵ５０とを備えていても良い。このような情報処理システムは、携帯電話端末に適用することもできる。
【００６２】
更に又、本発明の第３の実施の形態に係る情報処理システムに適用する多値ＮＡＮＤ型不揮発性メモリ３８の構成は、例えば、図９に示すように、複数のメモリセルブロック２８から構成され、ブートコード用メモリセルブロック７２と、多値メモリストレージ部７０を備える。多値ＮＡＮＤ型不揮発性メモリ３８の物理メモリ空間は、第１及び第２の領域に分割され、第２の領域が不揮発性メモリの制御装置２６によりアクセスされる構成を採用しても良い。第２の領域には、ブート時に使用されるプログラムが格納され、第１の領域には、画像データ，音声データ等のユーザデータが格納される。
【００６３】
本発明の第３の実施の形態に係る情報処理システムによれば、４値ＮＡＮＤ型不揮発性メモリ３８を２つの領域に分割し、一方は４値で、他方は２値で使用することにより、ユーザの用途に応じた多機能を実現することができる。更に一般化すれば、Ｎ値ＮＡＮＤ型不揮発性メモリを２つの領域に分割し、一方はＮ値で、他方はＮ／２値で使用することにより、プログラム等の重要性の高いデータはＮ／２値で使用し、画像データ，音声データ等のユーザデータは蓄積情報量を確保するためにＮ値で使用することによって、ユーザの用途に応じた多機能情報処理システムを実現することができる。
【００６４】
（第４の実施の形態）
本発明の第４の実施の形態に係る情報処理システムは、図８に示すように、複数のワード線，複数のワード線の各々に接続されＮ個（Ｎは２より大きい自然数）のしきい値状態を有する複数のメモリセルを具備し、プログラムコードとユーザデータとが格納された多値ＮＡＮＤ型不揮発性メモリ３８と、多値ＮＡＮＤ型不揮発性メモリ３８に接続され、多値ＮＡＮＤ型不揮発性メモリ３８からプログラムコードが転送されるコントローラ５９と、ＣＰＵバス５４と、ＣＰＵバス５４を介してコントローラ５９に接続され、プログラムコードに基づいて動作するＣＰＵ５０とを備える。
【００６５】
各ワード線に接続された複数のメモリセルは複数のページを形成し、プログラムコードは、複数のページの内、一部のページのみに格納される。
【００６６】
本発明の第４の実施の形態に係る情報処理システムにおいて、コントローラ５９は、プログラムコードを記憶する揮発性メモリであるＳＲＡＭ２４を備えるブートアップ制御装置１２，及びＮＡＮＤインタフェースコントローラ６２を備える。
【００６７】
本発明の第４の実施の形態に係る情報処理システムは、更に、多値ＮＡＮＤ型不揮発性メモリ３８に接続され、かつコントローラ５９とも接続されるストレージメモリ５６とブート用メモリ６４を備える構成を有する。ＣＰＵバス５４に接続されたＤＲＡＭ５２を更に備えていても良い。
【００６８】
多値ＮＡＮＤ型不揮発性メモリ３８，ストレージメモリ５６及びブート用メモリ６４は、それぞれ別々の半導体チップを用いて構成してもよいが、最も簡単には、多値ＮＡＮＤ型不揮発性メモリ３８と同一チップ上に配置することができる。この場合、多値ＮＡＮＤ型不揮発性メモリ３８の内部を多値ＮＡＮＤ型不揮発性メモリ３８，ストレージメモリ５６，ブート用メモリ６４としてそれぞれ分割して構成することもできる。
【００６９】
本発明の第４の実施の形態に係る情報処理システムにおいて、コントローラ５９は、例えば、図１において、多値ＮＡＮＤ型不揮発性メモリ３８以外部分を示す。
【００７０】
本発明の第４の実施の形態に係る情報処理システムに適用する多値ＮＡＮＤ型不揮発性メモリ３８の構成は、例えば、図９に示すように、複数のメモリセルブロック２８から構成され、ブートコード用メモリセルブロック７２と、多値メモリストレージ部７０を備える。多値ＮＡＮＤ不揮発性メモリ３８の物理メモリ空間は、例えば、合計１Ｇバイトであり、第１及び第２の領域に分割される。第２の領域はブートコード用メモリセルブロック７２に対応し、第１の領域は多値メモリストレージ部７０に対応する。勿論、第１の領域及び第２の領域に分割することは必須ではなく、多値ＮＡＮＤ型不揮発性メモリ３８の物理メモリ空間をブートＲＯＭとしてのみ使用しても良い。
【００７１】
ＮＡＮＤインタフェースコントローラ６２は、多値ＮＡＮＤ型不揮発性メモリ３８のブロック管理やアドレス変換等を行う。ブートアップ制御装置１２，ＮＡＮＤインタフェースコントローラ６２及び多値ＮＡＮＤ型不揮発性メモリ３８は同一チップ上に配置することもできる。
【００７２】
情報処理システム６０の応用例としては、例えば、携帯電話端末やＰＤＡがある。即ち、情報処理システム６０に対して、ＲＦ回路，ディスプレイ，キー入力手段等を備えることによって、携帯電話端末やＰＤＡを実現できる。又、ＮＡＮＤ型不揮発性メモリ３８のデザインルールは、例えば、０．１μｍ未満である。
【００７３】
本発明の第４の実施の形態に係る情報処理システムによれば、多値ＮＡＮＤ型不揮発性メモリ３８を第１及び第２の２つの領域に分割し、多値メモリストレージ部７０からなる第１の領域は、画像データや音声データ等の一般のユーザデータを格納し、ブートコード用メモリセルブロック７２からなる第２の領域には情報処理システム６０のブート時に使用されるプログラムを格納し、この第２の領域をＮＡＮＤインタフェースコントローラ６２によって管理することによって、ユーザの用途に応じた多機能情報処理システムを実現することができる。
【００７４】
（第５の実施の形態）
本発明の第５の実施の形態に係る情報処理システム６０は、図１０に示すように、複数のワード線，複数のワード線の各々に接続されＮ個（Ｎは２より大きい自然数）のしきい値状態を有する複数のメモリセルを具備し、プログラムコードとユーザデータとが格納された多値ＮＡＮＤ型不揮発性メモリ３８と、バス８６と、多値ＮＡＮＤ型不揮発性メモリ３８に接続され、多値ＮＡＮＤ型不揮発性メモリ３８から、バス８６を介してプログラムコードが転送されるコントローラ５９と、バス８６に接続されたシステムメモリ８８とを備える。
【００７５】
コントローラ５９の内部は、ＣＰＵバス５４を介して接続されたＣＰＵ５０と、メモリコントローラ８２と、ブートアップローダー８０と、更にメモリコントローラ８２及びブートアップローダー８０に対するインタフェース回路８４をから構成されている。ここで、ブートアップローダー８０は、外部ＲＯＭのブートコードを制御する機能を有する。
【００７６】
インタフェース回路８４から多値ＮＡＮＤ型不揮発性メモリ３８に対しては、チップイネーブル信号ＣＥバー、クロックイネーブル信号ＣＬＥ、算術演算信号ＡＬＥ、書き込みイネーブル信号ＷＥバー、読み出しイネーブル信号ＲＥバー等の各種のメモリ制御信号が供給される。
【００７７】
多値ＮＡＮＤ型不揮発性メモリ３８の内部は、図１０中に示されているように、領域１と領域２に分割されていて、例えば、領域１は２値コードを偶数ページ／奇数ページに記憶し、領域２は４値のユーザデータを偶数／奇数ページに記憶する。
【００７８】
本発明の第５の実施の形態に係る情報処理システム６０に適用する多値ＮＡＮＤ型不揮発性メモリ３８の動作方法として、図１１に示すように、偶数ページを割り当てる下位ビットに常にデータ“１”を書き込み、奇数ページを割り当てる上位ビットにデータを格納するようにすれば、４値のメモリセルを２値として使用することができる。このように構成することによって、しきい値変動によるデータエラーを防止することができる。
【００７９】
本発明の第５の実施の形態に係る情報処理システムに適用する多値ＮＡＮＤ型不揮発性メモリの詳細な構成は、図１２に示すように、２値コードを記憶する領域１と４値ユーザデータを記憶する領域２とから構成される。領域１内においては、奇数ページは不使用とし、偶数ページにのみ２値データとしてのコード情報を記憶している。一方、領域２内においては、４値データとしてユーザデータを偶数ページ，奇数ページのいずれにも記憶する構成を採用している。
【００８０】
本発明の第５の実施の形態に係る情報処理システムのよれば、第４の実施の形態と同様に、多値ＮＡＮＤ型不揮発性メモリ３８を第１及び第２の２つの領域に分割し、ユーザの用途に応じた多機能情報処理システムを実現することができると共に、更に、図１１に示すような２値、４値データの記憶しきい値分布における偶数ページ／奇数ページの利用方式によって、しきい値変動によるデータエラーを防止することができる。
【００８１】
（その他の実施の形態）
上記のように、本発明は第１乃至第５の実施の形態によって記載したが、この開示の一部をなす論述及び図面はこの発明を限定するものであると理解すべきではない。この開示から当業者には様々な代替実施の形態、実施例及び運用技術が明らかとなろう。
【００８２】
このように、本発明はここでは記載していない様々な実施の形態等を含むことは勿論である。したがって、本発明の技術的範囲は上記の説明から妥当な特許請求の範囲に係る発明特定事項によってのみ定められるものである。
【産業上の利用可能性】
【００８３】
本発明の情報処理システムは、ＮＡＮＤフラッシュメモリに適用することができる。
【符号の説明】
【００８４】
１０・・・ホストインタフェース部
１２・・・（マイクロプロセッサ）ブートアップ制御装置
１４・・・第２のセレクタ
１６・・・ステートマシン
１８・・・アドレスジェネレータ（アドレス発生回路）
２０・・・第１のセレクタ
２２・・・無演算命令コード生成回路
２４・・・揮発性メモリ（ＳＲＡＭ）
２６・・・不揮発性メモリの制御装置（ブートアップ制御シーケンサ）
２８・・・メモリセルブロック
３０・・・ページ単位
３１・・・ページバッファ
３２・・・ＡＮＤゲート
３４・・・バッファ回路
３６・・・セレクタ
３８・・・（多値ＮＡＮＤ型）不揮発性メモリ
４０・・・エラー検出・訂正処理部
４２・・・ホストＣＰＵバス
５０・・・ＣＰＵ
５２…ＤＲＡＭ
５４…ＣＰＵバス
５６…ストレージメモリ
５８…ＮＡＮＤコントローラ
５９…コントローラ
６０…情報処理システム
６２…ＮＡＮＤインタフェースコントローラ
６４…ブート用メモリ
７０…多値メモリストレージ部（第１の領域）
７２…ブートコード用メモリセルブロック（第２の領域）
８０…ブートアップローダー
８４…インタフェース回路
８６…バス
８８…システムメモリ
ＷＥ…ライトイネーブル信号
ＯＥ…アウトプットイネーブル信号
ＨＢＳ…ホストＣＰＵバス信号
ＣＬＫ…クロック信号
ＥＭＲ…外部メモリリードデータ（信号）
ＥＭＡ…外部メモリアドレス（信号）
ＩＭＲ…内部メモリリードデータ（信号）
ＩＭＡ…内部メモリアドレス（信号）
ＮＣＳ…ＮＡＮＤ制御信号
ＮＭＤ…ＮＡＮＤメモリデータ信号
ＮＤ…ＮＡＮＤデータ信号
ＥＣＳ…エラー検出・訂正信号
ＳＭＳ…内部制御信号
ＳＡＧ…内部制御信号
ＡＧＭＡ…アドレスジェネレータメモリアドレス（信号）
ＮＯＰ…無演算命令（信号）
【図１】
0004719290.tif 000002
【図２】
0004719290.tif 000003
【図３】
0004719290.tif 000004
【図４】
0004719290.tif 000005
【図５】
0004719290.tif 000006
【図６】
0004719290.tif 000007
【図７】
0004719290.tif 000008
【図８】
0004719290.tif 000009
【図９】
0004719290.tif 000010
【図１０】
0004719290.tif 000011
【図１１】
0004719290.tif 000012
【図１２】
0004719290.tif 000013