(57)【要約】【課題】  プログラムコードの常時読み出しを簡便・確実に実行可能な不揮発性半導体記憶装置を提供する。【解決手段】  電気的に書き換え可能な不揮発性のメモリセルをマトリクス状に複数配列してなるメモリアレイ１０と、メモリアレイ１０以外の記憶領域であって記憶したデータを外部に出力可能な補助記憶領域１５を備えてなる不揮発性半導体記憶装置であって、１つの読み出しサイクル中において、補助記憶領域１５に記憶されている補助データを出力する場合、メモリアレイ１０内のアドレス入力信号により指定されたアドレス領域に記憶されている主データと補助データの内の一方のデータを先に選択して出力してから、第１のタイミングで他方のデータに選択を切り替えて出力する出力選択手段１７を備えている。【選択図】  図１
2005038509.tif 000002
【特許請求の範囲】
【請求項１】
電気的に書き換え可能な不揮発性のメモリセルをマトリクス状に複数配列してなるメモリアレイと、前記メモリアレイ以外の記憶領域であって記憶したデータを外部に出力可能な補助記憶領域を備えてなる不揮発性半導体記憶装置であって、
１つの読み出しサイクル中において、前記補助記憶領域に記憶されている補助データを出力する場合、前記メモリアレイ内のアドレス入力信号により指定されたアドレス領域に記憶されている主データと前記補助データの内の一方のデータを先に選択して出力してから、第１のタイミングで他方のデータに選択を切り替えて出力する出力選択手段を備えていることを特徴とする不揮発性半導体記憶装置。
【請求項２】
前記出力選択手段は、前記主データを先に選択して出力することを特徴とする請求項１に記載の不揮発性半導体記憶装置。
【請求項３】
前記読み出しサイクル中において、前記出力選択手段は、前記補助データを出力しない場合、前記第１のタイミングの前後両側で前記主データを選択して出力することを特徴とする請求項１または２に記載の不揮発性半導体記憶装置。
【請求項４】
前記第１のタイミングを決定する第１タイミング信号を発生する第１タイミング発生手段を備えていることを特徴とする請求項１〜３の何れか１項に記載の不揮発性半導体記憶装置。
【請求項５】
前記第１タイミング発生手段は、前記第１のタイミング設定用の１または２以上のボンディングパッドのボンディング状態に応じて前記第１タイミング信号の発生タイミングを変更可能に構成されていることを特徴とする請求項４に記載の不揮発性半導体記憶装置。
【請求項６】
外部から入力される第１タイミング設定コマンドを受け付けて記憶する第１タイミングレジスタを備え、
前記第１タイミング発生手段は、前記第１タイミングレジスタに記憶された前記第１タイミング設定コマンドの値に応じて前記第１タイミング信号の発生タイミングを変更可能に構成されていることを特徴とする請求項４に記載の不揮発性半導体記憶装置。
【請求項７】
１つの読み出しサイクル内における前記第１のタイミングに先行する第２のタイミングを決定する第２タイミング信号を発生する第２タイミング発生手段を備え、
前記出力選択手段は、前記第２タイミング発生手段が発生する前記第２タイミング信号に同期して前記主データと前記補助データの何れか一方を選択して出力することを特徴とする請求項１〜６の何れか１項に記載の不揮発性半導体記憶装置。
【請求項８】
前記第２タイミング発生手段は、前記第２のタイミング設定用の１または２以上のボンディングパッドのボンディング状態に応じて前記第２タイミング信号の発生タイミングを変更可能に構成されていることを特徴とする請求項７に記載の不揮発性半導体記憶装置。
【請求項９】
外部から入力される第２タイミング設定コマンドを受け付けて記憶する第２タイミングレジスタを備え、
前記第２タイミング発生手段は、前記第２タイミングレジスタに記憶された前記第２タイミング設定コマンドの値に応じて前記第２タイミング信号の発生タイミングを変更可能に構成されていることを特徴とする請求項７に記載の不揮発性半導体記憶装置。
【請求項１０】
前記メモリアレイに対するデータの書き換え動作を制御する書き換え制御手段を備え、
前記補助記憶領域は、前記書き換え制御手段による書き換え動作に係る内部状態を記憶する状態レジスタであることを特徴とする請求項１〜９の何れか１項に記載の不揮発性半導体記憶装置。
【請求項１１】
外部から入力される出力選択コマンドを受け付けて記憶する出力モードレジスタを備え、
前記出力選択手段は、前記出力モードレジスタに保持されている前記出力選択コマンドの値に応じて、前記補助データを出力するかしないかを判定することを特徴とする請求項１〜１０の何れか１項に記載の不揮発性半導体記憶装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、電気的に書き換え可能な不揮発性のメモリセルをマトリクス状に複数配列してなるメモリアレイと、前記メモリアレイ以外の記憶領域であって記憶したデータを外部に出力可能な補助記憶領域を備えてなる不揮発性半導体記憶装置に関し、特に、前記メモリアレイにプログラムコードとデータの両方を記憶して使用する情報処理装置の拡張記憶装置に関する。
【背景技術】
【０００２】
プログラムコード格納用のコードストレージ型メモリとしては、ＮＯＲ型と称されるメモリアレイ構造を持つフラッシュメモリが全盛である。ＮＯＲ型フラッシュメモリのバス構成は汎用のＳＲＡＭと同構成であるため、プロセッサはフラッシュメモリ上より直接インストラクションコード（プログラムコード）を取り込みながら、処理を実行することができる。フラッシュメモリが不揮発性で電気的にデータ書き換え可能という特性を有していることから、記憶内容の修正が困難であるマスクＲＯＭに代わり、急速に浸透していった。
【０００３】
コードストレージ用メモリでは、プロセッサの要求するタイミングで常にプログラムコードにアクセスできることが要求される。フラッシュメモリをＲＯＭとして使用する限り、この点については全く問題がない。しかしながら、フラッシュメモリの書き換え機能を利用して、データストレージとしての機能を併せ持たせようとするニーズが存在し、この場合には以下の問題が発生する。
【０００４】
第一に、フラッシュメモリの書き換え動作はＳＲＡＭやＤＲＡＭに比べて非常に長いレイテンシを必要とする。第二に、書き換え動作中は内部のステータスレジスタの内容が出力されるため、メモリアレイを参照することができない。このため書き換えを前提としたシステムでは、１）フラッシュメモリ上のメモリアレイに対して、書き換え中に読み出しを発生させてはならない、２）書き換え用のプログラムコードを含め、書き換え中に実行しなければならないプログラムは該フラッシュメモリに配置してはならない、等の制約を受ける。１）は書き換え時にシステムが外部からの要求に長時間非応答となる問題が生じ、２）はシステム設計の自由度を著しく損なうという問題が生じる。
【０００５】
上記制約を緩和する方法として、ハードウェア・デュアルワーク機能を持ったフラッシュメモリの利用が考えられる。ハードウェア・デュアルワーク機能を使うと、メモリアレイを複数のバンクに分割し、プログラムコードの存在するバンクとデータの書き換えを行うバンクとを互いに独立して動作させることで、データの書き換えと読み出しの同時性を保証する。データの書き換えによるアクセス不能となるメモリアレイは該バンク内のメモリアレイにのみ限定され、別のバンクからは任意にデータの読み出しが可能となる。バンク構成に合わせてプログラムコードとデータの配置を切り分ければ、データ書き換えに際してプログラムコードのフェッチが阻害されることは決して無い。このハードウェア・デュアルワーク機能によるデータ読み出し方式の一例は、例えば、下記の特許文献１に開示されている。
【０００６】
図１１に、従来のハードウェア・デュアルワーク機能を有したフラッシュメモリのブロック構成図を示す。当該フラッシュメモリは、データを保持するメモリアレイ１０と、アドレス信号及び制御信号の遷移を検出するアドレス遷移検出回路１１と、コマンドをデコードするコマンドデコーダ１２と、出力モードを保持する出力モードレジスタ１３と、メモリアレイ１０へのデータの書き換え動作を所定の処理手順に従って制御するライトステートマシン１４、そのライトステートマシ１４のステータスを示す状態データを保持するステータスレジスタ１５と、出力モードに応じてメモリアレイ１０またはステータスレジスタ１５の何れかのデータを選択して出力するデータ出力手段１６を有している。
【０００７】
次に、図１２に示す読み出しタイミング図を用いて、図１１に例示する従来のフラッシュメモリにおける読み出しタイミングについて説明する。
【０００８】
１）アドレス信号及び制御信号が入力されるとアドレス遷移検出回路１１が動作し、アドレス遷移検出信号を発生する。２）データ出力手段１６は、出力モードがメモリアレイ読み出しモードの場合はメモリアレイ１０からアドレス信号で指定されたデータを読み出し、出力モードがステータス読み出しモードの場合はステータスレジスタ１５内の状態データを読み出し、アレイデータまたは状態データを外部に出力する。尚、コマンドデコーダ１２は、外部からの出力モード設定コマンドに応じて、出力モードレジスタのモード設定を変更させる機能を有している。例えば、コマンド１が入力されると出力モードレジスタをメモリアレイ出力モードに変更し、コマンド２が入力されるとステータスレジスタ出力モードに変更する機能を有している。
【０００９】
図１３に、従来のフラッシュメモリのインストラクションコード（プログラムコード）の読み出しタイミング図を示す。
【００１０】
メモリアレイ内に設定されたコードストレージ用バンクに対し、予め出力モードをメモリアレイ読み出しモードに設定しておくことで、ＣＰＵ（プロセッサ）がプログラムコードをフェッチしようとした時に、Ｉ／Ｏにアレイデータが出力されるのでのアレイデータの取り込みが可能となる。
【００１１】
図１４に、従来のフラッシュメモリのデータ（プログラムコードでない単なるデータ）の読み出しタイミング図を示す。
【００１２】
メモリアレイ内に設定されたデータストレージ用バンクに対しては、データを読み出す前に出力モードを読み出すデータに応じてアレイ読み出しモード或いはステータス読み出しモードの何れかを設定しておくことで、ＣＰＵがデータを取り込もうとした時に、Ｉ／Ｏにアレイデータまたは状態データが出力されるので必要なデータの取り込みが可能となる。
【特許文献１】特開平６−１８０９９９号公報
【発明の開示】
【発明が解決しようとする課題】
【００１３】
しかしながら、上記ハードウェア・デュアルワーク機能を有したフラッシュメモリによる読み出し方式にも、以下に述べるような問題がある。ハードウェア・デュアルワーク機能を有したフラッシュメモリであっても、バンクサイズの設定が固定されていて変更できない場合や、たとえ変更可能な場合であっても、限定されたバンクサイズの中から選択することでしか変更できないという制約がある。このため、コードストレージ用のバンクの一部にデータストレージ領域を設定する、或いは、データストレージ用バンクの一部にコードストレージ領域を設定することが必要になる場合が生じる。従って、かかる場合に、一つのバンクにコードストレージ領域とデータストレージ領域が混在することになる。
【００１４】
かかる場合、ハードウェア・デュアルワーク機能を有したフラッシュメモリであっても、同一バンク内でステータスレジスタ出力モードが設定されていると、当該出力モードを変更しない限りアレイデータを読み出すことは不可能であるため、プログラムコードを常時読み出すことは不可能になってしまう。
【００１５】
結果として、コードストレージ領域とデータストレージ領域が同一バンク内に存在してしまい、ハードウェア・デュアルワーク機能が働かなくなったり、コードストレージ領域とデータストレージ領域を別のバンクに設定するため、大きな容量のフラッシュメモリを使わざるを得なくなったりすることが起こる。また、プログラム実行中に、プログラムコードの自己書き換えを行おうことも、ハードウェア・デュアルワーク機能では実現することが不可能であった。
【００１６】
本発明は、上記問題点に鑑みてなされたもので、その目的は、プログラムコードの常時読み出しを簡便・確実に実行可能な不揮発性半導体記憶装置を提供することにある。
【課題を解決するための手段】
【００１７】
上記目的を達成するための本発明に係る不揮発性半導体記憶装置は、電気的に書き換え可能な不揮発性のメモリセルをマトリクス状に複数配列してなるメモリアレイと、前記メモリアレイ以外の記憶領域であって記憶したデータを外部に出力可能な補助記憶領域を備えてなる不揮発性半導体記憶装置であって、１つの読み出しサイクル中において、前記補助記憶領域に記憶されている補助データを出力する場合、前記メモリアレイ内のアドレス入力信号により指定されたアドレス領域に記憶されている主データと前記補助データの内の一方のデータを先に選択して出力してから、第１のタイミングで他方のデータに選択を切り替えて出力する出力選択手段を備えていることを第１の特徴とする。
【００１８】
本発明に係る不揮発性半導体記憶装置は、第１の特徴に加えて、前記出力選択手段は、前記主データを先に選択して出力することを第２の特徴とする。
【００１９】
本発明に係る不揮発性半導体記憶装置は、第１または第２の特徴に加えて、前記読み出しサイクル中において、前記出力選択手段は、前記補助データを出力しない場合、前記第１のタイミングの前後両側で前記主データを選択して出力することを第３の特徴とする。
【００２０】
上記何れかの特徴を備えた本発明に係る不揮発性半導体記憶装置によれば、前記補助記憶領域に記憶されている補助データを出力するように出力モードが設定されていても、第１のタイミングの前後の何れかの読み出し期間で必ずメモリアレイ内の主データを読み出すことができるため、当該読み出し期間をプログラムコードのフェッチタイミングに合わせることで、外部のＣＰＵはメモリアレイから常時プログラムコードを取り込むことができ、プログラムコードの実行が中断されることなく実行できる。
【００２１】
また、上記第２の特徴を備えた本発明に係る不揮発性半導体記憶装置によれば、主データの読み出しタイミングをアドレス入力から有効データ出力までの遅延時間で規定されるアドレスアクセスタイムで規定することができ、特別なタイミング信号がなくても通常のメモリアレイからの主データの読み出しとして扱うことができ、従来の不揮発性半導体記憶装置に対して大幅な設計変更を加えずとも本発明に係る不揮発性半導体記憶装置を実現することができる。
【００２２】
また、上記第３の特徴を備えた本発明に係る不揮発性半導体記憶装置によれば、補助データを出力しない場合に、第１のタイミングの前後両側で主データを出力するので、補助データの出力を予定している読み出し期間をメモリアレイからのプログラムコード以外のデータの読み出しに割り当て、他方の読み出し期間をプログラムコードのフェッチに割り当てることができる。そして、ＣＰＵ側のプログラムコードのフェッチタイミングを、データの読み出しがメモリアレイと補助記憶領域の何れからかに拘わらず固定でき、更に、データ読み出しタイミングを当該フェッチタイミングと異ならせて設定できる。つまり、或るアドレスサイクルにおいて、ＣＰＵがプログラムコードのフェッチを行う場合には、上記フェッチタイミングで本発明に係る不揮発性半導体記憶装置から出力されるデータを取り込めばよく、また、データの取り込みを行う場合は、上記データ読み出しタイミングで本発明に係る不揮発性半導体記憶装置から出力されるデータを取り込めば、その時の出力モード（メモリアレイと補助記憶領域の何れのデータを出力するかの区別）に従ったデータの取り込みができる。
【００２３】
本発明に係る不揮発性半導体記憶装置は、更に、上記何れかの特徴に加えて、前記第１のタイミングを決定する第１タイミング信号を発生する第１タイミング発生手段を備えていることを第４の特徴とする。
【００２４】
本発明に係る不揮発性半導体記憶装置は、更に、第４の特徴に加えて、前記第１タイミング発生手段は、前記第１のタイミング設定用の１または２以上のボンディングパッドのボンディング状態に応じて前記第１タイミング信号の発生タイミングを変更可能に構成されていることを第５の特徴とする。
【００２５】
本発明に係る不揮発性半導体記憶装置は、更に、第４の特徴に加えて、外部から入力される第１タイミング設定コマンドを受け付けて記憶する第１タイミングレジスタを備え、前記第１タイミング発生手段は、前記第１タイミングレジスタに記憶された前記第１タイミング設定コマンドの値に応じて前記第１タイミング信号の発生タイミングを変更可能に構成されていることを第６の特徴とする。
【００２６】
上記第４、第５または第６の特徴を備えた本発明に係る不揮発性半導体記憶装置によれば、第１の読み出しタイミングが第１タイミング発生手段の発生する第１タイミング信号により規定されるため、この第１タイミング信号の発生時期を調整することで、ＣＰＵ側に合わせたタイミング設定を行うことができる。特に、第５の特徴によれば、同じ半導体製造工程の前半工程（ウェハ段階での製造）で作製された本発明に係る不揮発性半導体記憶装置を、後半工程（半導体チップのパッケージへのアセンブリ）におけるワイヤボンディング時の処理で第１の読み出しタイミングの変更が可能となり、プログラムコードのフェッチタイミングやデータの読み込みタイミングの異なるシステムへの広範な対応が可能となる。更に、第６の特徴によれば、アセンブリ済みのデバイスに対してもシステムに組み込んだ状態で、当該システムのＣＰＵのタイミングに合致した第１の読み出しタイミングの設定を行うことができる。
【００２７】
本発明に係る不揮発性半導体記憶装置は、更に、上記何れかの特徴に加えて、１つの読み出しサイクル内における前記第１のタイミングに先行する第２のタイミングを決定する第２タイミング信号を発生する第２タイミング発生手段を備え、前記出力選択手段は、前記第２タイミング発生手段が発生する前記第２タイミング信号に同期して前記主データと前記補助データの何れか一方を選択して出力することを第７の特徴とする。
【００２８】
本発明に係る不揮発性半導体記憶装置は、更に、第７の特徴に加えて、前記第２タイミング発生手段は、前記第２のタイミング設定用の１または２以上のボンディングパッドのボンディング状態に応じて前記第２タイミング信号の発生タイミングを変更可能に構成されていることを第８の特徴とする。
【００２９】
本発明に係る不揮発性半導体記憶装置は、更に、第７の特徴に加えて、外部から入力される第２タイミング設定コマンドを受け付けて記憶する第２タイミングレジスタを備え、前記第２タイミング発生手段は、前記第２タイミングレジスタに記憶された前記第２タイミング設定コマンドの値に応じて前記第２タイミング信号の発生タイミングを変更可能に構成されていることを第９の特徴とする。
【００３０】
上記第７、第８または第９の特徴を備えた本発明に係る不揮発性半導体記憶装置によれば、先ず、第１のタイミングの前にプログラムコードとしての主データを読み出す設定であれば、第２のタイミングの後で、プログラムコードとしての主データを選択して読み出すことができ、また、第１のタイミングの後にプログラムコードとしての主データを読み出す設定であれば、第２のタイミングで、補助データを出力する場合には補助データを選択して、補助データを出力しない場合には主データを選択して出力してデータの読み込みができ、しかも第１のタイミングの後にプログラムコードとしての主データを選択して読み出すことができる。従って、基本的に、上記第１〜第３の特徴を備えた本発明に係る不揮発性半導体記憶装置と同様の効果を奏する。
【００３１】
更に、第１のタイミングに先行する第２の読み出しタイミングが第２タイミング発生手段の発生する第２タイミング信号により規定されるため、この第２タイミング信号の発生時期を調整することで、ＣＰＵ側に合わせたタイミング設定を行うことができる。特に、第８の特徴によれば、同じ半導体製造工程の前半工程（ウェハ段階での製造）で作製された本発明に係る不揮発性半導体記憶装置を、後半工程（半導体チップのパッケージへのアセンブリ）におけるワイヤボンディング時の処理で第１の読み出しタイミングの変更が可能となり、プログラムコードのフェッチタイミングやデータの読み込みタイミングの異なるシステムへの広範な対応が可能となる。更に、第９の特徴によれば、アセンブリ済みのデバイスに対してもシステムに組み込んだ状態で、当該システムのＣＰＵのタイミングに合致した第２の読み出しタイミングの設定を行うことができる。
【００３２】
本発明に係る不揮発性半導体記憶装置は、更に、上記何れかの特徴に加えて、前記メモリアレイに対するデータの書き換え動作を制御する書き換え制御手段を備え、前記補助記憶領域は、前記書き換え制御手段による書き換え動作に係る内部状態を記憶する状態レジスタであることを第１０の特徴とする。
【００３３】
上記第１０の特徴を備えた本発明に係る不揮発性半導体記憶装置によれば、プログラムコードをメモリアレイから読み出すタイミングとは異なるタイミングで、書き換え動作中の内部状態を状態レジスタから読み出すことができる。例えば、メモリアレイが複数のバンク或いはブロックに分割され、一のバンクが書き換え動作中であって、その内部状態が状態レジスタに保持されている状況では、一般のフラッシュメモリ等の不揮発性半導体記憶装置では、当該状態レジスタの状態データがデフォルトで出力されるため、他のバンクに格納したプログラムコードが読み出せないが、本特徴によれば、状態データとプログラムコードの両方を別々に読み出すことができる。また、従来のハードウェア・デュアルワーク機能を有したフラッシュメモリであっても、状態レジスタとメモリアレイの読み出しタイミングが夫々独立して規定されていないため、１つの読み出しサイクルで両方のデータを読み出そうとすると、状態レジスタまたはメモリアレイの読み出しに出力モードを変更するコマンド入力が必要であったが、本特徴によれば、かかるＣＰＵ側の負担を軽減することができる。更に、デュアルポート型の不揮発性メモリで、一のバンクが書き換え動作中でも当該バンクからのデータ読み出しが可能なメモリアレイ構造であっても、その内部状態が状態レジスタに保持されている状況で、当該状態レジスタの状態データがデフォルトで出力されていれば、他の従来技術と同様に状態データとプログラムコードを同時に読み出すことは不可能であり、それぞれのデータを読み出す前に、状態レジスタまたはメモリアレイの読み出しに出力モードを変更するコマンド入力が必要であったが、本特徴によれば、かかるＣＰＵ側の負担を軽減することができる。
【００３４】
本発明に係る不揮発性半導体記憶装置は、更に、上記何れかの特徴に加えて、外部から入力される出力選択コマンドを受け付けて記憶する出力モードレジスタを備え、前記出力選択手段は、前記出力モードレジスタに保持されている前記出力選択コマンドの値に応じて、前記補助データを出力するかしないかを判定することを第１１の特徴とする。
【００３５】
上記第１１の特徴を備えた本発明に係る不揮発性半導体記憶装置によれば、ＣＰＵ側から出力選択コマンドを入力することで、データ読み出しタイミングで読み出すデータを主データと補助データの間で切り替えることができる。従って、例えば、上記第１０の特徴も併せ持つことで、書き換え動作中はその状況をモニタでき、読み出し動作モードでは、メモリアレイからデータの読み出しをすることができる。
【発明の効果】
【００３６】
以上詳細に説明したように、本発明に係る不揮発性半導体記憶装置によれば、プログラムコードの常時読み出しを簡便・確実に実行可能な不揮発性半導体記憶装置を提供できる。
【発明を実施するための最良の形態】
【００３７】
本発明に係る不揮発性半導体記憶装置（以下、適宜「本発明装置」という。）の一実施の形態につき、図面に基づいて説明する。尚、以下の説明で用いる図面では、図１１に例示した従来のハードウェア・デュアルワーク機能を持ったフラッシュメモリ（従来の不揮発性半導体記憶装置の一例）と同一の機能ブロックには重複して同じ符号を用いる。また、複数の実施形態に亘って共通する機能ブロックにも共通の符号を使用している。以下、本発明装置としてＮＯＲ型のフラッシュメモリを想定して説明する。
【００３８】
〈第１実施形態〉
図１は、第１実施形態における本発明装置１の機能的な概略構成を示すブロック構成図である。図１に示すように、本発明装置１は、データを保持するメモリアレイ１０と、アドレス信号及び制御信号の遷移を検出するアドレス遷移検出回路１１と、コマンドをデコードするコマンドデコーダ１２と、出力モードを保持する出力モードレジスタ１３と、メモリアレイ１０へのデータの書き換え動作を所定の処理手順と処理条件に従って制御するライトステートマシン１４（メモリアレイ１０に対するデータの書き換え動作を制御する書き換え制御手段の一例）、そのライトステートマシ１４のステータスを示す状態データを保持するステータスレジスタ１５（メモリアレイ以外の記憶領域であって記憶したデータを外部に出力可能な補助記憶領域の一例）と、後述する第１データと第２データを生成するとともに、１つの読み出しサイクル中において、第１のタイミングの前と後に設定された２つの読み出し期間（第１期間と第２期間）に、第１データと第２データを各別に選択して順番に出力する出力選択手段１７と、アドレス遷移検出回路１１が発生するアドレス遷移検出信号ＳＡに基づき前記第１のタイミングを決定する第１タイミング信号ＳＴ１を発生する第１タイミング発生手段２１を備えて構成される。
【００３９】
更に、出力選択手段１７は、メモリアレイ１０内に記憶された主データを第１データとして生成する第１データ生成部１８と、出力モードレジスタ１３内に保持されている出力モードに応じて主データとステータスレジスタ１５内に保持された状態データ（補助データの一例）の何れかの一方を選択して第２データとする第２データ生成部１９と、第１タイミング発生手段２１から第１タイミング信号ＳＴ１を受信するまで第１データを選択して出力し、第１タイミング発生手段２１から第１タイミング信号ＳＴ１を受信すると第１データから第２データに切り替えて出力する出力切替部２０とから構成される。
【００４０】
メモリアレイ１０は図示しないが、複数のバンクに分割され、夫々独立してデータの読み出し及び書き換えが可能な構成、所謂ハードウェア・デュアルワーク機能を備えた構成となっている。
【００４１】
尚、図１では、アドレス入力信号、データ入力信号、制御信号等の入力回路、及び、アドレス入力信号のデコーダ回路、データの読み出し動作、書き換え動作（書き込み動作と消去動作）のためのセンスアンプや高電圧発生回路等の周辺回路の詳細は、公知のフラッシュメモリ等の不揮発性半導体記憶装置と同様であるため、その記載を省略してある。
【００４２】
次に、図２に示すタイミング図を用いて、第１実施形態における読み出しタイミングを説明する。尚、図２中のＡ〜Ｇと、以下の説明のＡ〜Ｇが夫々対応する。
【００４３】
Ａ  アドレス信号及び制御信号が入力されるとアドレス遷移検出回路１１が動作し、アドレス遷移検出信号ＳＡを発生する。
【００４４】
Ｂ  第１タイミング発生手段２１は、アドレス遷移検出信号ＳＡを受信すると第１タイミング信号ＳＴ１を“Ｌ”にリセットし、アドレス遷移検出信号ＳＡが入ってから予め定められた遅延時間Δｔの後、第１タイミング信号ＳＴ１を“Ｈ”にセットする（“Ｌ”及び“Ｈ”はディジタル信号における論理レベルとしての低レベルと高レベルを意味する。）。
【００４５】
Ｃ  出力選択手段１７の第１データ生成部１８は、メモリアレイ１０のデータ（主データ）を読み出し、第１データとして出力切替部２０に出力する。
【００４６】
Ｄ  出力選択手段１７の第２データ生成部１９は、出力モードがメモリアレイ読み出しモードの場合はメモリアレイ１０の主データを読み出し、出力モードがステータス読み出しモードの場合はステータスレジスタ１５に保持されている状態データを読み出し、主データまたは状態データを第２データとして出力切替部２０に出力する。尚、コマンドデコーダ１２は、外部からの出力モード設定コマンドに応じて、出力モードレジスタのモード設定を変更させる機能を有している。例えば、コマンド１が入力されると出力モードレジスタをメモリアレイ出力モードに変更し、コマンド２が入力されるとステータスレジスタ出力モードに変更する機能を有している。
【００４７】
Ｅ  出力選択手段１７の出力切替部２０は、第１タイミング信号ＳＴ１が“Ｌ”の期間（第１期間）に、第１データ(主データ)を出力し、第１タイミング信号ＳＴ１が“Ｈ”の期間（第２期間）に、第２データ(主データまたは状態データ)を出力するように、第１のタイミングで第１タイミング信号ＳＴ１が“Ｈ”に遷移するとデータ出力を切り替える。
【００４８】
ＣＰＵでは、プログラムコードのフェッチタイミング（Ｆ）を、第１期間内の第１データ(主データ)が出力されているタイミングに設定し、データ取り込みタイミング（Ｇ）を、第２期間内の第２データ(主データまたは状態データ)が出力されているタイミングに設定する。
【００４９】
この結果、ＣＰＵがプログラムコードをフェッチしようとした場合、図３に示すようにプログラムコードのフェッチタイミング（Ｆ）でデータバス上のデータを取り込むので、メモリアレイ１０に格納されている主データを取り込むことになり、その時のアドレス信号入力で指定されたメモリアレイ１０のアドレス領域に格納されているプログラムの実行が可能になる。
【００５０】
また、ＣＰＵがデータを取り込もうとした場合、図４に示すように、データ取り込みタイミング（Ｇ）でデータバス上のデータを取り込むので、その時の出力モードに応じて主データまたは状態データの読み込みが可能になる。
【００５１】
〈第２実施形態〉
図５は、第２実施形態における本発明装置２の機能的な概略構成を示すブロック構成図である。図５に示すように、本発明装置２は、第１実施形態における本発明装置１にワイヤボンディング回路２２を追加した構成となっている。
【００５２】
ワイヤボンディング回路２２は、１または複数のボンディングパッドを備え、各ボンディングパッドのボンディング状態、例えば、ワイヤボンディングの有無またはワイヤボンディングによって設定される電圧レベル（例えば、電源レベル、グランドレベル等）の違いによって、予め設定された複数の第１のタイミングの中から１つのタイミングを選択するための１ビットまたは２ビット以上の選択信号ＳＳ１を第１タイミング発生手段２１に出力する。第１タイミング発生手段２１は選択信号ＳＳ１に従って、アドレス遷移検出信号ＳＡを受信してから第１タイミング信号ＳＴ１が“Ｈ”に遷移するまでの遅延時間を調整する。例えば、当該遅延時間を生成するための遅延回路において、複数のアドレス遷移検出信号ＳＡの入力箇所または複数の第１タイミング信号ＳＴ１の出力箇所を用意しておき、選択信号ＳＳ１に従って当該入力箇所または出力箇所を切り替えることで、アドレス遷移検出信号ＳＡを受信してから第１タイミング信号ＳＴ１が“Ｈ”に遷移するまでの遅延時間を切り替えて調整する。従って、ワイヤボンディング回路２２でのワイヤボンディングの仕方を変更することにより、第１のタイミングを変更することができる。
【００５３】
〈第３実施形態〉
図６は、第３実施形態における本発明装置３の機能的な概略構成を示すブロック構成図である。図６に示すように、本発明装置３は、第１実施形態における本発明装置１にタイミングレジスタ２３を追加した構成となっている。
【００５４】
コマンドデコーダ１２は、第１実施形態の機能に加え、外部からのタイミングレジスタ設定コマンドに応じて、タイミングレジスタ２３のタイミング設定を変更させる機能を有している。例えば、コマンド３が入力されるとタイミングレジスタ２３を設定１に変更し、コマンド４が入力されると設定２に変更する機能を有している。
【００５５】
第１タイミング発生手段２１はタイミングレジスタ２３に保持されているタイミング設定データＤＳ１に従って、アドレス遷移検出信号ＳＡを受信してから第１タイミング信号ＳＴ１が“Ｈ”に遷移するまでの遅延時間を調整する。例えば、当該遅延時間を生成するための遅延回路において、複数のアドレス遷移検出信号ＳＡの入力箇所または複数の第１タイミング信号ＳＴ１の出力箇所を用意しておき、タイミング設定データＤＳ１に従って当該入力箇所または出力箇所を切り替えることで、アドレス遷移検出信号ＳＡを受信してから第１タイミング信号ＳＴ１が“Ｈ”に遷移するまでの遅延時間を切り替えて調整する。従って、外部からのコマンド入力（タイミングレジスタ設定コマンド）により、第１のタイミングを変更することができる。
【００５６】
〈第４実施形態〉
図７は、第４実施形態における本発明装置４の機能的な概略構成を示すブロック構成図である。図１に示すように、本発明装置４は、データを保持するメモリアレイ１０と、アドレス信号及び制御信号の遷移を検出するアドレス遷移検出回路１１と、コマンドをデコードするコマンドデコーダ１２と、出力モードを保持する出力モードレジスタ１３と、メモリアレイ１０へのデータの書き換え動作を所定の処理手順に従って制御するライトステートマシン１４と、そのライトステートマシ１４のステータスを示す状態データを保持するステータスレジスタ１５と、第１データと第２データを生成するとともに、１つの読み出しサイクル中において、第２のタイミングで開始する２つの読み出し期間（第１期間）と第１のタイミングで開始する読み出し期間（第２期間）に、第１データと第２データを各別に選択して順番に出力する出力選択手段１７’と、アドレス遷移検出回路１１が発生するアドレス遷移検出信号ＳＡに基づき前記第１のタイミングを決定する第１タイミング信号ＳＴ１を発生する第１タイミング発生手段２１と、アドレス遷移検出回路１１が発生するアドレス遷移検出信号ＳＡに基づき前記第２のタイミングを決定する第２タイミング信号ＳＴ２を発生する第２タイミング発生手段２４を備えて構成される。
【００５７】
更に、出力選択手段１７’は、メモリアレイ１０内に記憶された主データを第１データとして生成する第１データ生成部１８と、出力モードレジスタ１３内に保持されている出力モードに応じて主データとステータスレジスタ１５内に保持された状態データ（補助データの一例）の何れかの一方を選択して第２データとする第２データ生成部１９と、第２タイミング発生手段２４から第２タイミング信号ＳＴ２を受信すると第１データを選択して出力し、第１タイミング発生手段２１から第１タイミング信号ＳＴ１を受信すると第１データから第２データに切り替えて出力する出力切替部２０’とから構成される。
【００５８】
尚、図７では、アドレス入力信号、データ入力信号、制御信号等の入力回路、及び、アドレス入力信号のデコーダ回路、データの読み出し動作、書き換え動作（書き込み動作と消去動作）のためのセンスアンプや高電圧発生回路等の周辺回路の詳細は、公知のフラッシュメモリ等の不揮発性半導体記憶装置と同様であるため、その記載を省略してある。
【００５９】
図７に示す第４実施形態の構成と、図１に示す第１実施形態の構成との相違点は、第４実施形態では、第１タイミング発生手段２１に加えて、第２タイミング発生手段２４を設けてある点と、出力切替部２０’が第１タイミング信号ＳＴ１に加えて第２タイミング信号ＳＴ２も受信し、第２タイミング信号ＳＴ２の受信に基づいて、最初の読み出し期間（第１期間）に第１データ（主データ）を選択して出力する点と、第１及び第２タイミング信号ＳＴ１、ＳＴ２が夫々第１及び第２のタイミングで立ち上がるパルス信号である点である。第１実施形態では、アドレス信号入力からのアクセスタイム経過後に主データである第１データが出力されるのに対し、第４実施形態では、第２タイミング信号ＳＴ２に同期して、つまり、アクセスタイムのバラツキを排除して一定のタイミングで第１データが出力される。
【００６０】
次に、図８に示すタイミング図を用いて、第４実施形態における読み出しタイミングを説明する。尚、図８中のＡ〜Ｇと、以下の説明のＡ〜Ｇが夫々対応する。
【００６１】
Ａ  アドレス信号及び制御信号が入力されるとアドレス遷移検出回路１１が動作し、アドレス遷移検出信号ＳＡを発生する。
【００６２】
Ｂ’  第２タイミング発生手段２４は、アドレス遷移検出信号ＳＡを受信すると、アドレス遷移検出信号ＳＡが入ってから予め定められた遅延時間Δｔ２の後、所定のパルス幅で立ち上がる第２タイミング信号ＳＴ２を出力する。
【００６３】
Ｂ”  第１タイミング発生手段２１は、アドレス遷移検出信号ＳＡを受信すると、アドレス遷移検出信号ＳＡが入ってから予め定められた遅延時間Δｔ１（第１実施形態の遅延時間Δｔに同じ）の後、所定のパルス幅で立ち上がる第１タイミング信号ＳＴ１を出力する。
【００６４】
Ｃ  出力選択手段１７’の第１データ生成部１８は、メモリアレイ１０のデータ（主データ）を読み出し、第１データとして出力切替部２０’に出力する。
【００６５】
Ｄ  出力選択手段１７’の第２データ生成部１９は、出力モードがメモリアレイ読み出しモードの場合はメモリアレイ１０の主データを読み出し、出力モードがステータス読み出しモードの場合はステータスレジスタ１５に保持されている状態データを読み出し、主データまたは状態データを第２データとして出力切替部２０’に出力する。尚、コマンドデコーダ１２は、外部からの出力モード設定コマンドに応じて、出力モードレジスタのモード設定を変更させる機能を有している。例えば、コマンド１が入力されると出力モードレジスタをメモリアレイ出力モードに変更し、コマンド２が入力されるとステータスレジスタ出力モードに変更する機能を有している。
【００６６】
Ｅ  出力選択手段１７’の出力切替部２０’は、第２タイミング信号ＳＴ２を受信した後（第１期間）に、第１データ(主データ)を出力し、第１タイミング信号ＳＴ１を受信した後（第２期間）に、第２データ(主データまたは状態データ)を出力するように、第１のタイミングで第１タイミング信号ＳＴ１を受信するとデータ出力を切り替える。
【００６７】
ＣＰＵでは、第１実施形態と同様に、プログラムコードのフェッチタイミング（Ｆ）を、第１期間内の第１データ(主データ)が出力されているタイミングに設定し、データ取り込みタイミング（Ｇ）を、第２期間内の第２データ(主データまたは状態データ)が出力されているタイミングに設定する。
【００６８】
この結果、ＣＰＵがプログラムコードをフェッチしようとした場合、図３に示すようにプログラムコードのフェッチタイミング（Ｆ）でデータバス上のデータを取り込むので、メモリアレイ１０に格納されている主データを取り込むことになり、その時のアドレス信号入力で指定されたメモリアレイ１０のアドレス領域に格納されているプログラムの実行が可能になる。
【００６９】
また、ＣＰＵがデータを取り込もうとした場合、図４に示すように、データ取り込みタイミング（Ｇ）でデータバス上のデータを取り込むので、その時の出力モードに応じて主データまたは状態データの読み込みが可能になる。
【００７０】
〈第５実施形態〉
図９は、第５実施形態における本発明装置５の機能的な概略構成を示すブロック構成図である。図９に示すように、本発明装置５は、第４実施形態における本発明装置４に第１ワイヤボンディング回路２２と第２ワイヤボンディング回路２５を追加した構成となっている。
【００７１】
第１及び第２ワイヤボンディング回路２２、２５は、第１実施形態のワイヤボンディング回路２２と同じ構成である。第１ワイヤボンディング回路２２は、ボンディングパッドのボンディング状態によって、予め設定された複数の第１のタイミングの中から１つのタイミングを選択するための１ビットまたは２ビット以上の第１選択信号ＳＳ１を第１タイミング発生手段２１に出力する。第２ワイヤボンディング回路２５は、ボンディングパッドのボンディング状態によって、予め設定された複数の第２のタイミングの中から１つのタイミングを選択するための１ビットまたは２ビット以上の第２選択信号ＳＳ２を第２タイミング発生手段２４に出力する。
【００７２】
第１タイミング発生手段２１は第１選択信号ＳＳ１に従って、アドレス遷移検出信号ＳＡを受信してから第１タイミング信号ＳＴ１を出力するまでの遅延時間を調整する。同様に、第２タイミング発生手段２４は第２選択信号ＳＳ２に従って、アドレス遷移検出信号ＳＡを受信してから第２タイミング信号ＳＴ２を出力するまでの遅延時間を調整する。例えば、当該遅延時間を生成するための遅延回路において、複数のアドレス遷移検出信号ＳＡの入力箇所または複数の第１または第２タイミング信号ＳＴ１、ＳＴ２の出力箇所を用意しておき、第１または第２選択信号ＳＳ１、ＳＳ２に従って当該入力箇所または出力箇所を切り替えることで、アドレス遷移検出信号ＳＡを受信してから第１または第２タイミング信号ＳＴ１、ＳＴ２を出力するまでの遅延時間を切り替えて調整する。従って、第１ワイヤボンディング回路２２と第２ワイヤボンディング回路２５でのワイヤボンディングの仕方を変更することにより、第１及び第２のタイミングを各別に変更することができる。
【００７３】
〈第６実施形態〉
図１０は、第６実施形態における本発明装置６の機能的な概略構成を示すブロック構成図である。図１０に示すように、本発明装置６は、第４実施形態における本発明装置４に第１タイミングレジスタ２３と第２タイミングレジスタ２６を追加した構成となっている。
【００７４】
コマンドデコーダ１２は、第４実施形態の機能に加え、外部からのタイミングレジスタ設定コマンドに応じて、第１及び第２タイミングレジスタ２３、２６のタイミング設定を変更させる機能を有している。例えば、コマンド３が入力されると第１タイミングレジスタ２３を設定１に変更し、コマンド４が入力されると設定２に変更し、コマンド５が入力されると第２タイミングレジスタ２６を設定３に変更し、コマンド６が入力されると設定４に変更する機能を有している。
【００７５】
第１及び第２タイミングレジスタ２３、２６は、第１実施形態のタイミングレジスタ２３と同じ構成である。
【００７６】
第１タイミング発生手段２１は第１タイミングレジスタ２３に保持されている第１タイミング設定データＤＳ１に従って、アドレス遷移検出信号ＳＡを受信してから第１タイミング信号ＳＴ１を出力するまでの遅延時間を調整する。同様に、第２タイミング発生手段２４は第２タイミングレジスタ２６に保持されている第２タイミング設定データＤＳ２に従って、アドレス遷移検出信号ＳＡを受信してから第２タイミング信号ＳＴ２を出力するまでの遅延時間を調整する。例えば、当該遅延時間を生成するための遅延回路において、複数のアドレス遷移検出信号ＳＡの入力箇所または複数の第１または第２タイミング信号ＳＴ１、ＳＴ２の出力箇所を用意しておき、第１または第２タイミング設定データＤＳ１、ＤＳ２に従って当該入力箇所または出力箇所を切り替えることで、アドレス遷移検出信号ＳＡを受信してから第１または第２タイミング信号ＳＴ１、ＳＴ２を出力するまでの遅延時間を切り替えて調整する。従って、外部からのコマンド入力（タイミングレジスタ設定コマンド）により、第１及び第２のタイミングを各別に変更することができる。
【００７７】
次に、本発明装置１〜６の別実施の形態につき説明する。
【００７８】
〈１〉上記各実施形態では、補助記憶領域の一例としてステータスレジスタ１５を用いた場合を説明したが、補助記憶領域はステータスレジスタに限定されるものではない。
【００７９】
〈２〉上記各実施形態では、本発明装置１〜６は、ハードウェア・デュアルワーク機能を備えた構成を想定したが、例えば、メモリアレイ１０が複数のブロックに分割され、その一部がＯＴＰ（１回のみプログラム可能）領域に設定されているフラッシュメモリ等にも応用できる。つまり、そのＯＴＰ領域のプログラム中にステータスレジスタの状態データの読み出しを行いながら、他のメモリアレイ領域からプログラムコードを読み出すようなケースにも、本発明装置１〜６の構成は適用可能である。更に、本発明装置１〜６のメモリアレイ１０が、１または複数のバンクを有し、同じバンク内でもデータの書き換えと読み出しが同時に行えるデュアルポート型のメモリアレイ構成にも当然に適用可能である。
【００８０】
〈３〉上記各実施形態では、第１期間（第１のタイミングの前）に第１データ（プログラムコードである主データ）を出力し、第２期間（第１のタイミングの後）に第２データ（主データまたは状態データ）を出力する場合を説明したが、第１期間に第２データを選択して出力し、第２期間に第１データを選択して出力するように構成しても構わない。
【００８１】
〈４〉上記第１〜第３実施形態では、第１タイミング信号ＳＴ１は、アドレス遷移検出信号ＳＡの立ち上がりで“Ｌ”にリセットし、アドレス遷移検出信号ＳＡが入ってから予め定められた遅延時間Δｔの後に“Ｈ”にセットする信号であったが、これに代えて、上記第４〜第６実施形態の第１タイミング信号ＳＴ１のように、アドレス遷移検出信号ＳＡが入ってから予め定められた遅延時間Δｔの後に所定のパルス幅で立ち上がるパルス信号であっても構わない。この場合、例えば、出力選択手段１７の出力切替部２０は第１タイミング信号ＳＴ１のレベルで第１期間と第２期間を判定するのではなく、アドレス遷移検出信号ＳＡを受信して第１期間にセットし、第１タイミング信号ＳＴ１を受信して第２期間をセットするようにすればよい。つまり、アドレス遷移検出信号ＳＡを第４〜第６実施形態の第２タイミング信号ＳＴ２の代わりに利用する。
【００８２】
〈５〉上記第４〜第６実施形態では、第１及び第２タイミング信号ＳＴ１、ＳＴ２は、夫々、アドレス遷移検出信号ＳＡを受信すると、アドレス遷移検出信号ＳＡが入ってから予め定められた遅延時間Δｔ１とΔｔ２の経過後に、所定のパルス幅で立ち上がるパルス信号であったが、これに代えて、上記第１〜第３実施形態の第１タイミング信号ＳＴ１のように、アドレス遷移検出信号ＳＡの立ち上がりで“Ｌ”にリセットし、アドレス遷移検出信号ＳＡが入ってから予め定められた遅延時間Δｔ１とΔｔ２の経過後に“Ｈ”にセットする信号であっても構わない。
【００８３】
〈６〉上記各実施形態では、メモリアレイ１０に対するデータの書き換え動作を制御する書き換え制御手段の一例として、書き換え動作を所定の処理手順と処理手順に従って制御するステートマシンを応用したライトステートマシン１４を想定したが、当該書き換え制御手段は、ライトステートマシンに限定されるものではない。
【００８４】
〈７〉上記各実施形態では、本発明装置１〜６としてＮＯＲ型のフラッシュメモリを想定したが、本発明に係る不揮発性半導体記憶装置はフラッシュメモリに限定されるものではない。
【図面の簡単な説明】
【００８５】
【図１】本発明に係る不揮発性半導体記憶装置の第１実施形態における機能的なブロック構成の概略を示すブロック構成図。
【図２】本発明に係る不揮発性半導体記憶装置の第１実施形態における読み出しタイミング図。
【図３】本発明に係る不揮発性半導体記憶装置の第１実施形態におけるＣＰＵのプログラムコードの読み出しタイミング図。
【図４】本発明に係る不揮発性半導体記憶装置の第１実施形態におけるＣＰＵのデータ読み出しタイミング図。
【図５】本発明に係る不揮発性半導体記憶装置の第２実施形態における機能的なブロック構成の概略を示すブロック構成図。
【図６】本発明に係る不揮発性半導体記憶装置の第３実施形態における機能的なブロック構成の概略を示すブロック構成図。
【図７】本発明に係る不揮発性半導体記憶装置の第４実施形態における機能的なブロック構成の概略を示すブロック構成図。
【図８】本発明に係る不揮発性半導体記憶装置の第４実施形態における読み出しタイミング図。
【図９】本発明に係る不揮発性半導体記憶装置の第５実施形態における機能的なブロック構成の概略を示すブロック構成図。
【図１０】本発明に係る不揮発性半導体記憶装置の第６実施形態における機能的なブロック構成の概略を示すブロック構成図。
【図１１】従来のフラッシュメモリの機能的なブロック構成の一例を示すブロック構成図。
【図１２】従来のフラッシュメモリの読み出しタイミング図。
【図１３】従来のＣＰＵのフラッシュメモリに対するプログラムコードの読み出しタイミング図。
【図１４】従来のＣＰＵのフラッシュメモリに対するデータ読み出しタイミング図。
【符号の説明】
【００８６】
１〜６：本発明に係る不揮発性半導体記憶装置
１０  ：メモリアレイ
１１  ：アドレス遷移検出回路
１２  ：コマンドデコーダ
１３  ：出力モードレジスタ
１４  ：ライトステートマシン（書き換え制御手段）
１５  ：ステータスレジスタ（補助記憶領域）
１６  ：データ出力手段
１７  ：出力選択手段
１７’：出力選択手段
１８  ：第１データ生成部
１９  ：第２データ生成部
２０  ：出力切替部
２０’：出力切替部
２１  ：第１タイミング発生手段
２２  ：ワイヤボンディング回路（第１ワイヤボンディング回路）
２３  ：タイミングレジスタ（第１タイミングレジスタ）
２４  ：第２タイミング発生手段
２５  ：第２ワイヤボンディング回路
２６  ：第２タイミングレジスタ
ＳＡ  ：アドレス遷移検出信号
ＳＴ１：第１タイミング信号
ＳＴ２：第２タイミング信号
ＳＳ１：選択信号（第１選択信号）
ＳＳ２：第２選択信号
ＤＳ１：タイミング設定データ（第１タイミング設定データ）
ＤＳ２：第２タイミング設定データ
【図１】
2005038509.tif 000003
【図２】
2005038509.tif 000004
【図３】
2005038509.tif 000005
【図４】
2005038509.tif 000006
【図５】
2005038509.tif 000007
【図６】
2005038509.tif 000008
【図７】
2005038509.tif 000009
【図８】
2005038509.tif 000010
【図９】
2005038509.tif 000011
【図１０】
2005038509.tif 000012
【図１１】
2005038509.tif 000013
【図１２】
2005038509.tif 000014
【図１３】
2005038509.tif 000015
【図１４】
2005038509.tif 000016