(57)【要約】【課題】高速動作可能な半導体装置を提供すること。【解決手段】実施形態の半導体装置１は、第１動作モードと第２動作モードとを有する。半導体装置１は、第１シーケンサ１１と第２シーケンサ２２とを備える。第１シーケンサ１１は、第１周波数で動作する。第２シーケンサ２２は、第１周波数より高周波数の第２周波数で動作する。第１動作モードでは、第１シーケンサ１１は外部から命令を受け付けて動作し、第２シーケンサ２２は外部から命令を受け付けることなく、第１シーケンサ１１の制御の下で動作する。第２動作モードでは、第２シーケンサ２２は外部から直接命令を受け付けて動作し、第１シーケンサ１１の動作は停止される。【選択図】図１
2012168724.tif 000002
【特許請求の範囲】
【請求項１】
第１動作モードと第２動作モードとを有する半導体装置であって、
第１周波数で動作する第１シーケンサと、
前記第１周波数より高周波数の第２周波数で動作する第２シーケンサと
を具備し、前記第１動作モードでは、前記第１シーケンサは外部から命令を受け付けて動作し、前記第２シーケンサは外部から命令を受け付けることなく、前記第１シーケンサの制御の下で動作し、
前記第２動作モードでは、前記第２シーケンサは外部から直接命令を受け付けて動作し、前記第１シーケンサの動作は停止される
ことを特徴とする半導体装置。
【請求項２】
前記第１シーケンサへ命令を転送する第１経路と、
前記第２シーケンサへ命令を転送し、前記第１経路とは別個に設けられた第２経路と
を更に備え、コマンドに応じて前記第１、第２経路を使い分ける
ことを特徴とする請求項１記載の半導体装置。
【請求項３】
前記第１経路に設けられ、前記第１シーケンサへの前記命令を受信する第１レジスタと、
前記第２経路に設けられ、前記第２シーケンサへの前記命令を受信する第２レジスタと、
前記第１、第２レジスタへ与えるクロックを選択する選択部と
を更に備え、前記選択部は、前記第１シーケンサの動作中には、前記第２レジスタにクロックを与えることなく、前記第１周波数のクロックを前記第１レジスタに与え、
前記第２シーケンサの動作中には、前記第１レジスタにクロックを与えることなく、前記第２周波数のクロックを前記第２レジスタに与える
ことを特徴とする請求項２記載の半導体装置。
【請求項４】
前記第１周波数で動作し、前記半導体装置のリセット動作を実行する第３シーケンサと、
前記第３シーケンサを起動するためのリセット命令を受信する第３レジスタと
を更に備え、
前記第３レジスタは、前記第２シーケンサが動作中に前記リセット命令を受信した際に、前記第第２シーケンサの動作が停止するまで、前記第１シーケンサによるリセット動作の開始を遅らせる
ことを特徴とする請求項３記載の半導体装置。
【請求項５】
前記第２シーケンサは、該第２シーケンサが動作中であることを示すビジー信号を生成し、
前記第３レジスタは、前記リセット命令の受信に応答してリセットコマンドを成立させると共に、該リセットコマンドと前記ビジー信号との論理演算を実行してリセット実行信号を生成し、
前記第３シーケンサは、前記リセット実行信号がアサートされることにより前記リセット動作を実行する
ことを特徴とする請求項４記載の半導体装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、半導体装置に関する。
【背景技術】
【０００２】
従来、ＮＡＮＤ型フラッシュメモリとＳＲＡＭとを混載した半導体装置が知られている。このような半導体装置では２つのシーケンサが設けられ、各シーケンサがＮＡＮＤ型フラッシュメモリ及びＳＲＡＭの動作をそれぞれ制御する。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１０−００９１４１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
本実施形態は、高速動作可能な半導体装置を提供することである。
【課題を解決するための手段】
【０００５】
実施形態の半導体装置は、第１動作モードと第２動作モードとを有する。半導体装置は、第１シーケンサと第２シーケンサとを備える。第１シーケンサは、第１周波数で動作する。第２シーケンサは、第１周波数より高周波数の第２周波数で動作する。第１動作モードでは、第１シーケンサは外部から命令を受け付けて動作し、第２シーケンサは外部から命令を受け付けることなく、第１シーケンサの制御の下で動作する。第２動作モードでは、第２シーケンサは外部から直接命令を受け付けて動作し、第１シーケンサの動作は停止される。
【図面の簡単な説明】
【０００６】
【図１】第１実施形態に係る半導体装置のブロック図。
【図２】第１実施形態に係るスイッチ部の回路図。
【図３】第１実施形態に係るスイッチ部の動作を示す表。
【図４】第１実施形態に係るレジスタ部の回路図。
【図５】第１実施形態に係るレジスタ部の動作を示すフローチャート。
【図６】第１実施形態に係る半導体装置の動作を示すタイミングチャート。
【図７】第１実施形態に係る半導体装置の動作を示すタイミングチャート。
【図８】第１実施形態に係る半導体装置の動作を示すタイミングチャート。
【図９】第２実施形態に係る半導体装置のブロック図。
【図１０】第２実施形態に係るレジスタ部の回路図。
【図１１】第２実施形態に係る半導体装置の一部領域のブロック図。
【図１２】第２実施形態に係る半導体装置の動作を示すフローチャート。
【図１３】第２実施形態に係る半導体装置の動作を示すフローチャート。
【図１４】第２実施形態に係る半導体装置の動作を示すタイミングチャート。
【図１５】第３実施形態に係る半導体装置の動作を示すフローチャート。
【図１６】第３実施形態に係る半導体装置の動作を示すタイミングチャート。
【図１７】第１乃至第３実施形態の変形例に係る半導体装置のブロック図。
【発明を実施するための形態】
【０００７】
以下、実施形態につき図面を参照して説明する。この説明に際し、全図にわたり、共通する部分には共通する参照符号を付す。
【０００８】
［第１実施形態］  
第１実施形態に係る半導体装置について説明する。
【０００９】
１．半導体装置の全体構成について  
図１は、本実施形態に係る半導体装置のブロック図である。図示するように半導体装置１は、大まかにはＮＡＮＤ型フラッシュメモリ２、ＳＲＡＭ（Static Ramdom Access Memory）部３、及びスイッチ部４を備えている。これらは同一の半導体基板上に形成され、ワンチップに集積されている。以下、それぞれの回路ブロックについて説明する。
【００１０】
１．１  ＮＡＮＤ型フラッシュメモリ２の構成について  
ＮＡＮＤ型フラッシュメモリ２は、半導体装置１の主記憶部として機能する。図示するようにＮＡＮＤ型フラッシュメモリ２は、ＮＡＮＤコア部１０、第１シーケンサ１１、オシレータ１２、及び第１レジスタ部１３を備えている。
【００１１】
ＮＡＮＤコア部１０は、データを記憶するための機能を有するブロックであり、図示せぬメモリセルアレイ、ロウデコーダ、センスアンプ等を備えている。メモリセルアレイは、データを保持可能な複数のメモリセルトランジスタを備えており、これらのメモリセルトランジスタはマトリクス状に配置されている。ロウデコーダは、メモリセルアレイのいずれかの行を選択する。センスアンプは、データの読み出し時において、ロウデコーダによって選択されたメモリセルトランジスタから読み出されたデータをセンスして増幅し、ＳＲＡＭ部３へ出力する。またセンスアンプはデータの書き込み時において、ＳＲＡＭ部３から入力される書き込みデータを一時的に保持し、これをロウデコーダによって選択されたメモリセルトランジスタへ書き込む。
【００１２】
第１レジスタ部１３は、スイッチ部４及びＳＲＡＭ部３を介して外部のホスト機器から入力された命令に応じてコマンドを成立させ、これを保持する。このコマンドの例は、ＮＡＮＤ型フラッシュメモリ２に対するデータの書き込みコマンド、読み出しコマンド、及び消去コマンドなどである。第１レジスタ部１３は、例えばコマンド毎に第１コマンドレジスタ１４を有しており、第１コマンドレジスタ１４は、コマンドが成立するためのコマンド成立条件を満たすか判定し、コマンド成立条件を満たすときに、対応するコマンドが成立する。
【００１３】
オシレータ１２は、クロックＣＬＫ−Ｎを生成する。
【００１４】
第１シーケンサ１１は、第１レジスタ部１３で成立したコマンドに基づき、またクロックＣＬＫ−Ｎに同期して、ＮＡＮＤ型フラッシュメモリ２の動作を制御する。すなわち、データの書き込み、読み出し、及び消去などを行うために必要な処理を実行する。この処理に基づいて、ＮＡＮＤコア部１０は動作を実行する。更に第１シーケンサ１１は、ＳＲＡＭ部３に含まれる第２シーケンサの動作を制御する。この点については後に詳細に説明する。
【００１５】
１．２  ＳＲＡＭ部３の構成について  
次に、ＳＲＡＭ部３について、引き続き図１を参照しつつ説明する。ＳＲＡＭ部３はＳＲＡＭ２０を備える。上記ＮＡＮＤ型フラッシュメモリ２が半導体装置１の主記憶として機能するのに対して、ＳＲＡＭ２０は半導体装置１のバッファメモリとして機能する。
【００１６】
図示するようにＳＲＡＭ部３は、ＳＲＡＭ２０、ＥＣＣ部２１、第２シーケンサ２２、オシレータ２３、第２レジスタ部２４、及びインターフェース２５を備えている。
【００１７】
ＳＲＡＭ２０は、前述の通りバッファメモリとして機能する。すなわち、データの読み出し時には、ＮＡＮＤ型フラッシュメモリ２から読み出されたデータを一時的に保持し、これを外部へ出力する。他方、データの書き込み時には、ホスト機器から入力された書き込みデータを一時的に保持し、これをＮＡＮＤ型フラッシュメモリ２へ出力する。またＳＲＡＭ２０は、半導体装置１を起動するためのブートコードを保持する。更にＳＲＡＭ２０は、ホスト機器から入力された命令をスイッチ部４へ転送する。
【００１８】
ＥＣＣ部２１は、データバスによってＮＡＮＤコア部１０と接続され、互いにデータの授受を行う。そしてＥＣＣ部２１は、データについてのエラー検出及びエラー訂正、並びにパリティの生成（以下、これらをまとめてＥＣＣ処理と呼ぶことがある）を行う。すなわち、データを読み出す際には、ＮＡＮＤ型フラッシュメモリ２から読み出されたデータについてエラーの検出及び訂正を行う。そして、訂正済みのデータをＳＲＡＭ２０に格納する。他方、データを書き込む際には、書き込みデータについてパリティの生成を行う。そして、書き込みデータとパリティとをＮＡＮＤコア部１０に転送する。
【００１９】
第２レジスタ部２４は、スイッチ部４及びＳＲＡＭ２０を介してホスト機器から入力された命令に応じてコマンドを成立させ、これを保持する。但し、第２レジスタ部２４で成立可能なコマンドは、ＳＲＡＭ部３内で完結する動作である。つまり、ＮＡＮＤ型フラッシュメモリ２の動作が必要なコマンドは第２レジスタ部２４では成立せず、このようなコマンドは第１レジスタ部１３で成立する。第２レジスタ部２４で成立するコマンドの例は、ＳＲＡＭ２０へアクセスするロック命令やアンロック命令などである。ロック命令とは、ＮＡＮＤコア部１０の少なくとも一部への書き込み及び消去を禁止するロック情報を、ＳＲＡＭ２０の所望の領域に書き込む命令である。またアンロック命令とは、ＳＲＡＭ２０に書き込まれたＮＡＮＤコア部１０のロック情報を解消する命令である。第２レジスタ部２４は、例えばコマンド毎に第２コマンドレジスタ２６を有しており、第１コマンドレジスタ１４と同様に、特定の成立条件を満たした第２コマンドレジスタ２６で、対応するコマンドが成立する。
【００２０】
オシレータ２３は、クロックＣＬＫ−Ａを生成する。このクロックＣＬＫ−Ａは、オシレータ１２が生成するクロックＣＬＫ−Ｎよりも高い周波数を有する。
【００２１】
第２シーケンサ２２は、第１レジスタ部１３でコマンドが成立した場合、第１シーケンサ１１の命令に基づいて動作し、ＳＲＡＭ部３を制御する。すなわち、第１シーケンサ１１がマスター（master）シーケンサとして機能し、第２シーケンサ２２がスレーブ（slave）シーケンサとして機能する。従ってこの場合、第２シーケンサ２２の起動（場合によっては停止も）は第１シーケンサ１１の命令によって管理され、またどのような動作を行うかについても第１シーケンサ１１の命令に従う。他方、第２レジスタ部２４でコマンドが成立した場合には、第２シーケンサ２２はこのコマンドに基づいて動作し、ＳＲＡＭ部３を制御する。つまり、この場合の第２シーケンサ２２は、第１シーケンサ１１の管理下を離れ、独立して動作する。この詳細についても後述する。
【００２２】
インターフェース２５は、ホスト機器との間の信号の授受を司る。すなわち、ホスト機器から与えられるデータや命令を受信して、これをＳＲＡＭ２０に転送し、またＳＲＡＭ２０内のデータを外部へ出力する。
【００２３】
１．３  スイッチ部４について  
次にスイッチ部４について説明する。スイッチ部４は、ホスト機器から入力された外部クロックＥＸ−ＣＬＫを受信して、第１レジスタ部１３及び第２レジスタ部２４でのコマンド成立を許可／禁止する。スイッチ部４においてコマンド成立が許可された状態で命令が与えられることで、第１、第２レジスタ部１３、２４はコマンドを成立させることが可能となる。外部クロックＥＸ−ＣＬＫは、例えばライトイネーブル信号ＷＥｎである。半導体装置１は、ライトイネーブル信号ＷＥｎの立ち上がりエッジ及び／または立ち下がりエッジで、ホスト機器から入力された命令を取り込むことが出来る。
【００２４】
２．半導体装置１の動作の概略について  
次に、上記構成の半導体装置１の動作の概略について簡単に説明する。前述の通り、本実施形態に係る半導体装置１では、ＮＡＮＤ型フラッシュメモリ２が主記憶部として機能し、ＳＲＡＭ２０がバッファメモリとして機能する。
【００２５】
従って、ＮＡＮＤ型フラッシュメモリ２からデータを外部に読み出す際には、まずホスト機器から命令が入力されると、ＮＡＮＤコア部１０のメモリセルアレイからデータが読み出される。これは第１シーケンサ１１の制御に従って行われる。引き続き、第１シーケンサ１１のスレーブとして機能する第２シーケンサ２２の制御に従って、ＥＣＣ部２１がＮＡＮＤコア部１０からデータを読み出し、ＥＣＣ処理を実行する。そしてＥＣＣ部２１は、ＥＣＣ処理したデータをＳＲＡＭ２０に格納する。更に、ホスト機器から命令が入力されると、第２シーケンサ２２の制御に従って、ＳＲＡＭ２０内のデータがインターフェース２５を介して外部へ出力される。
【００２６】
ＮＡＮＤ型フラッシュメモリ２へデータを書き込む際には逆の動作が行われる。すなわち、ホスト機器から命令が入力されると、第１シーケンサ１１のスレーブとして機能する第２シーケンサ２２の制御に従って、ＳＲＡＭ２０はホスト機器から入力された書き込みデータを記憶する。次に、ホスト機器から更に命令が入力されると、第２シーケンサ２２の制御に従ってＥＣＣ部２１がＳＲＡＭ２０から書き込みデータを読み出す。そしてＥＣＣ部２１はＥＣＣ処理を行って、書き込みデータとパリティとをＮＡＮＤコア部１０へ転送する。その後、ＮＡＮＤコア部１０は、第１シーケンサ１１の制御に従って、データをメモリセルトランジスタに書き込む。
【００２７】
３．スイッチ部４の詳細について
次に、上記スイッチ部４の詳細について図２を用いて説明する。図２はスイッチ部４の回路図である。図示するようにスイッチ部４は、大まかには第１スイッチ部３０及び第２スイッチ部３１を備えている。
【００２８】
第１スイッチ部３０は、第１レジスタ部１３におけるコマンド成立／不成立を制御するためのブロックである。図示するように第１スイッチ部３０は、ＯＲゲート３２、インバータ３３、及びＮＯＲゲート３４〜３６を備えている。
【００２９】
ＯＲゲート３２は、ビジー（busy）信号ＢＵＳＹ−Ａとビジー信号ＢＵＳＹ−Ｎとの論理和演算を行う。信号ＢＵＳＹ−Ａは、ＳＲＡＭ部３がビジー状態であるか否かを示す信号であり、第２レジスタ部２４で何らかのコマンドが成立している場合、ＳＲＡＭ部３はビジー状態となる。信号ＢＵＳＹ−Ｎは、ＮＡＮＤ型フラッシュメモリ２がビジー状態であるか否かを示す信号であり、第１レジスタ部１３で何らかのコマンドが成立している場合、ＮＡＮＤ型フラッシュメモリ２はビジー状態となる。ＮＯＲゲート３４は、前述の外部クロックＥＸ−ＣＬＫとＯＲゲート３２の演算結果との否定論理和演算を実行する。インバータ３３は、信号ＢＵＳＹ−Ｎを反転させる。ＮＯＲゲート３５は、オシレータ１２の生成するクロックＣＬＫ−Ｎと、インバータ３３の出力との否定論理和演算を実行する。ＮＯＲゲート３６は、ＮＯＲゲート３４、３５の演算結果の否定論理和演算を行う。そしてＮＯＲゲート３６は、演算結果をクロックＭＣＬＫ−Ｎとして第１レジスタ部１３へ出力する。
【００３０】
第２スイッチ部３１は、第２レジスタ部２４におけるコマンド成立／不成立を制御する。図示するように第２スイッチ部３１は、ＯＲゲート３７、インバータ３８、及びＮＯＲゲート３９〜４１を備えている。
【００３１】
ＯＲゲート３７は、信号ＢＵＳＹ−Ａ、ＢＵＳＹ−Ｎの論理和演算を行う。ＮＯＲゲート３９は、外部クロックＥＸ−ＣＬＫとＯＲゲート３７の演算結果との否定論理和演算を実行する。インバータ３８は、信号ＢＵＳＹ−Ａを反転させる。ＮＯＲゲート４０は、オシレータ２３の生成するクロックＣＬＫ−Ａと、インバータ３８の出力との否定論理和演算を実行する。ＮＯＲゲート４１は、ＮＯＲゲート３９、４０の演算結果の否定論理和演算を行う。そしてＮＯＲゲート４１は、演算結果をクロックＭＣＬＫ−Ａとして第２レジスタ部２４へ出力する。
【００３２】
上記クロックＭＣＬＫ−Ｎ、ＭＣＬＫ−Ａによって、第１レジスタ部１３及び第２レジスタ部２４におけるコマンドの成立が制御される。ＮＡＮＤ型フラッシュメモリ２及びＳＲＡＭ部３の状態と、クロックＭＣＬＫ−Ｎ、ＭＣＬＫ−Ａとの関係を、図３に示す。図３は、図２の回路構成によって生成されるクロックＭＣＬＫ−Ｎ、ＭＣＬＫ−Ａの様子を示している。
【００３３】
図示するように、ＮＡＮＤ型フラッシュメモリ２及びＳＲＡＭ部３の両方がレディ状態である場合（ＢＵＳＹ−Ｎ＝ＢＵＳＹ−Ａ＝“Ｌ”）、クロックＭＣＬＫ−Ｎ、ＭＣＬＫ−Ａとして、外部クロックＥＸ−ＣＬＫが供給される。この結果、第１、第２レジスタ部１３、２４は、共にホスト機器からの命令を取り込むことが可能な状態とされる。
【００３４】
次に、ＮＡＮＤ型フラッシュメモリ２がレディ状態（ＢＵＳＹ−Ｎ＝“Ｌ”）で、ＳＲＡＭ部３がビジー状態（ＢＵＳＹ−Ａ＝“Ｈ”）である場合、クロックＭＣＬＫ−Ｎは“Ｈ”レベルで一定、すなわちディセーブルとされる。従って、第１レジスタ部１３におけるコマンド成立は禁止される。他方、クロックＣＬＫ−Ａが、クロックＭＣＬＫ−Ａとして第２レジスタ部２４に供給される。
【００３５】
次に、ＮＡＮＤ型フラッシュメモリ２がビジー状態（ＢＵＳＹ−Ｎ＝“Ｈ”）で、ＳＲＡＭ部３がレディ状態（ＢＵＳＹ−Ａ＝“Ｌ”）である場合、クロックＭＣＬＫ−Ａは“Ｈ”レベルで一定、すなわちディセーブルとされる。従って、第２レジスタ部２４におけるコマンド成立は禁止される。他方で、クロックＣＬＫ−Ｎが、クロックＭＣＬＫ−Ｎとして第１レジスタ部１３に供給される。
【００３６】
４．第１、第２レジスタ部１３、２４の詳細について  
次に、上記第１、第２レジスタ部１３、２４の詳細について説明する。前述の通り、第１レジスタ部１３は、コマンド毎に第１コマンドレジスタ１４を備え、第２レジスタ部２４は、コマンド毎に第２コマンドレジスタ２６を備えている。以下では、これらの第１、第２コマンドレジスタ１４、２６について説明する。
【００３７】
４．１  第１、第２コマンドレジスタ１４、２６の構成について  
図４は、第１コマンドレジスタ１４の回路図である。図示するように第１コマンドレジスタ１４は、大まかには成立部５０及び保持部５１を備えている。
【００３８】
成立部５０は、ホスト機器から入力された命令Ｄin（書き込み命令、読み出し命令、及び消去命令等）を受けて、この命令を成立させるための回路ブロックである。成立部５０は、コマンド判定回路５３を備えている。コマンド判定回路５３は、命令Ｄin、反転ビジー信号ＢＵＳＹ−Ｎｎ（信号名末尾のｎは反転信号であることを示し、ＢＵＳＹ−ＮｎはＢＵＳＹ−Ｎの反転信号）、及び必要に応じて条件信号に基づいて、当該命令の成立のための条件が満足されているか否かを判定するための論理演算を実行する。そしてその演算結果に応じて、コマンド判定回路５３は命令信号ＩＮＳＴを出力する。命令が成立した場合、信号ＩＮＳＴがアサート（本例では“Ｈ”レベル）される。
【００３９】
保持部５１は、インバータ５４、５５、ＮＡＮＤゲート５６、５７、及びＤ−フリップフロップ５８を備えている。インバータ５４は、信号ＩＮＳＴを反転させる。インバータ５５は、信号ＳＥＱ＿ＥＮＤ−Ｎを反転させる。信号ＳＥＱ＿ＥＮＤ−Ｎは、シーケンス終了時にコマンドＣＭＤ−Ｎをリセット（ネゲート）するための信号であり、第１シーケンサ１１により生成され、本実施形態では“Ｈ”レベルでアサートされる。ＮＡＮＤゲート５６は、インバータ５５の出力と、Ｄ−フリップフロップ５８の保持データとの否定論理積演算を実行する。ＮＡＮＤゲート５７は、インバータ５４の出力と、ＮＡＮＤゲート５６の演算結果との否定論理積演算を実行する。Ｄ−フリップフロップ５８は、クロックＭＣＬＫ−Ｎに同期して、ＮＡＮＤゲート５７の演算結果を取り込む。Ｄ−フリップフロップ５８に“Ｈ”レベルが取り込まれることで、当該第１コマンドレジスタ１４に対応するコマンドＣＭＤ−Ｎが成立する。なお、Ｄ−フリップフロップ５８には信号ＬＯＷＶＤＤｎが与えられる。この信号は、半導体装置１の電源が切断される際にアサート（本例では“Ｌ”レベル）され、成立したコマンドＣＭＤ−Ａを強制的にクリアするための命令であり、例えばシーケンサ１１から与えられる。
【００４０】
以上のように、成立部５０及び保持部５１を有する第１コマンドレジスタ１４が、コマンド毎に設けられる。複数の第１コマンドレジスタ１４のうち、コマンドが成立できるのは、いずれか一つの第１コマンドレジスタ１４だけである。なお、以下の記載においては、第１コマンドレジスタ１４で成立したコマンドを区別しない場合にはコマンドＣＭＤ−Ｎと表記し、特に書き込みコマンド、読み出しコマンド、及び消去コマンドを指定する際には、ＣＭＤ−ＷＲ、ＣＭＤ−ＲＤ、ＣＭＤ−ＥＲ等と表記する。
【００４１】
また、信号ＢＵＳＹ−Ｎは、複数の第１コマンドレジスタ１４の出力するコマンドＣＭＤ−Ｎの論理和に相当する。すなわち信号ＢＵＳＹ−Ｎは、いずれかの第１コマンドレジスタ１４でコマンドＣＭＤ−Ｎが成立した場合にアサートされ、例えば第１シーケンサ１１によって生成される。
【００４２】
第２コマンドレジスタ２６の構成は第１コマンドレジスタ１４と同様であり、異なるのは入力信号のみである。すなわち、第２コマンドレジスタ２６では、信号ＢＵＳＹ−Ｎｎの代わりに信号ＢＵＳＹ−Ａｎが入力され、クロックＭＣＬＫ−Ｎの代わりにクロックＭＣＬＫ−Ａが入力され、信号ＳＥＱ＿ＥＮＤ−Ｎの代わりに信号ＳＥＱ＿ＥＮＤ−Ａが入力される。信号ＳＥＱ＿ＥＮＤ−Ａは、シーケンス終了時にコマンドＣＭＤ−Ａをリセット（ネゲート）するための信号であり、第２シーケンサ２２によって生成される。また成立したコマンド名を、コマンドＣＭＤ−Ａと表記し、特にロックコマンド及びアンロックコマンドを指定する際には、ＣＭＤ−ＬＣＫ及びＣＭＤ−ＵＬＣＫ等と表記する。
【００４３】
ＳＲＡＭ部３の信号ＢＵＳＹ−Ａは、複数の第２コマンドレジスタ２６の出力するコマンドＣＭＤ−Ａの論理和に相当する。すなわち信号ＢＵＳＹ−Ａは、いずれかの第２コマンドレジスタ２６でコマンドＣＭＤ−Ａが成立した場合にアサートされ、例えば第２シーケンサ２２によって生成される。
【００４４】
４．２  第１、第２コマンドレジスタ１４、２６の動作について  
次に、図４に示す第１コマンドレジスタ１４の動作について、図５を用いて説明する。図５は、コマンドが成立するまでの第１コマンドレジスタ１４の動作の流れを示すフローチャートである。
【００４５】
図示するように、第１コマンドレジスタ１４はまず、ＳＲＡＭ２０を介して信号Ｄinを受信する（ステップＳ１０）。前述の通り、この信号Ｄinは、ホスト機器から与えられる、データの書き込み命令、読み出し命令、または消去命令などである。この信号Ｄinは、コマンド判定回路５３に入力される。
【００４６】
クリア命令（ＬＯＷＶＤＤｎ）が与えられている場合（ステップＳ１１、ＹＥＳ）には、命令信号ＩＮＳＴの論理レベルに関わらず、コマンドは成立しない（ステップＳ１３）。言い換えれば、この場合にはＤ−フリップフロップ５８内のコマンドは強制的にリセットされる。
【００４７】
クリア命令が与えられておらず（ステップＳ１１、ＮＯ）、クロックＭＣＬＫ−Ｎが与えられていない場合（ステップＳ１４、ＮＯ）、Ｄ−フリップフロップ５８は、それまでの状態を保持する（ステップＳ１５）。
【００４８】
クロックＭＣＬＫ−Ｎが与えられ（ステップＳ１４、ＹＥＳ）、ＮＡＮＤ型フラッシュメモリ２がレディ（ready）状態であり、（ステップＳ１６、ＮＯ）、且つコマンド判定回路５３における命令成立条件が満たされれば（ステップＳ１７、ＹＥＳ）、当該第１コマンドレジスタ１４に対応する命令が成立する（ステップＳ１８）。すなわち、信号ＩＮＳＴ＝“Ｈ”となる。そして、この信号ＩＮＳＴがクロックＭＣＬＫ−Ｎに同期してＤ−フリップフロップ５８に取り込まれ、コマンドＣＭＤ−Ｎが成立する（ステップＳ１９）。
【００４９】
ステップＳ１７において成立条件が満たされなければ（ステップＳ１７、ＮＯ）、命令は不成立であり（ステップＳ２０、ＩＮＳＴ＝“Ｌ”）、コマンドは成立しない（ステップＳ２１）。
【００５０】
またステップＳ１６においてＮＡＮＤ型フラッシュメモリ２がビジー状態である場合（ステップＳ１６、ＹＥＳ）、終了信号ＳＥＱ＿ＥＮＤ−Ｎが入力されていれば（ステップＳ２２、ＹＥＳ）、コマンドは成立しない（ステップＳ２１）。すなわちこの場合には、Ｄ−フリップフロップ５８内のコマンドは強制的にリセットされる。
【００５１】
ステップＳ２２で信号ＳＥＱ＿ＥＮＤ−Ｎが入力されていなければ（ステップＳ２２、ＮＯ）、Ｄ−フリップフロップ５８は、それまでの状態を保持する（ステップＳ１５）。
【００５２】
以上の動作は、第２コマンドレジスタ２６についても同様である。
【００５３】
５．命令入力時の半導体装置１の動作の詳細について  
次に、命令入力時の半導体装置１の動作について、特にスイッチ部４、第１、第２レジスタ部１３、２４、オシレータ１２、２３、及び第１、第２シーケンサ１１、２２に着目して、以下説明する。
【００５４】
５．１  第１の例  
はじめに、第１レジスタ部１３でコマンドが成立する場合について、図６を用いて説明する。図６は、各種信号のタイミングチャートである。時刻ｔ０以前は、ＮＡＮＤ型フラッシュメモリ２及びＳＲＡＭ部３は共にレディ状態にあると仮定する。
【００５５】
図示するように、時刻ｔ０において外部クロック（ライトイネーブル信号ＷＥｎ）が入力され、その立ち上がりエッジで、命令Ｄinが半導体装置１に取り込まれる（時刻ｔ１）。そしてこの命令Ｄinによって、時刻ｔ１で、いずれかの第１コマンドレジスタ１４でコマンドＣＭＤ−Ｎが成立する。すなわち、いずれかの第１コマンドレジスタ１４において、コマンド判定回路４３が信号ＩＮＳＴを“Ｈ”レベルとし、この信号がクロックＭＣＬＫ−Ｎ（この時点では外部クロックＥＸ−ＣＬＫ、図２及び図３参照）に同期してＤ−フリップフロップ５８に取り込まれる。
【００５６】
第１コマンドレジスタ１４でコマンドＣＭＤ−Ｎが成立したことを受けて、時刻ｔ２でオシレータ１２はクロックＣＬＫ−Ｎの生成を開始する。このクロックＣＬＫ−Ｎは、第１シーケンサ１１及び第１レジスタ部１３に与えられる。なお、図１では省略したが、このクロックＣＬＫ−ＮをＮＡＮＤコア部１０に与えられてもよい。
【００５７】
更に、第１コマンドレジスタ１４でコマンドＣＭＤ−Ｎが成立したことにより、信号ＢＵＳＹ−Ｎが“Ｈ”レベルとなる。従ってスイッチ部４は、クロックＭＣＬＫ−ＮとしてクロックＣＬＫ−Ｎを出力し、クロックＭＣＬＫ−Ａを“Ｈ”レベル一定すなわちディセーブルとする。そのため、第２コマンドレジスタ２６のＤ−フリップフロップ５８は、信号を内部に取り込めない状態となり、第２コマンドレジスタ２６におけるコマンドの成立は禁止される。他方、第１コマンドレジスタ１４のＤ−フリップフロップ５８にはクロックＣＬＫ−Ｎが与えられ、第１コマンドレジスタ１４はコマンドＣＭＤ−Ｎを保持し続ける。
【００５８】
また、コマンドＣＭＤ−Ｎの成立とクロックＣＬＫ−Ｎの発行により、第１シーケンサ１１が動作を開始する。図６の信号Ｆｓｍ−Ｎは、第１シーケンサ１１の起動信号であり、第１シーケンサの動作期間中は“Ｈ”レベルとされる。起動した第１シーケンサ１１は、命令Ｄinを実行するために必要な処理を実行して、ＮＡＮＤコア部１０の動作を制御する。またＳＲＡＭ部３を動作させるため、コマンドＣＭＤ−Ｎが成立したことにより、時刻ｔ２でＳＲＡＭ部３のオシレータ２３が起動され、オシレータ２３はクロックＣＬＫ−Ａを生成し始める。このクロックＣＬＫ−Ａは、第２シーケンサ２２、ＳＲＡＭ２０、及びＥＣＣ部２１に与えられる。
【００５９】
引き続き第１シーケンサ１１は、第２シーケンサ２２に対して動作を開始するよう命令する。これにより第２シーケンサ２２は、クロックＣＬＫ−Ａの生成が開始された後の時刻ｔ５で動作を開始する。図６の信号Ｆｓｍ−Ａは、第２シーケンサ２２の起動信号であり、“Ｈ”レベルの期間が動作中の期間である。このようにして動作を開始した第２シーケンサ２２は、以後、第１コマンドレジスタ１４で成立した処理を終了するまでは、第１シーケンサ１１の管理下で動作する。つまり、本例の場合には、第１シーケンサ１１がマスターシーケンサとして動作し、第２シーケンサ２２がスレーブシーケンサとして動作する。
【００６０】
動作の終了時には、例えば第１シーケンサ１１の命令により、時刻ｔ６で第２シーケンサ２２は動作を停止する（Ｆｓｍ−Ａ＝“Ｌ”）。これを受けて第１シーケンサ１１は、時刻ｔ７で第１コマンドレジスタ１４のコマンドをリセットする。例えば、信号ＳＥＱ＿ＥＮＤ−Ｎをアサートする。これにより第１コマンドレジスタ１４のコマンドがリセットされて、第１シーケンサ１１は動作を停止する。
【００６１】
５．２  第２の例  
次に、第２レジスタ部２４でコマンドが成立する場合について、図７を用いて説明する。図７は、各種信号のタイミングチャートである。図６と同様に、時刻ｔ０以前は、ＮＡＮＤ型フラッシュメモリ２及びＳＲＡＭ部３は共にレディ状態にあると仮定する。
【００６２】
図示するように、時刻ｔ０において外部クロック（ライトイネーブル信号ＷＥｎ）が入力され、その立ち上がりエッジで、命令Ｄinが半導体装置１に取り込まれる（時刻ｔ１）。そしてこの命令Ｄinによって、時刻ｔ１で、いずれかの第２コマンドレジスタ２６でコマンドＣＭＤ−Ａが成立する。すなわち、いずれかの第２コマンドレジスタ２６において、コマンド判定回路４３が信号ＩＮＳＴを“Ｈ”レベルとし、この信号がクロックＭＣＬＫ−Ａ（この時点では外部クロックＥＸ−ＣＬＫ、図２及び図３参照）に同期してＤ−フリップフロップ５８に取り込まれる。
【００６３】
第２コマンドレジスタ２６でコマンドＣＭＤ−Ａが成立したことを受けて、時刻ｔ２でオシレータ２３はクロックＣＬＫ−Ａの生成を開始する。このクロックＣＬＫ−Ａは、第２シーケンサ２２、ＳＲＡＭ２０、及びＥＣＣ部２１に与えられる。
【００６４】
更に、第２コマンドレジスタ２６でコマンドＣＭＤ−Ａが成立したことにより、信号ＢＵＳＹ−Ａが“Ｈ”レベルとなる。従ってスイッチ部４は、クロックＭＣＬＫ−ＡとしてクロックＣＬＫ−Ａを出力し、クロックＭＣＬＫ−Ｎを“Ｈ”レベル一定すなわちディセーブルとする。そのため、第１コマンドレジスタ１４のＤ−フリップフロップ５８は、信号を内部に取り込めない状態となり、第１コマンドレジスタ１４におけるコマンドの成立は禁止される。他方、第２コマンドレジスタ２６のＤ−フリップフロップ５８にはクロックＣＬＫ−Ａが与えられ、第２コマンドレジスタ２６はコマンドＣＭＤ−Ａを保持し続ける。
【００６５】
また、コマンドＣＭＤ−Ａの成立とクロックＣＬＫ−Ａの発行により、第２シーケンサ２２が起動する。動作を開始した第２シーケンサ２２は、命令Ｄinを実行するために必要な処理を実行して、ＳＲＡＭ２０やＥＣＣ部２１の動作を制御する。第１の例と異なり第２の例では、動作はＳＲＡＭ部３内で完結するため、第１シーケンサ１１は起動されない。そして第２シーケンサ２２は、第１シーケンサ１１を介することなく、ホスト機器から直接命令を受けて動作する。すなわち第２シーケンサ２２は、第１シーケンサ１１から独立して動作する。
【００６６】
動作の終了時も第２シーケンサ２２は、第１シーケンサ１１の命令を受けることなく、例えば自ら信号ＳＥＱ＿ＥＮＤ−Ａをアサートして、動作を停止する（時刻ｔ６）。
【００６７】
５．３  第３の例  
次に、より具体的な動作の流れを、第３の例として説明する。図８は、ホスト機器からデータの読み出し命令を受信し、引き続きロック命令を受信した場合における各種信号のタイミングチャートである。
【００６８】
図示するように、時刻ｔ０でライトイネーブル信号ＷＥｎが入力され、その立ち上がりエッジで読み出し命令ＲＤが取り込まれる（時刻ｔ１）。そして、その時刻ｔ１で読み出しコマンドＣＭＤ−ＲＤが第１コマンドレジスタ１４で成立する。このコマンドＣＭＤ−ＲＤにより、第１シーケンサ１１が動作を開始し（Ｆｓｍ−Ｎ＝“Ｈ”、時刻ｔ２）、更に第１シーケンサ１１の命令によって第２シーケンサ２２が動作を開始する（Ｆｓｍ−Ａ＝“Ｈ”、時刻ｔ３）。すなわち、第１、第２シーケンサ１１、２２は、互いにマスターとスレーブの関係を持って動作する。
【００６９】
ＮＡＮＤ型フラッシュメモリ２では、第１シーケンサ１１の制御に基づきＮＡＮＤコア部１０においてメモリセルアレイからセンスアンプにデータが読み出される。また、第１シーケンサ１１の制御に基づき、センスアンプからＥＣＣ部２１にデータが読み出される。ＳＲＡＭ部３では、第２シーケンサ２２の制御に基づきＥＣＣ部２１がデータのＥＣＣ処理を行い、ＥＣＣ処理されたデータをＳＲＡＭ２０が記憶する。
【００７０】
データの読み出し動作が終了（時刻ｔ４）した後、時刻ｔ５で再びライトイネーブル信号ＷＥｎが入力され、その立ち上がりエッジでロック命令ＬＣＫが取り込まれる（時刻ｔ６）。そして、その時刻ｔ６でロックコマンドＣＭＤ−ＬＣＫが第２コマンドレジスタ２６で成立する。このコマンドＣＭＤ−ＬＣＫにより、第２シーケンサ２２が動作を開始する（Ｆｓｍ−Ａ＝“Ｈ”、時刻ｔ７）。この場合、第１コマンドレジスタ１４ではコマンドが成立しないため、第１シーケンサ１１は動作せず、第２シーケンサ２２は第１シーケンサ１１から独立して動作する。
【００７１】
６．本実施形態に係る効果  
以上のように、本実施形態に係る構成であると、遅いクロックＣＬＫ−Ｎで動作する第１シーケンサ１１をマスターシーケンサとして使用し、速いクロックＣＬＫ−Ａで動作する第２シーケンサ２２をスレーブシーケンサとして使用する。そして、第１シーケンサ１１の動作を必要とせずに第２シーケンサ２２のみの動作によって完結する処理を行う際には、第２シーケンサ２２にコマンドを直接入力する。これにより、第２シーケンサ２２を第１シーケンサ１１から独立して動作させる。
【００７２】
このような構成により、低速のマスターシーケンサを用いつつ、高速な動作が求められるコマンドに対応することが可能となる。
【００７３】
例えば、ＮＡＮＤ型フラッシュメモリとＳＲＡＭとでは、動作可能速度が異なる。すなわち、ＳＲＡＭはＮＡＮＤ型フラッシュメモリよりも高速の動作が可能である。従って、ＮＡＮＤ型フラッシュメモリとＳＲＡＭは、それぞれ異なるクロックで動作するシーケンサによって、各々制御される。
【００７４】
このとき、ＳＲＡＭ用シーケンサをマスターシーケンサとした場合、コマンド入力から終了までの一連の処理は、基本的に高速のクロックに同期して実行される。しかしながら、複数の製品モードに対応する必要があるなど、製品仕様の多様化に従って、高速のクロックで動作するシーケンサをマスターシーケンサとして使用するのは不都合な場合が生じる可能性がある。
【００７５】
そこで、このような場合には、低速のクロックに同期して動作するシーケンサをマスターシーケンサとして使用することが考えられる。つまり、ＮＡＮＤ型フラッシュメモリ用シーケンサをマスターシーケンサとして使用し、ＳＲＡＭ用シーケンサをスレーブシーケンサとして使用する。このように、マスターとスレーブとの関係を入れ替えることで、ユーザの様々な要求に対応することが出来る。
【００７６】
この場合、ＳＲＡＭ用シーケンサは、異なるクロックドメイン（clock domain）にあるＮＡＮＤ型フラッシュメモリ用シーケンサから命令を受信する。すなわち、異なるクロックドメイン間を信号が跨ぐことなる（ＣＤＣ：clock domain crossing）。このことは、動作不良の原因になる場合がある。この対策（ＣＤＣ対策）としては、２段のフリップフロップを介して信号を受け取るという方法がある。
【００７７】
すると、低速のシーケンサがマスターシーケンサの場合、この遅いクロックに同期して起動する必要がある。更に、且つマスターシーケンサからスレーブシーケンサ、及びスレーブシーケンサからマスターシーケンサへの信号のやりとりの際に、それぞれ受け手側のクロックに同期した２つのフリップフロップを挟んで受け取る必要がある。このため、信号の受け渡しに時間がかかる。
【００７８】
しかし本実施形態の場合には、スレーブシーケンサ２２で動作を完結できる処理については、スレーブシーケンサ２２に直接コマンドを与えることができる。従って、上記のようなＣＤＣ対策による問題は発生しない。そのため、例えばロック命令など、高速動作が求められる処理の信頼性を向上出来る。
【００７９】
［第２実施形態］  
次に、第２実施形態に係る半導体装置について説明する。本実施形態は、上記第１実施形態において、リセット動作を実行するための構成に関するものである。その他の構成及び動作は第１実施形態と同様であるので、その説明は省略する。
【００８０】
１．半導体装置１の全体構成について  
図９は、本実施形態に係る半導体装置１のブロック図である。図示するように本実施形態に係る半導体装置１は、第１実施形態で説明した図１の構成において、ＮＡＮＤ型フラッシュメモリ２が第３シーケンサ１５及び第３レジスタ部１６を更に備えたものである。
【００８１】
第３シーケンサ１５及び第３レジスタ部１６は、ＮＡＮＤ型フラッシュメモリ２及びＳＲＡＭ部３を初期状態に戻すためのリセット動作を実行するためのものである。そして、外部から入力されるリセット命令は、ＮＡＮＤ型フラッシュメモリ２及び／またはＳＲＡＭ部３がビジー状態であっても受け付けられる必要がある。
【００８２】
第３レジスタ部１６は、第３コマンドレジスタ１７を備え、ＳＲＡＭ部３を介して外部のホスト機器から入力されたリセット命令に応じてリセットコマンドＣＭＤ−ＲＳＴを成立させ、これを保持する。
【００８３】
第３シーケンサ１５は、第３コマンドレジスタ１７で成立したコマンドＣＭＤ−ＲＳＴに基づき、またクロックＣＬＫ−Ｎに同期して、ＮＡＮＤ型フラッシュメモリ２の動作を制御する。すなわち、リセット動作を行うために必要な処理を実行する。
【００８４】
次に、上記第３レジスタ部１６の構成について説明する。図１０は、第３コマンドレジスタ１７の回路図である。図示するように、第３コマンドレジスタ１７は、上記第１実施形態で説明した図４の構成において、次のような変形を行ったものである。すなわち、  
・コマンド判定回路５３は、ビジー信号ＢＵＳＹ−Ｎｎに依存することなく、リセット命令Ｄinと、必要な条件信号によってリセット命令ＩＮＳＴを成立させる。  
・終了信号ＳＥＱ＿ＥＮＤ−Ｎの代わりに、リセットシーケンス終了時にコマンドＣＭＤ−ＲＳＴをリセット（ネゲート）するための信号ＳＥＱ＿ＥＮＤ−ＲＳＴが入力される。信号ＳＥＱ＿ＥＮＤ−ＲＳＴは第３シーケンサ１５によって発行される。  
・Ｄ−フリップフロップ５８には、クロックＭＣＬＫ−Ｎの代わりに、クロックＥＸ−ＣＬＫが入力される。  
・更にＮＡＮＤゲート５９を備える。ＮＡＮＤゲート５９は、コマンドＣＭＤ−ＲＳＴと反転ビジー信号ＢＵＳＹ−Ａｎとの論理積演算を行い、演算結果をリセット実行信号ＥＸＥ−ＲＳＴとして出力する。
【００８５】
・更に保持部５１では、インバータ５４、５５及びＮＡＮＤゲート５６、５７が廃され、代わりにＡＮＤゲート６０及びＯＲゲート６１を備える。ＡＮＤゲート６０は、第３シーケンサ１５が発行した信号ＬＯＷＶＤＤｎと反転終了信号ＳＥＱ＿ＥＮＤ−ＲＳＴｎとの論理積演算を行う。そして演算結果がアサートされることにより、Ｄ−フリップフロップ５８は強制的にリセットされる。ＯＲゲート６１は、信号ＩＮＳＴとコマンドＣＭＤ−ＲＳＴとの論理和演算を行う。Ｄ−フリップフロップ５８は、ＯＲゲート６１の演算結果をクロックＥＸ−ＣＬＫに同期して取り込む。
【００８６】
次に、各レジスタ部１３、１６、２４と各シーケンサ１１、１５、２２との関係につき、図１１を用いて説明する。図１１は、本実施形態に係る半導体装置１の一部領域のブロック図であり、特に第１〜第３レジスタ部１３、１６、２４、第１〜第３シーケンサ１１、１５、２２、及びオシレータ１２、２３を示している。
【００８７】
図示するように、第１レジスタ部１３と第１シーケンサ１１との関係、及び第２レジスタ部２４と第２シーケンサ２２との関係は、第１実施形態と同様である。他方、第３シーケンサ１５は、コマンドＣＭＤ−ＲＳＴではなく信号ＥＸＥ−ＲＳＴと、第１シーケンサ１１の出力する信号Ｆｓｍ−Ｎとに基づいてリセット動作を開始する。
【００８８】
なお、シーケンサはコマンド毎にシーケンサが設けられても良い。すなわち、読み出し、書き込み、消去、及びリセットの動作毎に、それぞれ別個にシーケンサが設けられていてもよい。しかしながら、複数の機能を実行可能な１つのシーケンサによって、複数のコマンドに対応する機能を実現してもよい。このことは第１実施形態でも同様である。
【００８９】
リセット動作の具体的な動作の流れについて、以下説明する。
【００９０】
２．動作について  
２．１  第３レジスタ部１６の動作について  
まず、第３レジスタ部１６においてリセットコマンドＣＭＤ−ＲＳＴが成立するまでの動作につき、図１２を用いて説明する。図１２は、第３レジスタ部１６における処理の流れを示すフローチャートである。
【００９１】
図示するように、まずホスト機器によってリセット信号Ｄinが入力される（ステップＳ３０）。この信号Ｄinは、コマンド判定回路５３に入力される。
【００９２】
クリア命令が与えられている場合（ステップＳ３１、ＹＥＳ）には、リセット命令信号ＩＮＳＴの論理レベルに関わらず、リセットコマンドＣＭＤ−ＲＳＴは成立しない（ステップＳ３２）。言い換えれば、この場合にはＤ−フリップフロップ５８内のコマンドは強制的にリセットされる。図１０の回路図で説明したように、第３レジスタ１６のクリア命令は、終了信号ＳＥＱ＿ＥＮＤ−ＲＳＴの反転信号と、信号ＬＯＷＶＤＤｎとの論理積演算結果である。
【００９３】
クリア命令が与えられていない（ステップＳ３１、ＮＯ）場合であっても、終了信号ＳＥＱ＿ＥＮＤ−ＲＳＴが与えられていれば（ステップＳ３３、ＹＥＳ）、やはりコマンドは成立しない（ステップＳ３２）。すなわちこの場合にも、Ｄ−フリップフロップ５８内のコマンドは強制的にリセットされる。
【００９４】
終了信号が与えられておらず（ステップＳ３３、ＮＯ）、外部クロックＥＸ−ＣＬＫが入力されていなければ（ステップＳ３４、ＮＯ）、Ｄ−フリップフロップ５８のそれまでの状態を維持する（ステップＳ３５）。
【００９５】
外部クロックＥＸ−ＣＬＫが入力されており（ステップＳ３４、ＹＥＳ）、且つコマンド判定回路５３における命令成立条件が満たされれば（ステップＳ３６、ＹＥＳ）、リセット命令ＩＮＳＴが成立する（ステップＳ３７）。そして、この信号ＩＮＳＴがクロックＥＸ−ＣＬＫに同期してＤ−フリップフロップ５８に取り込まれ、コマンドＣＭＤ−ＲＳＴが成立する（ステップＳ３８）。
【００９６】
ステップＳ３６において成立条件が満たされなければ（ステップＳ３６、ＮＯ）、命令は不成立であり（ステップＳ３９、ＩＮＳＴ＝“Ｌ”）、リセットコマンドＣＭＤ−ＲＳＴは成立しない（ステップＳ３２）。
【００９７】
２．２  シーケンサのリセット動作について  
次に、リセットコマンドＣＭＤ−ＲＳＴが成立した後の動作につき、図１３を用いて説明する。図１３は、半導体装置１の動作を示すフローチャートである。
【００９８】
図示するように、まず図１２のフローチャートに従って、リセットコマンドＣＭＤ−ＲＳＴが成立する（ステップＳ４０）。ＮＡＮＤ型フラッシュメモリ２及びＳＲＡＭ部３の両方がレディ状態の場合（ステップＳ４１、ＮＯ）、コマンドＣＭＤ−ＲＳＴが成立すると同時に信号ＥＸＥ−ＲＳＴがアサートされ、これにより第３シーケンサ１５が起動し、信号Ｆｓｍ−ＲＳＴがアサートされる（ステップＳ４３）。そして第３シーケンサ１５はリセット動作を実行する（ステップＳ４４）。
【００９９】
ＮＡＮＤ型フラッシュメモリ２がビジー状態の場合（ステップＳ４１でＹＥＳ、ステップＳ４５でＹＥＳ）、すなわち、いずれかの第１コマンドレジスタ１４に何らかのコマンドＣＭＤ−Ｎが成立している場合にも、コマンドＣＭＤ−ＲＳＴが成立すると同時に信号ＥＸＥ−ＲＳＴがアサートされる（ステップＳ４８）。しかし、この段階では第３シーケンサ１５はまだ起動しない。すなわち、リセットコマンドＣＭＤ−ＲＳＴが成立したことを受けて、第１シーケンサ１１はそれまで行っていた処理の中断動作を実行する（ステップＳ４９）。この期間はまだＮＡＮＤ型フラッシュメモリ２はビジー状態である（Ｆｓｍ−Ｎ＝“Ｈ”）であるから、この間、第３シーケンサ１５は起動しない。
【０１００】
そして、第１シーケンサ１１の中断動作が完了し、ＮＡＮＤ型フラッシュメモリ２がレディ状態に遷移すると（ステップＳ５０、ＹＥＳ）、第３シーケンサ１５が起動され（ステップＳ４３）、第３シーケンサ１５はリセット動作を開始する（ステップＳ４４）。
【０１０１】
他方、ＳＲＡＭ部３がビジー状態の場合（ステップＳ４１でＹＥＳ、ステップＳ４５でＮＯ）、すなわち、いずれかの第２コマンドレジスタ２６に何らかのコマンドＣＭＤ−Ａが成立している場合、信号ＢＵＳＹ−Ａ＝“Ｈ”であるので、信号ＥＸＥ−ＲＳＴはネゲートされたままである。ＳＲＡＭ部３がビジー状態からレディ状態に遷移すると（ステップＳ４６、ＹＥＳ）、信号ＥＸＥ−ＲＳＴがアサートされ、第３シーケンサ１５が起動し（ステップＳ４３）、リセット動作が開始される（ステップＳ４４）。
【０１０２】
２．３  動作の具体例について  
次に、ＳＲＡＭ部３がビジー状態である期間にリセット命令が入力された場合の具体的な動作について、図１４を用いて説明する。図１４は、各種信号のタイミングチャートである。
【０１０３】
図示するように、時刻ｔ１で第２コマンドレジスタ２６にコマンドＣＭＤ−Ａが成立し、ＳＲＡＭ部３がビジー状態となる。そしてＳＲＡＭ部３では、オシレータ２３がクロックＣＬＫ−Ａを生成し（時刻ｔ２）、第２シーケンサ２２はクロックＣＬＫ−Ａに同期して処理を開始する（時刻ｔ３）。
【０１０４】
そして、ＳＲＡＭ部３が動作中である時刻ｔ４に、ホスト機器からリセット命令ＲＳＴが入力されたとする。すると時刻ｔ５において第３コマンドレジスタ１７は、リセット命令ＲＳＴに応答して、リセットコマンドＣＭＤ−ＲＳＴを成立させる（ＣＭＤ−ＲＳＴ＝“Ｈ”）。しかしこの時点では、まだＳＲＡＭ部３はビジー状態（ＢＵＳＹ−Ａ＝“Ｈ”）であるので、信号ＥＸＥ−Ｒは“Ｌ”レベルであり、第３シーケンサ１５は起動されない。
【０１０５】
時刻ｔ６でＳＲＡＭ部３の処理が終了し、ＳＲＡＭ部３がレディ状態（ＢＵＳＹ−Ａ＝“Ｌ”）になると、ＡＮＤゲート５９の演算結果が反転する。すなわち、信号ＥＸＥ−ＲＳＴが“Ｈ”レベルとなる。これにより、ＮＡＮＤ型フラッシュメモリ２がビジー状態に遷移すると共に、時刻ｔ７でオシレータ１２がクロックＣＬＫ−Ｎを生成し始める。また第３シーケンサ１５が起動され（Ｆｓｍ−ＲＳＴ＝“Ｈ”）、第３シーケンサ１５はリセット動作を開始する。
【０１０６】
３．本実施形態に係る効果  
以上のように、本実施形態に係る構成であると、簡便な構成により適切なリセット動作が可能となる。
【０１０７】
リセットコマンドは、ＮＡＮＤ型フラッシュメモリ２またはＳＲＡＭ部３がビジー状態であっても受付可能である必要がある。また、ビジー状態のシーケンサは、いつでもその動作を停止できるわけではなく、適切なタイミングでその動作を中断しなければならない。
【０１０８】
この点、本実施形態に係る構成であると、リセットコマンドＣＭＤ−ＲＳＴを、スレーブ（ＳＲＡＭ部３）側のビジー信号ＢＵＳＹ−Ａに基づいて信号ＥＸＥ−ＲＳＴに変換し、この信号ＥＸＥ−ＲＳＴに基づいてリセット用第３シーケンサ１５が起動するようにしている。より具体的には、コマンドＣＭＤ−ＲＳＴと信号ＢＵＳＹ−Ａとの論理演算を行い、コマンドＣＭＤ−ＲＳＴがセットされ、且つスレーブ側がレディ状態である場合に、信号ＥＸＥ−ＲＳＴがアサートされる。
【０１０９】
マスター側（ＮＡＮＤ型フラッシュメモリ２）がビジー状態の期間にリセット命令が入力された場合には、第３シーケンサ１５は、コマンドＣＭＤ−ＲＳＴを同期化し、適切な処理により中断動作に移行して、シーケンスを終了させる。この場合、スレーブ側はレディ状態であるから、コマンドＣＭＤ−ＲＳＴが成立した時点で、信号ＥＸＥ−ＲＳＴもアサートされる。しかし第３シーケンサ１５の起動条件には、信号Ｆｓｍ−Ｎ＝“Ｌ”が含まれる。すなわち第３シーケンサ１５は、第１シーケンサ１１の動作停止を待ってから起動し、リセット動作を開始する。
【０１１０】
他方、スレーブ側がビジー状態の期間にリセット命令が入力された場合には、第３シーケンサ１５が、異なるクロックドメインにある第２シーケンサにおける適切な時期を判断することは困難である。しかし本実施形態では、スレーブ側がレディ状態に遷移したタイミングで信号ＥＸＥ−ＲＳＴがアサートされる。つまり、信号ＥＸＥ−ＲＳＴは、クロックＣＬＫ−Ｎとは非同期的にアサートされる。言い換えれば、あたかもスレーブ側がビジー状態である期間にはコマンドＣＭＤ−ＲＳＴはセットされておらず、レディ状態に遷移した直後にリセット命令が入力された場合と同じ状況を作り出すことができる。これにより第３シーケンサ１５は、第２シーケンサ２２の処理状況を把握する必要なく、適切にリセット動作を開始することが出来る。
【０１１１】
その後の動作は、ＮＡＮＤ型フラッシュメモリ２及びＳＲＡＭ部３が共にレディ状態である期間にリセット命令を受信したケースと同じである。すなわち、リセット動作はＮＡＮＤ型フラッシュメモリ２のみで完結する処理内容となる。そのため、ＮＡＮＤ型フラッシュメモリ２を簡便な回路構成とすることができる。
【０１１２】
またこの場合、リセット動作のために第２、第３シーケンサ２２、１５間で信号の授受は不要であり、ビジー信号ＢＵＳＹ−Ａを第３コマンドレジスタ１７に転送しさえすれば十分である。従って、ＣＤＣ対策は不要となり、この点によっても簡便な構成とすることができ、また回路素子数を削減出来る。
【０１１３】
［第３実施形態］  
次に、第３実施形態に係る半導体装置について説明する。本実施形態は、上記第２実施形態において説明した第１シーケンサ１１の中断状態の詳細に関するものである。以下では、第１、第２実施形態と同様の部分についての説明は省略する。
【０１１４】
図１５は、データの書き込みを実行する際における第１シーケンサ１１のステートマシンの状態遷移図である。図１５において、丸印で囲った数字は、遷移の優先順位を示す。
【０１１５】
図示するようにステートマシンは、状態ＳＴ１〜ＳＴ５の例えば５つの状態を有する。
【０１１６】
状態ＳＴ１は、書き込みコマンドが与えられない状態であり、例えばアイドル状態がこれに相当する。状態ＳＴ１において書き込みコマンドが与えられて、第１シーケンサ１１が起動（Ｆｓｍ−ＷＲ＝“Ｈ”）すると、ステートマシンは状態ＳＴ２に遷移する。但し、この状態では中断命令ＩＮＴＲＰＴが発行された場合には、最優先で状態ＳＴ５に遷移する。状態ＳＴ５は、第１シーケンサ１１が動作停止するための処理を行う状態である。そして動作が停止すれば、ステートマシンは再び状態ＳＴ１に戻る。
【０１１７】
状態ＳＴ２でも、命令ＩＮＴＲＰＴが発行されれば、ステートマシンは状態ＳＴ５に直接に遷移出来る。命令ＩＮＴＲＰＴが無ければ、ステートマシンは状態ＳＴ３に遷移する。状態ＳＴ３は、メモリセルへデータをプログラムしている状態である。状態ＳＴ３においても、命令ＩＮＴＲＰＴによって状態ＳＴ５に直接遷移出来る。しかし状態ＳＴ３では、状態ＳＴ２と異なり、状態ＳＴ５への優先順位は２番目であり、最も優先順位が高いのは、この状態でのある一連の処理（例えばＮＡＮＤコア１０の動作等）を終了させることである。従って、状態ＳＴ３における処理中に命令ＩＮＴＲＰＴが発行された場合、状態ＳＴ５への遷移は、当該一連の処理の完了を待ってから行われる。つまり、即座に状態ＳＴ５に遷移するのではなく、ステートマシンにおけるある適切なタイミングで処理を中断して、ステップＳＴ５に遷移する。
【０１１８】
状態ＳＴ３での処理が完了し、命令ＩＮＴＲＰＴも無い場合には、ステートマシンは状態ＳＴ４に遷移する。状態ＳＴ４は、例えば次のプログラム動作のために必要な電圧（例えばワード線に印可するプログラム電圧）の設定処理を行う状態である。状態ＳＴ４から状態ＳＴ５へは、中断命令ＩＮＴＲＰＴによって遷移することはない。すなわち状態ＳＴ４で命令ＩＮＴＲＰＴが発行された場合には、ステートマシンは状態ＳＴ４から状態ＳＴ３に遷移して、状態ＳＴ３での処理が終了した時点で状態ＳＴ５に遷移する。また、一連の書き込み処理が全て終了した場合には、状態ＳＴ４から状態ＳＴ５へ遷移する。
【０１１９】
次に、データの書き込み時においてリセット命令を受けた場合の具体的な例について、図１６を用いて説明する。図１６は各種信号のタイミングチャートである。
【０１２０】
図示するように、時刻ｔ０で書き込みコマンドＣＭＤ−Ｎが成立すると、時刻ｔ１で第１シーケンサ１１が起動する（Ｆｓｍ＝“Ｈ”）。そして第１シーケンサ１１のステートマシンは、時刻ｔ２において状態ＳＴ１から状態ＳＴ２に遷移する。更にその１クロック後の時刻ｔ３で、ステートマシンは状態ＳＴ２から状態ＳＴ３に遷移し、プログラム動作を開始する。
【０１２１】
このプログラム動作の期間中の時刻ｔ４でリセット命令が入力され、コマンドＣＭＤ−ＲＳＴが成立したとする。ＳＲＡＭ部３はレディ状態であるので、コマンドＣＭＤ−ＲＳＴの成立と同時に、信号ＥＸＥ−ＲＳＴがアサートされる。また、コマンド成立を受けて第１シーケンサ１１内部では、時刻ｔ５で中断命令ＩＮＴＲＰＴが発行される。これによりステートマシンは、例えばＮＡＮＤコア部１０での処理が完了した時刻ｔ６においてプログラムを中断し、状態ＳＴ５に遷移する。状態ＳＴ５に遷移することで、時刻ｔ７でコマンドＣＭＤ−Ｎはリセットされ、信号Ｆｓｍ−Ｎは“Ｌ”レベルとなる。
【０１２２】
このようにして第１シーケンサ１１がビジー状態からレディ状態になることで、信号Ｆｓｍ−ＲＳＴが時刻ｔ８でアサートされる。その結果、リセット用の第３シーケンサ１５がアイドル状態（状態ＳＴ１）からアクティブ状態に遷移して、リセット動作を開始する。
【０１２３】
上記第２実施形態において、ＮＡＮＤ型フラッシュメモリ２がビジー状態である期間にリセット命令を受信した場合には、例えばこのようにして実施出来る。すなわち、第１シーケンサ１１と第３シーケンサ１５は、同じクロックＣＬＫ−Ｎで制御されているため、ＣＤＣ対策は不要となる。
【０１２４】
これに対してＳＲＡＭ部３がビジー状態である期間にリセット命令を受信した場合には、第２実施形態で説明したように動作する。この場合、信号ＥＸＥ−ＲＳＴのアサートされるタイミングが、信号ＢＵＳＹ−Ａによって遅延される。これにより、ＣＤＣ対策を必要とすることなく、適切なタイミングでリセット動作を開始することが出来る。
【０１２５】
［変形例等］  
以上のように、本実施形態に係る半導体装置１は、第１動作モード（第１コマンドレジスタ１４にコマンドが成立する場合）と第２動作モード（第２コマンドレジスタ２６にコマンドが成立する場合）とを有する半導体装置１である。そして半導体装置１は、第１周波数で動作する第１シーケンサ１１と、第１周波数より高周波数の第２周波数で動作する第２シーケンサ２２とを具備する。第１動作モードでは、第２シーケンサ２２は外部から命令を受け付けることなく、第１シーケンサ１１の制御の下で動作する。第２動作モードでは、第２シーケンサ２２は外部から直接命令を受け付けて動作し、第１シーケンサ１１の動作は停止される。
【０１２６】
本例によれば、第２シーケンサ２２によって高速の処理が必要な際には、第２動作モードにおいて第２シーケンサ２２に対して直接命令を与えることが出来る。これにより、高速動作可能な半導体装置１を提供出来る。
【０１２７】
なお、上記実施形態では、ＮＡＮＤ型フラッシュメモリ２とＳＲＡＭ２０とが混載された半導体メモリシステムを例に説明した。しかし、半導体メモリを備えたシステムには限定されず、複数のクロックドメインを有する構成であれば限定されない。
【０１２８】
図１７は、上記実施形態の変形例に係る半導体装置のブロック図である。図示するように、半導体装置１００は、第１クロックドメイン１１０と第２クロックドメイン１２０とを備えている。
【０１２９】
第１クロックドメイン１１０は、第１オシレータ１１１によって発生される第１周波数の第１クロックＣＬＫ−Ｎで動作し、第１シーケンサ１１２によって制御される。第２クロックドメイン１２０は、第１オシレータ１２１によって発生される、第１周波数よりも高周波数の第２クロックＣＬＫ−Ａで動作し、第２シーケンサ１２２によって制御される。第１、第２シーケンサ１１２、１２２によって制御される制御対象回路１１３、１２３は、半導体メモリに限らず、コマンド判定回路や無線通信装置など種々の回路ブロックであってよい。
【０１３０】
このような構成において、半導体装置１００は第１動作モードと第２動作モードとを有する。そして第１動作モードでは、第２シーケンサ１２２は外部から命令を受け付けることなく第１シーケンサ１１２の制御の下で動作する。他方、第２動作モードでは、第２シーケンサ１２２は外部から直接命令を受け付けて動作し、第１シーケンサ１１２の動作は停止される。
【０１３１】
半導体装置１００は更に、第１シーケンサ１１２へ命令を転送する第１経路１４０と、第２シーケンサ１２２へ命令を転送し、第１経路１４０とは別個に設けられた第２経路１４１とを更に備える。そして半導体装置１００は、コマンドに応じて第１、第２経路１４０、１４１を使い分ける。すなわち、第１クロックドメイン１１０における動作が必要なコマンドは、第１経路１４０によって第１シーケンサ１１２へ与えられる。他方、第２クロックドメイン１２０における動作のみが必要で第１クロックドメイン１１０における動作が不要なコマンドは、第２経路１４１によって第２シーケンサ１２２に与えられる。
【０１３２】
また半導体装置１００は更に、第１経路１４０に設けられ、第１シーケンサ１１２への命令を受信する第１レジスタ１１４と、第２経路１４１に設けられ、第２シーケンサ１２２への命令を受信する第２レジスタ１２４と、第１、第２レジスタ１１４、１２４へ与えるクロックを選択する選択部１３０とを更に備えていてもよい。選択部１３０はセレクタ１３１を備え、第１シーケンサ１１２の動作中には、第２レジスタ１２４にクロックを与えることなく、第１周波数のクロックＣＬＫ−Ｎを第１レジスタ１１４に与える。更に選択部１３０はセレクタ１３２を備え、第２シーケンサ１２２の動作中には、第１レジスタ１１４にクロックを与えることなく、第２周波数のクロックＣＬＫ−Ａを第２レジスタ１２４に与える。
【０１３３】
このように上記実施形態は、半導体メモリシステムのみならず、半導体装置全般に広く適用することができる。
【０１３４】
上記第１、第２実施形態では、ＮＡＮＤ型フラッシュメモリ２とＳＲＡＭ部３とがワンチップに集積されたメモリシステムを例に挙げたが、このようなメモリシステムの具体例としては、「ＯｎｅＮＡＮＤ（登録商標）」型のフラッシュメモリが挙げられる。しかし、必ずしもワンチップ化されている場合に限らず、ＮＡＮＤ型フラッシュメモリ２とＳＲＡＭ部３とが別々の半導体チップで実現されている場合であっても良い。またＳＲＡＭ部３内においても、例えば第２シーケンサ２２、ＥＣＣ部２１、及びＳＲＡＭ２０が異なる半導体チップで実現されていてもよい。
【０１３５】
また上記実施形態では主記憶としてＮＡＮＤ型フラッシュメモリが用いられる場合を例に説明したが、ＮＡＮＤ型フラッシュメモリに限らず、その他のフラッシュメモリであっても良く、更には強誘電体メモリ、磁気抵抗素子をメモリセルに用いた磁気ランダムアクセスメモリ（Magnetic Random Access Memory）、または可変抵抗素子を用いたＲｅＲＡＭ（Resistance Random Access Memory）等のその他の半導体メモリであっても良い。
【０１３６】
更には、半導体装置１は、ＮＡＮＤ型フラッシュメモリ２とＥＣＣ部２１とを有し、ＳＲＡＭ２０を有しない場合であってもよい。この場合において、ＮＡＮＤ型フラッシュメモリ２が第１クロックドメインを構成し、ＥＣＣ部２１が第２クロックドメインを構成してもよい。
【０１３７】
また、上記実施形態及び図１２の変形例では、２つのクロックドメインを有する場合を例に挙げて説明した。しかし、３つ以上のクロックドメインを有する場合であってもよい。この場合、各クロックドメインにレジスタを設けて、全てのクロックドメインに対して直接命令を入力出来るようにしてもよいし、マスターとなるクロックドメイン、及びスレーブとなる２つ以上のクロックドメインのうちのいずれかのみに命令を直接入力出来るようにしてもよい。
【０１３８】
また、上記実施形態で説明した図２、図４、及び図１０等の回路構成は一例に過ぎず、例えば図３や図５〜図７、図１２〜１４、図１５〜１６等の動作を実現出来る構成であれば限定されない。更に、フローチャートにおいて説明した処理は、可能な限り順序を入れ替えてもよい。
【０１３９】
更に、上記実施形態では、第１シーケンサ１１の処理するコマンドとして、読み出しコマンドＣＭＤ−ＲＤ、書き込みコマンドＣＭＤ−ＷＲ、及び消去コマンドＣＭＤ−ＥＲを例に挙げた。また第２シーケンサ２２の処理するコマンドとして、ロックコマンドＣＭＤ−ＬＣＫ及びアンロックコマンドＣＭＤ−ＵＬＣＫを例に挙げた。しかし、当然ながら使用可能なコマンドはこれらのコマンドに限定されるものではない。
【０１４０】
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれると同様に、特許請求の範囲に記載された発明とその均等の範囲に含まれるものである。
【符号の説明】
【０１４１】
１…半導体装置、２…ＮＡＮＤ型フラッシュメモリ、３…ＳＲＡＭ部、４…スイッチ部、１０…ＮＡＮＤコア部、１１…第１シーケンサ、１２、２３…オシレータ、１３…第１レジスタ部、１４…第１コマンドレジスタ、１５…第３シーケンサ、１６…第３レジスタ部、１７…第３コマンドレジスタ、２０…ＳＲＡＭ、２１…ＥＣＣ部、２２…第２シーケンサ、２４…第２レジスタ部、２５…インターフェース、２６…第２コマンドレジスタ、３０…第１スイッチ部、３１…第２スイッチ部、３２、３７…ＯＲゲート、３３、３８、５２、５４、５５…インバータ、３４〜３６、３９〜４１…ＮＯＲゲート、５０…成立部、５１…保持部、５３…コマンド判定回路、５６、５７…ＮＡＮＤゲート、５８…Ｄ−フリップフロップ、５９、６０…ＡＮＤゲート
【図１】
2012168724.tif 000003
【図２】
2012168724.tif 000004
【図３】
2012168724.tif 000005
【図４】
2012168724.tif 000006
【図５】
2012168724.tif 000007
【図６】
2012168724.tif 000008
【図７】
2012168724.tif 000009
【図８】
2012168724.tif 000010
【図９】
2012168724.tif 000011
【図１０】
2012168724.tif 000012
【図１１】
2012168724.tif 000013
【図１２】
2012168724.tif 000014
【図１３】
2012168724.tif 000015
【図１４】
2012168724.tif 000016
【図１５】
2012168724.tif 000017
【図１６】
2012168724.tif 000018
【図１７】
2012168724.tif 000019