(57)【特許請求の範囲】
【請求項１】
複数のメモリアレイを有するメモリと、
前記複数のメモリアレイに書込みする外部データを入力する入力部と、
前記入力部と前記複数のメモリアレイとの間に設けられ、前記外部データを一時的に格納する記憶部と、
前記複数のメモリアレイにそれぞれ対応して設けられる複数のメモリアレイ制御回路とを備え、
前記メモリの処理速度は複数あり、
前記処理速度は、前記メモリ中の前記複数のメモリアレイのそれぞれの状態が活性化状態であるか否かで定められ、
前記メモリアレイ制御回路は、第１の動作として、前記記憶部に格納されたデータであって、前記メモリの処理速度のうち第１の処理速度で処理可能なデータを前記記憶部から読出し、前記複数のメモリアレイへ書込みし、
前記メモリアレイ制御回路は、第２の動作として、残余データのうち前記メモリの処理速度のうち第２の処理速度で処理可能なデータを前記記憶部から読出し、前記複数のメモリアレイへ書込みを行ない、
前記複数のメモリアレイに前記データを書込むために入力されるコマンドのコマンド間隔に基づいて帯域を判定する帯域判定回路をさらに備え、
前記帯域判定回路は、前記第１および第２の動作と並行して、前記外部データを処理可能なように前記メモリの処理速度を高くするように前記複数のメモリアレイの状態を調整し、
前記記憶部は、前記帯域判定回路に前記記憶部に関する情報を送信し、
前記メモリの処理速度は、所定時間毎に更新され、
前記帯域判定回路は、前記情報に基づき、前記メモリの処理速度を前記所定時間経過前に、前記複数のメモリアレイのうち非活性化状態であるメモリアレイを活性化状態にするように調整する、半導体装置。
【請求項２】
前記記憶部はＦＩＦＯメモリを含む、請求項１に記載の半導体装置。
【請求項３】
前記複数のメモリアレイ制御回路の各々は、
対応するメモリアレイへの読み書き動作を制御する読み書き制御回路を含み、
前記読み書き制御回路は、
書込コマンドが入力されるとカウント数が加算され、読出コマンドが入力されると前記カウント数が減算されるカウンタと、
前記カウンタの前記カウント数に基づき、前記対応するメモリアレイに有効データが存在するかどうかを判定する判定回路とを含む、請求項１に記載の半導体装置。
【請求項４】
前記半導体装置は、
メモリ制御部をさらに備え、
前記メモリ制御部は、
読出完了した読出アドレスを管理するアドレス管理回路を含み、
前記アドレス管理回路は、
前記複数のメモリアレイにそれぞれ対応する複数のバッファメモリと、
前記読出アドレスを格納するバッファメモリを前記複数のバッファメモリから特定するバッファメモリ特定回路と、
前記バッファメモリを順次参照して書込動作のときに必要な書込アドレスを判定する書込アドレス判定回路とを有する、請求項１〜３のいずれか１項に記載の半導体装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、半導体装置に関し、特に消費電力を削減するメモリを含む半導体装置に関する。
【背景技術】
【０００２】
近年、ネットワークの高速化が進んでおり、ルータ、スイッチなどの通信端末も高速化に対応する必要がある。一般に、このルータやスイッチなどの通信端末においては、通信データレートの帯域の高低差が激しく、帯域が低いときでもパケットバッファのようなメモリは常にアクティブ状態（活性化）されている。
【０００３】
また、ネットワークの高速化に伴ってネットワークプロセッサおよびパケットバッファのデータ転送レートが上がり、パケットバッファとして使用されるメモリの容量もより大きなものが必要となる。このようにネットワークの高速化に対応するためには高速で大容量のメモリが必要になる。
【０００４】
このような問題を解決するために、下記のような技術が知られている。
特開平１１−２５０６５８号公報（特許文献１）は、内部タイミングクロック信号の活性／非活性化制御により半導体装置の低消費電力を実現することを目的としている。チップ選択されて供給されたコマンドを解読するクロック同期型半導体装置は、コマンド解読回路を動作させる第１のタイミングクロック信号の発生手段と、コマンド解読結果に従って内部回路を動作させる第２のタイミングクロック信号の発生手段とを含む。チップ非選択状態ではコマンド解読系の回路動作は不要だから、前記発生手段はチップ選択状態でクロック信号発生動作を行い、チップ非選択状態ではクロック信号発生動作を停止し、低消費電力に寄与する。半導体装置はチップ非選択状態であってもコマンドに従った内部動作を行うから、前記発生手段はチップ非選択状態でもクロック信号発生動作を継続し、半導体装置の正常動作を保証する。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開平１１−２５０６５８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、特開平１１−２５０６５８号公報（特許文献１）に開示される発明では、変化する負荷とデータの容量値によってクロック信号あるいは電源を供給することを制御することについては、詳しく言及されていない。
【０００７】
本発明の一実施例の目的は、メモリに入力される外部データの帯域が、内部のメモリの帯域実力（処理速度ともいう。）に対して高い場合でも、データの書込みミスなく処理でき、消費電力を抑える半導体装置を提供することにある。
【課題を解決するための手段】
【０００８】
本発明の一実施例によれば、複数のメモリアレイを有するメモリと、複数のメモリアレイに書込みする外部データを入力する入力部と、入力部と複数のメモリアレイとの間に設けられ、外部データを一時的に格納する記憶部と、複数のメモリアレイにそれぞれ対応して設けられる複数のメモリアレイ制御回路とを備え、メモリの処理速度は複数あり、処理速度は、メモリ中の複数のメモリアレイのそれぞれの状態が活性化状態であるか否かで定められ、メモリアレイ制御回路は、第１の動作として、記憶部に格納されたデータであって、メモリの処理速度のうち第１の処理速度で処理可能なデータを読出し、複数のメモリアレイへ書込みし、メモリアレイ制御回路は、第２の動作として、残余データのうちメモリの処理速度のうち第２の処理速度で処理可能なデータを読出し、複数のメモリアレイへ書込みを行い、複数のメモリアレイにデータを書込むために入力されるコマンドのコマンド間隔に基づいて帯域を判定する帯域判定回路をさらに備え、帯域判定回路は、第１および第２の動作と並行して、外部データを処理可能なようにメモリの処理速度を高くするように複数のメモリアレイの状態を調整する。
【発明の効果】
【０００９】
本発明の一実施例によれば、内部のメモリの処理速度を超えた外部からのデータが入力された場合でも、書込みミスのなく処理でき、消費電力を抑えることができる。
【図面の簡単な説明】
【００１０】
【図１】半導体装置１の構成を示すブロック図である。
【図２】半導体装置１に含まれるメモリ１００の構成を概略的に示すブロック図である。
【図３】読み書き制御回路１１２Ａの構成の一例を示したブロック図である。
【図４】カウンタ１１４Ａの動作を説明するためのフローチャートである。
【図５】図１のメモリ制御部２００に含まれるアドレス管理回路２０１の構成の一例を示す概略図である。
【図６】アドレス情報の管理制御を説明するためのフローチャートである。
【図７】メモリ１００の書込み動作を説明するためのブロック図である。
【図８】実施の形態の外部データの帯域が高い場合の動作を説明するためのタイミングチャートである。
【図９】実施の形態の外部データの帯域が低い場合の動作を説明するためのタイミングチャートである。
【図１０】実施の形態のＦＩＦＯメモリ３２の動作を説明するための図である。
【図１１】実施の形態の動作を説明するための帯域予測動作の一例を示す図である。
【図１２】半導体装置１に含まれるメモリ１００の変形例であるメモリ１００Ａの構成を概略的に示すブロック図である。
【図１３】メモリ１００Ａの書込み動作を説明するためのブロック図である。
【図１４】実施の形態の変形例のＦＩＦＯメモリ３２の動作を説明するための図である。
【図１５】実施の形態の変形例の動作を説明するための帯域予測動作の一例を示す図である。
【図１６】検討例のメモリアレイと読み書き制御回路との動作を説明するためのメモリ１００Ｘの一部を示すブロック図である。
【発明を実施するための形態】
【００１１】
以下、本発明について図面を参照して詳しく説明する。なお、図中同一又は相当部分には同一の符号を付してその説明は繰返さない。
【００１２】
［実施の形態］
図１は、半導体装置１の構成を示すブロック図である。図１を参照して、半導体装置１は、メモリ１００と、メモリ制御部２００とを含む。メモリ制御部２００は、メモリ１００を制御するためにコマンド信号ＣＯＭ、アドレス信号ＡＤＤ、クロック信号ＣＬＫ等の制御信号をメモリ１００に与える。この制御信号に基づいてメモリ１００は制御される。
【００１３】
メモリ１００のメモリセルへの書込み動作が行われる場合には、コマンド信号ＣＯＭとともにデータ入力信号Ｄが与えられる。一方、メモリ１００のメモリセルからデータを読出動作が行われる場合には、メモリセルから読出されたデータがデータ出力信号Ｑとして出力される。
【００１４】
図２は、半導体装置１に含まれるメモリ１００の構成を概略的に示すブロック図である。図２を参照して、メモリ１００は、クロック端子４と、制御信号端子２と、アドレス端子３と、データ入力端子６と、データ出力端子５とを含む。
【００１５】
また、メモリ１００は、クロックバッファ２２と、制御信号バッファ２４と、アドレスバッファ２６と、データ入力信号Ｄに関する入力バッファ２８と、データ出力信号Ｑに関する出力バッファ２９とを含む。
【００１６】
また、メモリ１００は、制御回路４２と、メモリアレイ１０Ａ，１０Ｂ，…，１０Ｎ（以下、総称してメモリアレイ１０ともいう。）と、メモリアレイ制御回路１２Ａ，１２Ｂ，…，１２Ｎ（以下、総称してメモリアレイ制御回路１２ともいう。）とを含む。
【００１７】
また、メモリアレイ制御回路１２は、メモリアレイ制御回路１２の各々にそれぞれ対応する読み書き制御回路１１２Ａ，１１２Ｂ，…，１１２Ｎ（以下、総称して読み書き制御回路１１２ともいう。）を含む。後に図３を用いて説明するが、読み書き制御回路１１２は、それぞれ対応するメモリアレイ１０にデータが存在し、かつデータが読出されるまたは読出すおそれがあるかどうかを判定する。さらに、なお、上記の条件を満たすデータのことを有効データという。
【００１８】
さらに、メモリアレイ制御回路１２は、図示はしていないがメモリアレイ制御回路１２の各々にそれぞれ対応する選択回路１４Ａ，１４Ｂ，…，１４Ｎ（以下、総称して選択回路１４ともいう。）を含む。選択回路１４については図７、図１３を用いてさらに説明する。
【００１９】
また、メモリ１００は、リードアンプ＆ライトドライバ２０Ａ，２０Ｂ，…，２０Ｎ（以下、総称してリードアンプ＆ライトドライバ２０ともいう。）と、レギュレータ３０Ａ，３０Ｂ，…、３０Ｎ（以下、総称してレギュレータ３０ともいう。）と、ＰＬＬ回路４０と、パラレル−シリアル変換回路４４とを含む。リードアンプ＆ライトドライバ２０は、メモリアレイ１０の各々にそれぞれ対応して設けられる。
【００２０】
また、メモリ１００は、帯域判定回路４６と、入力バッファ２８とパラレル−シリアル変換回路との間に接続されるＦＩＦＯメモリ３２とをさらに含む。
【００２１】
帯域判定回路４６は、読出しコマンドや書込みコマンドの信号を制御信号端子２に受け、制御信号バッファ２４からの出力信号と、クロック信号ＣＬＫ２を受ける。外部から入力されるコマンド間隔に基づきコマンド信号の帯域が判定できる。具体的には、短時間に書込みコマンドが発生した場合などは、帯域が高いと判定される。逆に、コマンド間隔が長い場合などは、帯域は低いと判定される。
【００２２】
この帯域判定に従い、帯域判定回路４６からの出力信号が制御回路４２と、パラレル−シリアル変換回路４４とに与えられ、入力されたデータを格納するメモリアレイが選択される。
【００２３】
ＦＩＦＯメモリ３２は、たとえば、複数のメモリセルを有し、外部データは書込みポインタに従って順番にこのメモリセルに書込まれる。この書込みポインタが最後まで行けば最初に戻る。また、読出しは、読出しポインタに従って、読出命令があれば読出しを行う。
【００２４】
制御回路４２は、書込みポインタあるいは読出しポインタの位置を確認することにより、ＦＩＦＯメモリ３２の内部にデータが格納されているか否かを判定する。ここで、ＦＩＦＯ３０メモリ内部にデータが格納されていなければ、読出命令は停止される。
【００２５】
レギュレータ３０は、読み書き時において、電源電圧を安定化させるために設けられる。クロック端子４は、クロック信号ＣＬＫを受け、クロックバッファ２２にクロック信号ＣＬＫが与えられる。
【００２６】
制御信号端子２は、メモリ制御に必要な信号であるコマンド信号ＣＯＭを受ける。たとえば、チップセレクト信号／ＣＳ、ロウアドレスストローブ信号／ＲＡＳ、コラムアドレスストローブ信号／ＣＡＳ、ライトイネーブル信号／ＷＥおよびライトマスク信号ＤＭのコマンド制御信号を受けることもできる。
【００２７】
アドレス端子３は、アドレス信号ＡＤＤを受ける。たとえば、アドレス信号ＡＤＤのほかにバンクアドレス信号ＢＡ０，ＢＡ１を受けることもできる。
【００２８】
クロックバッファ２２は、クロック信号ＣＬＫを受けてクロック信号ＣＬＫ１を発生し、その発生したクロック信号ＣＬＫ１はＰＬＬ回路４０へ与えられる。ＰＬＬ回路４０は、入力信号としてクロック信号ＣＬＫ１を受け、この入力信号と同期する高周波数のクロック信号ＣＬＫ２を生成する。クロック信号ＣＬＫ２は、制御信号バッファ２４、アドレスバッファ２６、入力バッファ２８、出力バッファ２９、帯域判定回路４６、制御回路４２へ与えられる。
【００２９】
制御信号バッファ２４は、ＰＬＬ回路４０から受けるクロック信号ＣＬＫ２に同期して、チップセレクト信号／ＣＳ、ロウアドレスストローブ信号／ＲＡＳ、コラムアドレスストローブ信号／ＣＡＳおよびライトイネーブル信号／ＷＥを取込んでラッチし、それぞれに対応する各内部制御信号を制御回路４２へ出力する。
【００３０】
アドレスバッファ２６は、クロックバッファ２２から受けるクロック信号ＣＬＫ２に同期して、アドレス信号ＡＤＤを取込んでラッチし、内部アドレス信号を発生して制御回路４２へ出力する。
【００３１】
データ入力端子６、データ出力端子５は、メモリ１００において読み書きされるデータを外部とやり取りを行う。データ入力端子６は、データ書込時は外部からデータＤｊ（たとえばｊは０〜７の自然数）を受け、データ出力端子５は、データ読出時はデータＱｊ（たとえばｊは０〜７の自然数）を外部へ出力する。入力バッファ２８および出力バッファ２９は、ＰＬＬ回路４０によって生成されるクロック信号ＣＬＫ２に同期して動作する。
【００３２】
制御回路４２は、制御信号バッファ２４から受ける内部制御信号に基づいて内部制御コマンドを発生する。そして、制御回路４２から出力された内部制御コマンド信号を、メモリアレイ制御回路１２と、レギュレータ３０とに与えられる。これによって、メモリアレイ１０に対するデータＤｊの読み書きが行われる。データを記憶するメモリアレイ１０は、センスアンプ（図示せず）を介してデータの読み書きが行われる。
【００３３】
図３は、読み書き制御回路１１２Ａの構成の一例を示したブロック図である。図３を参照して、読み書き制御回路１１２Ａは、カウンタ１１４Ａと、判定回路１１６Ａとを含む。
【００３４】
カウンタ１１４Ａは、書込みコマンド信号あるいは読出しコマンド信号を入力信号として受ける。カウンタ１１４Ａは、書込みコマンド信号が与えられるとカウント数を１つ加算させる。一方、読出しコマンド信号が与えられるとカウント数を１つ減算させる。カウンタ１１４Ａは、上記カウンタ数を加減算して、判定回路１１６Ａへ出力する。
【００３５】
判定回路１１６Ａは、出力されたカウント信号に基づいて、メモリアレイ１０Ａに有効データが存在する場合には信号レベルがＨレベルの信号が出力される。
【００３６】
たとえば有効データが存在する場合とは、上記カウンタ数が０よりも大きい場合のことを示す。すなわち、書込まれているデータのほうが読出されているデータよりも多いため、対応するメモリアレイにまだ有効データが格納されており、読出される可能性があると判定される。この場合には、判定回路１１６ＡはＨレベルの出力信号を出力する。
【００３７】
なお、上記カウンタ数が０より小さい場合には、判定回路１１６Ａによって有効データではないと判定され、判定回路１１６ＡはＬレベルの出力信号を出力する。
【００３８】
読み書き制御回路１１２Ｂ，…，１１２Ｎについても同様の構成のため、説明は繰返さない。また、以下、カウンタ１１４Ａ，…，１１４Ｎをカウンタ１１４と総称し、判定回路１１６Ａ，…，１１６Ｎを判定回路１１６と総称する。
【００３９】
図４は、カウンタ１１４Ａの動作を説明するためのフローチャートである。図４を参照して、ユーザによりメモリセルへの読出し動作あるいは書込み動作をするなどされると、ステップＳ１において、入力されたコマンドが、メモリセルから読出し動作を示す読出しコマンドか、メモリセルへデータを書込む動作を示す書込みコマンドか、上記２つの以外のコマンドかが判断される。
【００４０】
入力されたコマンドが読出しコマンドであると判断されれば、ステップＳ３に処理が進む。ステップＳ３において、カウンタ１１４Ａのカウントが１つ減算（Ｄｅｃｒｅｍｅｎｔ）され、処理がステップＳ１に戻る。
【００４１】
また、入力されたコマンドが書込みコマンドであると判断されれば、ステップＳ２に処理が進む。ステップＳ２において、カウンタ１１４Ａのカウントが１つ加算（Ｉｎｃｒｅｍｅｎｔ）され、処理がステップＳ１に戻る。
【００４２】
また、それ以外のコマンドが入力されたと判断されれば、カウンタ１１４Ａのカウントは変更されず、ステップＳ１に処理が戻る。
【００４３】
図３、図４を用いて説明したが、上述した読み書き制御回路１１２を用いることにより、メモリアレイを効率的に活性化状態にするか否かを判断することができる。なお、これらの動作について、読み書き制御回路１１２Ａに含まれるカウンタ１１４Ａについて説明したが、これに限らず、読み書き制御回路１１２に含まれるカウンタ１１４についても同様な動作が行われる。
【００４４】
以下、実施の形態の理解が容易になるように、メモリアレイ１０Ａ〜１０Ｄの場合について説明する。
【００４５】
図５は、図１のメモリ制御部２００に含まれるアドレス管理回路２０１の構成の一例を示す概略図である。図５を参照して、アドレス管理回路２０１は、バッファメモリ特定回路２０２と、ＦＩＦＯ（Ｆｉｒｓｔ−Ｉｎ／Ｆｉｒｓｔ−Ｏｕｔ）メモリ２０４Ａ〜２０４Ｄと、書込アドレス判定回路２０６とを含む。ここで、ＦＩＦＯメモリ２０４Ａ〜２０４Ｄは、メモリ１００のメモリアレイ１０Ａ〜１０Ｄにそれぞれ対応して設けられる。また、ＦＩＦＯメモリ２０４Ａ〜２０４Ｄの入出力は独立して行われる。
【００４６】
一般に、メモリセルにデータを書込まれるときには、メモリセルの物理アドレスと論理アドレスの変換が行われ、アドレス管理についても同時に行われる。このとき、書込まれるデータは実際にメモリに書かれていないメモリセルに書込まれることになる。
【００４７】
実施の形態において、このアドレス管理はアドレス管理回路２０１に含まれるＦＩＦＯメモリ２０４Ａ〜２０４Ｄを用いて行われる。たとえば、メモリセルに書込まれたデータを読出し後、このメモリセルに書込まれているデータは、有効データとして利用されない場合に、このメモリセルに対応するアドレスＡ０は、アドレス管理回路２０１のバッファメモリ特定回路２０２によって、アドレスＡ０は対応するＦＩＦＯメモリ２０４Ａ〜２０４Ｄのいずれかに格納される。このときバッファメモリ特定回路２０２は、アドレスＡ０の下位アドレスに基づいて判断する。
【００４８】
たとえば、このアドレスＡ０がメモリアレイＢのメモリセルを特定するアドレスである場合には、アドレスＡ０は、メモリアレイＢに対応するＦＩＦＯメモリ２０４Ｂに格納される。
【００４９】
次に、メモリセルに書込み動作を行いたいときには、書込アドレス判定回路２０６によってＦＩＦＯ２０４Ａ〜２０４Ｄに格納されているアドレスＡ１を特定し出力される。たとえば、書込アドレス判定回路２０６は、ＦＩＦＯ２０４Ｃに格納されているアドレスＡ１を出力し、アドレスＡ１によって特定されるメモリアレイＣのメモリセルにデータが書込まれる。
【００５０】
読出し動作によって有効データに該当しなくなったメモリセルのアドレス情報は、そのメモリセルの属しているメモリアレイに対応するＦＩＦＯメモリ２０４Ａ〜２０４Ｄに空きアドレスとして格納される。
【００５１】
書込み動作によって、ＦＩＦＯメモリ２０４Ａ〜２０４Ｄに格納されているアドレス情報は、書込アドレス判定回路２０６によってＦＩＦＯメモリ２０４Ａ〜２０４Ｄから読出されて使用される。
【００５２】
従って、メモリアレイ１０Ａに対応したアドレスがＦＩＦＯ２０４Ａに存在する場合には、最優先でこのアドレスを使用し、もしアドレスがＦＩＦＯ２０４Ａに存在しなくなったら、第２の優先順位としてメモリアレイ１０Ｂに対応したアドレスを、このアドレスが無くなれば、さらに第３の優先順位のメモリアレイ１０Ｃに対応したアドレスを使うようにする。こうすることでメモリアレイ１０Ａには有効データが入っている可能性が高くなり、メモリアレイ１０Ｂ、１０Ｃ、１０Ｄの順に従い有効データが存在している可能性が下がる。すなわちこれらのメモリアレイ１０Ｂ〜１０Ｄを停止できる時間が増加し、全体的な消費電力を削減することができる。
【００５３】
図６は、アドレス情報の管理制御を説明するためのフローチャートである。図６を参照して、たとえばユーザによってコマンド入力されるなどされると、ステップＳ１１において、書込アドレス判定回路２０６にアドレスの要求がなされているか否かを判断する。たとえば、コマンド入力が書込みコマンドである場合には、データを書込むためのメモリセルのアドレスが必要となる。書込アドレス判定回路２０６にアドレスの要求がなされていると判断されれば、ステップＳ１２に処理が進む。一方、書込アドレス判定回路２０６にアドレスの要求がなされていないと判断されれば、ステップＳ１１の処理に戻る。
【００５４】
ステップＳ１２において、書込アドレス判定回路２０６は、ＦＩＦＯ２０４Ａに格納されているアドレスが存在するか否かを判断する。ＦＩＦＯ２０４Ａにアドレスが存在すると判断されれば、ステップＳ１１２に処理が進み、ステップＳ１１２においてＦＩＦＯ２０４Ａに格納されているアドレスがメモリ１００側へ出力される。一方、ＦＩＦＯ２０４Ａにアドレスが存在しないと判断されれば、ステップＳ１３に処理が進み、ＦＩＦＯ２０４Ｂに格納されているアドレスがあるかどうかをさらに判断する。
【００５５】
ステップＳ１３において、書込アドレス判定回路２０６は、ＦＩＦＯ２０４Ｂに格納されているアドレスが存在するか否かを判断する。ＦＩＦＯ２０４Ｂにアドレスが存在すると判断されれば、ステップＳ１１３に処理が進み、ステップＳ１１３においてＦＩＦＯ２０４Ｂに格納されているアドレスがメモリ１００側へ出力される。一方、ＦＩＦＯ２０４Ｂにアドレスが存在しないと判断されれば、ステップＳ１４に処理が進み、ＦＩＦＯ２０４Ｃに格納されているアドレスがあるかどうかをさらに判断する。
【００５６】
ステップＳ１４において、書込アドレス判定回路２０６は、ＦＩＦＯ２０４Ｃに格納されているアドレスが存在するか否かを判断する。ＦＩＦＯ２０４Ｃにアドレスが存在すると判断されれば、ステップＳ１１４に処理が進み、ステップＳ１１４においてＦＩＦＯ２０４Ｃに格納されているアドレスがメモリ１００側へ出力される。一方、ＦＩＦＯ２０４Ｃにアドレスが存在しないと判断されれば、ステップＳ１５に処理が進み、ＦＩＦＯ２０４Ｄに格納されているアドレスがあるかどうかをさらに判断する。
【００５７】
ステップＳ１５において、書込アドレス判定回路２０６は、ＦＩＦＯ２０４Ｄに格納されているアドレスが存在するか否かを判断する。ＦＩＦＯ２０４Ｄにアドレスが存在すると判断されれば、ステップＳ１１５に処理が進み、ステップＳ１１５においてＦＩＦＯ２０４Ｄに格納されているアドレスがメモリ１００側へ出力される。一方、ＦＩＦＯ２０４Ｄにアドレスが存在しないと判断されれば、再度ステップＳ１１に処理が戻り、ステップＳ１１〜ステップＳ１５が判断される。
【００５８】
図７は、メモリ１００の書込み動作を説明するためのブロック図である。説明を容易にするために、メモリアレイ１０Ａ〜１０Ｄの場合について説明する。
【００５９】
図７を参照して、メモリ１００は、メモリアレイ毎にそれぞれ対応して選択回路１４Ａ〜１４Ｄおよび読み書き制御回路１１２Ａ〜１１２Ｄを含む。メモリ１００は、コマンド信号ＣＯＭおよびクロック信号ＣＬＫ２が与えられる帯域判定回路４６と、ＦＩＦＯメモリ３２と、パラレル−シリアル変換回路４４とをさらに含む。
【００６０】
選択回路１４Ａ〜１４Ｄの入力端子には、帯域判定回路４６からの出力信号と、クロック信号ＣＬＫ２が与えられる。
【００６１】
メモリアレイ１０Ａに外部データが書込まれる場合について説明する。
たとえば、外部データが入力され、ＦＩＦＯメモリ３２に一時的に格納される。この外部データの帯域が内部のメモリの帯域実力（処理速度ともいう。）の範囲内であれば、ＦＩＦＯメモリ３２から格納されたデータがパラレル−シリアル変換回路４４に出力される。なお、内部のメモリの帯域実力は、メモリ１００中の複数のメモリアレイ１０のそれぞれの状態が活性化状態であるか否かで定められ、所定時間ごとに更新する。
【００６２】
そして、読み書き制御回路からの出力信号により、選択回路１４ＡがＯＮ状態となり、メモリアレイ１０Ａにクロック信号ＣＬＫ２が供給されアクティブ状態となる。
【００６３】
一方、外部データの帯域が内部のメモリの帯域実力の範囲外であれば、まず、ＦＩＦＯメモリ３２から格納されたデータのうちの内部のメモリの帯域実力の範囲内のデータがパラレル−シリアル変換回路４４に出力され、外部データのうちの内部のメモリの帯域実力の範囲外のデータについては、ＦＩＦＯメモリ３２に格納される。
【００６４】
そして、読み書き制御回路からの出力信号により、選択回路１４ＡがＯＮ状態となり、メモリアレイ１０Ａにクロック信号ＣＬＫ２が供給されアクティブ状態となり、メモリアレイ制御回路１２によって出力されたデータは、メモリアレイ１０Ａに書込まれる。
【００６５】
次に、まだＦＩＦＯメモリ３２に格納されている残余のデータは、次のクロック信号に応じてメモリ１００の帯域実力の範囲内でデータが読出され、メモリアレイ制御回路１２によってメモリアレイ１０Ａへ書込みが行われる。
【００６６】
また、残余のデータは、外部データの帯域が低下した場合、あるいは、内部のメモリの帯域実力に余裕が生じたときを利用して、内部のメモリの帯域実力を高めることなく、出力される。
【００６７】
なお、さらに新たなデータが外部から入力された場合には、内部のメモリの帯域実力の範囲内で、残余のデータの全部または一部と新たなデータの全部または一部とを合わせてパラレル−シリアル変換回路４４に出力する。
【００６８】
一方、帯域判定回路４６は、上記のＦＩＦＯメモリ３２の動作に並行して、内部のメモリの帯域実力を次の更新時に高めるように調整を行う。
【００６９】
なお、メモリアレイ１０Ａに書込まれた後に、そのデータが有効データか否かについては、以下のように判断される。
【００７０】
有効データが存在する場合には、Ｈレベルの信号が選択回路１４Ａの第１の入力端子に与えられ、一方、有効データが存在しない場合には、Ｌレベルの信号が選択回路１４Ａの第１の入力端子に与えられる。選択回路１４Ａの第２の入力端子には、共通のクロック信号ＣＬＫ２が与える。
【００７１】
そうすると、選択回路１４Ａの第１の入力端子にＨレベルの信号が入力される場合は対応するメモリアレイ１０Ａにクロック信号ＣＬＫ２が供給されアクティブ状態となる。一方、選択回路１４Ａの第１の入力端子にＬレベルの信号が入力される場合には、選択回路１４Ａの出力信号はＬレベルとなり、クロック信号が供給されず、メモリアレイ１０Ａは非アクティブ状態となる。
【００７２】
クロック信号を例にとって説明したが、同様に帯域判定回路４６の出力信号および読み書き制御回路からの出力信号を用いてメモリアレイ１０Ａへの電源の供給を制御してもよい。
【００７３】
すなわち、有効データがメモリアレイ１０Ａに存在する場合にのみクロック信号ＣＬＫ２が与えられ、メモリアレイ１０Ａのメモリセルはリフレッシュ動作等を行い、メモリセルに有効データが記憶されている状態を継続させる。
【００７４】
反対に、有効データがメモリアレイ１０Ａに存在しない場合には、クロック信号ＣＬＫ２あるいは電源が供給されず、有効データを有しないメモリアレイへの消費電力を削減することができる。
【００７５】
なお、帯域判定回路４６は、コマンド間隔により帯域の高低を判断する。帯域が高い場合には、たとえば、メモリアレイ１０Ａ〜１０Ｄへの同時書込みをさせるために、帯域判定回路４６からＨレベルの出力信号が選択回路１４Ａ〜１４Ｄの第１の入力端子に与えられる。
【００７６】
一方、選択回路１４Ａ〜１４Ｄの第２の入力端子にはクロック信号ＣＬＫ２が与えられる。そして、選択回路１４Ａ〜１４Ｄの各々はそれぞれ対応するメモリアレイ１０Ａ〜１０Ｄをアクティブ状態となるように選択する。また、パラレル−シリアル変換回路４４は、帯域判定回路４６からの出力信号に制御され、メモリアレイ１０Ａ〜１０Ｄにデータが入力されるようにパラレル−シリアル変換が行われる。
【００７７】
一方、帯域が低いときには、たとえば、メモリアレイ１０Ａのみで十分書込むことができる場合には、選択回路１４Ａの第１の入力端子には帯域判定回路４６のＨレベルの出力信号が与えられ、その他の選択回路１４Ｂ〜１４Ｄの第１の入力端子には帯域判定回路４６のＬレベルの出力信号が与えられる。一方、選択回路１４Ａ〜１４Ｄの第２の入力端子にはクロック信号ＣＬＫ２が与えられる。そして、メモリアレイ１０Ａのみがアクティブ状態になるように選択され、その他のメモリアレイ１０Ｂ〜１０Ｄについては非アクティブ状態になるように選択される。また、パラレル−シリアル変換回路４４は、帯域判定回路４６からの出力信号に制御され、メモリアレイ１０Ａにデータが入力されるようにパラレル−シリアル変換が行われる。
【００７８】
また、パラレル−シリアル変換回路４４は、メモリ装置内部に設ける必要はなく、外部でパラレル−シリアル変換されたデータを入力してもよい。
【００７９】
この構成により、帯域の高低に基づき、必要なメモリアレイをアクティブ状態に選択し、その他のメモリアレイにはクロック信号あるいは電源を供給しないことにより、消費電力を抑えることができる。
【００８０】
［検討例］
図１６は、検討例のメモリアレイと読み書き制御回路との動作を説明するためのメモリ１００Ｘの一部を示すブロック図である。図１６、図７を参照して、実施の形態のメモリ１００と比較しつつ、検討例のメモリ１００Ｘを説明する。
【００８１】
検討例のメモリ１００Ｘは、実施の形態のメモリ１００の構成を踏まえつつ、選択回路１４Ａ〜１４Ｄを有しない構成である。
【００８２】
従って、クロック信号ＣＬＫ２がメモリアレイ１０Ａ〜１０Ｄのそれぞれに直接与えられる。この検討例では、常にクロック信号ＣＬＫ２（図示せず）がメモリアレイ１０Ａ〜１０Ｄの全てに与えられている。
【００８３】
しかし、このような構成にした場合には、不要なデータがあるメモリアレイにもクロック信号ＣＬＫ２あるいは電源が供給されているため、消費電力の増大を招く。
【００８４】
従って、図１に示した実施の形態の半導体装置１に含まれるメモリ１００では、検討例のように、クロック信号ＣＬＫ２が全てのメモリアレイに供給されるような構成を取らず、メモリ１００が、読み書き制御回路１１２と、選択回路１４Ａ〜１４Ｄとを含むことによって、不要なメモリアレイの消費電力を削減することができる。
【００８５】
図８は、実施の形態の外部データの帯域が高い場合の動作を説明するためのタイミングチャートである。ここで、外部データの帯域は、内部のメモリの帯域実力の範囲内である場合について説明する。図８を参照して、まず、時間Ｔ１〜Ｔ３において、制御信号端子２から書込みコマンドＷが連続して入力され、各書込みコマンドＷにそれぞれ対応する書込みデータＤａ，Ｄｂ，Ｄｃがデータ入力端子６から入力される。
【００８６】
このように短時間に連続して複数の書込みコマンド信号が入力されているため、帯域判定回路４６は帯域が高いと判定し、制御回路４２およびパラレル−シリアル変換回路４４を制御する信号を出力する。
【００８７】
この出力信号を受けて、制御回路４２およびパラレル−シリアル変換回路４４制御回路４２およびパラレル−シリアル変換回路４４によって、メモリアレイ１０Ａ〜１０Ｄの各々をアクティブ状態にして、同時に書込みが行われる。
【００８８】
具体的には、時間Ｔ１において、書込みコマンドＷとそのデータＤａがそれぞれ制御信号端子２およびデータ入力端子６に与えられる。続けて、時間Ｔ２、時間Ｔ３において同様の動作が行われる。
【００８９】
このような短時間に連続して書込みコマンドＷが入力されたときには、メモリアレイ１０Ａ〜１０Ｄにクロック信号または電源が供給され、メモリアレイ１０Ａ〜１０Ｄの全てがアクティブ状態になるように選択される。これによってデータをメモリアレイ１０Ａ〜１０Ｄに均等に分散して書込むことができ、書込み時間の短縮化が図られる。
【００９０】
すなわち、時間Ｔ１において、入力されたデータＤａを所定の時間で書込ませるためには、メモリアレイ１０Ａ〜１０Ｄが必要と判定され、データＤａを均等分割したデータＤａ０〜Ｄａ３をそれぞれメモリアレイ１０Ａ〜１０Ｄに分散書込みが行われる。続けて、時間Ｔ２、時間Ｔ３において同様の動作が行われる。
【００９１】
図９は、実施の形態の外部データの帯域が低い場合の動作を説明するためのタイミングチャートである。ここで、外部データの帯域は、内部のメモリの帯域実力の範囲内である場合について説明する。図９を参照して、時間Ｔ１、Ｔ５、Ｔ９において、制御信号端子２から書込みコマンドＷが入力され、各書込みコマンドＷにそれぞれ対応する書込みデータＤａ，Ｄｂ，Ｄｃがデータ入力端子６から入力される。
【００９２】
このように連続して複数の書込みコマンド信号が入力されるが、次のコマンド入力されるまでの時間（コマンド間隔）に各データがメモリセルに書込むことができる程度の時間が与えられるため、帯域判定回路４６は帯域が低いと判定し、制御回路４２およびパラレル−シリアル変換回路４４を制御する信号を出力する。
【００９３】
この出力信号を受けて、制御回路４２およびパラレル−シリアル変換回路４４制御回路４２およびパラレル−シリアル変換回路４４によって、メモリアレイ１０Ａのみがアクティブ状態に選択され、残余のメモリアレイ１０Ｂ〜１０Ｄは非アクティブ状態に選択される。
【００９４】
具体的に、時間Ｔ１において、書込みコマンドＷとそのデータＤａがそれぞれ制御信号端子２およびデータ入力端子６に与えられる。続けて、時間Ｔ２、時間Ｔ３において同様の動作が行われる。
【００９５】
このように書込みコマンドＷとともに書込みデータが連続して入力されるが、コマンド間隔が広く、同時に書込む必要がない場合には、メモリアレイ１０Ａのみがアクティブ状態にされ、その他のメモリアレイ１０Ｂ〜１０Ｄについては、クロック信号あるいは電源を供給しないことにより非アクティブ状態にすることで消費電力を削減することができる。
【００９６】
すなわち、時間Ｔ１において、入力されたデータＤａを所定の時間で書込ませるために、メモリアレイ１０Ａで十分と判定され、他のメモリアレイ１０Ｂ〜１０Ｄには書込みを行わず、データＤａを分割したデータＤａ０〜Ｄａ３をメモリアレイ１０Ａに連続書込みを行う。続けて、時間Ｔ２、時間Ｔ３において同様の動作が行われる。
【００９７】
図８、図９を用いて説明したように、外部データの帯域が内部のメモリの帯域実力の範囲内の場合には、書込みミスも生じない。しかしながら、内部のメモリの帯域実力に対して、外部のデータの帯域が高い場合には、書込みミスを生じる可能性もあるため、本実施の形態に設けたＦＩＦＯメモリ３２によって、上記問題を解消する。具体的には以下に説明する。
【００９８】
図１０は、実施の形態のＦＩＦＯメモリ３２の動作を説明するための図である。図１０を参照して、外部からメモリアレイに書込まれるデータがデータ入力端子６に入力され、ＦＩＦＯメモリ３２に格納される。この格納されたデータは、入力順に一時的に格納され、入力順に出力される。ここで、外部データの帯域が内部のメモリの帯域実力の範囲内であるときは、外部データは、ＦＩＦＯメモリ３２を格納されるが、そのデータは即座に出力される。一方、外部データの帯域が内部のメモリの帯域実力の範囲外であるときは、外部データのうちのメモリの帯域実力の範囲内のデータは即座に出力され、外部データのうちのメモリの帯域実力の範囲外のデータがＦＩＦＯメモリ３２に格納される。この後者のデータは、次のクロック信号に応じて、内部のメモリの帯域実力ＦＩＦＯメモリ３２から出力される。
【００９９】
このように、本実施の形態にＦＩＦＯメモリ３２を設けることにより、外部データの帯域が内部のメモリの帯域実力の範囲外であっても、書込みミスがなくメモリセルに書込むことができる。
【０１００】
図１１は、実施の形態の動作を説明するための帯域予測動作の一例を示す図である。図１１を参照して、縦軸に帯域が示され、横軸に時間が示されている。波形Ｗ１は、入力される外部データの帯域を示す。また、理解を容易にするために、矩形Ｘ１は、帯域予測による内部のメモリの帯域実力を合わせて示す。内部のメモリの帯域実力は、所定の時間ごとに変化する。
【０１０１】
具体的には、時刻０から時刻ＴＡ４の時間での外部データの帯域は、緩やかな変化のため、帯域予測によるメモリの帯域実力の範囲内に収まる。しかしながら、時刻ＴＡ４から時刻ＴＡ５の間で生じる外部データの帯域が減少し、その後、一転、急激に増加したときには帯域予測が困難になる。すなわち、時刻ＴＡ８から時刻ＴＡ５まで、外部データの帯域が内部のメモリの帯域実力を超えてしまうことになる。
【０１０２】
そこで、実施の形態の半導体装置の入力部にＦＩＦＯメモリ３２を設けることにより、内部のメモリの帯域実力の範囲外の外部データを一旦ＦＩＦＯメモリ３２に格納し、この格納されたデータは、次のクロック信号に応じてメモリアレイに書込むことにより、書込みミスをなくすことができる。また、更新により、内部のメモリの帯域実力も高くなるため、ＦＩＦＯメモリ３２内に格納されているデータも徐々に減少することになる。
【０１０３】
なお、少しの予測が外れても書込みミスが発生しないように余裕をもった帯域実力に予め設定する方法もあるが、これでは常にメモリアレイを活性化状態にしておく必要がなり、消費電力の増大につながる。
【０１０４】
メモリ内の転送レートを変更するには、周波数の変更もしくは書込みデータ量の変更で行う。制御回路４２は、パラレル−シリアル変換回路４４が一度に書込む量を変更するように制御し、外部データの転送レートを制御する。
【０１０５】
［実施の形態の変形例］
図１２は、半導体装置１に含まれるメモリ１００の変形例であるメモリ１００Ａの構成を概略的に示すブロック図である。図２のメモリ１００と比較しつつ、メモリ１００Ａについて説明する。図２、図１２を参照して、メモリ１００Ａにおいて、ＦＩＦＯメモリ３２Ａは、ＦＩＦＯメモリ３２Ａ自身の状態（たとえば、外部データが格納されていることなど）に関する情報を帯域判定回路４６Ａに送信する。
【０１０６】
この情報により、帯域判定回路４６Ａは、外部データの帯域が高いときに、これに対応して、内部のメモリの帯域実力も高くできる。したがって、外部のデータのデータ転送が円滑に進む。
【０１０７】
なお、他のメモリ１００Ａの構成は、メモリ１００の構成と同様であるため、ここでは説明は繰返さない。
【０１０８】
図１３は、メモリ１００Ａの書込み動作を説明するためのブロック図である。説明を容易にするために、メモリアレイ１０Ａ〜１０Ｄの場合について説明する。
【０１０９】
図７に示したメモリ１００の構成と比較しつつ、メモリ１００Ａを説明する。図１３を参照して、メモリ１００Ａは、上述したように、ＦＩＦＯメモリ３２Ａ自身の状態（たとえば、外部データが格納されていることなど）に関する情報を帯域判定回路４６Ａに送信する。具体的には、上述した読出しポインタや書込みポインタの情報を読み出すことで、ＦＩＦＯメモリ３２Ａの状態がわかる。他の構成については、メモリ１００と同様なため、ここでは説明は繰返さない。
【０１１０】
ここで理解を容易にするため、外部データの帯域が内部のメモリの帯域実力より高いときにメモリアレイ１０Ａに外部データが書込まれる場合について説明する。
【０１１１】
メモリ１００では、内部のメモリの帯域実力は、所定時間ごとに更新される。メモリ１００Ａについても同様であるが、ただし、メモリ１００Ａは、外部データの帯域に応じた期間に応じて内部のメモリの帯域実力を調整することもできる。
【０１１２】
具体的には、ＦＩＦＯメモリ３２Ａから、ＦＩＦＯメモリ３２Ａの現状の状態を示す情報が帯域判定回路４６Ａに送信されるため、帯域判定回路４６Ａは、この情報に基づき、制御回路４２に内部のメモリの帯域実力を調整するように信号を送信する。このため、所定期間経過前に内部のメモリの帯域実力を変更できる。
【０１１３】
従って、更新前の内部のメモリの帯域実力に応じて、読み書き制御回路からの出力信号により、選択回路１４ＡがＯＮ状態となり、メモリアレイ１０Ａにクロック信号ＣＬＫ２が供給されアクティブ状態となり、出力されたデータは、メモリアレイ制御回路１２（図示せず）によってメモリアレイ１０Ａに書込まれる。
【０１１４】
次に、まだＦＩＦＯメモリ３２Ａに格納されている残余のデータは、更新後の内部のメモリの帯域実力に応じて、データが読出され、メモリアレイ制御回路１２によってメモリアレイ１０Ａへ書込みが行われる。なお、この動作前に、内部のメモリの帯域実力が更新された場合には、後述するように更新後の帯域実力の範囲内でＦＩＦＯメモリ３２Ａからデータが読込まれ、対応するメモリアレイに書込みが行われる。
【０１１５】
なお、さらに新たなデータが外部から入力された場合には、内部のメモリの帯域実力の範囲内で、残余のデータの全部または一部と新たなデータの全部または一部とが合わせてパラレル−シリアル変換回路４４に出力される。
【０１１６】
このとき、上記のＦＩＦＯメモリ３２Ａの動作に並行して、帯域判定回路４６Ａは選択回路１４Ｂ，１４Ｃ，…，１４Ｎの少なくとも１つにＨレベルの信号を与え、選択回路１４Ｂ，１４Ｃ，…，１４Ｎの少なくとも１つに対応するメモリアレイ１０が活性化状態になる。これにより、クロック信号はメモリアレイ１０に供給され、メモリアレイ１０は活性化する。内部のメモリの帯域実力は上昇するため、外部データを書込みミスなく処理することができる。
【０１１７】
なお、他の動作については、実施の形態と同様であるため、ここでは説明は繰返さない。また、外部データの帯域が内部のメモリの帯域実力の範囲内である場合は、図７を用いて説明したのと同様な動作になるため、ここでは説明は繰返さない。
【０１１８】
図１４は、実施の形態の変形例のＦＩＦＯメモリ３２Ａの動作を説明するための図である。図１４を参照して、図１０で示した実施の形態のＦＩＦＯメモリ３２と異なり、実施の形態の変形例のＦＩＦＯメモリ３２Ａは、ＦＩＦＯメモリ３２Ａ自身の状態の情報を帯域判定回路４６Ａに送信し、たとえば、ＦＩＦＯメモリ３２Ａに外部データが格納されている場合には、外部データの帯域と比較して、内部のメモリの帯域実力が劣っていることからこれを回復するように、内部のメモリの帯域実力を更新することができる。
【０１１９】
このように、本実施の形態の変形例のようにＦＩＦＯメモリ３２Ａから帯域判定回路４６ＡにＦＩＦＯメモリ３２Ａの情報を送信することにより、外部データの帯域に応じて、内部のメモリの帯域実力を更新することができ、書込みミスがなくメモリセルに書込むことができる。
【０１２０】
図１５は、実施の形態の変形例の動作を説明するための帯域予測動作の一例を示す図である。図１５を参照して、縦軸に帯域が示され、横軸に時間が示されている。波形Ｗ１は、入力される外部データの帯域を示す。また、理解を容易にするために、矩形Ｘ１は、帯域予測による内部のメモリの帯域実力を合わせて示す。内部のメモリの帯域実力は、所定の時間ごとに変化する。
【０１２１】
具体的には、時刻０から時刻ＴＡ４の時間での外部データの帯域は、緩やかな変化のため、帯域予測によるメモリの帯域実力の範囲内に収まる。しかしながら、時刻ＴＡ４から時刻ＴＡ５の間で生じる外部データの帯域が減少し、その後、一転、急激に増加したときには帯域予測が困難になる。すなわち、時刻ＴＡ８から時刻ＴＡ５まで、外部データの帯域が内部のメモリの帯域実力を超えてしまうことになる。
【０１２２】
しかしながら、時刻ＴＡ８から外部データの帯域が内部のメモリの帯域実力を超えている状態、すなわち、ＦＩＦＯメモリ３２に外部データの一部が格納されている状態の情報が帯域判定回路４６に送信されることにより、内部のメモリの帯域実力の所定期間前に帯域判定回路は、内部のメモリの帯域実力を調整することができる。
【０１２３】
このように、本実施の形態の変形例のようにＦＩＦＯメモリ３２Ａから帯域判定回路４６ＡにＦＩＦＯメモリ３２Ａの情報を送信することにより、外部データの帯域に応じて、内部のメモリの帯域実力を更新することができ、書込みミスがなくメモリセルに書込むことができる。また、更新するまでの所定時間を経過前に、内部のメモリの帯域実力を高めることができ、外部データの帯域に対応して、効率よく対応することができる。
【０１２４】
なお、他の動作については、実施の形態と同様であるため、ここでは説明は繰返さない。
【０１２５】
実施の形態およびこの変形例の構成をとることにより、メモリに入力される外部データの帯域が、内部のメモリの帯域実力に対して高い場合でも、データの書込みミスを減少でき、消費電力も抑えることができる。
【０１２６】
最後に、再び図１等を参照して本実施の形態について総括する。
実施の形態およびその変形例は、図２、図７、図１２、図１３の示すように、複数のメモリアレイ１０を有するメモリと、複数のメモリアレイ１０に書込みする外部データを入力する入力部と、入力部と複数のメモリアレイ１０との間に設けられ、外部データを一時的に格納するＦＩＦＯメモリ３２（またはＦＩＦＯメモリ３２Ａ）と、複数のメモリアレイ１０にそれぞれ対応して設けられる複数のメモリアレイ制御回路１２とを備え、メモリ１００，１００Ａの処理速度は複数あり、処理速度は、メモリ１００，１００Ａ中の複数のメモリアレイ１０のそれぞれの状態が活性化状態であるか否かで定められ、メモリアレイ制御回路１２は、第１の動作として、記憶部に格納されたデータであって、メモリ１００，１００Ａの処理速度のうち第１の処理速度で処理可能なデータを読出し、複数のメモリアレイ１０へ書込みし、メモリアレイ制御回路１２は、第２の動作として、残余データのうちメモリ１００，１００Ａの処理速度のうち第２の処理速度で処理可能なデータを読出し、複数のメモリアレイ１０へ書込みを行い、複数のメモリアレイ１０にデータを書込むために入力されるコマンドのコマンド間隔に基づいて帯域を判定する帯域判定回路４６（または帯域判定回路４６Ａ）をさらに備え、帯域判定回路４６は、第１および第２の動作と並行して、外部データを処理可能なようにメモリ１００，１００Ａの処理速度を高くするように複数のメモリアレイ１０の状態を調整する。
【０１２７】
好ましくは、図２、図７の示すように、メモリ１００の処理速度は、外部データの帯域の変化速度に応じて所定期間毎に更新される。
【０１２８】
好ましくは、図１２、図１３の示すように、メモリ１００Ａの処理速度は、外部データの帯域の変化速度に応じた期間ごとに更新される。
【０１２９】
さらに好ましくは、ＦＩＦＯメモリ３２は、帯域判定回路４６ＡにＦＩＦＯメモリ３２Ａに関する情報を送信し、メモリ１００Ａの処理速度は、所定時間毎に更新され、帯域判定回路４６Ａは情報に基づき、メモリ１００Ａの処理速度を所定時間経過前に更新するために、複数のメモリアレイ１０のうち非活性化状態であるメモリアレイを活性化状態にするように調整する。
【０１３０】
さらに好ましくは、図７、図１３の示すように、ＦＩＦＯメモリ３２（またはＦＩＦＯメモリ３２Ａ）はＦｉｒｓｔ−ｉｎ−Ｆｉｒｓｔ−ｏｕｔメモリを含む。
【０１３１】
好ましくは、図３、図４の示すように、複数のメモリアレイ制御回路１２Ａ，１２Ｂ，…，１２Ｎの各々は、対応するメモリアレイへの読み書き動作を制御する読み書き制御回路１１２Ａ，１１２Ｂ，…，１１２Ｎを含み、読み書き制御回路１１２Ａ，１１２Ｂ，…，１１２Ｎは、書込コマンドが入力されるとカウント数が加算され、読出コマンドが入力されるとカウント数が減算されるカウンタ１１４Ａ，１１４Ｂ，…，１１４Ｎと、カウンタ１１４Ａ，１１４Ｂ，…，１１４Ｎのカウント数に基づき、対応するメモリアレイに有効データが存在するかどうかを判定する判定回路１１６Ａ，１１６Ｂ，…，１１６Ｎとを含む。
【０１３２】
好ましくは、図１、図５、図６の示すように、半導体装置は、メモリ制御部をさらに備え、メモリ制御部は、読出完了した読出アドレスを管理するアドレス管理回路を含み、アドレス管理回路は、複数のメモリアレイ１０Ａ，１０Ｂ，…，１０Ｎにそれぞれ対応する複数のＦＩＦＯ２０４Ａ〜２０４Ｄと、読出アドレスを格納するバッファメモリを複数のＦＩＦＯ２０４Ａ〜２０４Ｄから特定するバッファメモリ特定回路２０２と、ＦＩＦＯ２０４Ａ〜２０４Ｄを順次参照して書込動作のときに必要な書込アドレスを判定する書込アドレス判定回路２０６とを有する。
【０１３３】
以上説明したように、各実施の形態により、メモリに入力される外部データの帯域が高いときでも、ＦＩＦＯメモリを設けることで、データの書込みミスを減少することができる。
【０１３４】
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【符号の説明】
【０１３５】
１  半導体装置、２  制御信号端子、３  アドレス端子、４  クロック端子、５  データ出力端子、６  データ入力端子、１０  メモリアレイ、１２  メモリアレイ制御回路、１４  選択回路、２０  リードアンプ＆ライトドライバ、２２  クロックバッファ、２４  制御信号バッファ、２６  アドレスバッファ、２８  入力バッファ、２９  出力バッファ、３０  レギュレータ、３２，３２Ａ，２０４Ａ〜２０４Ｄ  ＦＩＦＯメモリ、１００，１００Ａ  メモリ、４２  制御回路、４４  パラレル−シリアル変換回路、４６，４６Ａ  帯域判定回路、１１２  読み書き制御回路、１１４  カウンタ、１１６  判定回路、２００  メモリ制御部、２０１  アドレス管理回路、２０２  バッファメモリ特定回路、２０６  書込アドレス判定回路。
【図１】
0005828746.tif 000002
【図２】
0005828746.tif 000003
【図３】
0005828746.tif 000004
【図４】
0005828746.tif 000005
【図５】
0005828746.tif 000006
【図６】
0005828746.tif 000007
【図７】
0005828746.tif 000008
【図８】
0005828746.tif 000009
【図９】
0005828746.tif 000010
【図１０】
0005828746.tif 000011
【図１１】
0005828746.tif 000012
【図１２】
0005828746.tif 000013
【図１３】
0005828746.tif 000014
【図１４】
0005828746.tif 000015
【図１５】
0005828746.tif 000016
【図１６】
0005828746.tif 000017